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

Theorem fuciso 18092
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 18077 . . . . 5 (𝐶 Func 𝐷) = (Base‘𝑄)
3 fuciso.n . . . . . 6 𝑁 = (𝐶 Nat 𝐷)
41, 3fuchom 18078 . . . . 5 𝑁 = (Hom ‘𝑄)
5 fuciso.i . . . . 5 𝐼 = (Iso‘𝑄)
6 fuciso.f . . . . . . . 8 (𝜑𝐹 ∈ (𝐶 Func 𝐷))
7 funcrcl 17977 . . . . . . . 8 (𝐹 ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
86, 7syl 18 . . . . . . 7 (𝜑 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
98simpld 500 . . . . . 6 (𝜑𝐶 ∈ Cat)
108simprd 501 . . . . . 6 (𝜑𝐷 ∈ Cat)
111, 9, 10fuccat 18087 . . . . 5 (𝜑𝑄 ∈ Cat)
12 fuciso.g . . . . 5 (𝜑𝐺 ∈ (𝐶 Func 𝐷))
132, 4, 5, 11, 6, 12isohom 17890 . . . 4 (𝜑 → (𝐹𝐼𝐺) ⊆ (𝐹𝑁𝐺))
1413sselda 3931 . . 3 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → 𝐴 ∈ (𝐹𝑁𝐺))
15 eqid 2760 . . . . 5 (Base‘𝐷) = (Base‘𝐷)
16 eqid 2760 . . . . 5 (Inv‘𝐷) = (Inv‘𝐷)
1710ad2antrr 739 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → 𝐷 ∈ Cat)
18 fuciso.b . . . . . . . 8 𝐵 = (Base‘𝐶)
19 relfunc 17976 . . . . . . . . 9 Rel (𝐶 Func 𝐷)
20 1st2ndbr 8044 . . . . . . . . 9 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
2119, 6, 20sylancr 599 . . . . . . . 8 (𝜑 → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
2218, 15, 21funcf1 17980 . . . . . . 7 (𝜑 → (1st𝐹):𝐵⟶(Base‘𝐷))
2322adantr 486 . . . . . 6 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → (1st𝐹):𝐵⟶(Base‘𝐷))
2423ffvelcdmda 7080 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → ((1st𝐹)‘𝑥) ∈ (Base‘𝐷))
25 1st2ndbr 8044 . . . . . . . . 9 ((Rel (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)) → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2619, 12, 25sylancr 599 . . . . . . . 8 (𝜑 → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2718, 15, 26funcf1 17980 . . . . . . 7 (𝜑 → (1st𝐺):𝐵⟶(Base‘𝐷))
2827adantr 486 . . . . . 6 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → (1st𝐺):𝐵⟶(Base‘𝐷))
2928ffvelcdmda 7080 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → ((1st𝐺)‘𝑥) ∈ (Base‘𝐷))
30 fuciso.j . . . . 5 𝐽 = (Iso‘𝐷)
31 eqid 2760 . . . . . . . . . . . 12 (Inv‘𝑄) = (Inv‘𝑄)
322, 31, 11, 6, 12, 5isoval 17879 . . . . . . . . . . 11 (𝜑 → (𝐹𝐼𝐺) = dom (𝐹(Inv‘𝑄)𝐺))
3332eleq2d 2846 . . . . . . . . . 10 (𝜑 → (𝐴 ∈ (𝐹𝐼𝐺) ↔ 𝐴 ∈ dom (𝐹(Inv‘𝑄)𝐺)))
342, 31, 11, 6, 12invfun 17878 . . . . . . . . . . 11 (𝜑 → Fun (𝐹(Inv‘𝑄)𝐺))
35 funfvbrb 7046 . . . . . . . . . . 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 18090 . . . . . . . . 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 17880 . . . 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 7080 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → ((1st𝐹)‘𝑦) ∈ (Base‘𝐷))
5427adantr 486 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → (1st𝐺):𝐵⟶(Base‘𝐷))
5554ffvelcdmda 7080 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → ((1st𝐺)‘𝑦) ∈ (Base‘𝐷))
56 simprr 785 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))
57 fveq2 6881 . . . . . . . 8 (𝑥 = 𝑦 → (𝐴𝑥) = (𝐴𝑦))
58 fveq2 6881 . . . . . . . . 9 (𝑥 = 𝑦 → ((1st𝐹)‘𝑥) = ((1st𝐹)‘𝑦))
59 fveq2 6881 . . . . . . . . 9 (𝑥 = 𝑦 → ((1st𝐺)‘𝑥) = ((1st𝐺)‘𝑦))
6058, 59oveq12d 7434 . . . . . . . 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 17905 . . . 4 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → (𝐴𝑦)(((1st𝐹)‘𝑦)(Inv‘𝐷)((1st𝐺)‘𝑦))((((1st𝐹)‘𝑦)(Inv‘𝐷)((1st𝐺)‘𝑦))‘(𝐴𝑦)))
651, 18, 3, 48, 49, 31, 16, 50, 64invfuc 18091 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝐴(𝐹(Inv‘𝑄)𝐺)(𝑦𝐵 ↦ ((((1st𝐹)‘𝑦)(Inv‘𝐷)((1st𝐺)‘𝑦))‘(𝐴𝑦))))
662, 31, 47, 48, 49, 5, 65inviso1 17880 . 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 2145  wral 3076   class class class wbr 5103  cmpt 5186  dom cdm 5655  Rel wrel 5660  Fun wfun 6529  wf 6531  cfv 6535  (class class class)co 7416  1st c1st 7990  2nd c2nd 7991  Basecbs 17326  Catccat 17777  Invcinv 17859  Isociso 17860   Func cfunc 17968   Nat cnat 18058   FuncCat cfuc 18059
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 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2732  ax-rep 5232  ax-sep 5251  ax-nul 5263  ax-pow 5330  ax-pr 5398  ax-un 7742  ax-cnex 11205  ax-resscn 11206  ax-1cn 11207  ax-icn 11208  ax-addcl 11209  ax-addrcl 11210  ax-mulcl 11211  ax-mulrcl 11212  ax-mulcom 11213  ax-addass 11214  ax-mulass 11215  ax-distr 11216  ax-i2m1 11217  ax-1ne0 11218  ax-1rid 11219  ax-rnegex 11220  ax-rrecex 11221  ax-cnre 11222  ax-pre-lttri 11223  ax-pre-lttrn 11224  ax-pre-ltadd 11225  ax-pre-mulgt0 11226
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 2100  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 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4280  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 5104  df-opab 5168  df-mpt 5187  df-tr 5213  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 6301  df-ord 6362  df-on 6363  df-lim 6364  df-suc 6365  df-iota 6491  df-fun 6537  df-fn 6538  df-f 6539  df-f1 6540  df-fo 6541  df-f1o 6542  df-fv 6543  df-riota 7373  df-ov 7419  df-oprab 7420  df-mpo 7421  df-om 7869  df-1st 7992  df-2nd 7993  df-frecs 8285  df-wrecs 8316  df-recs 8365  df-rdg 8404  df-1o 8462  df-er 8703  df-map 8835  df-ixp 8912  df-en 8960  df-dom 8961  df-sdom 8962  df-fin 8963  df-pnf 11294  df-mnf 11295  df-xr 11296  df-ltxr 11297  df-le 11298  df-sub 11492  df-neg 11493  df-nn 12283  df-2 12352  df-3 12353  df-4 12354  df-5 12355  df-6 12356  df-7 12357  df-8 12358  df-9 12359  df-n0 12554  df-z 12641  df-dec 12762  df-uz 12913  df-fz 13587  df-struct 17264  df-slot 17299  df-ndx 17311  df-base 17327  df-hom 17391  df-cco 17392  df-cat 17781  df-cid 17782  df-sect 17861  df-inv 17862  df-iso 17863  df-func 17972  df-nat 18060  df-fuc 18061
This theorem is used by:  yonffthlem  18395
  Copyright terms: Public domain W3C validator