Metamath Proof Explorer


Theorem fucass

Description: Associativity of natural transformation composition. Remark 6.14(b) in Adamek p. 87. (Contributed by Mario Carneiro, 6-Jan-2017)

Ref Expression
Hypotheses fucass.q Q=CFuncCatD
fucass.n N=CNatD
fucass.x ˙=compQ
fucass.r φRFNG
fucass.s φSGNH
fucass.t φTHNK
Assertion fucass φTGH˙KSFG˙KR=TFH˙KSFG˙HR

Proof

Step Hyp Ref Expression
1 fucass.q Q=CFuncCatD
2 fucass.n N=CNatD
3 fucass.x ˙=compQ
4 fucass.r φRFNG
5 fucass.s φSGNH
6 fucass.t φTHNK
7 eqid BaseD=BaseD
8 eqid HomD=HomD
9 eqid compD=compD
10 2 natrcl RFNGFCFuncDGCFuncD
11 4 10 syl φFCFuncDGCFuncD
12 11 simpld φFCFuncD
13 funcrcl FCFuncDCCatDCat
14 12 13 syl φCCatDCat
15 14 simprd φDCat
16 15 adantr φxBaseCDCat
17 eqid BaseC=BaseC
18 relfunc RelCFuncD
19 1st2ndbr RelCFuncDFCFuncD1stFCFuncD2ndF
20 18 12 19 sylancr φ1stFCFuncD2ndF
21 17 7 20 funcf1 φ1stF:BaseCBaseD
22 21 ffvelcdmda φxBaseC1stFxBaseD
23 11 simprd φGCFuncD
24 1st2ndbr RelCFuncDGCFuncD1stGCFuncD2ndG
25 18 23 24 sylancr φ1stGCFuncD2ndG
26 17 7 25 funcf1 φ1stG:BaseCBaseD
27 26 ffvelcdmda φxBaseC1stGxBaseD
28 2 natrcl THNKHCFuncDKCFuncD
29 6 28 syl φHCFuncDKCFuncD
30 29 simpld φHCFuncD
31 1st2ndbr RelCFuncDHCFuncD1stHCFuncD2ndH
32 18 30 31 sylancr φ1stHCFuncD2ndH
33 17 7 32 funcf1 φ1stH:BaseCBaseD
34 33 ffvelcdmda φxBaseC1stHxBaseD
35 2 4 nat1st2nd φR1stF2ndFN1stG2ndG
36 35 adantr φxBaseCR1stF2ndFN1stG2ndG
37 simpr φxBaseCxBaseC
38 2 36 17 8 37 natcl φxBaseCRx1stFxHomD1stGx
39 2 5 nat1st2nd φS1stG2ndGN1stH2ndH
40 39 adantr φxBaseCS1stG2ndGN1stH2ndH
41 2 40 17 8 37 natcl φxBaseCSx1stGxHomD1stHx
42 29 simprd φKCFuncD
43 1st2ndbr RelCFuncDKCFuncD1stKCFuncD2ndK
44 18 42 43 sylancr φ1stKCFuncD2ndK
45 17 7 44 funcf1 φ1stK:BaseCBaseD
46 45 ffvelcdmda φxBaseC1stKxBaseD
47 2 6 nat1st2nd φT1stH2ndHN1stK2ndK
48 47 adantr φxBaseCT1stH2ndHN1stK2ndK
49 2 48 17 8 37 natcl φxBaseCTx1stHxHomD1stKx
50 7 8 9 16 22 27 34 38 41 46 49 catass φxBaseCTx1stGx1stHxcompD1stKxSx1stFx1stGxcompD1stKxRx=Tx1stFx1stHxcompD1stKxSx1stFx1stGxcompD1stHxRx
51 5 adantr φxBaseCSGNH
52 6 adantr φxBaseCTHNK
53 1 2 17 9 3 51 52 37 fuccoval φxBaseCTGH˙KSx=Tx1stGx1stHxcompD1stKxSx
54 53 oveq1d φxBaseCTGH˙KSx1stFx1stGxcompD1stKxRx=Tx1stGx1stHxcompD1stKxSx1stFx1stGxcompD1stKxRx
55 4 adantr φxBaseCRFNG
56 1 2 17 9 3 55 51 37 fuccoval φxBaseCSFG˙HRx=Sx1stFx1stGxcompD1stHxRx
57 56 oveq2d φxBaseCTx1stFx1stHxcompD1stKxSFG˙HRx=Tx1stFx1stHxcompD1stKxSx1stFx1stGxcompD1stHxRx
58 50 54 57 3eqtr4d φxBaseCTGH˙KSx1stFx1stGxcompD1stKxRx=Tx1stFx1stHxcompD1stKxSFG˙HRx
59 58 mpteq2dva φxBaseCTGH˙KSx1stFx1stGxcompD1stKxRx=xBaseCTx1stFx1stHxcompD1stKxSFG˙HRx
60 1 2 3 5 6 fuccocl φTGH˙KSGNK
61 1 2 17 9 3 4 60 fucco φTGH˙KSFG˙KR=xBaseCTGH˙KSx1stFx1stGxcompD1stKxRx
62 1 2 3 4 5 fuccocl φSFG˙HRFNH
63 1 2 17 9 3 62 6 fucco φTFH˙KSFG˙HR=xBaseCTx1stFx1stHxcompD1stKxSFG˙HRx
64 59 61 63 3eqtr4d φTGH˙KSFG˙KR=TFH˙KSFG˙HR