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

Theorem fuciso 18153
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 18138 . . . . 5 (𝐶 Func 𝐷) = (Base‘𝑄)
3 fuciso.n . . . . . 6 𝑁 = (𝐶 Nat 𝐷)
41, 3fuchom 18139 . . . . 5 𝑁 = (Hom ‘𝑄)
5 fuciso.i . . . . 5 𝐼 = (Iso‘𝑄)
6 fuciso.f . . . . . . . 8 (𝜑 → 𝐹 ∈ (𝐶 Func 𝐷))
7 funcrcl 18038 . . . . . . . 8 (𝐹 ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
86, 7syl 18 . . . . . . 7 (𝜑 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
98simpld 500 . . . . . 6 (𝜑 → 𝐶 ∈ Cat)
108simprd 501 . . . . . 6 (𝜑 → 𝐷 ∈ Cat)
111, 9, 10fuccat 18148 . . . . 5 (𝜑 → 𝑄 ∈ Cat)
12 fuciso.g . . . . 5 (𝜑 → 𝐺 ∈ (𝐶 Func 𝐷))
132, 4, 5, 11, 6, 12isohom 17951 . . . 4 (𝜑 → (𝐹𝐼𝐺) ⊆ (𝐹𝑁𝐺))
1413sselda 3908 . . 3 ((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) → 𝐴 ∈ (𝐹𝑁𝐺))
15 eqid 2760 . . . . 5 (Base‘𝐷) = (Base‘𝐷)
16 eqid 2760 . . . . 5 (Inv‘𝐷) = (Inv‘𝐷)
1710ad2antrr 739 . . . . 5 (((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥 ∈ 𝐵) → 𝐷 ∈ Cat)
18 fuciso.b . . . . . . . 8 𝐵 = (Base‘𝐶)
19 relfunc 18037 . . . . . . . . 9 Rel (𝐶 Func 𝐷)
20 1st2ndbr 8053 . . . . . . . . 9 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st ‘𝐹)(𝐶 Func 𝐷)(2nd ‘𝐹))
2119, 6, 20sylancr 599 . . . . . . . 8 (𝜑 → (1st ‘𝐹)(𝐶 Func 𝐷)(2nd ‘𝐹))
2218, 15, 21funcf1 18041 . . . . . . 7 (𝜑 → (1st ‘𝐹):𝐵⟶(Base‘𝐷))
2322adantr 486 . . . . . 6 ((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) → (1st ‘𝐹):𝐵⟶(Base‘𝐷))
2423ffvelcdmda 7084 . . . . 5 (((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥 ∈ 𝐵) → ((1st ‘𝐹)‘𝑥) ∈ (Base‘𝐷))
25 1st2ndbr 8053 . . . . . . . . 9 ((Rel (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)) → (1st ‘𝐺)(𝐶 Func 𝐷)(2nd ‘𝐺))
2619, 12, 25sylancr 599 . . . . . . . 8 (𝜑 → (1st ‘𝐺)(𝐶 Func 𝐷)(2nd ‘𝐺))
2718, 15, 26funcf1 18041 . . . . . . 7 (𝜑 → (1st ‘𝐺):𝐵⟶(Base‘𝐷))
2827adantr 486 . . . . . 6 ((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) → (1st ‘𝐺):𝐵⟶(Base‘𝐷))
2928ffvelcdmda 7084 . . . . 5 (((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥 ∈ 𝐵) → ((1st ‘𝐺)‘𝑥) ∈ (Base‘𝐷))
30 fuciso.j . . . . 5 𝐽 = (Iso‘𝐷)
31 eqid 2760 . . . . . . . . . . . 12 (Inv‘𝑄) = (Inv‘𝑄)
322, 31, 11, 6, 12, 5isoval 17940 . . . . . . . . . . 11 (𝜑 → (𝐹𝐼𝐺) = dom (𝐹(Inv‘𝑄)𝐺))
3332eleq2d 2846 . . . . . . . . . 10 (𝜑 → (𝐴 ∈ (𝐹𝐼𝐺) ↔ 𝐴 ∈ dom (𝐹(Inv‘𝑄)𝐺)))
342, 31, 11, 6, 12invfun 17939 . . . . . . . . . . 11 (𝜑 → Fun (𝐹(Inv‘𝑄)𝐺))
35 funfvbrb 7050 . . . . . . . . . . 11 (Fun (𝐹(Inv‘𝑄)𝐺) → (𝐴 ∈ dom (𝐹(Inv‘𝑄)𝐺) ↔ 𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴)))
3634, 35syl 18 . . . . . . . . . 10 (𝜑 → (𝐴 ∈ dom (𝐹(Inv‘𝑄)𝐺) ↔ 𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴)))
3733, 36bitrd 282 . . . . . . . . 9 (𝜑 → (𝐴 ∈ (𝐹𝐼𝐺) ↔ 𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴)))
3837biimpa 482 . . . . . . . 8 ((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) → 𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴))
391, 18, 3, 6, 12, 31, 16fucinv 18151 . . . . . . . . 9 (𝜑 → (𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴) ↔ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ((𝐹(Inv‘𝑄)𝐺)‘𝐴) ∈ (𝐺𝑁𝐹) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥)(((1st ‘𝐹)‘𝑥)(Inv‘𝐷)((1st ‘𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥))))
4039adantr 486 . . . . . . . 8 ((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) → (𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴) ↔ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ((𝐹(Inv‘𝑄)𝐺)‘𝐴) ∈ (𝐺𝑁𝐹) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥)(((1st ‘𝐹)‘𝑥)(Inv‘𝐷)((1st ‘𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥))))
4138, 40mpbid 235 . . . . . . 7 ((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) → (𝐴 ∈ (𝐹𝑁𝐺) ∧ ((𝐹(Inv‘𝑄)𝐺)‘𝐴) ∈ (𝐺𝑁𝐹) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥)(((1st ‘𝐹)‘𝑥)(Inv‘𝐷)((1st ‘𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥)))
4241simp3d 1162 . . . . . 6 ((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) → ∀𝑥 ∈ 𝐵 (𝐴‘𝑥)(((1st ‘𝐹)‘𝑥)(Inv‘𝐷)((1st ‘𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥))
4342r19.21bi 3254 . . . . 5 (((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥 ∈ 𝐵) → (𝐴‘𝑥)(((1st ‘𝐹)‘𝑥)(Inv‘𝐷)((1st ‘𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥))
4415, 16, 17, 24, 29, 30, 43inviso1 17941 . . . 4 (((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥 ∈ 𝐵) → (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))
4544ralrimiva 3154 . . 3 ((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) → ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))
4614, 45jca 521 . 2 ((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) → (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥))))
4711adantr 486 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) → 𝑄 ∈ Cat)
486adantr 486 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) → 𝐹 ∈ (𝐶 Func 𝐷))
4912adantr 486 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) → 𝐺 ∈ (𝐶 Func 𝐷))
50 simprl 783 . . . 4 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) → 𝐴 ∈ (𝐹𝑁𝐺))
5110ad2antrr 739 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) ∧ 𝑦 ∈ 𝐵) → 𝐷 ∈ Cat)
5222adantr 486 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) → (1st ‘𝐹):𝐵⟶(Base‘𝐷))
5352ffvelcdmda 7084 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) ∧ 𝑦 ∈ 𝐵) → ((1st ‘𝐹)‘𝑦) ∈ (Base‘𝐷))
5427adantr 486 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) → (1st ‘𝐺):𝐵⟶(Base‘𝐷))
5554ffvelcdmda 7084 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) ∧ 𝑦 ∈ 𝐵) → ((1st ‘𝐺)‘𝑦) ∈ (Base‘𝐷))
56 simprr 785 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) → ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))
57 fveq2 6885 . . . . . . . 8 (𝑥 = 𝑦 → (𝐴‘𝑥) = (𝐴‘𝑦))
58 fveq2 6885 . . . . . . . . 9 (𝑥 = 𝑦 → ((1st ‘𝐹)‘𝑥) = ((1st ‘𝐹)‘𝑦))
59 fveq2 6885 . . . . . . . . 9 (𝑥 = 𝑦 → ((1st ‘𝐺)‘𝑥) = ((1st ‘𝐺)‘𝑦))
6058, 59oveq12d 7438 . . . . . . . 8 (𝑥 = 𝑦 → (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)) = (((1st ‘𝐹)‘𝑦)𝐽((1st ‘𝐺)‘𝑦)))
6157, 60eleq12d 2854 . . . . . . 7 (𝑥 = 𝑦 → ((𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)) ↔ (𝐴‘𝑦) ∈ (((1st ‘𝐹)‘𝑦)𝐽((1st ‘𝐺)‘𝑦))))
6261rspccva 3575 . . . . . 6 ((∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)) ∧ 𝑦 ∈ 𝐵) → (𝐴‘𝑦) ∈ (((1st ‘𝐹)‘𝑦)𝐽((1st ‘𝐺)‘𝑦)))
6356, 62sylan 592 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) ∧ 𝑦 ∈ 𝐵) → (𝐴‘𝑦) ∈ (((1st ‘𝐹)‘𝑦)𝐽((1st ‘𝐺)‘𝑦)))
6415, 30, 16, 51, 53, 55, 63invisoinvr 17966 . . . 4 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) ∧ 𝑦 ∈ 𝐵) → (𝐴‘𝑦)(((1st ‘𝐹)‘𝑦)(Inv‘𝐷)((1st ‘𝐺)‘𝑦))((((1st ‘𝐹)‘𝑦)(Inv‘𝐷)((1st ‘𝐺)‘𝑦))‘(𝐴‘𝑦)))
651, 18, 3, 48, 49, 31, 16, 50, 64invfuc 18152 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) → 𝐴(𝐹(Inv‘𝑄)𝐺)(𝑦 ∈ 𝐵 ↦ ((((1st ‘𝐹)‘𝑦)(Inv‘𝐷)((1st ‘𝐺)‘𝑦))‘(𝐴‘𝑦))))
662, 31, 47, 48, 49, 5, 65inviso1 17941 . 2 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) → 𝐴 ∈ (𝐹𝐼𝐺))
6746, 66impbida 813 1 (𝜑 → (𝐴 ∈ (𝐹𝐼𝐺) ↔ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401   ∧ w3a 1103   = wceq 1569   ∈ wcel 2144  ∀wral 3076   class class class wbr 5102   ↦ cmpt 5185  dom cdm 5650  Rel wrel 5655  Fun wfun 6532  ⟶wf 6534  ‘cfv 6538  (class class class)co 7420  1st c1st 7999  2nd c2nd 8000  Basecbs 17387  Catccat 17838  Invcinv 17920  Isociso 17921   Func cfunc 18029   Nat cnat 18119   FuncCat cfuc 18120
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-rep 5231  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7751  ax-cnex 11256  ax-resscn 11257  ax-1cn 11258  ax-icn 11259  ax-addcl 11260  ax-addrcl 11261  ax-mulcl 11262  ax-mulrcl 11263  ax-mulcom 11264  ax-addass 11265  ax-mulass 11266  ax-distr 11267  ax-i2m1 11268  ax-1ne0 11269  ax-1rid 11270  ax-rnegex 11271  ax-rrecex 11272  ax-cnre 11273  ax-pre-lttri 11274  ax-pre-lttrn 11275  ax-pre-ltadd 11276  ax-pre-mulgt0 11277
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-nel 3062  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-ss 3896  df-pss 4014  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4584  df-pr 4586  df-tp 4588  df-op 4590  df-uni 4867  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-tr 5212  df-id 5545  df-eprel 5550  df-po 5558  df-so 5559  df-fr 5603  df-we 5605  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-pred 6304  df-ord 6365  df-on 6366  df-lim 6367  df-suc 6368  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-riota 7377  df-ov 7423  df-oprab 7424  df-mpo 7425  df-om 7878  df-1st 8001  df-2nd 8002  df-frecs 8299  df-wrecs 8330  df-recs 8379  df-rdg 8418  df-1o 8476  df-er 8717  df-map 8849  df-ixp 8926  df-en 8974  df-dom 8975  df-sdom 8976  df-fin 8977  df-pnf 11345  df-mnf 11346  df-xr 11347  df-ltxr 11348  df-le 11349  df-sub 11543  df-neg 11544  df-nn 12336  df-2 12405  df-3 12406  df-4 12407  df-5 12408  df-6 12409  df-7 12410  df-8 12411  df-9 12412  df-n0 12607  df-z 12694  df-dec 12815  df-uz 12966  df-fz 13640  df-struct 17325  df-slot 17360  df-ndx 17372  df-base 17388  df-hom 17452  df-cco 17453  df-cat 17842  df-cid 17843  df-sect 17922  df-inv 17923  df-iso 17924  df-func 18033  df-nat 18121  df-fuc 18122
This theorem is used by:  yonffthlem  18456
  Copyright terms: Public domain W3C validator