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

Theorem fucass 16834
 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 2770 . . . . 5 (Base‘𝐷) = (Base‘𝐷)
2 eqid 2770 . . . . 5 (Hom ‘𝐷) = (Hom ‘𝐷)
3 eqid 2770 . . . . 5 (comp‘𝐷) = (comp‘𝐷)
4 fucass.r . . . . . . . . . 10 (𝜑𝑅 ∈ (𝐹𝑁𝐺))
5 fucass.n . . . . . . . . . . 11 𝑁 = (𝐶 Nat 𝐷)
65natrcl 16816 . . . . . . . . . 10 (𝑅 ∈ (𝐹𝑁𝐺) → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)))
74, 6syl 17 . . . . . . . . 9 (𝜑 → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)))
87simpld 476 . . . . . . . 8 (𝜑𝐹 ∈ (𝐶 Func 𝐷))
9 funcrcl 16729 . . . . . . . 8 (𝐹 ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
108, 9syl 17 . . . . . . 7 (𝜑 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
1110simprd 477 . . . . . 6 (𝜑𝐷 ∈ Cat)
1211adantr 466 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝐷 ∈ Cat)
13 eqid 2770 . . . . . . 7 (Base‘𝐶) = (Base‘𝐶)
14 relfunc 16728 . . . . . . . 8 Rel (𝐶 Func 𝐷)
15 1st2ndbr 7365 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
1614, 8, 15sylancr 567 . . . . . . 7 (𝜑 → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
1713, 1, 16funcf1 16732 . . . . . 6 (𝜑 → (1st𝐹):(Base‘𝐶)⟶(Base‘𝐷))
1817ffvelrnda 6502 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐹)‘𝑥) ∈ (Base‘𝐷))
197simprd 477 . . . . . . . 8 (𝜑𝐺 ∈ (𝐶 Func 𝐷))
20 1st2ndbr 7365 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)) → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2114, 19, 20sylancr 567 . . . . . . 7 (𝜑 → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2213, 1, 21funcf1 16732 . . . . . 6 (𝜑 → (1st𝐺):(Base‘𝐶)⟶(Base‘𝐷))
2322ffvelrnda 6502 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐺)‘𝑥) ∈ (Base‘𝐷))
24 fucass.t . . . . . . . . . 10 (𝜑𝑇 ∈ (𝐻𝑁𝐾))
255natrcl 16816 . . . . . . . . . 10 (𝑇 ∈ (𝐻𝑁𝐾) → (𝐻 ∈ (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)))
2624, 25syl 17 . . . . . . . . 9 (𝜑 → (𝐻 ∈ (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)))
2726simpld 476 . . . . . . . 8 (𝜑𝐻 ∈ (𝐶 Func 𝐷))
28 1st2ndbr 7365 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐻 ∈ (𝐶 Func 𝐷)) → (1st𝐻)(𝐶 Func 𝐷)(2nd𝐻))
2914, 27, 28sylancr 567 . . . . . . 7 (𝜑 → (1st𝐻)(𝐶 Func 𝐷)(2nd𝐻))
3013, 1, 29funcf1 16732 . . . . . 6 (𝜑 → (1st𝐻):(Base‘𝐶)⟶(Base‘𝐷))
3130ffvelrnda 6502 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐻)‘𝑥) ∈ (Base‘𝐷))
325, 4nat1st2nd 16817 . . . . . . 7 (𝜑𝑅 ∈ (⟨(1st𝐹), (2nd𝐹)⟩𝑁⟨(1st𝐺), (2nd𝐺)⟩))
3332adantr 466 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑅 ∈ (⟨(1st𝐹), (2nd𝐹)⟩𝑁⟨(1st𝐺), (2nd𝐺)⟩))
34 simpr 471 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
355, 33, 13, 2, 34natcl 16819 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑅𝑥) ∈ (((1st𝐹)‘𝑥)(Hom ‘𝐷)((1st𝐺)‘𝑥)))
36 fucass.s . . . . . . . 8 (𝜑𝑆 ∈ (𝐺𝑁𝐻))
375, 36nat1st2nd 16817 . . . . . . 7 (𝜑𝑆 ∈ (⟨(1st𝐺), (2nd𝐺)⟩𝑁⟨(1st𝐻), (2nd𝐻)⟩))
3837adantr 466 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑆 ∈ (⟨(1st𝐺), (2nd𝐺)⟩𝑁⟨(1st𝐻), (2nd𝐻)⟩))
395, 38, 13, 2, 34natcl 16819 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑆𝑥) ∈ (((1st𝐺)‘𝑥)(Hom ‘𝐷)((1st𝐻)‘𝑥)))
4026simprd 477 . . . . . . . 8 (𝜑𝐾 ∈ (𝐶 Func 𝐷))
41 1st2ndbr 7365 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)) → (1st𝐾)(𝐶 Func 𝐷)(2nd𝐾))
4214, 40, 41sylancr 567 . . . . . . 7 (𝜑 → (1st𝐾)(𝐶 Func 𝐷)(2nd𝐾))
4313, 1, 42funcf1 16732 . . . . . 6 (𝜑 → (1st𝐾):(Base‘𝐶)⟶(Base‘𝐷))
4443ffvelrnda 6502 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐾)‘𝑥) ∈ (Base‘𝐷))
455, 24nat1st2nd 16817 . . . . . . 7 (𝜑𝑇 ∈ (⟨(1st𝐻), (2nd𝐻)⟩𝑁⟨(1st𝐾), (2nd𝐾)⟩))
4645adantr 466 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑇 ∈ (⟨(1st𝐻), (2nd𝐻)⟩𝑁⟨(1st𝐾), (2nd𝐾)⟩))
475, 46, 13, 2, 34natcl 16819 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑇𝑥) ∈ (((1st𝐻)‘𝑥)(Hom ‘𝐷)((1st𝐾)‘𝑥)))
481, 2, 3, 12, 18, 23, 31, 35, 39, 44, 47catass 16553 . . . 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 466 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑆 ∈ (𝐺𝑁𝐻))
5224adantr 466 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑇 ∈ (𝐻𝑁𝐾))
5349, 5, 13, 3, 50, 51, 52, 34fuccoval 16829 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥) = ((𝑇𝑥)(⟨((1st𝐺)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑆𝑥)))
5453oveq1d 6807 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥)) = (((𝑇𝑥)(⟨((1st𝐺)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑆𝑥))(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥)))
554adantr 466 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑅 ∈ (𝐹𝑁𝐺))
5649, 5, 13, 3, 50, 55, 51, 34fuccoval 16829 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥) = ((𝑆𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐻)‘𝑥))(𝑅𝑥)))
5756oveq2d 6808 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥)) = ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐻)‘𝑥))(𝑅𝑥))))
5848, 54, 573eqtr4d 2814 . . 3 ((𝜑𝑥 ∈ (Base‘𝐶)) → (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥)) = ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥)))
5958mpteq2dva 4876 . 2 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥))) = (𝑥 ∈ (Base‘𝐶) ↦ ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥))))
6049, 5, 50, 36, 24fuccocl 16830 . . 3 (𝜑 → (𝑇(⟨𝐺, 𝐻 𝐾)𝑆) ∈ (𝐺𝑁𝐾))
6149, 5, 13, 3, 50, 4, 60fucco 16828 . 2 (𝜑 → ((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)(⟨𝐹, 𝐺 𝐾)𝑅) = (𝑥 ∈ (Base‘𝐶) ↦ (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥))))
6249, 5, 50, 4, 36fuccocl 16830 . . 3 (𝜑 → (𝑆(⟨𝐹, 𝐺 𝐻)𝑅) ∈ (𝐹𝑁𝐻))
6349, 5, 13, 3, 50, 62, 24fucco 16828 . 2 (𝜑 → (𝑇(⟨𝐹, 𝐻 𝐾)(𝑆(⟨𝐹, 𝐺 𝐻)𝑅)) = (𝑥 ∈ (Base‘𝐶) ↦ ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥))))
6459, 61, 633eqtr4d 2814 1 (𝜑 → ((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)(⟨𝐹, 𝐺 𝐾)𝑅) = (𝑇(⟨𝐹, 𝐻 𝐾)(𝑆(⟨𝐹, 𝐺 𝐻)𝑅)))
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ∧ wa 382   = wceq 1630   ∈ wcel 2144  ⟨cop 4320   class class class wbr 4784   ↦ cmpt 4861  Rel wrel 5254  ‘cfv 6031  (class class class)co 6792  1st c1st 7312  2nd c2nd 7313  Basecbs 16063  Hom chom 16159  compcco 16160  Catccat 16531   Func cfunc 16720   Nat cnat 16807   FuncCat cfuc 16808 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1869  ax-4 1884  ax-5 1990  ax-6 2056  ax-7 2092  ax-8 2146  ax-9 2153  ax-10 2173  ax-11 2189  ax-12 2202  ax-13 2407  ax-ext 2750  ax-rep 4902  ax-sep 4912  ax-nul 4920  ax-pow 4971  ax-pr 5034  ax-un 7095  ax-cnex 10193  ax-resscn 10194  ax-1cn 10195  ax-icn 10196  ax-addcl 10197  ax-addrcl 10198  ax-mulcl 10199  ax-mulrcl 10200  ax-mulcom 10201  ax-addass 10202  ax-mulass 10203  ax-distr 10204  ax-i2m1 10205  ax-1ne0 10206  ax-1rid 10207  ax-rnegex 10208  ax-rrecex 10209  ax-cnre 10210  ax-pre-lttri 10211  ax-pre-lttrn 10212  ax-pre-ltadd 10213  ax-pre-mulgt0 10214 This theorem depends on definitions:  df-bi 197  df-an 383  df-or 827  df-3or 1071  df-3an 1072  df-tru 1633  df-ex 1852  df-nf 1857  df-sb 2049  df-eu 2621  df-mo 2622  df-clab 2757  df-cleq 2763  df-clel 2766  df-nfc 2901  df-ne 2943  df-nel 3046  df-ral 3065  df-rex 3066  df-reu 3067  df-rab 3069  df-v 3351  df-sbc 3586  df-csb 3681  df-dif 3724  df-un 3726  df-in 3728  df-ss 3735  df-pss 3737  df-nul 4062  df-if 4224  df-pw 4297  df-sn 4315  df-pr 4317  df-tp 4319  df-op 4321  df-uni 4573  df-int 4610  df-iun 4654  df-br 4785  df-opab 4845  df-mpt 4862  df-tr 4885  df-id 5157  df-eprel 5162  df-po 5170  df-so 5171  df-fr 5208  df-we 5210  df-xp 5255  df-rel 5256  df-cnv 5257  df-co 5258  df-dm 5259  df-rn 5260  df-res 5261  df-ima 5262  df-pred 5823  df-ord 5869  df-on 5870  df-lim 5871  df-suc 5872  df-iota 5994  df-fun 6033  df-fn 6034  df-f 6035  df-f1 6036  df-fo 6037  df-f1o 6038  df-fv 6039  df-riota 6753  df-ov 6795  df-oprab 6796  df-mpt2 6797  df-om 7212  df-1st 7314  df-2nd 7315  df-wrecs 7558  df-recs 7620  df-rdg 7658  df-1o 7712  df-oadd 7716  df-er 7895  df-map 8010  df-ixp 8062  df-en 8109  df-dom 8110  df-sdom 8111  df-fin 8112  df-pnf 10277  df-mnf 10278  df-xr 10279  df-ltxr 10280  df-le 10281  df-sub 10469  df-neg 10470  df-nn 11222  df-2 11280  df-3 11281  df-4 11282  df-5 11283  df-6 11284  df-7 11285  df-8 11286  df-9 11287  df-n0 11494  df-z 11579  df-dec 11695  df-uz 11888  df-fz 12533  df-struct 16065  df-ndx 16066  df-slot 16067  df-base 16069  df-hom 16173  df-cco 16174  df-cat 16535  df-func 16724  df-nat 16809  df-fuc 16810 This theorem is referenced by:  fuccatid  16835
 Copyright terms: Public domain W3C validator