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

Theorem fucass 17230
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 2819 . . . . 5 (Base‘𝐷) = (Base‘𝐷)
2 eqid 2819 . . . . 5 (Hom ‘𝐷) = (Hom ‘𝐷)
3 eqid 2819 . . . . 5 (comp‘𝐷) = (comp‘𝐷)
4 fucass.r . . . . . . . . . 10 (𝜑𝑅 ∈ (𝐹𝑁𝐺))
5 fucass.n . . . . . . . . . . 11 𝑁 = (𝐶 Nat 𝐷)
65natrcl 17212 . . . . . . . . . 10 (𝑅 ∈ (𝐹𝑁𝐺) → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)))
74, 6syl 17 . . . . . . . . 9 (𝜑 → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)))
87simpld 497 . . . . . . . 8 (𝜑𝐹 ∈ (𝐶 Func 𝐷))
9 funcrcl 17125 . . . . . . . 8 (𝐹 ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
108, 9syl 17 . . . . . . 7 (𝜑 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
1110simprd 498 . . . . . 6 (𝜑𝐷 ∈ Cat)
1211adantr 483 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝐷 ∈ Cat)
13 eqid 2819 . . . . . . 7 (Base‘𝐶) = (Base‘𝐶)
14 relfunc 17124 . . . . . . . 8 Rel (𝐶 Func 𝐷)
15 1st2ndbr 7733 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
1614, 8, 15sylancr 589 . . . . . . 7 (𝜑 → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
1713, 1, 16funcf1 17128 . . . . . 6 (𝜑 → (1st𝐹):(Base‘𝐶)⟶(Base‘𝐷))
1817ffvelrnda 6844 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐹)‘𝑥) ∈ (Base‘𝐷))
197simprd 498 . . . . . . . 8 (𝜑𝐺 ∈ (𝐶 Func 𝐷))
20 1st2ndbr 7733 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)) → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2114, 19, 20sylancr 589 . . . . . . 7 (𝜑 → (1st𝐺)(𝐶 Func 𝐷)(2nd𝐺))
2213, 1, 21funcf1 17128 . . . . . 6 (𝜑 → (1st𝐺):(Base‘𝐶)⟶(Base‘𝐷))
2322ffvelrnda 6844 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐺)‘𝑥) ∈ (Base‘𝐷))
24 fucass.t . . . . . . . . . 10 (𝜑𝑇 ∈ (𝐻𝑁𝐾))
255natrcl 17212 . . . . . . . . . 10 (𝑇 ∈ (𝐻𝑁𝐾) → (𝐻 ∈ (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)))
2624, 25syl 17 . . . . . . . . 9 (𝜑 → (𝐻 ∈ (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)))
2726simpld 497 . . . . . . . 8 (𝜑𝐻 ∈ (𝐶 Func 𝐷))
28 1st2ndbr 7733 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐻 ∈ (𝐶 Func 𝐷)) → (1st𝐻)(𝐶 Func 𝐷)(2nd𝐻))
2914, 27, 28sylancr 589 . . . . . . 7 (𝜑 → (1st𝐻)(𝐶 Func 𝐷)(2nd𝐻))
3013, 1, 29funcf1 17128 . . . . . 6 (𝜑 → (1st𝐻):(Base‘𝐶)⟶(Base‘𝐷))
3130ffvelrnda 6844 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐻)‘𝑥) ∈ (Base‘𝐷))
325, 4nat1st2nd 17213 . . . . . . 7 (𝜑𝑅 ∈ (⟨(1st𝐹), (2nd𝐹)⟩𝑁⟨(1st𝐺), (2nd𝐺)⟩))
3332adantr 483 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑅 ∈ (⟨(1st𝐹), (2nd𝐹)⟩𝑁⟨(1st𝐺), (2nd𝐺)⟩))
34 simpr 487 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
355, 33, 13, 2, 34natcl 17215 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑅𝑥) ∈ (((1st𝐹)‘𝑥)(Hom ‘𝐷)((1st𝐺)‘𝑥)))
36 fucass.s . . . . . . . 8 (𝜑𝑆 ∈ (𝐺𝑁𝐻))
375, 36nat1st2nd 17213 . . . . . . 7 (𝜑𝑆 ∈ (⟨(1st𝐺), (2nd𝐺)⟩𝑁⟨(1st𝐻), (2nd𝐻)⟩))
3837adantr 483 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑆 ∈ (⟨(1st𝐺), (2nd𝐺)⟩𝑁⟨(1st𝐻), (2nd𝐻)⟩))
395, 38, 13, 2, 34natcl 17215 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑆𝑥) ∈ (((1st𝐺)‘𝑥)(Hom ‘𝐷)((1st𝐻)‘𝑥)))
4026simprd 498 . . . . . . . 8 (𝜑𝐾 ∈ (𝐶 Func 𝐷))
41 1st2ndbr 7733 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)) → (1st𝐾)(𝐶 Func 𝐷)(2nd𝐾))
4214, 40, 41sylancr 589 . . . . . . 7 (𝜑 → (1st𝐾)(𝐶 Func 𝐷)(2nd𝐾))
4313, 1, 42funcf1 17128 . . . . . 6 (𝜑 → (1st𝐾):(Base‘𝐶)⟶(Base‘𝐷))
4443ffvelrnda 6844 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐾)‘𝑥) ∈ (Base‘𝐷))
455, 24nat1st2nd 17213 . . . . . . 7 (𝜑𝑇 ∈ (⟨(1st𝐻), (2nd𝐻)⟩𝑁⟨(1st𝐾), (2nd𝐾)⟩))
4645adantr 483 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → 𝑇 ∈ (⟨(1st𝐻), (2nd𝐻)⟩𝑁⟨(1st𝐾), (2nd𝐾)⟩))
475, 46, 13, 2, 34natcl 17215 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑇𝑥) ∈ (((1st𝐻)‘𝑥)(Hom ‘𝐷)((1st𝐾)‘𝑥)))
481, 2, 3, 12, 18, 23, 31, 35, 39, 44, 47catass 16949 . . . 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 17225 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥) = ((𝑇𝑥)(⟨((1st𝐺)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑆𝑥)))
5453oveq1d 7163 . . . 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 17225 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥) = ((𝑆𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐻)‘𝑥))(𝑅𝑥)))
5756oveq2d 7164 . . . 4 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥)) = ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐻)‘𝑥))(𝑅𝑥))))
5848, 54, 573eqtr4d 2864 . . 3 ((𝜑𝑥 ∈ (Base‘𝐶)) → (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥)) = ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥)))
5958mpteq2dva 5152 . 2 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥))) = (𝑥 ∈ (Base‘𝐶) ↦ ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥))))
6049, 5, 50, 36, 24fuccocl 17226 . . 3 (𝜑 → (𝑇(⟨𝐺, 𝐻 𝐾)𝑆) ∈ (𝐺𝑁𝐾))
6149, 5, 13, 3, 50, 4, 60fucco 17224 . 2 (𝜑 → ((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)(⟨𝐹, 𝐺 𝐾)𝑅) = (𝑥 ∈ (Base‘𝐶) ↦ (((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)‘𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐺)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))(𝑅𝑥))))
6249, 5, 50, 4, 36fuccocl 17226 . . 3 (𝜑 → (𝑆(⟨𝐹, 𝐺 𝐻)𝑅) ∈ (𝐹𝑁𝐻))
6349, 5, 13, 3, 50, 62, 24fucco 17224 . 2 (𝜑 → (𝑇(⟨𝐹, 𝐻 𝐾)(𝑆(⟨𝐹, 𝐺 𝐻)𝑅)) = (𝑥 ∈ (Base‘𝐶) ↦ ((𝑇𝑥)(⟨((1st𝐹)‘𝑥), ((1st𝐻)‘𝑥)⟩(comp‘𝐷)((1st𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺 𝐻)𝑅)‘𝑥))))
6459, 61, 633eqtr4d 2864 1 (𝜑 → ((𝑇(⟨𝐺, 𝐻 𝐾)𝑆)(⟨𝐹, 𝐺 𝐾)𝑅) = (𝑇(⟨𝐹, 𝐻 𝐾)(𝑆(⟨𝐹, 𝐺 𝐻)𝑅)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 398   = wceq 1531  wcel 2108  cop 4565   class class class wbr 5057  cmpt 5137  Rel wrel 5553  cfv 6348  (class class class)co 7148  1st c1st 7679  2nd c2nd 7680  Basecbs 16475  Hom chom 16568  compcco 16569  Catccat 16927   Func cfunc 17116   Nat cnat 17203   FuncCat cfuc 17204
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1790  ax-4 1804  ax-5 1905  ax-6 1964  ax-7 2009  ax-8 2110  ax-9 2118  ax-10 2139  ax-11 2154  ax-12 2170  ax-ext 2791  ax-rep 5181  ax-sep 5194  ax-nul 5201  ax-pow 5257  ax-pr 5320  ax-un 7453  ax-cnex 10585  ax-resscn 10586  ax-1cn 10587  ax-icn 10588  ax-addcl 10589  ax-addrcl 10590  ax-mulcl 10591  ax-mulrcl 10592  ax-mulcom 10593  ax-addass 10594  ax-mulass 10595  ax-distr 10596  ax-i2m1 10597  ax-1ne0 10598  ax-1rid 10599  ax-rnegex 10600  ax-rrecex 10601  ax-cnre 10602  ax-pre-lttri 10603  ax-pre-lttrn 10604  ax-pre-ltadd 10605  ax-pre-mulgt0 10606
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3or 1083  df-3an 1084  df-tru 1534  df-ex 1775  df-nf 1779  df-sb 2064  df-mo 2616  df-eu 2648  df-clab 2798  df-cleq 2812  df-clel 2891  df-nfc 2961  df-ne 3015  df-nel 3122  df-ral 3141  df-rex 3142  df-reu 3143  df-rab 3145  df-v 3495  df-sbc 3771  df-csb 3882  df-dif 3937  df-un 3939  df-in 3941  df-ss 3950  df-pss 3952  df-nul 4290  df-if 4466  df-pw 4539  df-sn 4560  df-pr 4562  df-tp 4564  df-op 4566  df-uni 4831  df-int 4868  df-iun 4912  df-br 5058  df-opab 5120  df-mpt 5138  df-tr 5164  df-id 5453  df-eprel 5458  df-po 5467  df-so 5468  df-fr 5507  df-we 5509  df-xp 5554  df-rel 5555  df-cnv 5556  df-co 5557  df-dm 5558  df-rn 5559  df-res 5560  df-ima 5561  df-pred 6141  df-ord 6187  df-on 6188  df-lim 6189  df-suc 6190  df-iota 6307  df-fun 6350  df-fn 6351  df-f 6352  df-f1 6353  df-fo 6354  df-f1o 6355  df-fv 6356  df-riota 7106  df-ov 7151  df-oprab 7152  df-mpo 7153  df-om 7573  df-1st 7681  df-2nd 7682  df-wrecs 7939  df-recs 8000  df-rdg 8038  df-1o 8094  df-oadd 8098  df-er 8281  df-map 8400  df-ixp 8454  df-en 8502  df-dom 8503  df-sdom 8504  df-fin 8505  df-pnf 10669  df-mnf 10670  df-xr 10671  df-ltxr 10672  df-le 10673  df-sub 10864  df-neg 10865  df-nn 11631  df-2 11692  df-3 11693  df-4 11694  df-5 11695  df-6 11696  df-7 11697  df-8 11698  df-9 11699  df-n0 11890  df-z 11974  df-dec 12091  df-uz 12236  df-fz 12885  df-struct 16477  df-ndx 16478  df-slot 16479  df-base 16481  df-hom 16581  df-cco 16582  df-cat 16931  df-func 17120  df-nat 17205  df-fuc 17206
This theorem is referenced by:  fuccatid  17231
  Copyright terms: Public domain W3C validator