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

Theorem fucass 17238
Description: Associativity of natural transformation composition. Remark 6.14(b) in [Adamek] p. 87. (Contributed by Mario Carneiro, 6-Jan-2017.)
Hypotheses
Ref Expression
fucass.q 𝑄 = (𝐶 FuncCat 𝐷)
fucass.n 𝑁 = (𝐶 Nat 𝐷)
fucass.x = (comp‘𝑄)
fucass.r (𝜑𝑅 ∈ (𝐹𝑁𝐺))
fucass.s (𝜑𝑆 ∈ (𝐺𝑁𝐻))
fucass.t (𝜑𝑇 ∈ (𝐻𝑁𝐾))
Assertion
Ref Expression
fucass (𝜑 → ((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)(⟨𝐹, 𝐺 𝐾)𝑅) = (𝑇(⟨𝐹, 𝐻 𝐾)(𝑆(⟨𝐹, 𝐺 𝐻)𝑅)))

Proof of Theorem fucass
Dummy variable 𝑥 is distinct from all other variables.
StepHypRef Expression
1 eqid 2821 . . . . 5 (Base‘𝐷) = (Base‘𝐷)
2 eqid 2821 . . . . 5 (Hom ‘𝐷) = (Hom ‘𝐷)
3 eqid 2821 . . . . 5 (comp‘𝐷) = (comp‘𝐷)
4 fucass.r . . . . . . . . . 10 (𝜑𝑅 ∈ (𝐹𝑁𝐺))
5 fucass.n . . . . . . . . . . 11 𝑁 = (𝐶 Nat 𝐷)
65natrcl 17220 . . . . . . . . . 10 (𝑅 ∈ (𝐹𝑁𝐺) → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)))
74, 6syl 17 . . . . . . . . 9 (𝜑 → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)))
87simpld 497 . . . . . . . 8 (𝜑𝐹 ∈ (𝐶 Func 𝐷))
9 funcrcl 17133 . . . . . . . 8 (𝐹 ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
108, 9syl 17 . . . . . . 7 (𝜑 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
1110simprd 498 . . . . . 6 (𝜑𝐷 ∈ Cat)
1211adantr 483 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝐷 ∈ Cat)
13 eqid 2821 . . . . . . 7 (Base‘𝐶) = (Base‘𝐶)
14 relfunc 17132 . . . . . . . 8 Rel (𝐶 Func 𝐷)
15 1st2ndbr 7741 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
1614, 8, 15sylancr 589 . . . . . . 7 (𝜑 → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
1713, 1, 16funcf1 17136 . . . . . 6 (𝜑 → (1st𝐹):(Base‘𝐶)⟶(Base‘𝐷))
1817ffvelrnda 6851 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐹)‘𝑥) ∈ (Base‘𝐷))
197simprd 498 . . . . . . . 8 (𝜑𝐺 ∈ (𝐶 Func 𝐷))
20 1st2ndbr 7741 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)) → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2114, 19, 20sylancr 589 . . . . . . 7 (𝜑 → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2213, 1, 21funcf1 17136 . . . . . 6 (𝜑 → (1st𝐺):(Base‘𝐶)⟶(Base‘𝐷))
2322ffvelrnda 6851 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐺)‘𝑥) ∈ (Base‘𝐷))
24 fucass.t . . . . . . . . . 10 (𝜑𝑇 ∈ (𝐻𝑁𝐾))
255natrcl 17220 . . . . . . . . . 10 (𝑇 ∈ (𝐻𝑁𝐾) → (𝐻 ∈ (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)))
2624, 25syl 17 . . . . . . . . 9 (𝜑 → (𝐻 ∈ (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)))
2726simpld 497 . . . . . . . 8 (𝜑𝐻 ∈ (𝐶 Func 𝐷))
28 1st2ndbr 7741 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐻 ∈ (𝐶 Func 𝐷)) → (1st𝐻)(𝐶 Func 𝐷)(2nd𝐻))
2914, 27, 28sylancr 589 . . . . . . 7 (𝜑 → (1st𝐻)(𝐶 Func 𝐷)(2nd𝐻))
3013, 1, 29funcf1 17136 . . . . . 6 (𝜑 → (1st𝐻):(Base‘𝐶)⟶(Base‘𝐷))
3130ffvelrnda 6851 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐻)‘𝑥) ∈ (Base‘𝐷))
325, 4nat1st2nd 17221 . . . . . . 7 (𝜑𝑅 ∈ (⟨(1st𝐹), (2nd𝐹)⟩𝑁⟨(1st𝐺), (2nd𝐺)⟩))
3332adantr 483 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑅 ∈ (⟨(1st𝐹), (2nd𝐹)⟩𝑁⟨(1st𝐺), (2nd𝐺)⟩))
34 simpr 487 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
355, 33, 13, 2, 34natcl 17223 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑅𝑥) ∈ (((1st𝐹)‘𝑥)(Hom ‘𝐷)((1st𝐺)‘𝑥)))
36 fucass.s . . . . . . . 8 (𝜑𝑆 ∈ (𝐺𝑁𝐻))
375, 36nat1st2nd 17221 . . . . . . 7 (𝜑𝑆 ∈ (⟨(1st𝐺), (2nd𝐺)⟩𝑁⟨(1st𝐻), (2nd𝐻)⟩))
3837adantr 483 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑆 ∈ (⟨(1st𝐺), (2nd𝐺)⟩𝑁⟨(1st𝐻), (2nd𝐻)⟩))
395, 38, 13, 2, 34natcl 17223 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑆𝑥) ∈ (((1st𝐺)‘𝑥)(Hom ‘𝐷)((1st𝐻)‘𝑥)))
4026simprd 498 . . . . . . . 8 (𝜑𝐾 ∈ (𝐶 Func 𝐷))
41 1st2ndbr 7741 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)) → (1st𝐾)(𝐶 Func 𝐷)(2nd𝐾))
4214, 40, 41sylancr 589 . . . . . . 7 (𝜑 → (1st𝐾)(𝐶 Func 𝐷)(2nd𝐾))
4313, 1, 42funcf1 17136 . . . . . 6 (𝜑 → (1st𝐾):(Base‘𝐶)⟶(Base‘𝐷))
4443ffvelrnda 6851 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐾)‘𝑥) ∈ (Base‘𝐷))
455, 24nat1st2nd 17221 . . . . . . 7 (𝜑𝑇 ∈ (⟨(1st𝐻), (2nd𝐻)⟩𝑁⟨(1st𝐾), (2nd𝐾)⟩))
4645adantr 483 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑇 ∈ (⟨(1st𝐻), (2nd𝐻)⟩𝑁⟨(1st𝐾), (2nd𝐾)⟩))
475, 46, 13, 2, 34natcl 17223 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑇𝑥) ∈ (((1st𝐻)‘𝑥)(Hom ‘𝐷)((1st𝐾)‘𝑥)))
481, 2, 3, 12, 18, 23, 31, 35, 39, 44, 47catass 16957 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → (((𝑇𝑥)(⟨((1st𝐺)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑆𝑥))(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥)) = ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐻)‘𝑥))(𝑅𝑥))))
49 fucass.q . . . . . 6 𝑄 = (𝐶 FuncCat 𝐷)
50 fucass.x . . . . . 6 = (comp‘𝑄)
5136adantr 483 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑆 ∈ (𝐺𝑁𝐻))
5224adantr 483 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑇 ∈ (𝐻𝑁𝐾))
5349, 5, 13, 3, 50, 51, 52, 34fuccoval 17233 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥) = ((𝑇𝑥)(⟨((1st𝐺)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑆𝑥)))
5453oveq1d 7171 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥)) = (((𝑇𝑥)(⟨((1st𝐺)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑆𝑥))(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥)))
554adantr 483 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑅 ∈ (𝐹𝑁𝐺))
5649, 5, 13, 3, 50, 55, 51, 34fuccoval 17233 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥) = ((𝑆𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐻)‘𝑥))(𝑅𝑥)))
5756oveq2d 7172 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥)) = ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐻)‘𝑥))(𝑅𝑥))))
5848, 54, 573eqtr4d 2866 . . 3 ((𝜑𝑥 ∈ (Base‘𝐶)) → (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥)) = ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥)))
5958mpteq2dva 5161 . 2 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥))) = (𝑥 ∈ (Base‘𝐶) ↦ ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥))))
6049, 5, 50, 36, 24fuccocl 17234 . . 3 (𝜑 → (𝑇(⟨𝐺, 𝐻 𝐾)𝑆) ∈ (𝐺𝑁𝐾))
6149, 5, 13, 3, 50, 4, 60fucco 17232 . 2 (𝜑 → ((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)(⟨𝐹, 𝐺 𝐾)𝑅) = (𝑥 ∈ (Base‘𝐶) ↦ (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥))))
6249, 5, 50, 4, 36fuccocl 17234 . . 3 (𝜑 → (𝑆(⟨𝐹, 𝐺 𝐻)𝑅) ∈ (𝐹𝑁𝐻))
6349, 5, 13, 3, 50, 62, 24fucco 17232 . 2 (𝜑 → (𝑇(⟨𝐹, 𝐻 𝐾)(𝑆(⟨𝐹, 𝐺 𝐻)𝑅)) = (𝑥 ∈ (Base‘𝐶) ↦ ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥))))
6459, 61, 633eqtr4d 2866 1 (𝜑 → ((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)(⟨𝐹, 𝐺 𝐾)𝑅) = (𝑇(⟨𝐹, 𝐻 𝐾)(𝑆(⟨𝐹, 𝐺 𝐻)𝑅)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 398   = wceq 1537  wcel 2114  cop 4573   class class class wbr 5066  cmpt 5146  Rel wrel 5560  cfv 6355  (class class class)co 7156  1st c1st 7687  2nd c2nd 7688  Basecbs 16483  Hom chom 16576  compcco 16577  Catccat 16935   Func cfunc 17124   Nat cnat 17211   FuncCat cfuc 17212
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2116  ax-9 2124  ax-10 2145  ax-11 2161  ax-12 2177  ax-ext 2793  ax-rep 5190  ax-sep 5203  ax-nul 5210  ax-pow 5266  ax-pr 5330  ax-un 7461  ax-cnex 10593  ax-resscn 10594  ax-1cn 10595  ax-icn 10596  ax-addcl 10597  ax-addrcl 10598  ax-mulcl 10599  ax-mulrcl 10600  ax-mulcom 10601  ax-addass 10602  ax-mulass 10603  ax-distr 10604  ax-i2m1 10605  ax-1ne0 10606  ax-1rid 10607  ax-rnegex 10608  ax-rrecex 10609  ax-cnre 10610  ax-pre-lttri 10611  ax-pre-lttrn 10612  ax-pre-ltadd 10613  ax-pre-mulgt0 10614
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3or 1084  df-3an 1085  df-tru 1540  df-ex 1781  df-nf 1785  df-sb 2070  df-mo 2622  df-eu 2654  df-clab 2800  df-cleq 2814  df-clel 2893  df-nfc 2963  df-ne 3017  df-nel 3124  df-ral 3143  df-rex 3144  df-reu 3145  df-rab 3147  df-v 3496  df-sbc 3773  df-csb 3884  df-dif 3939  df-un 3941  df-in 3943  df-ss 3952  df-pss 3954  df-nul 4292  df-if 4468  df-pw 4541  df-sn 4568  df-pr 4570  df-tp 4572  df-op 4574  df-uni 4839  df-int 4877  df-iun 4921  df-br 5067  df-opab 5129  df-mpt 5147  df-tr 5173  df-id 5460  df-eprel 5465  df-po 5474  df-so 5475  df-fr 5514  df-we 5516  df-xp 5561  df-rel 5562  df-cnv 5563  df-co 5564  df-dm 5565  df-rn 5566  df-res 5567  df-ima 5568  df-pred 6148  df-ord 6194  df-on 6195  df-lim 6196  df-suc 6197  df-iota 6314  df-fun 6357  df-fn 6358  df-f 6359  df-f1 6360  df-fo 6361  df-f1o 6362  df-fv 6363  df-riota 7114  df-ov 7159  df-oprab 7160  df-mpo 7161  df-om 7581  df-1st 7689  df-2nd 7690  df-wrecs 7947  df-recs 8008  df-rdg 8046  df-1o 8102  df-oadd 8106  df-er 8289  df-map 8408  df-ixp 8462  df-en 8510  df-dom 8511  df-sdom 8512  df-fin 8513  df-pnf 10677  df-mnf 10678  df-xr 10679  df-ltxr 10680  df-le 10681  df-sub 10872  df-neg 10873  df-nn 11639  df-2 11701  df-3 11702  df-4 11703  df-5 11704  df-6 11705  df-7 11706  df-8 11707  df-9 11708  df-n0 11899  df-z 11983  df-dec 12100  df-uz 12245  df-fz 12894  df-struct 16485  df-ndx 16486  df-slot 16487  df-base 16489  df-hom 16589  df-cco 16590  df-cat 16939  df-func 17128  df-nat 17213  df-fuc 17214
This theorem is referenced by:  fuccatid  17239
  Copyright terms: Public domain W3C validator