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

Theorem fucass 17927
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 2735 . . . . 5 (Base‘𝐷) = (Base‘𝐷)
2 eqid 2735 . . . . 5 (Hom ‘𝐷) = (Hom ‘𝐷)
3 eqid 2735 . . . . 5 (comp‘𝐷) = (comp‘𝐷)
4 fucass.r . . . . . . . . . 10 (𝜑𝑅 ∈ (𝐹𝑁𝐺))
5 fucass.n . . . . . . . . . . 11 𝑁 = (𝐶 Nat 𝐷)
65natrcl 17909 . . . . . . . . . 10 (𝑅 ∈ (𝐹𝑁𝐺) → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)))
74, 6syl 17 . . . . . . . . 9 (𝜑 → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)))
87simpld 494 . . . . . . . 8 (𝜑𝐹 ∈ (𝐶 Func 𝐷))
9 funcrcl 17819 . . . . . . . 8 (𝐹 ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
108, 9syl 17 . . . . . . 7 (𝜑 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
1110simprd 495 . . . . . 6 (𝜑𝐷 ∈ Cat)
1211adantr 480 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝐷 ∈ Cat)
13 eqid 2735 . . . . . . 7 (Base‘𝐶) = (Base‘𝐶)
14 relfunc 17818 . . . . . . . 8 Rel (𝐶 Func 𝐷)
15 1st2ndbr 7984 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
1614, 8, 15sylancr 588 . . . . . . 7 (𝜑 → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
1713, 1, 16funcf1 17822 . . . . . 6 (𝜑 → (1st𝐹):(Base‘𝐶)⟶(Base‘𝐷))
1817ffvelcdmda 7025 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐹)‘𝑥) ∈ (Base‘𝐷))
197simprd 495 . . . . . . . 8 (𝜑𝐺 ∈ (𝐶 Func 𝐷))
20 1st2ndbr 7984 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)) → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2114, 19, 20sylancr 588 . . . . . . 7 (𝜑 → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2213, 1, 21funcf1 17822 . . . . . 6 (𝜑 → (1st𝐺):(Base‘𝐶)⟶(Base‘𝐷))
2322ffvelcdmda 7025 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐺)‘𝑥) ∈ (Base‘𝐷))
24 fucass.t . . . . . . . . . 10 (𝜑𝑇 ∈ (𝐻𝑁𝐾))
255natrcl 17909 . . . . . . . . . 10 (𝑇 ∈ (𝐻𝑁𝐾) → (𝐻 ∈ (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)))
2624, 25syl 17 . . . . . . . . 9 (𝜑 → (𝐻 ∈ (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)))
2726simpld 494 . . . . . . . 8 (𝜑𝐻 ∈ (𝐶 Func 𝐷))
28 1st2ndbr 7984 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐻 ∈ (𝐶 Func 𝐷)) → (1st𝐻)(𝐶 Func 𝐷)(2nd𝐻))
2914, 27, 28sylancr 588 . . . . . . 7 (𝜑 → (1st𝐻)(𝐶 Func 𝐷)(2nd𝐻))
3013, 1, 29funcf1 17822 . . . . . 6 (𝜑 → (1st𝐻):(Base‘𝐶)⟶(Base‘𝐷))
3130ffvelcdmda 7025 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐻)‘𝑥) ∈ (Base‘𝐷))
325, 4nat1st2nd 17910 . . . . . . 7 (𝜑𝑅 ∈ (⟨(1st𝐹), (2nd𝐹)⟩𝑁⟨(1st𝐺), (2nd𝐺)⟩))
3332adantr 480 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑅 ∈ (⟨(1st𝐹), (2nd𝐹)⟩𝑁⟨(1st𝐺), (2nd𝐺)⟩))
34 simpr 484 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
355, 33, 13, 2, 34natcl 17912 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑅𝑥) ∈ (((1st𝐹)‘𝑥)(Hom ‘𝐷)((1st𝐺)‘𝑥)))
36 fucass.s . . . . . . . 8 (𝜑𝑆 ∈ (𝐺𝑁𝐻))
375, 36nat1st2nd 17910 . . . . . . 7 (𝜑𝑆 ∈ (⟨(1st𝐺), (2nd𝐺)⟩𝑁⟨(1st𝐻), (2nd𝐻)⟩))
3837adantr 480 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑆 ∈ (⟨(1st𝐺), (2nd𝐺)⟩𝑁⟨(1st𝐻), (2nd𝐻)⟩))
395, 38, 13, 2, 34natcl 17912 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑆𝑥) ∈ (((1st𝐺)‘𝑥)(Hom ‘𝐷)((1st𝐻)‘𝑥)))
4026simprd 495 . . . . . . . 8 (𝜑𝐾 ∈ (𝐶 Func 𝐷))
41 1st2ndbr 7984 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)) → (1st𝐾)(𝐶 Func 𝐷)(2nd𝐾))
4214, 40, 41sylancr 588 . . . . . . 7 (𝜑 → (1st𝐾)(𝐶 Func 𝐷)(2nd𝐾))
4313, 1, 42funcf1 17822 . . . . . 6 (𝜑 → (1st𝐾):(Base‘𝐶)⟶(Base‘𝐷))
4443ffvelcdmda 7025 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐾)‘𝑥) ∈ (Base‘𝐷))
455, 24nat1st2nd 17910 . . . . . . 7 (𝜑𝑇 ∈ (⟨(1st𝐻), (2nd𝐻)⟩𝑁⟨(1st𝐾), (2nd𝐾)⟩))
4645adantr 480 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑇 ∈ (⟨(1st𝐻), (2nd𝐻)⟩𝑁⟨(1st𝐾), (2nd𝐾)⟩))
475, 46, 13, 2, 34natcl 17912 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑇𝑥) ∈ (((1st𝐻)‘𝑥)(Hom ‘𝐷)((1st𝐾)‘𝑥)))
481, 2, 3, 12, 18, 23, 31, 35, 39, 44, 47catass 17641 . . . 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 480 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑆 ∈ (𝐺𝑁𝐻))
5224adantr 480 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑇 ∈ (𝐻𝑁𝐾))
5349, 5, 13, 3, 50, 51, 52, 34fuccoval 17922 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥) = ((𝑇𝑥)(⟨((1st𝐺)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑆𝑥)))
5453oveq1d 7371 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥)) = (((𝑇𝑥)(⟨((1st𝐺)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑆𝑥))(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥)))
554adantr 480 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑅 ∈ (𝐹𝑁𝐺))
5649, 5, 13, 3, 50, 55, 51, 34fuccoval 17922 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥) = ((𝑆𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐻)‘𝑥))(𝑅𝑥)))
5756oveq2d 7372 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥)) = ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐻)‘𝑥))(𝑅𝑥))))
5848, 54, 573eqtr4d 2780 . . 3 ((𝜑𝑥 ∈ (Base‘𝐶)) → (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥)) = ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥)))
5958mpteq2dva 5167 . 2 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥))) = (𝑥 ∈ (Base‘𝐶) ↦ ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥))))
6049, 5, 50, 36, 24fuccocl 17923 . . 3 (𝜑 → (𝑇(⟨𝐺, 𝐻 𝐾)𝑆) ∈ (𝐺𝑁𝐾))
6149, 5, 13, 3, 50, 4, 60fucco 17921 . 2 (𝜑 → ((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)(⟨𝐹, 𝐺 𝐾)𝑅) = (𝑥 ∈ (Base‘𝐶) ↦ (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥))))
6249, 5, 50, 4, 36fuccocl 17923 . . 3 (𝜑 → (𝑆(⟨𝐹, 𝐺 𝐻)𝑅) ∈ (𝐹𝑁𝐻))
6349, 5, 13, 3, 50, 62, 24fucco 17921 . 2 (𝜑 → (𝑇(⟨𝐹, 𝐻 𝐾)(𝑆(⟨𝐹, 𝐺 𝐻)𝑅)) = (𝑥 ∈ (Base‘𝐶) ↦ ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥))))
6459, 61, 633eqtr4d 2780 1 (𝜑 → ((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)(⟨𝐹, 𝐺 𝐾)𝑅) = (𝑇(⟨𝐹, 𝐻 𝐾)(𝑆(⟨𝐹, 𝐺 𝐻)𝑅)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1542  wcel 2114  cop 4563   class class class wbr 5074  cmpt 5155  Rel wrel 5625  cfv 6487  (class class class)co 7356  1st c1st 7929  2nd c2nd 7930  Basecbs 17168  Hom chom 17220  compcco 17221  Catccat 17619   Func cfunc 17810   Nat cnat 17900   FuncCat cfuc 17901
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2184  ax-ext 2707  ax-rep 5201  ax-sep 5220  ax-nul 5230  ax-pow 5296  ax-pr 5364  ax-un 7678  ax-cnex 11083  ax-resscn 11084  ax-1cn 11085  ax-icn 11086  ax-addcl 11087  ax-addrcl 11088  ax-mulcl 11089  ax-mulrcl 11090  ax-mulcom 11091  ax-addass 11092  ax-mulass 11093  ax-distr 11094  ax-i2m1 11095  ax-1ne0 11096  ax-1rid 11097  ax-rnegex 11098  ax-rrecex 11099  ax-cnre 11100  ax-pre-lttri 11101  ax-pre-lttrn 11102  ax-pre-ltadd 11103  ax-pre-mulgt0 11104
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2538  df-eu 2568  df-clab 2714  df-cleq 2727  df-clel 2810  df-nfc 2884  df-ne 2931  df-nel 3035  df-ral 3050  df-rex 3060  df-reu 3341  df-rab 3388  df-v 3429  df-sbc 3726  df-csb 3834  df-dif 3888  df-un 3890  df-in 3892  df-ss 3902  df-pss 3905  df-nul 4264  df-if 4457  df-pw 4533  df-sn 4558  df-pr 4560  df-tp 4562  df-op 4564  df-uni 4841  df-iun 4925  df-br 5075  df-opab 5137  df-mpt 5156  df-tr 5182  df-id 5515  df-eprel 5520  df-po 5528  df-so 5529  df-fr 5573  df-we 5575  df-xp 5626  df-rel 5627  df-cnv 5628  df-co 5629  df-dm 5630  df-rn 5631  df-res 5632  df-ima 5633  df-pred 6254  df-ord 6315  df-on 6316  df-lim 6317  df-suc 6318  df-iota 6443  df-fun 6489  df-fn 6490  df-f 6491  df-f1 6492  df-fo 6493  df-f1o 6494  df-fv 6495  df-riota 7313  df-ov 7359  df-oprab 7360  df-mpo 7361  df-om 7807  df-1st 7931  df-2nd 7932  df-frecs 8220  df-wrecs 8251  df-recs 8300  df-rdg 8338  df-1o 8394  df-er 8632  df-map 8764  df-ixp 8835  df-en 8883  df-dom 8884  df-sdom 8885  df-fin 8886  df-pnf 11170  df-mnf 11171  df-xr 11172  df-ltxr 11173  df-le 11174  df-sub 11368  df-neg 11369  df-nn 12164  df-2 12233  df-3 12234  df-4 12235  df-5 12236  df-6 12237  df-7 12238  df-8 12239  df-9 12240  df-n0 12427  df-z 12514  df-dec 12634  df-uz 12778  df-fz 13451  df-struct 17106  df-slot 17141  df-ndx 17153  df-base 17169  df-hom 17233  df-cco 17234  df-cat 17623  df-func 17814  df-nat 17902  df-fuc 17903
This theorem is referenced by:  fuccatid  17928
  Copyright terms: Public domain W3C validator