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

Theorem fuciso 18179
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 18164 . . . . 5 (𝐶 Func 𝐷) = (Base‘𝑄)
3 fuciso.n . . . . . 6 𝑁 = (𝐶 Nat 𝐷)
41, 3fuchom 18165 . . . . 5 𝑁 = (Hom ‘𝑄)
5 fuciso.i . . . . 5 𝐼 = (Iso‘𝑄)
6 fuciso.f . . . . . . . 8 (𝜑 → 𝐹 ∈ (𝐶 Func 𝐷))
7 funcrcl 18064 . . . . . . . 8 (𝐹 ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
86, 7syl 18 . . . . . . 7 (𝜑 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
98simpld 500 . . . . . 6 (𝜑 → 𝐶 ∈ Cat)
108simprd 501 . . . . . 6 (𝜑 → 𝐷 ∈ Cat)
111, 9, 10fuccat 18174 . . . . 5 (𝜑 → 𝑄 ∈ Cat)
12 fuciso.g . . . . 5 (𝜑 → 𝐺 ∈ (𝐶 Func 𝐷))
132, 4, 5, 11, 6, 12isohom 17977 . . . 4 (𝜑 → (𝐹𝐼𝐺) ⊆ (𝐹𝑁𝐺))
1413sselda 3913 . . 3 ((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) → 𝐴 ∈ (𝐹𝑁𝐺))
15 eqid 2763 . . . . 5 (Base‘𝐷) = (Base‘𝐷)
16 eqid 2763 . . . . 5 (Inv‘𝐷) = (Inv‘𝐷)
1710ad2antrr 739 . . . . 5 (((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥 ∈ 𝐵) → 𝐷 ∈ Cat)
18 fuciso.b . . . . . . . 8 𝐵 = (Base‘𝐶)
19 relfunc 18063 . . . . . . . . 9 Rel (𝐶 Func 𝐷)
20 1st2ndbr 8074 . . . . . . . . 9 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st ‘𝐹)(𝐶 Func 𝐷)(2nd ‘𝐹))
2119, 6, 20sylancr 599 . . . . . . . 8 (𝜑 → (1st ‘𝐹)(𝐶 Func 𝐷)(2nd ‘𝐹))
2218, 15, 21funcf1 18067 . . . . . . 7 (𝜑 → (1st ‘𝐹):𝐵⟶(Base‘𝐷))
2322adantr 486 . . . . . 6 ((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) → (1st ‘𝐹):𝐵⟶(Base‘𝐷))
2423ffvelcdmda 7105 . . . . 5 (((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥 ∈ 𝐵) → ((1st ‘𝐹)‘𝑥) ∈ (Base‘𝐷))
25 1st2ndbr 8074 . . . . . . . . 9 ((Rel (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)) → (1st ‘𝐺)(𝐶 Func 𝐷)(2nd ‘𝐺))
2619, 12, 25sylancr 599 . . . . . . . 8 (𝜑 → (1st ‘𝐺)(𝐶 Func 𝐷)(2nd ‘𝐺))
2718, 15, 26funcf1 18067 . . . . . . 7 (𝜑 → (1st ‘𝐺):𝐵⟶(Base‘𝐷))
2827adantr 486 . . . . . 6 ((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) → (1st ‘𝐺):𝐵⟶(Base‘𝐷))
2928ffvelcdmda 7105 . . . . 5 (((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥 ∈ 𝐵) → ((1st ‘𝐺)‘𝑥) ∈ (Base‘𝐷))
30 fuciso.j . . . . 5 𝐽 = (Iso‘𝐷)
31 eqid 2763 . . . . . . . . . . . 12 (Inv‘𝑄) = (Inv‘𝑄)
322, 31, 11, 6, 12, 5isoval 17966 . . . . . . . . . . 11 (𝜑 → (𝐹𝐼𝐺) = dom (𝐹(Inv‘𝑄)𝐺))
3332eleq2d 2850 . . . . . . . . . 10 (𝜑 → (𝐴 ∈ (𝐹𝐼𝐺) ↔ 𝐴 ∈ dom (𝐹(Inv‘𝑄)𝐺)))
342, 31, 11, 6, 12invfun 17965 . . . . . . . . . . 11 (𝜑 → Fun (𝐹(Inv‘𝑄)𝐺))
35 funfvbrb 7070 . . . . . . . . . . 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 18177 . . . . . . . . 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 3258 . . . . 5 (((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥 ∈ 𝐵) → (𝐴‘𝑥)(((1st ‘𝐹)‘𝑥)(Inv‘𝐷)((1st ‘𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥))
4415, 16, 17, 24, 29, 30, 43inviso1 17967 . . . 4 (((𝜑 ∧ 𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥 ∈ 𝐵) → (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))
4544ralrimiva 3158 . . 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 7105 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) ∧ 𝑦 ∈ 𝐵) → ((1st ‘𝐹)‘𝑦) ∈ (Base‘𝐷))
5427adantr 486 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) → (1st ‘𝐺):𝐵⟶(Base‘𝐷))
5554ffvelcdmda 7105 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) ∧ 𝑦 ∈ 𝐵) → ((1st ‘𝐺)‘𝑦) ∈ (Base‘𝐷))
56 simprr 785 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) → ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))
57 fveq2 6905 . . . . . . . 8 (𝑥 = 𝑦 → (𝐴‘𝑥) = (𝐴‘𝑦))
58 fveq2 6905 . . . . . . . . 9 (𝑥 = 𝑦 → ((1st ‘𝐹)‘𝑥) = ((1st ‘𝐹)‘𝑦))
59 fveq2 6905 . . . . . . . . 9 (𝑥 = 𝑦 → ((1st ‘𝐺)‘𝑥) = ((1st ‘𝐺)‘𝑦))
6058, 59oveq12d 7458 . . . . . . . 8 (𝑥 = 𝑦 → (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)) = (((1st ‘𝐹)‘𝑦)𝐽((1st ‘𝐺)‘𝑦)))
6157, 60eleq12d 2858 . . . . . . 7 (𝑥 = 𝑦 → ((𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)) ↔ (𝐴‘𝑦) ∈ (((1st ‘𝐹)‘𝑦)𝐽((1st ‘𝐺)‘𝑦))))
6261rspccva 3579 . . . . . 6 ((∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)) ∧ 𝑦 ∈ 𝐵) → (𝐴‘𝑦) ∈ (((1st ‘𝐹)‘𝑦)𝐽((1st ‘𝐺)‘𝑦)))
6356, 62sylan 592 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) ∧ 𝑦 ∈ 𝐵) → (𝐴‘𝑦) ∈ (((1st ‘𝐹)‘𝑦)𝐽((1st ‘𝐺)‘𝑦)))
6415, 30, 16, 51, 53, 55, 63invisoinvr 17992 . . . 4 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) ∧ 𝑦 ∈ 𝐵) → (𝐴‘𝑦)(((1st ‘𝐹)‘𝑦)(Inv‘𝐷)((1st ‘𝐺)‘𝑦))((((1st ‘𝐹)‘𝑦)(Inv‘𝐷)((1st ‘𝐺)‘𝑦))‘(𝐴‘𝑦)))
651, 18, 3, 48, 49, 31, 16, 50, 64invfuc 18178 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥 ∈ 𝐵 (𝐴‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)𝐽((1st ‘𝐺)‘𝑥)))) → 𝐴(𝐹(Inv‘𝑄)𝐺)(𝑦 ∈ 𝐵 ↦ ((((1st ‘𝐹)‘𝑦)(Inv‘𝐷)((1st ‘𝐺)‘𝑦))‘(𝐴‘𝑦))))
662, 31, 47, 48, 49, 5, 65inviso1 17967 . 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 1570   ∈ wcel 2147  ∀wral 3080   class class class wbr 5106   ↦ cmpt 5189  dom cdm 5655  Rel wrel 5660  Fun wfun 6549  ⟶wf 6551  ‘cfv 6555  (class class class)co 7440  1st c1st 8020  2nd c2nd 8021  Basecbs 17413  Catccat 17864  Invcinv 17946  Isociso 17947   Func cfunc 18055   Nat cnat 18145   FuncCat cfuc 18146
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-rep 5235  ax-sep 5252  ax-nul 5263  ax-pow 5331  ax-pr 5395  ax-un 7772  ax-cnex 11280  ax-resscn 11281  ax-1cn 11282  ax-icn 11283  ax-addcl 11284  ax-addrcl 11285  ax-mulcl 11286  ax-mulrcl 11287  ax-mulcom 11288  ax-addass 11289  ax-mulass 11290  ax-distr 11291  ax-i2m1 11292  ax-1ne0 11293  ax-1rid 11294  ax-rnegex 11295  ax-rrecex 11296  ax-cnre 11297  ax-pre-lttri 11298  ax-pre-lttrn 11299  ax-pre-ltadd 11300  ax-pre-mulgt0 11301
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  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-nel 3066  df-ral 3081  df-rex 3091  df-rmo 3369  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-tp 4593  df-op 4839  df-uni 4871  df-iun 4956  df-br 5107  df-opab 5171  df-mpt 5190  df-tr 5216  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-we 5610  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-pred 6319  df-ord 6380  df-on 6381  df-lim 6382  df-suc 6383  df-iota 6509  df-fun 6557  df-fn 6558  df-f 6559  df-f1 6560  df-fo 6561  df-f1o 6562  df-fv 6563  df-riota 7397  df-ov 7443  df-oprab 7444  df-mpo 7445  df-om 7899  df-1st 8022  df-2nd 8023  df-frecs 8324  df-wrecs 8355  df-recs 8404  df-rdg 8443  df-1o 8501  df-er 8742  df-map 8874  df-ixp 8951  df-en 8999  df-dom 9000  df-sdom 9001  df-fin 9002  df-pnf 11369  df-mnf 11370  df-xr 11371  df-ltxr 11372  df-le 11373  df-sub 11567  df-neg 11568  df-nn 12360  df-2 12429  df-3 12430  df-4 12431  df-5 12432  df-6 12433  df-7 12434  df-8 12435  df-9 12436  df-n0 12631  df-z 12718  df-dec 12839  df-uz 12990  df-fz 13664  df-struct 17351  df-slot 17386  df-ndx 17398  df-base 17414  df-hom 17478  df-cco 17479  df-cat 17868  df-cid 17869  df-sect 17948  df-inv 17949  df-iso 17950  df-func 18059  df-nat 18147  df-fuc 18148
This theorem is used by:  yonffthlem  18482
  Copyright terms: Public domain W3C validator