Metamath Proof Explorer


Theorem cofulid

Description: The identity functor is a left identity for composition. (Contributed by Mario Carneiro, 3-Jan-2017)

Ref Expression
Hypotheses cofulid.g φFCFuncD
cofulid.1 I=idfuncD
Assertion cofulid φIfuncF=F

Proof

Step Hyp Ref Expression
1 cofulid.g φFCFuncD
2 cofulid.1 I=idfuncD
3 eqid BaseD=BaseD
4 funcrcl FCFuncDCCatDCat
5 1 4 syl φCCatDCat
6 5 simprd φDCat
7 2 3 6 idfu1st φ1stI=IBaseD
8 7 coeq1d φ1stI1stF=IBaseD1stF
9 eqid BaseC=BaseC
10 relfunc RelCFuncD
11 1st2ndbr RelCFuncDFCFuncD1stFCFuncD2ndF
12 10 1 11 sylancr φ1stFCFuncD2ndF
13 9 3 12 funcf1 φ1stF:BaseCBaseD
14 fcoi2 1stF:BaseCBaseDIBaseD1stF=1stF
15 13 14 syl φIBaseD1stF=1stF
16 8 15 eqtrd φ1stI1stF=1stF
17 6 3ad2ant1 φxBaseCyBaseCDCat
18 eqid HomD=HomD
19 13 ffvelcdmda φxBaseC1stFxBaseD
20 19 3adant3 φxBaseCyBaseC1stFxBaseD
21 13 ffvelcdmda φyBaseC1stFyBaseD
22 21 3adant2 φxBaseCyBaseC1stFyBaseD
23 2 3 17 18 20 22 idfu2nd φxBaseCyBaseC1stFx2ndI1stFy=I1stFxHomD1stFy
24 23 coeq1d φxBaseCyBaseC1stFx2ndI1stFyx2ndFy=I1stFxHomD1stFyx2ndFy
25 eqid HomC=HomC
26 12 3ad2ant1 φxBaseCyBaseC1stFCFuncD2ndF
27 simp2 φxBaseCyBaseCxBaseC
28 simp3 φxBaseCyBaseCyBaseC
29 9 25 18 26 27 28 funcf2 φxBaseCyBaseCx2ndFy:xHomCy1stFxHomD1stFy
30 fcoi2 x2ndFy:xHomCy1stFxHomD1stFyI1stFxHomD1stFyx2ndFy=x2ndFy
31 29 30 syl φxBaseCyBaseCI1stFxHomD1stFyx2ndFy=x2ndFy
32 24 31 eqtrd φxBaseCyBaseC1stFx2ndI1stFyx2ndFy=x2ndFy
33 32 mpoeq3dva φxBaseC,yBaseC1stFx2ndI1stFyx2ndFy=xBaseC,yBaseCx2ndFy
34 9 12 funcfn2 φ2ndFFnBaseC×BaseC
35 fnov 2ndFFnBaseC×BaseC2ndF=xBaseC,yBaseCx2ndFy
36 34 35 sylib φ2ndF=xBaseC,yBaseCx2ndFy
37 33 36 eqtr4d φxBaseC,yBaseC1stFx2ndI1stFyx2ndFy=2ndF
38 16 37 opeq12d φ1stI1stFxBaseC,yBaseC1stFx2ndI1stFyx2ndFy=1stF2ndF
39 2 idfucl DCatIDFuncD
40 6 39 syl φIDFuncD
41 9 1 40 cofuval φIfuncF=1stI1stFxBaseC,yBaseC1stFx2ndI1stFyx2ndFy
42 1st2nd RelCFuncDFCFuncDF=1stF2ndF
43 10 1 42 sylancr φF=1stF2ndF
44 38 41 43 3eqtr4d φIfuncF=F