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

Theorem fuciso 17996
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 17981 . . . . 5 (𝐶 Func 𝐷) = (Base‘𝑄)
3 fuciso.n . . . . . 6 𝑁 = (𝐶 Nat 𝐷)
41, 3fuchom 17982 . . . . 5 𝑁 = (Hom ‘𝑄)
5 fuciso.i . . . . 5 𝐼 = (Iso‘𝑄)
6 fuciso.f . . . . . . . 8 (𝜑𝐹 ∈ (𝐶 Func 𝐷))
7 funcrcl 17881 . . . . . . . 8 (𝐹 ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
86, 7syl 17 . . . . . . 7 (𝜑 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
98simpld 494 . . . . . 6 (𝜑𝐶 ∈ Cat)
108simprd 495 . . . . . 6 (𝜑𝐷 ∈ Cat)
111, 9, 10fuccat 17991 . . . . 5 (𝜑𝑄 ∈ Cat)
12 fuciso.g . . . . 5 (𝜑𝐺 ∈ (𝐶 Func 𝐷))
132, 4, 5, 11, 6, 12isohom 17794 . . . 4 (𝜑 → (𝐹𝐼𝐺) ⊆ (𝐹𝑁𝐺))
1413sselda 3963 . . 3 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → 𝐴 ∈ (𝐹𝑁𝐺))
15 eqid 2736 . . . . 5 (Base‘𝐷) = (Base‘𝐷)
16 eqid 2736 . . . . 5 (Inv‘𝐷) = (Inv‘𝐷)
1710ad2antrr 726 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → 𝐷 ∈ Cat)
18 fuciso.b . . . . . . . 8 𝐵 = (Base‘𝐶)
19 relfunc 17880 . . . . . . . . 9 Rel (𝐶 Func 𝐷)
20 1st2ndbr 8046 . . . . . . . . 9 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
2119, 6, 20sylancr 587 . . . . . . . 8 (𝜑 → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
2218, 15, 21funcf1 17884 . . . . . . 7 (𝜑 → (1st𝐹):𝐵⟶(Base‘𝐷))
2322adantr 480 . . . . . 6 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → (1st𝐹):𝐵⟶(Base‘𝐷))
2423ffvelcdmda 7079 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → ((1st𝐹)‘𝑥) ∈ (Base‘𝐷))
25 1st2ndbr 8046 . . . . . . . . 9 ((Rel (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)) → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2619, 12, 25sylancr 587 . . . . . . . 8 (𝜑 → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2718, 15, 26funcf1 17884 . . . . . . 7 (𝜑 → (1st𝐺):𝐵⟶(Base‘𝐷))
2827adantr 480 . . . . . 6 ((𝜑𝐴 ∈ (𝐹𝐼𝐺)) → (1st𝐺):𝐵⟶(Base‘𝐷))
2928ffvelcdmda 7079 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → ((1st𝐺)‘𝑥) ∈ (Base‘𝐷))
30 fuciso.j . . . . 5 𝐽 = (Iso‘𝐷)
31 eqid 2736 . . . . . . . . . . . 12 (Inv‘𝑄) = (Inv‘𝑄)
322, 31, 11, 6, 12, 5isoval 17783 . . . . . . . . . . 11 (𝜑 → (𝐹𝐼𝐺) = dom (𝐹(Inv‘𝑄)𝐺))
3332eleq2d 2821 . . . . . . . . . 10 (𝜑 → (𝐴 ∈ (𝐹𝐼𝐺) ↔ 𝐴 ∈ dom (𝐹(Inv‘𝑄)𝐺)))
342, 31, 11, 6, 12invfun 17782 . . . . . . . . . . 11 (𝜑 → Fun (𝐹(Inv‘𝑄)𝐺))
35 funfvbrb 7046 . . . . . . . . . . 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 17994 . . . . . . . . 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 3238 . . . . 5 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → (𝐴𝑥)(((1st𝐹)‘𝑥)(Inv‘𝐷)((1st𝐺)‘𝑥))(((𝐹(Inv‘𝑄)𝐺)‘𝐴)‘𝑥))
4415, 16, 17, 24, 29, 30, 43inviso1 17784 . . . 4 (((𝜑𝐴 ∈ (𝐹𝐼𝐺)) ∧ 𝑥𝐵) → (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))
4544ralrimiva 3133 . . 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 726 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → 𝐷 ∈ Cat)
5222adantr 480 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → (1st𝐹):𝐵⟶(Base‘𝐷))
5352ffvelcdmda 7079 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → ((1st𝐹)‘𝑦) ∈ (Base‘𝐷))
5427adantr 480 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → (1st𝐺):𝐵⟶(Base‘𝐷))
5554ffvelcdmda 7079 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → ((1st𝐺)‘𝑦) ∈ (Base‘𝐷))
56 simprr 772 . . . . . 6 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))
57 fveq2 6881 . . . . . . . 8 (𝑥 = 𝑦 → (𝐴𝑥) = (𝐴𝑦))
58 fveq2 6881 . . . . . . . . 9 (𝑥 = 𝑦 → ((1st𝐹)‘𝑥) = ((1st𝐹)‘𝑦))
59 fveq2 6881 . . . . . . . . 9 (𝑥 = 𝑦 → ((1st𝐺)‘𝑥) = ((1st𝐺)‘𝑦))
6058, 59oveq12d 7428 . . . . . . . 8 (𝑥 = 𝑦 → (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)) = (((1st𝐹)‘𝑦)𝐽((1st𝐺)‘𝑦)))
6157, 60eleq12d 2829 . . . . . . 7 (𝑥 = 𝑦 → ((𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)) ↔ (𝐴𝑦) ∈ (((1st𝐹)‘𝑦)𝐽((1st𝐺)‘𝑦))))
6261rspccva 3605 . . . . . 6 ((∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)) ∧ 𝑦𝐵) → (𝐴𝑦) ∈ (((1st𝐹)‘𝑦)𝐽((1st𝐺)‘𝑦)))
6356, 62sylan 580 . . . . 5 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → (𝐴𝑦) ∈ (((1st𝐹)‘𝑦)𝐽((1st𝐺)‘𝑦)))
6415, 30, 16, 51, 53, 55, 63invisoinvr 17809 . . . 4 (((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) ∧ 𝑦𝐵) → (𝐴𝑦)(((1st𝐹)‘𝑦)(Inv‘𝐷)((1st𝐺)‘𝑦))((((1st𝐹)‘𝑦)(Inv‘𝐷)((1st𝐺)‘𝑦))‘(𝐴𝑦)))
651, 18, 3, 48, 49, 31, 16, 50, 64invfuc 17995 . . 3 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝐴(𝐹(Inv‘𝑄)𝐺)(𝑦𝐵 ↦ ((((1st𝐹)‘𝑦)(Inv‘𝐷)((1st𝐺)‘𝑦))‘(𝐴𝑦))))
662, 31, 47, 48, 49, 5, 65inviso1 17784 . 2 ((𝜑 ∧ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))) → 𝐴 ∈ (𝐹𝐼𝐺))
6746, 66impbida 800 1 (𝜑 → (𝐴 ∈ (𝐹𝐼𝐺) ↔ (𝐴 ∈ (𝐹𝑁𝐺) ∧ ∀𝑥𝐵 (𝐴𝑥) ∈ (((1st𝐹)‘𝑥)𝐽((1st𝐺)‘𝑥)))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1086   = wceq 1540  wcel 2109  wral 3052   class class class wbr 5124  cmpt 5206  dom cdm 5659  Rel wrel 5664  Fun wfun 6530  wf 6532  cfv 6536  (class class class)co 7410  1st c1st 7991  2nd c2nd 7992  Basecbs 17233  Catccat 17681  Invcinv 17763  Isociso 17764   Func cfunc 17872   Nat cnat 17962   FuncCat cfuc 17963
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2708  ax-rep 5254  ax-sep 5271  ax-nul 5281  ax-pow 5340  ax-pr 5407  ax-un 7734  ax-cnex 11190  ax-resscn 11191  ax-1cn 11192  ax-icn 11193  ax-addcl 11194  ax-addrcl 11195  ax-mulcl 11196  ax-mulrcl 11197  ax-mulcom 11198  ax-addass 11199  ax-mulass 11200  ax-distr 11201  ax-i2m1 11202  ax-1ne0 11203  ax-1rid 11204  ax-rnegex 11205  ax-rrecex 11206  ax-cnre 11207  ax-pre-lttri 11208  ax-pre-lttrn 11209  ax-pre-ltadd 11210  ax-pre-mulgt0 11211
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2540  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2810  df-nfc 2886  df-ne 2934  df-nel 3038  df-ral 3053  df-rex 3062  df-rmo 3364  df-reu 3365  df-rab 3421  df-v 3466  df-sbc 3771  df-csb 3880  df-dif 3934  df-un 3936  df-in 3938  df-ss 3948  df-pss 3951  df-nul 4314  df-if 4506  df-pw 4582  df-sn 4607  df-pr 4609  df-tp 4611  df-op 4613  df-uni 4889  df-iun 4974  df-br 5125  df-opab 5187  df-mpt 5207  df-tr 5235  df-id 5553  df-eprel 5558  df-po 5566  df-so 5567  df-fr 5611  df-we 5613  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-res 5671  df-ima 5672  df-pred 6295  df-ord 6360  df-on 6361  df-lim 6362  df-suc 6363  df-iota 6489  df-fun 6538  df-fn 6539  df-f 6540  df-f1 6541  df-fo 6542  df-f1o 6543  df-fv 6544  df-riota 7367  df-ov 7413  df-oprab 7414  df-mpo 7415  df-om 7867  df-1st 7993  df-2nd 7994  df-frecs 8285  df-wrecs 8316  df-recs 8390  df-rdg 8429  df-1o 8485  df-er 8724  df-map 8847  df-ixp 8917  df-en 8965  df-dom 8966  df-sdom 8967  df-fin 8968  df-pnf 11276  df-mnf 11277  df-xr 11278  df-ltxr 11279  df-le 11280  df-sub 11473  df-neg 11474  df-nn 12246  df-2 12308  df-3 12309  df-4 12310  df-5 12311  df-6 12312  df-7 12313  df-8 12314  df-9 12315  df-n0 12507  df-z 12594  df-dec 12714  df-uz 12858  df-fz 13530  df-struct 17171  df-slot 17206  df-ndx 17218  df-base 17234  df-hom 17300  df-cco 17301  df-cat 17685  df-cid 17686  df-sect 17765  df-inv 17766  df-iso 17767  df-func 17876  df-nat 17964  df-fuc 17965
This theorem is referenced by:  yonffthlem  18299
  Copyright terms: Public domain W3C validator