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

Theorem fucass 18172
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 2763 . . . . 5 (Base‘𝐷) = (Base‘𝐷)
2 eqid 2763 . . . . 5 (Hom ‘𝐷) = (Hom ‘𝐷)
3 eqid 2763 . . . . 5 (comp‘𝐷) = (comp‘𝐷)
4 fucass.r . . . . . . . . . 10 (𝜑 → 𝑅 ∈ (𝐹𝑁𝐺))
5 fucass.n . . . . . . . . . . 11 𝑁 = (𝐶 Nat 𝐷)
65natrcl 18154 . . . . . . . . . 10 (𝑅 ∈ (𝐹𝑁𝐺) → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)))
74, 6syl 18 . . . . . . . . 9 (𝜑 → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)))
87simpld 500 . . . . . . . 8 (𝜑 → 𝐹 ∈ (𝐶 Func 𝐷))
9 funcrcl 18064 . . . . . . . 8 (𝐹 ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
108, 9syl 18 . . . . . . 7 (𝜑 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat))
1110simprd 501 . . . . . 6 (𝜑 → 𝐷 ∈ Cat)
1211adantr 486 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → 𝐷 ∈ Cat)
13 eqid 2763 . . . . . . 7 (Base‘𝐶) = (Base‘𝐶)
14 relfunc 18063 . . . . . . . 8 Rel (𝐶 Func 𝐷)
15 1st2ndbr 8074 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st ‘𝐹)(𝐶 Func 𝐷)(2nd ‘𝐹))
1614, 8, 15sylancr 599 . . . . . . 7 (𝜑 → (1st ‘𝐹)(𝐶 Func 𝐷)(2nd ‘𝐹))
1713, 1, 16funcf1 18067 . . . . . 6 (𝜑 → (1st ‘𝐹):(Base‘𝐶)⟶(Base‘𝐷))
1817ffvelcdmda 7105 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((1st ‘𝐹)‘𝑥) ∈ (Base‘𝐷))
197simprd 501 . . . . . . . 8 (𝜑 → 𝐺 ∈ (𝐶 Func 𝐷))
20 1st2ndbr 8074 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)) → (1st ‘𝐺)(𝐶 Func 𝐷)(2nd ‘𝐺))
2114, 19, 20sylancr 599 . . . . . . 7 (𝜑 → (1st ‘𝐺)(𝐶 Func 𝐷)(2nd ‘𝐺))
2213, 1, 21funcf1 18067 . . . . . 6 (𝜑 → (1st ‘𝐺):(Base‘𝐶)⟶(Base‘𝐷))
2322ffvelcdmda 7105 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((1st ‘𝐺)‘𝑥) ∈ (Base‘𝐷))
24 fucass.t . . . . . . . . . 10 (𝜑 → 𝑇 ∈ (𝐻𝑁𝐾))
255natrcl 18154 . . . . . . . . . 10 (𝑇 ∈ (𝐻𝑁𝐾) → (𝐻 ∈ (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)))
2624, 25syl 18 . . . . . . . . 9 (𝜑 → (𝐻 ∈ (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)))
2726simpld 500 . . . . . . . 8 (𝜑 → 𝐻 ∈ (𝐶 Func 𝐷))
28 1st2ndbr 8074 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐻 ∈ (𝐶 Func 𝐷)) → (1st ‘𝐻)(𝐶 Func 𝐷)(2nd ‘𝐻))
2914, 27, 28sylancr 599 . . . . . . 7 (𝜑 → (1st ‘𝐻)(𝐶 Func 𝐷)(2nd ‘𝐻))
3013, 1, 29funcf1 18067 . . . . . 6 (𝜑 → (1st ‘𝐻):(Base‘𝐶)⟶(Base‘𝐷))
3130ffvelcdmda 7105 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((1st ‘𝐻)‘𝑥) ∈ (Base‘𝐷))
325, 4nat1st2nd 18155 . . . . . . 7 (𝜑 → 𝑅 ∈ (⟨(1st ‘𝐹), (2nd ‘𝐹)⟩𝑁⟨(1st ‘𝐺), (2nd ‘𝐺)⟩))
3332adantr 486 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → 𝑅 ∈ (⟨(1st ‘𝐹), (2nd ‘𝐹)⟩𝑁⟨(1st ‘𝐺), (2nd ‘𝐺)⟩))
34 simpr 490 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
355, 33, 13, 2, 34natcl 18157 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑅‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)(Hom ‘𝐷)((1st ‘𝐺)‘𝑥)))
36 fucass.s . . . . . . . 8 (𝜑 → 𝑆 ∈ (𝐺𝑁𝐻))
375, 36nat1st2nd 18155 . . . . . . 7 (𝜑 → 𝑆 ∈ (⟨(1st ‘𝐺), (2nd ‘𝐺)⟩𝑁⟨(1st ‘𝐻), (2nd ‘𝐻)⟩))
3837adantr 486 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → 𝑆 ∈ (⟨(1st ‘𝐺), (2nd ‘𝐺)⟩𝑁⟨(1st ‘𝐻), (2nd ‘𝐻)⟩))
395, 38, 13, 2, 34natcl 18157 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑆‘𝑥) ∈ (((1st ‘𝐺)‘𝑥)(Hom ‘𝐷)((1st ‘𝐻)‘𝑥)))
4026simprd 501 . . . . . . . 8 (𝜑 → 𝐾 ∈ (𝐶 Func 𝐷))
41 1st2ndbr 8074 . . . . . . . 8 ((Rel (𝐶 Func 𝐷) ∧ 𝐾 ∈ (𝐶 Func 𝐷)) → (1st ‘𝐾)(𝐶 Func 𝐷)(2nd ‘𝐾))
4214, 40, 41sylancr 599 . . . . . . 7 (𝜑 → (1st ‘𝐾)(𝐶 Func 𝐷)(2nd ‘𝐾))
4313, 1, 42funcf1 18067 . . . . . 6 (𝜑 → (1st ‘𝐾):(Base‘𝐶)⟶(Base‘𝐷))
4443ffvelcdmda 7105 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((1st ‘𝐾)‘𝑥) ∈ (Base‘𝐷))
455, 24nat1st2nd 18155 . . . . . . 7 (𝜑 → 𝑇 ∈ (⟨(1st ‘𝐻), (2nd ‘𝐻)⟩𝑁⟨(1st ‘𝐾), (2nd ‘𝐾)⟩))
4645adantr 486 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → 𝑇 ∈ (⟨(1st ‘𝐻), (2nd ‘𝐻)⟩𝑁⟨(1st ‘𝐾), (2nd ‘𝐾)⟩))
475, 46, 13, 2, 34natcl 18157 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑇‘𝑥) ∈ (((1st ‘𝐻)‘𝑥)(Hom ‘𝐷)((1st ‘𝐾)‘𝑥)))
481, 2, 3, 12, 18, 23, 31, 35, 39, 44, 47catass 17886 . . . 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 486 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → 𝑆 ∈ (𝐺𝑁𝐻))
5224adantr 486 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → 𝑇 ∈ (𝐻𝑁𝐾))
5349, 5, 13, 3, 50, 51, 52, 34fuccoval 18167 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((𝑇(⟨𝐺, 𝐻⟩ ∙ 𝐾)𝑆)‘𝑥) = ((𝑇‘𝑥)(⟨((1st ‘𝐺)‘𝑥), ((1st ‘𝐻)‘𝑥)⟩(comp‘𝐷)((1st ‘𝐾)‘𝑥))(𝑆‘𝑥)))
5453oveq1d 7455 . . . 4 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (((𝑇(⟨𝐺, 𝐻⟩ ∙ 𝐾)𝑆)‘𝑥)(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)⟩(comp‘𝐷)((1st ‘𝐾)‘𝑥))(𝑅‘𝑥)) = (((𝑇‘𝑥)(⟨((1st ‘𝐺)‘𝑥), ((1st ‘𝐻)‘𝑥)⟩(comp‘𝐷)((1st ‘𝐾)‘𝑥))(𝑆‘𝑥))(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)⟩(comp‘𝐷)((1st ‘𝐾)‘𝑥))(𝑅‘𝑥)))
554adantr 486 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → 𝑅 ∈ (𝐹𝑁𝐺))
5649, 5, 13, 3, 50, 55, 51, 34fuccoval 18167 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((𝑆(⟨𝐹, 𝐺⟩ ∙ 𝐻)𝑅)‘𝑥) = ((𝑆‘𝑥)(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)⟩(comp‘𝐷)((1st ‘𝐻)‘𝑥))(𝑅‘𝑥)))
5756oveq2d 7456 . . . 4 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((𝑇‘𝑥)(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐻)‘𝑥)⟩(comp‘𝐷)((1st ‘𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺⟩ ∙ 𝐻)𝑅)‘𝑥)) = ((𝑇‘𝑥)(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐻)‘𝑥)⟩(comp‘𝐷)((1st ‘𝐾)‘𝑥))((𝑆‘𝑥)(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)⟩(comp‘𝐷)((1st ‘𝐻)‘𝑥))(𝑅‘𝑥))))
5848, 54, 573eqtr4d 2808 . . 3 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (((𝑇(⟨𝐺, 𝐻⟩ ∙ 𝐾)𝑆)‘𝑥)(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)⟩(comp‘𝐷)((1st ‘𝐾)‘𝑥))(𝑅‘𝑥)) = ((𝑇‘𝑥)(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐻)‘𝑥)⟩(comp‘𝐷)((1st ‘𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺⟩ ∙ 𝐻)𝑅)‘𝑥)))
5958mpteq2dva 5201 . 2 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ (((𝑇(⟨𝐺, 𝐻⟩ ∙ 𝐾)𝑆)‘𝑥)(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)⟩(comp‘𝐷)((1st ‘𝐾)‘𝑥))(𝑅‘𝑥))) = (𝑥 ∈ (Base‘𝐶) ↦ ((𝑇‘𝑥)(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐻)‘𝑥)⟩(comp‘𝐷)((1st ‘𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺⟩ ∙ 𝐻)𝑅)‘𝑥))))
6049, 5, 50, 36, 24fuccocl 18168 . . 3 (𝜑 → (𝑇(⟨𝐺, 𝐻⟩ ∙ 𝐾)𝑆) ∈ (𝐺𝑁𝐾))
6149, 5, 13, 3, 50, 4, 60fucco 18166 . 2 (𝜑 → ((𝑇(⟨𝐺, 𝐻⟩ ∙ 𝐾)𝑆)(⟨𝐹, 𝐺⟩ ∙ 𝐾)𝑅) = (𝑥 ∈ (Base‘𝐶) ↦ (((𝑇(⟨𝐺, 𝐻⟩ ∙ 𝐾)𝑆)‘𝑥)(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)⟩(comp‘𝐷)((1st ‘𝐾)‘𝑥))(𝑅‘𝑥))))
6249, 5, 50, 4, 36fuccocl 18168 . . 3 (𝜑 → (𝑆(⟨𝐹, 𝐺⟩ ∙ 𝐻)𝑅) ∈ (𝐹𝑁𝐻))
6349, 5, 13, 3, 50, 62, 24fucco 18166 . 2 (𝜑 → (𝑇(⟨𝐹, 𝐻⟩ ∙ 𝐾)(𝑆(⟨𝐹, 𝐺⟩ ∙ 𝐻)𝑅)) = (𝑥 ∈ (Base‘𝐶) ↦ ((𝑇‘𝑥)(⟨((1st ‘𝐹)‘𝑥), ((1st ‘𝐻)‘𝑥)⟩(comp‘𝐷)((1st ‘𝐾)‘𝑥))((𝑆(⟨𝐹, 𝐺⟩ ∙ 𝐻)𝑅)‘𝑥))))
6459, 61, 633eqtr4d 2808 1 (𝜑 → ((𝑇(⟨𝐺, 𝐻⟩ ∙ 𝐾)𝑆)(⟨𝐹, 𝐺⟩ ∙ 𝐾)𝑅) = (𝑇(⟨𝐹, 𝐻⟩ ∙ 𝐾)(𝑆(⟨𝐹, 𝐺⟩ ∙ 𝐻)𝑅)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   = wceq 1570   ∈ wcel 2147  ⟨cop 4838   class class class wbr 5106   ↦ cmpt 5189  Rel wrel 5660  ‘cfv 6555  (class class class)co 7440  1st c1st 8020  2nd c2nd 8021  Basecbs 17413  Hom chom 17465  compcco 17466  Catccat 17864   Func cfunc 18055   Nat cnat 18145   FuncCat cfuc 18146
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-rep 5235  ax-sep 5252  ax-nul 5263  ax-pow 5331  ax-pr 5395  ax-un 7772  ax-cnex 11280  ax-resscn 11281  ax-1cn 11282  ax-icn 11283  ax-addcl 11284  ax-addrcl 11285  ax-mulcl 11286  ax-mulrcl 11287  ax-mulcom 11288  ax-addass 11289  ax-mulass 11290  ax-distr 11291  ax-i2m1 11292  ax-1ne0 11293  ax-1rid 11294  ax-rnegex 11295  ax-rrecex 11296  ax-cnre 11297  ax-pre-lttri 11298  ax-pre-lttrn 11299  ax-pre-ltadd 11300  ax-pre-mulgt0 11301
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-nel 3066  df-ral 3081  df-rex 3091  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-tp 4593  df-op 4839  df-uni 4871  df-iun 4956  df-br 5107  df-opab 5171  df-mpt 5190  df-tr 5216  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-we 5610  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-pred 6319  df-ord 6380  df-on 6381  df-lim 6382  df-suc 6383  df-iota 6509  df-fun 6557  df-fn 6558  df-f 6559  df-f1 6560  df-fo 6561  df-f1o 6562  df-fv 6563  df-riota 7397  df-ov 7443  df-oprab 7444  df-mpo 7445  df-om 7899  df-1st 8022  df-2nd 8023  df-frecs 8324  df-wrecs 8355  df-recs 8404  df-rdg 8443  df-1o 8501  df-er 8742  df-map 8874  df-ixp 8951  df-en 8999  df-dom 9000  df-sdom 9001  df-fin 9002  df-pnf 11369  df-mnf 11370  df-xr 11371  df-ltxr 11372  df-le 11373  df-sub 11567  df-neg 11568  df-nn 12360  df-2 12429  df-3 12430  df-4 12431  df-5 12432  df-6 12433  df-7 12434  df-8 12435  df-9 12436  df-n0 12631  df-z 12718  df-dec 12839  df-uz 12990  df-fz 13664  df-struct 17351  df-slot 17386  df-ndx 17398  df-base 17414  df-hom 17478  df-cco 17479  df-cat 17868  df-func 18059  df-nat 18147  df-fuc 18148
This theorem is used by:  fuccatid  18173
  Copyright terms: Public domain W3C validator