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

Theorem fuciso 18045
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 18029 . . . . 5 (𝐶 Func 𝐷) = (Base‘𝑄)
3 fuciso.n . . . . . 6 𝑁 = (𝐶 Nat 𝐷)
41, 3fuchom 18030 . . . . 5 𝑁 = (Hom ‘𝑄)
5 fuciso.i . . . . 5 𝐼 = (Iso‘𝑄)
6 fuciso.f . . . . . . . 8 (𝜑𝐹 ∈ (𝐶 Func 𝐷))
7 funcrcl 17927 . . . . . . . 8 (𝐹 ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
86, 7syl 17 . . . . . . 7 (𝜑 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
98simpld 494 . . . . . 6 (𝜑𝐶 ∈ Cat)
108simprd 495 . . . . . 6 (𝜑𝐷 ∈ Cat)
111, 9, 10fuccat 18040 . . . . 5 (𝜑𝑄 ∈ Cat)
12 fuciso.g . . . . 5 (𝜑𝐺 ∈ (𝐶 Func 𝐷))
132, 4, 5, 11, 6, 12isohom 17837 . . . 4 (𝜑 → (𝐹𝐼𝐺) ⊆ (𝐹𝑁𝐺))
1413sselda 4008 . . 3 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → 𝐴 ∈ (𝐹𝑁𝐺))
15 eqid 2740 . . . . 5 (Base‘𝐷) = (Base‘𝐷)
16 eqid 2740 . . . . 5 (Inv‘𝐷) = (Inv‘𝐷)
1710ad2antrr 725 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → 𝐷 ∈ Cat)
18 fuciso.b . . . . . . . 8 𝐵 = (Base‘𝐶)
19 relfunc 17926 . . . . . . . . 9 Rel (𝐶 Func 𝐷)
20 1st2ndbr 8083 . . . . . . . . 9 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
2119, 6, 20sylancr 586 . . . . . . . 8 (𝜑 → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
2218, 15, 21funcf1 17930 . . . . . . 7 (𝜑 → (1st𝐹):𝐵⟶(Base‘𝐷))
2322adantr 480 . . . . . 6 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → (1st𝐹):𝐵⟶(Base‘𝐷))
2423ffvelcdmda 7118 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → ((1st𝐹)‘𝑥) ∈ (Base‘𝐷))
25 1st2ndbr 8083 . . . . . . . . 9 ((Rel (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)) → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2619, 12, 25sylancr 586 . . . . . . . 8 (𝜑 → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2718, 15, 26funcf1 17930 . . . . . . 7 (𝜑 → (1st𝐺):𝐵⟶(Base‘𝐷))
2827adantr 480 . . . . . 6 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → (1st𝐺):𝐵⟶(Base‘𝐷))
2928ffvelcdmda 7118 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → ((1st𝐺)‘𝑥) ∈ (Base‘𝐷))
30 fuciso.j . . . . 5 𝐽 = (Iso‘𝐷)
31 eqid 2740 . . . . . . . . . . . 12 (Inv‘𝑄) = (Inv‘𝑄)
322, 31, 11, 6, 12, 5isoval 17826 . . . . . . . . . . 11 (𝜑 → (𝐹𝐼𝐺) = dom (𝐹(Inv‘𝑄)𝐺))
3332eleq2d 2830 . . . . . . . . . 10 (𝜑 → (𝐴 ∈ (𝐹𝐼𝐺) ↔ 𝐴 ∈ dom (𝐹(Inv‘𝑄)𝐺)))
342, 31, 11, 6, 12invfun 17825 . . . . . . . . . . 11 (𝜑 → Fun (𝐹(Inv‘𝑄)𝐺))
35 funfvbrb 7084 . . . . . . . . . . 11 (Fun (𝐹(Inv‘𝑄)𝐺) → (𝐴 ∈ dom (𝐹(Inv‘𝑄)𝐺) ↔ 𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴)))
3634, 35syl 17 . . . . . . . . . 10 (𝜑 → (𝐴 ∈ dom (𝐹(Inv‘𝑄)𝐺) ↔ 𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴)))
3733, 36bitrd 279 . . . . . . . . 9 (𝜑 → (𝐴 ∈ (𝐹𝐼𝐺) ↔ 𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴)))
3837biimpa 476 . . . . . . . 8 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → 𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴))
391, 18, 3, 6, 12, 31, 16fucinv 18043 . . . . . . . . 9 (𝜑 → (𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴) ↔ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ((𝐹(Inv‘𝑄)𝐺)‘𝐴) ∈ (𝐺𝑁𝐹) ∧ ∀𝑥𝐵 (𝐴𝑥)(((1st𝐹)‘𝑥)(Inv‘𝐷)((1st𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥))))
4039adantr 480 . . . . . . . 8 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → (𝐴(𝐹(Inv‘𝑄)𝐺)((𝐹(Inv‘𝑄)𝐺)‘𝐴) ↔ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ((𝐹(Inv‘𝑄)𝐺)‘𝐴) ∈ (𝐺𝑁𝐹) ∧ ∀𝑥𝐵 (𝐴𝑥)(((1st𝐹)‘𝑥)(Inv‘𝐷)((1st𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥))))
4138, 40mpbid 232 . . . . . . 7 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → (𝐴 ∈ (𝐹𝑁𝐺) ∧ ((𝐹(Inv‘𝑄)𝐺)‘𝐴) ∈ (𝐺𝑁𝐹) ∧ ∀𝑥𝐵 (𝐴𝑥)(((1st𝐹)‘𝑥)(Inv‘𝐷)((1st𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥)))
4241simp3d 1144 . . . . . 6 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → ∀𝑥𝐵 (𝐴𝑥)(((1st𝐹)‘𝑥)(Inv‘𝐷)((1st𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥))
4342r19.21bi 3257 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → (𝐴𝑥)(((1st𝐹)‘𝑥)(Inv‘𝐷)((1st𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥))
4415, 16, 17, 24, 29, 30, 43inviso1 17827 . . . 4 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))
4544ralrimiva 3152 . . 3 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))
4614, 45jca 511 . 2 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥))))
4711adantr 480 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝑄 ∈ Cat)
486adantr 480 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝐹 ∈ (𝐶 Func 𝐷))
4912adantr 480 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝐺 ∈ (𝐶 Func 𝐷))
50 simprl 770 . . . 4 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝐴 ∈ (𝐹𝑁𝐺))
5110ad2antrr 725 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → 𝐷 ∈ Cat)
5222adantr 480 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → (1st𝐹):𝐵⟶(Base‘𝐷))
5352ffvelcdmda 7118 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → ((1st𝐹)‘𝑦) ∈ (Base‘𝐷))
5427adantr 480 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → (1st𝐺):𝐵⟶(Base‘𝐷))
5554ffvelcdmda 7118 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → ((1st𝐺)‘𝑦) ∈ (Base‘𝐷))
56 simprr 772 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))
57 fveq2 6920 . . . . . . . 8 (𝑥 = 𝑦 → (𝐴𝑥) = (𝐴𝑦))
58 fveq2 6920 . . . . . . . . 9 (𝑥 = 𝑦 → ((1st𝐹)‘𝑥) = ((1st𝐹)‘𝑦))
59 fveq2 6920 . . . . . . . . 9 (𝑥 = 𝑦 → ((1st𝐺)‘𝑥) = ((1st𝐺)‘𝑦))
6058, 59oveq12d 7466 . . . . . . . 8 (𝑥 = 𝑦 → (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)) = (((1st𝐹)‘𝑦)𝐽((1st𝐺)‘𝑦)))
6157, 60eleq12d 2838 . . . . . . 7 (𝑥 = 𝑦 → ((𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)) ↔ (𝐴𝑦) ∈ (((1st𝐹)‘𝑦)𝐽((1st𝐺)‘𝑦))))
6261rspccva 3634 . . . . . 6 ((∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)) ∧ 𝑦𝐵) → (𝐴𝑦) ∈ (((1st𝐹)‘𝑦)𝐽((1st𝐺)‘𝑦)))
6356, 62sylan 579 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → (𝐴𝑦) ∈ (((1st𝐹)‘𝑦)𝐽((1st𝐺)‘𝑦)))
6415, 30, 16, 51, 53, 55, 63invisoinvr 17852 . . . 4 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → (𝐴𝑦)(((1st𝐹)‘𝑦)(Inv‘𝐷)((1st𝐺)‘𝑦))((((1st𝐹)‘𝑦)(Inv‘𝐷)((1st𝐺)‘𝑦))‘(𝐴𝑦)))
651, 18, 3, 48, 49, 31, 16, 50, 64invfuc 18044 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝐴(𝐹(Inv‘𝑄)𝐺)(𝑦𝐵 ↦ ((((1st𝐹)‘𝑦)(Inv‘𝐷)((1st𝐺)‘𝑦))‘(𝐴𝑦))))
662, 31, 47, 48, 49, 5, 65inviso1 17827 . 2 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝐴 ∈ (𝐹𝐼𝐺))
6746, 66impbida 800 1 (𝜑 → (𝐴 ∈ (𝐹𝐼𝐺) ↔ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1087   = wceq 1537  wcel 2108  wral 3067   class class class wbr 5166  cmpt 5249  dom cdm 5700  Rel wrel 5705  Fun wfun 6567  wf 6569  cfv 6573  (class class class)co 7448  1st c1st 8028  2nd c2nd 8029  Basecbs 17258  Catccat 17722  Invcinv 17806  Isociso 17807   Func cfunc 17918   Nat cnat 18009   FuncCat cfuc 18010
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1793  ax-4 1807  ax-5 1909  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2158  ax-12 2178  ax-ext 2711  ax-rep 5303  ax-sep 5317  ax-nul 5324  ax-pow 5383  ax-pr 5447  ax-un 7770  ax-cnex 11240  ax-resscn 11241  ax-1cn 11242  ax-icn 11243  ax-addcl 11244  ax-addrcl 11245  ax-mulcl 11246  ax-mulrcl 11247  ax-mulcom 11248  ax-addass 11249  ax-mulass 11250  ax-distr 11251  ax-i2m1 11252  ax-1ne0 11253  ax-1rid 11254  ax-rnegex 11255  ax-rrecex 11256  ax-cnre 11257  ax-pre-lttri 11258  ax-pre-lttrn 11259  ax-pre-ltadd 11260  ax-pre-mulgt0 11261
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 847  df-3or 1088  df-3an 1089  df-tru 1540  df-fal 1550  df-ex 1778  df-nf 1782  df-sb 2065  df-mo 2543  df-eu 2572  df-clab 2718  df-cleq 2732  df-clel 2819  df-nfc 2895  df-ne 2947  df-nel 3053  df-ral 3068  df-rex 3077  df-rmo 3388  df-reu 3389  df-rab 3444  df-v 3490  df-sbc 3805  df-csb 3922  df-dif 3979  df-un 3981  df-in 3983  df-ss 3993  df-pss 3996  df-nul 4353  df-if 4549  df-pw 4624  df-sn 4649  df-pr 4651  df-tp 4653  df-op 4655  df-uni 4932  df-iun 5017  df-br 5167  df-opab 5229  df-mpt 5250  df-tr 5284  df-id 5593  df-eprel 5599  df-po 5607  df-so 5608  df-fr 5652  df-we 5654  df-xp 5706  df-rel 5707  df-cnv 5708  df-co 5709  df-dm 5710  df-rn 5711  df-res 5712  df-ima 5713  df-pred 6332  df-ord 6398  df-on 6399  df-lim 6400  df-suc 6401  df-iota 6525  df-fun 6575  df-fn 6576  df-f 6577  df-f1 6578  df-fo 6579  df-f1o 6580  df-fv 6581  df-riota 7404  df-ov 7451  df-oprab 7452  df-mpo 7453  df-om 7904  df-1st 8030  df-2nd 8031  df-frecs 8322  df-wrecs 8353  df-recs 8427  df-rdg 8466  df-1o 8522  df-er 8763  df-map 8886  df-ixp 8956  df-en 9004  df-dom 9005  df-sdom 9006  df-fin 9007  df-pnf 11326  df-mnf 11327  df-xr 11328  df-ltxr 11329  df-le 11330  df-sub 11522  df-neg 11523  df-nn 12294  df-2 12356  df-3 12357  df-4 12358  df-5 12359  df-6 12360  df-7 12361  df-8 12362  df-9 12363  df-n0 12554  df-z 12640  df-dec 12759  df-uz 12904  df-fz 13568  df-struct 17194  df-slot 17229  df-ndx 17241  df-base 17259  df-hom 17335  df-cco 17336  df-cat 17726  df-cid 17727  df-sect 17808  df-inv 17809  df-iso 17810  df-func 17922  df-nat 18011  df-fuc 18012
This theorem is referenced by:  yonffthlem  18352
  Copyright terms: Public domain W3C validator