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

Theorem fuciso 18013
Description: A natural transformation is an isomorphism of functors iff all its components are isomorphisms. (Contributed by Mario Carneiro, 28-Jan-2017.)
Hypotheses
Ref Expression
fuciso.q 𝑄 = (𝐶 FuncCat 𝐷)
fuciso.b 𝐵 = (Base‘𝐶)
fuciso.n 𝑁 = (𝐶 Nat 𝐷)
fuciso.f (𝜑𝐹 ∈ (𝐶 Func 𝐷))
fuciso.g (𝜑𝐺 ∈ (𝐶 Func 𝐷))
fuciso.i 𝐼 = (Iso‘𝑄)
fuciso.j 𝐽 = (Iso‘𝐷)
Assertion
Ref Expression
fuciso (𝜑 → (𝐴 ∈ (𝐹𝐼𝐺) ↔ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))))
Distinct variable groups:   𝑥,𝐴   𝑥,𝐵   𝑥,𝐶   𝑥,𝐷   𝑥,𝐼   𝑥,𝐹   𝑥,𝐺   𝑥,𝐽   𝑥,𝑁   𝜑,𝑥   𝑥,𝑄

Proof of Theorem fuciso
Dummy variable 𝑦 is distinct from all other variables.
StepHypRef Expression
1 fuciso.q . . . . . 6 𝑄 = (𝐶 FuncCat 𝐷)
21fucbas 17998 . . . . 5 (𝐶 Func 𝐷) = (Base‘𝑄)
3 fuciso.n . . . . . 6 𝑁 = (𝐶 Nat 𝐷)
41, 3fuchom 17999 . . . . 5 𝑁 = (Hom ‘𝑄)
5 fuciso.i . . . . 5 𝐼 = (Iso‘𝑄)
6 fuciso.f . . . . . . . 8 (𝜑𝐹 ∈ (𝐶 Func 𝐷))
7 funcrcl 17898 . . . . . . . 8 (𝐹 ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
86, 7syl 17 . . . . . . 7 (𝜑 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
98simpld 498 . . . . . 6 (𝜑𝐶 ∈ Cat)
108simprd 499 . . . . . 6 (𝜑𝐷 ∈ Cat)
111, 9, 10fuccat 18008 . . . . 5 (𝜑𝑄 ∈ Cat)
12 fuciso.g . . . . 5 (𝜑𝐺 ∈ (𝐶 Func 𝐷))
132, 4, 5, 11, 6, 12isohom 17811 . . . 4 (𝜑 → (𝐹𝐼𝐺) ⊆ (𝐹𝑁𝐺))
1413sselda 3938 . . 3 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → 𝐴 ∈ (𝐹𝑁𝐺))
15 eqid 2764 . . . . 5 (Base‘𝐷) = (Base‘𝐷)
16 eqid 2764 . . . . 5 (Inv‘𝐷) = (Inv‘𝐷)
1710ad2antrr 736 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → 𝐷 ∈ Cat)
18 fuciso.b . . . . . . . 8 𝐵 = (Base‘𝐶)
19 relfunc 17897 . . . . . . . . 9 Rel (𝐶 Func 𝐷)
20 1st2ndbr 8025 . . . . . . . . 9 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
2119, 6, 20sylancr 596 . . . . . . . 8 (𝜑 → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
2218, 15, 21funcf1 17901 . . . . . . 7 (𝜑 → (1st𝐹):𝐵⟶(Base‘𝐷))
2322adantr 484 . . . . . 6 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → (1st𝐹):𝐵⟶(Base‘𝐷))
2423ffvelcdmda 7067 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → ((1st𝐹)‘𝑥) ∈ (Base‘𝐷))
25 1st2ndbr 8025 . . . . . . . . 9 ((Rel (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)) → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2619, 12, 25sylancr 596 . . . . . . . 8 (𝜑 → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2718, 15, 26funcf1 17901 . . . . . . 7 (𝜑 → (1st𝐺):𝐵⟶(Base‘𝐷))
2827adantr 484 . . . . . 6 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → (1st𝐺):𝐵⟶(Base‘𝐷))
2928ffvelcdmda 7067 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → ((1st𝐺)‘𝑥) ∈ (Base‘𝐷))
30 fuciso.j . . . . 5 𝐽 = (Iso‘𝐷)
31 eqid 2764 . . . . . . . . . . . 12 (Inv‘𝑄) = (Inv‘𝑄)
322, 31, 11, 6, 12, 5isoval 17800 . . . . . . . . . . 11 (𝜑 → (𝐹𝐼𝐺) = dom (𝐹(Inv‘𝑄)𝐺))
3332eleq2d 2850 . . . . . . . . . 10 (𝜑 → (𝐴 ∈ (𝐹𝐼𝐺) ↔ 𝐴 ∈ dom (𝐹(Inv‘𝑄)𝐺)))
342, 31, 11, 6, 12invfun 17799 . . . . . . . . . . 11 (𝜑 → Fun (𝐹(Inv‘𝑄)𝐺))
35 funfvbrb 7034 . . . . . . . . . . 11 (Fun (𝐹(Inv‘𝑄)𝐺) → (𝐴 ∈ dom (𝐹(Inv‘𝑄)𝐺) ↔ 𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴)))
3634, 35syl 17 . . . . . . . . . 10 (𝜑 → (𝐴 ∈ dom (𝐹(Inv‘𝑄)𝐺) ↔ 𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴)))
3733, 36bitrd 281 . . . . . . . . 9 (𝜑 → (𝐴 ∈ (𝐹𝐼𝐺) ↔ 𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴)))
3837biimpa 480 . . . . . . . 8 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → 𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴))
391, 18, 3, 6, 12, 31, 16fucinv 18011 . . . . . . . . 9 (𝜑 → (𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴) ↔ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ((𝐹(Inv‘𝑄)𝐺)‘𝐴) ∈ (𝐺𝑁𝐹) ∧ ∀𝑥𝐵 (𝐴𝑥)(((1st𝐹)‘𝑥)(Inv‘𝐷)((1st𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥))))
4039adantr 484 . . . . . . . 8 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → (𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴) ↔ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ((𝐹(Inv‘𝑄)𝐺)‘𝐴) ∈ (𝐺𝑁𝐹) ∧ ∀𝑥𝐵 (𝐴𝑥)(((1st𝐹)‘𝑥)(Inv‘𝐷)((1st𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥))))
4138, 40mpbid 234 . . . . . . 7 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → (𝐴 ∈ (𝐹𝑁𝐺) ∧ ((𝐹(Inv‘𝑄)𝐺)‘𝐴) ∈ (𝐺𝑁𝐹) ∧ ∀𝑥𝐵 (𝐴𝑥)(((1st𝐹)‘𝑥)(Inv‘𝐷)((1st𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥)))
4241simp3d 1158 . . . . . 6 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → ∀𝑥𝐵 (𝐴𝑥)(((1st𝐹)‘𝑥)(Inv‘𝐷)((1st𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥))
4342r19.21bi 3256 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → (𝐴𝑥)(((1st𝐹)‘𝑥)(Inv‘𝐷)((1st𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥))
4415, 16, 17, 24, 29, 30, 43inviso1 17801 . . . 4 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))
4544ralrimiva 3156 . . 3 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))
4614, 45jca 519 . 2 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥))))
4711adantr 484 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝑄 ∈ Cat)
486adantr 484 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝐹 ∈ (𝐶 Func 𝐷))
4912adantr 484 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝐺 ∈ (𝐶 Func 𝐷))
50 simprl 780 . . . 4 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝐴 ∈ (𝐹𝑁𝐺))
5110ad2antrr 736 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → 𝐷 ∈ Cat)
5222adantr 484 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → (1st𝐹):𝐵⟶(Base‘𝐷))
5352ffvelcdmda 7067 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → ((1st𝐹)‘𝑦) ∈ (Base‘𝐷))
5427adantr 484 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → (1st𝐺):𝐵⟶(Base‘𝐷))
5554ffvelcdmda 7067 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → ((1st𝐺)‘𝑦) ∈ (Base‘𝐷))
56 simprr 782 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))
57 fveq2 6869 . . . . . . . 8 (𝑥 = 𝑦 → (𝐴𝑥) = (𝐴𝑦))
58 fveq2 6869 . . . . . . . . 9 (𝑥 = 𝑦 → ((1st𝐹)‘𝑥) = ((1st𝐹)‘𝑦))
59 fveq2 6869 . . . . . . . . 9 (𝑥 = 𝑦 → ((1st𝐺)‘𝑥) = ((1st𝐺)‘𝑦))
6058, 59oveq12d 7416 . . . . . . . 8 (𝑥 = 𝑦 → (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)) = (((1st𝐹)‘𝑦)𝐽((1st𝐺)‘𝑦)))
6157, 60eleq12d 2858 . . . . . . 7 (𝑥 = 𝑦 → ((𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)) ↔ (𝐴𝑦) ∈ (((1st𝐹)‘𝑦)𝐽((1st𝐺)‘𝑦))))
6261rspccva 3582 . . . . . 6 ((∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)) ∧ 𝑦𝐵) → (𝐴𝑦) ∈ (((1st𝐹)‘𝑦)𝐽((1st𝐺)‘𝑦)))
6356, 62sylan 589 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → (𝐴𝑦) ∈ (((1st𝐹)‘𝑦)𝐽((1st𝐺)‘𝑦)))
6415, 30, 16, 51, 53, 55, 63invisoinvr 17826 . . . 4 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → (𝐴𝑦)(((1st𝐹)‘𝑦)(Inv‘𝐷)((1st𝐺)‘𝑦))((((1st𝐹)‘𝑦)(Inv‘𝐷)((1st𝐺)‘𝑦))‘(𝐴𝑦)))
651, 18, 3, 48, 49, 31, 16, 50, 64invfuc 18012 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝐴(𝐹(Inv‘𝑄)𝐺)(𝑦𝐵 ↦ ((((1st𝐹)‘𝑦)(Inv‘𝐷)((1st𝐺)‘𝑦))‘(𝐴𝑦))))
662, 31, 47, 48, 49, 5, 65inviso1 17801 . 2 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝐴 ∈ (𝐹𝐼𝐺))
6746, 66impbida 810 1 (𝜑 → (𝐴 ∈ (𝐹𝐼𝐺) ↔ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 399  w3a 1099   = wceq 1562  wcel 2144  wral 3078   class class class wbr 5102  cmpt 5183  dom cdm 5649  Rel wrel 5654  Fun wfun 6517  wf 6519  cfv 6523  (class class class)co 7398  1st c1st 7970  2nd c2nd 7971  Basecbs 17247  Catccat 17698  Invcinv 17780  Isociso 17781   Func cfunc 17889   Nat cnat 17979   FuncCat cfuc 17980
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1817  ax-4 1831  ax-5 1932  ax-6 1989  ax-7 2030  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2214  ax-ext 2736  ax-rep 5229  ax-sep 5248  ax-nul 5258  ax-pow 5324  ax-pr 5392  ax-un 7720  ax-cnex 11131  ax-resscn 11132  ax-1cn 11133  ax-icn 11134  ax-addcl 11135  ax-addrcl 11136  ax-mulcl 11137  ax-mulrcl 11138  ax-mulcom 11139  ax-addass 11140  ax-mulass 11141  ax-distr 11142  ax-i2m1 11143  ax-1ne0 11144  ax-1rid 11145  ax-rnegex 11146  ax-rrecex 11147  ax-cnre 11148  ax-pre-lttri 11149  ax-pre-lttrn 11150  ax-pre-ltadd 11151  ax-pre-mulgt0 11152
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-3or 1100  df-3an 1101  df-tru 1565  df-fal 1575  df-ex 1802  df-nf 1806  df-sb 2093  df-mo 2568  df-eu 2598  df-clab 2743  df-cleq 2756  df-clel 2839  df-nfc 2913  df-ne 2960  df-nel 3064  df-ral 3079  df-rex 3089  df-rmo 3369  df-reu 3370  df-rab 3417  df-v 3458  df-sbc 3747  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-pss 3926  df-nul 4288  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-tp 4589  df-op 4591  df-uni 4868  df-iun 4953  df-br 5103  df-opab 5165  df-mpt 5184  df-tr 5210  df-id 5544  df-eprel 5549  df-po 5557  df-so 5558  df-fr 5602  df-we 5604  df-xp 5655  df-rel 5656  df-cnv 5657  df-co 5658  df-dm 5659  df-rn 5660  df-res 5661  df-ima 5662  df-pred 6290  df-ord 6351  df-on 6352  df-lim 6353  df-suc 6354  df-iota 6479  df-fun 6525  df-fn 6526  df-f 6527  df-f1 6528  df-fo 6529  df-f1o 6530  df-fv 6531  df-riota 7355  df-ov 7401  df-oprab 7402  df-mpo 7403  df-om 7849  df-1st 7972  df-2nd 7973  df-frecs 8264  df-wrecs 8295  df-recs 8344  df-rdg 8383  df-1o 8439  df-er 8680  df-map 8812  df-ixp 8882  df-en 8930  df-dom 8931  df-sdom 8932  df-fin 8933  df-pnf 11220  df-mnf 11221  df-xr 11222  df-ltxr 11223  df-le 11224  df-sub 11418  df-neg 11419  df-nn 12213  df-2 12282  df-3 12283  df-4 12284  df-5 12285  df-6 12286  df-7 12287  df-8 12288  df-9 12289  df-n0 12484  df-z 12571  df-dec 12691  df-uz 12842  df-fz 13515  df-struct 17185  df-slot 17220  df-ndx 17232  df-base 17248  df-hom 17312  df-cco 17313  df-cat 17702  df-cid 17703  df-sect 17782  df-inv 17783  df-iso 17784  df-func 17893  df-nat 17981  df-fuc 17982
This theorem is referenced by:  yonffthlem  18316
  Copyright terms: Public domain W3C validator