Metamath Proof Explorer


Theorem fuccocl

Description: The composition of two natural transformations is a natural transformation. Remark 6.14(a) in Adamek p. 87. (Contributed by Mario Carneiro, 6-Jan-2017)

Ref Expression
Hypotheses fuccocl.q Q=CFuncCatD
fuccocl.n N=CNatD
fuccocl.x ˙=compQ
fuccocl.r φRFNG
fuccocl.s φSGNH
Assertion fuccocl φSFG˙HRFNH

Proof

Step Hyp Ref Expression
1 fuccocl.q Q=CFuncCatD
2 fuccocl.n N=CNatD
3 fuccocl.x ˙=compQ
4 fuccocl.r φRFNG
5 fuccocl.s φSGNH
6 eqid BaseC=BaseC
7 eqid compD=compD
8 1 2 6 7 3 4 5 fucco φSFG˙HR=xBaseCSx1stFx1stGxcompD1stHxRx
9 eqid BaseD=BaseD
10 eqid HomD=HomD
11 2 natrcl RFNGFCFuncDGCFuncD
12 4 11 syl φFCFuncDGCFuncD
13 12 simpld φFCFuncD
14 funcrcl FCFuncDCCatDCat
15 13 14 syl φCCatDCat
16 15 simprd φDCat
17 16 adantr φxBaseCDCat
18 relfunc RelCFuncD
19 1st2ndbr RelCFuncDFCFuncD1stFCFuncD2ndF
20 18 13 19 sylancr φ1stFCFuncD2ndF
21 6 9 20 funcf1 φ1stF:BaseCBaseD
22 21 ffvelcdmda φxBaseC1stFxBaseD
23 2 natrcl SGNHGCFuncDHCFuncD
24 5 23 syl φGCFuncDHCFuncD
25 24 simpld φGCFuncD
26 1st2ndbr RelCFuncDGCFuncD1stGCFuncD2ndG
27 18 25 26 sylancr φ1stGCFuncD2ndG
28 6 9 27 funcf1 φ1stG:BaseCBaseD
29 28 ffvelcdmda φxBaseC1stGxBaseD
30 24 simprd φHCFuncD
31 1st2ndbr RelCFuncDHCFuncD1stHCFuncD2ndH
32 18 30 31 sylancr φ1stHCFuncD2ndH
33 6 9 32 funcf1 φ1stH:BaseCBaseD
34 33 ffvelcdmda φxBaseC1stHxBaseD
35 2 4 nat1st2nd φR1stF2ndFN1stG2ndG
36 35 adantr φxBaseCR1stF2ndFN1stG2ndG
37 simpr φxBaseCxBaseC
38 2 36 6 10 37 natcl φxBaseCRx1stFxHomD1stGx
39 2 5 nat1st2nd φS1stG2ndGN1stH2ndH
40 39 adantr φxBaseCS1stG2ndGN1stH2ndH
41 2 40 6 10 37 natcl φxBaseCSx1stGxHomD1stHx
42 9 10 7 17 22 29 34 38 41 catcocl φxBaseCSx1stFx1stGxcompD1stHxRx1stFxHomD1stHx
43 42 ralrimiva φxBaseCSx1stFx1stGxcompD1stHxRx1stFxHomD1stHx
44 fvex BaseCV
45 mptelixpg BaseCVxBaseCSx1stFx1stGxcompD1stHxRxxBaseC1stFxHomD1stHxxBaseCSx1stFx1stGxcompD1stHxRx1stFxHomD1stHx
46 44 45 ax-mp xBaseCSx1stFx1stGxcompD1stHxRxxBaseC1stFxHomD1stHxxBaseCSx1stFx1stGxcompD1stHxRx1stFxHomD1stHx
47 43 46 sylibr φxBaseCSx1stFx1stGxcompD1stHxRxxBaseC1stFxHomD1stHx
48 8 47 eqeltrd φSFG˙HRxBaseC1stFxHomD1stHx
49 16 adantr φxBaseCyBaseCfxHomCyDCat
50 21 adantr φxBaseCyBaseCfxHomCy1stF:BaseCBaseD
51 simpr1 φxBaseCyBaseCfxHomCyxBaseC
52 50 51 ffvelcdmd φxBaseCyBaseCfxHomCy1stFxBaseD
53 simpr2 φxBaseCyBaseCfxHomCyyBaseC
54 50 53 ffvelcdmd φxBaseCyBaseCfxHomCy1stFyBaseD
55 28 adantr φxBaseCyBaseCfxHomCy1stG:BaseCBaseD
56 55 53 ffvelcdmd φxBaseCyBaseCfxHomCy1stGyBaseD
57 eqid HomC=HomC
58 20 adantr φxBaseCyBaseCfxHomCy1stFCFuncD2ndF
59 6 57 10 58 51 53 funcf2 φxBaseCyBaseCfxHomCyx2ndFy:xHomCy1stFxHomD1stFy
60 simpr3 φxBaseCyBaseCfxHomCyfxHomCy
61 59 60 ffvelcdmd φxBaseCyBaseCfxHomCyx2ndFyf1stFxHomD1stFy
62 35 adantr φxBaseCyBaseCfxHomCyR1stF2ndFN1stG2ndG
63 2 62 6 10 53 natcl φxBaseCyBaseCfxHomCyRy1stFyHomD1stGy
64 33 adantr φxBaseCyBaseCfxHomCy1stH:BaseCBaseD
65 64 53 ffvelcdmd φxBaseCyBaseCfxHomCy1stHyBaseD
66 39 adantr φxBaseCyBaseCfxHomCyS1stG2ndGN1stH2ndH
67 2 66 6 10 53 natcl φxBaseCyBaseCfxHomCySy1stGyHomD1stHy
68 9 10 7 49 52 54 56 61 63 65 67 catass φxBaseCyBaseCfxHomCySy1stFy1stGycompD1stHyRy1stFx1stFycompD1stHyx2ndFyf=Sy1stFx1stGycompD1stHyRy1stFx1stFycompD1stGyx2ndFyf
69 2 62 6 57 7 51 53 60 nati φxBaseCyBaseCfxHomCyRy1stFx1stFycompD1stGyx2ndFyf=x2ndGyf1stFx1stGxcompD1stGyRx
70 69 oveq2d φxBaseCyBaseCfxHomCySy1stFx1stGycompD1stHyRy1stFx1stFycompD1stGyx2ndFyf=Sy1stFx1stGycompD1stHyx2ndGyf1stFx1stGxcompD1stGyRx
71 55 51 ffvelcdmd φxBaseCyBaseCfxHomCy1stGxBaseD
72 2 62 6 10 51 natcl φxBaseCyBaseCfxHomCyRx1stFxHomD1stGx
73 27 adantr φxBaseCyBaseCfxHomCy1stGCFuncD2ndG
74 6 57 10 73 51 53 funcf2 φxBaseCyBaseCfxHomCyx2ndGy:xHomCy1stGxHomD1stGy
75 74 60 ffvelcdmd φxBaseCyBaseCfxHomCyx2ndGyf1stGxHomD1stGy
76 9 10 7 49 52 71 56 72 75 65 67 catass φxBaseCyBaseCfxHomCySy1stGx1stGycompD1stHyx2ndGyf1stFx1stGxcompD1stHyRx=Sy1stFx1stGycompD1stHyx2ndGyf1stFx1stGxcompD1stGyRx
77 2 66 6 57 7 51 53 60 nati φxBaseCyBaseCfxHomCySy1stGx1stGycompD1stHyx2ndGyf=x2ndHyf1stGx1stHxcompD1stHySx
78 77 oveq1d φxBaseCyBaseCfxHomCySy1stGx1stGycompD1stHyx2ndGyf1stFx1stGxcompD1stHyRx=x2ndHyf1stGx1stHxcompD1stHySx1stFx1stGxcompD1stHyRx
79 70 76 78 3eqtr2d φxBaseCyBaseCfxHomCySy1stFx1stGycompD1stHyRy1stFx1stFycompD1stGyx2ndFyf=x2ndHyf1stGx1stHxcompD1stHySx1stFx1stGxcompD1stHyRx
80 64 51 ffvelcdmd φxBaseCyBaseCfxHomCy1stHxBaseD
81 2 66 6 10 51 natcl φxBaseCyBaseCfxHomCySx1stGxHomD1stHx
82 32 adantr φxBaseCyBaseCfxHomCy1stHCFuncD2ndH
83 6 57 10 82 51 53 funcf2 φxBaseCyBaseCfxHomCyx2ndHy:xHomCy1stHxHomD1stHy
84 83 60 ffvelcdmd φxBaseCyBaseCfxHomCyx2ndHyf1stHxHomD1stHy
85 9 10 7 49 52 71 80 72 81 65 84 catass φxBaseCyBaseCfxHomCyx2ndHyf1stGx1stHxcompD1stHySx1stFx1stGxcompD1stHyRx=x2ndHyf1stFx1stHxcompD1stHySx1stFx1stGxcompD1stHxRx
86 68 79 85 3eqtrd φxBaseCyBaseCfxHomCySy1stFy1stGycompD1stHyRy1stFx1stFycompD1stHyx2ndFyf=x2ndHyf1stFx1stHxcompD1stHySx1stFx1stGxcompD1stHxRx
87 4 adantr φxBaseCyBaseCfxHomCyRFNG
88 5 adantr φxBaseCyBaseCfxHomCySGNH
89 1 2 6 7 3 87 88 53 fuccoval φxBaseCyBaseCfxHomCySFG˙HRy=Sy1stFy1stGycompD1stHyRy
90 89 oveq1d φxBaseCyBaseCfxHomCySFG˙HRy1stFx1stFycompD1stHyx2ndFyf=Sy1stFy1stGycompD1stHyRy1stFx1stFycompD1stHyx2ndFyf
91 1 2 6 7 3 87 88 51 fuccoval φxBaseCyBaseCfxHomCySFG˙HRx=Sx1stFx1stGxcompD1stHxRx
92 91 oveq2d φxBaseCyBaseCfxHomCyx2ndHyf1stFx1stHxcompD1stHySFG˙HRx=x2ndHyf1stFx1stHxcompD1stHySx1stFx1stGxcompD1stHxRx
93 86 90 92 3eqtr4d φxBaseCyBaseCfxHomCySFG˙HRy1stFx1stFycompD1stHyx2ndFyf=x2ndHyf1stFx1stHxcompD1stHySFG˙HRx
94 93 ralrimivvva φxBaseCyBaseCfxHomCySFG˙HRy1stFx1stFycompD1stHyx2ndFyf=x2ndHyf1stFx1stHxcompD1stHySFG˙HRx
95 2 6 57 10 7 13 30 isnat2 φSFG˙HRFNHSFG˙HRxBaseC1stFxHomD1stHxxBaseCyBaseCfxHomCySFG˙HRy1stFx1stFycompD1stHyx2ndFyf=x2ndHyf1stFx1stHxcompD1stHySFG˙HRx
96 48 94 95 mpbir2and φSFG˙HRFNH