MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  foeqcnvco Structured version   Visualization version   GIF version

Theorem foeqcnvco 7328
Description: Condition for function equality in terms of vanishing of the composition with the converse. EDITORIAL: Is there a relation-algebraic proof of this? (Contributed by Stefan O'Rear, 12-Feb-2015.)
Assertion
Ref Expression
foeqcnvco ((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) → (𝐹 = 𝐺 ↔ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)))

Proof of Theorem foeqcnvco
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 fococnv2 6871 . . . 4 (𝐹:𝐴⟶onto𝐵 → (𝐹 ∘ ◡𝐹) = ( I ↾ 𝐵))
2 cnveq 5857 . . . . . 6 (𝐹 = 𝐺 → ◡𝐹 = ◡𝐺)
32coeq2d 5845 . . . . 5 (𝐹 = 𝐺 → (𝐹 ∘ ◡𝐹) = (𝐹 ∘ ◡𝐺))
43eqeq1d 2765 . . . 4 (𝐹 = 𝐺 → ((𝐹 ∘ ◡𝐹) = ( I ↾ 𝐵) ↔ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)))
51, 4syl5ibcom 248 . . 3 (𝐹:𝐴⟶onto𝐵 → (𝐹 = 𝐺 → (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)))
65adantr 486 . 2 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) → (𝐹 = 𝐺 → (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)))
7 fofn 6817 . . . . 5 (𝐹:𝐴⟶onto𝐵 → 𝐹 Fn 𝐴)
87ad2antrr 739 . . . 4 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) → 𝐹 Fn 𝐴)
9 fofn 6817 . . . . 5 (𝐺:𝐴⟶onto𝐵 → 𝐺 Fn 𝐴)
109ad2antlr 740 . . . 4 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) → 𝐺 Fn 𝐴)
119adantl 487 . . . . . . . . . . . 12 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) → 𝐺 Fn 𝐴)
12 fnopfv 7096 . . . . . . . . . . . 12 ((𝐺 Fn 𝐴 ∧ 𝑥 ∈ 𝐴) → ⟨𝑥, (𝐺‘𝑥)⟩ ∈ 𝐺)
1311, 12sylan 592 . . . . . . . . . . 11 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ 𝑥 ∈ 𝐴) → ⟨𝑥, (𝐺‘𝑥)⟩ ∈ 𝐺)
14 fvex 6918 . . . . . . . . . . . . 13 (𝐺‘𝑥) ∈ V
15 vex 3458 . . . . . . . . . . . . 13 𝑥 ∈ V
1614, 15brcnv 5866 . . . . . . . . . . . 12 ((𝐺‘𝑥)◡𝐺𝑥 ↔ 𝑥𝐺(𝐺‘𝑥))
17 df-br 5107 . . . . . . . . . . . 12 (𝑥𝐺(𝐺‘𝑥) ↔ ⟨𝑥, (𝐺‘𝑥)⟩ ∈ 𝐺)
1816, 17bitri 278 . . . . . . . . . . 11 ((𝐺‘𝑥)◡𝐺𝑥 ↔ ⟨𝑥, (𝐺‘𝑥)⟩ ∈ 𝐺)
1913, 18sylibr 237 . . . . . . . . . 10 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥)◡𝐺𝑥)
207adantr 486 . . . . . . . . . . . 12 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) → 𝐹 Fn 𝐴)
21 fnopfv 7096 . . . . . . . . . . . 12 ((𝐹 Fn 𝐴 ∧ 𝑥 ∈ 𝐴) → ⟨𝑥, (𝐹‘𝑥)⟩ ∈ 𝐹)
2220, 21sylan 592 . . . . . . . . . . 11 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ 𝑥 ∈ 𝐴) → ⟨𝑥, (𝐹‘𝑥)⟩ ∈ 𝐹)
23 df-br 5107 . . . . . . . . . . 11 (𝑥𝐹(𝐹‘𝑥) ↔ ⟨𝑥, (𝐹‘𝑥)⟩ ∈ 𝐹)
2422, 23sylibr 237 . . . . . . . . . 10 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ 𝑥 ∈ 𝐴) → 𝑥𝐹(𝐹‘𝑥))
25 breq2 5110 . . . . . . . . . . . 12 (𝑦 = 𝑥 → ((𝐺‘𝑥)◡𝐺𝑦 ↔ (𝐺‘𝑥)◡𝐺𝑥))
26 breq1 5109 . . . . . . . . . . . 12 (𝑦 = 𝑥 → (𝑦𝐹(𝐹‘𝑥) ↔ 𝑥𝐹(𝐹‘𝑥)))
2725, 26anbi12d 644 . . . . . . . . . . 11 (𝑦 = 𝑥 → (((𝐺‘𝑥)◡𝐺𝑦 ∧ 𝑦𝐹(𝐹‘𝑥)) ↔ ((𝐺‘𝑥)◡𝐺𝑥 ∧ 𝑥𝐹(𝐹‘𝑥))))
2815, 27spcev 3564 . . . . . . . . . 10 (((𝐺‘𝑥)◡𝐺𝑥 ∧ 𝑥𝐹(𝐹‘𝑥)) → ∃𝑦((𝐺‘𝑥)◡𝐺𝑦 ∧ 𝑦𝐹(𝐹‘𝑥)))
2919, 24, 28syl2anc 596 . . . . . . . . 9 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ 𝑥 ∈ 𝐴) → ∃𝑦((𝐺‘𝑥)◡𝐺𝑦 ∧ 𝑦𝐹(𝐹‘𝑥)))
30 fvex 6918 . . . . . . . . . 10 (𝐹‘𝑥) ∈ V
3114, 30brco 5854 . . . . . . . . 9 ((𝐺‘𝑥)(𝐹 ∘ ◡𝐺)(𝐹‘𝑥) ↔ ∃𝑦((𝐺‘𝑥)◡𝐺𝑦 ∧ 𝑦𝐹(𝐹‘𝑥)))
3229, 31sylibr 237 . . . . . . . 8 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥)(𝐹 ∘ ◡𝐺)(𝐹‘𝑥))
3332adantlr 728 . . . . . . 7 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥)(𝐹 ∘ ◡𝐺)(𝐹‘𝑥))
34 breq 5108 . . . . . . . 8 ((𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵) → ((𝐺‘𝑥)(𝐹 ∘ ◡𝐺)(𝐹‘𝑥) ↔ (𝐺‘𝑥)( I ↾ 𝐵)(𝐹‘𝑥)))
3534ad2antlr 740 . . . . . . 7 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) ∧ 𝑥 ∈ 𝐴) → ((𝐺‘𝑥)(𝐹 ∘ ◡𝐺)(𝐹‘𝑥) ↔ (𝐺‘𝑥)( I ↾ 𝐵)(𝐹‘𝑥)))
3633, 35mpbid 235 . . . . . 6 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥)( I ↾ 𝐵)(𝐹‘𝑥))
37 fof 6815 . . . . . . . . . 10 (𝐺:𝐴⟶onto𝐵 → 𝐺:𝐴⟶𝐵)
3837adantl 487 . . . . . . . . 9 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) → 𝐺:𝐴⟶𝐵)
3938ffvelcdmda 7105 . . . . . . . 8 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥) ∈ 𝐵)
40 fof 6815 . . . . . . . . . 10 (𝐹:𝐴⟶onto𝐵 → 𝐹:𝐴⟶𝐵)
4140adantr 486 . . . . . . . . 9 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) → 𝐹:𝐴⟶𝐵)
4241ffvelcdmda 7105 . . . . . . . 8 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥) ∈ 𝐵)
43 resieq 5991 . . . . . . . 8 (((𝐺‘𝑥) ∈ 𝐵 ∧ (𝐹‘𝑥) ∈ 𝐵) → ((𝐺‘𝑥)( I ↾ 𝐵)(𝐹‘𝑥) ↔ (𝐺‘𝑥) = (𝐹‘𝑥)))
4439, 42, 43syl2anc 596 . . . . . . 7 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ 𝑥 ∈ 𝐴) → ((𝐺‘𝑥)( I ↾ 𝐵)(𝐹‘𝑥) ↔ (𝐺‘𝑥) = (𝐹‘𝑥)))
4544adantlr 728 . . . . . 6 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) ∧ 𝑥 ∈ 𝐴) → ((𝐺‘𝑥)( I ↾ 𝐵)(𝐹‘𝑥) ↔ (𝐺‘𝑥) = (𝐹‘𝑥)))
4636, 45mpbid 235 . . . . 5 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥) = (𝐹‘𝑥))
4746eqcomd 2769 . . . 4 ((((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥) = (𝐺‘𝑥))
488, 10, 47eqfnfvd 7052 . . 3 (((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) → 𝐹 = 𝐺)
4948ex 418 . 2 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) → ((𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵) → 𝐹 = 𝐺))
506, 49impbid 215 1 ((𝐹:𝐴⟶onto𝐵 ∧ 𝐺:𝐴⟶onto𝐵) → (𝐹 = 𝐺 ↔ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401   = wceq 1570  ∃wex 1812   ∈ wcel 2147  ⟨cop 4838   class class class wbr 5106   I cid 5549  ◡ccnv 5654   ↾ cres 5657   ∘ ccom 5659   Fn wfn 6550  ⟶wf 6551  ⟶ontowfo 6553  ‘cfv 6555
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-sep 5252  ax-nul 5263  ax-pr 5395
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-ral 3081  df-rex 3091  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-sn 4589  df-pr 4591  df-op 4839  df-uni 4871  df-br 5107  df-opab 5171  df-mpt 5190  df-id 5550  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-iota 6509  df-fun 6557  df-fn 6558  df-f 6559  df-fo 6561  df-fv 6563
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator