Metamath Proof Explorer


Theorem cofull

Description: The composition of two full functors is full. Proposition 3.30(d) in Adamek p. 35. (Contributed by Mario Carneiro, 28-Jan-2017)

Ref Expression
Hypotheses cofull.f φFCFullD
cofull.g φGDFullE
Assertion cofull φGfuncFCFullE

Proof

Step Hyp Ref Expression
1 cofull.f φFCFullD
2 cofull.g φGDFullE
3 relfunc RelCFuncE
4 fullfunc CFullDCFuncD
5 4 1 sselid φFCFuncD
6 fullfunc DFullEDFuncE
7 6 2 sselid φGDFuncE
8 5 7 cofucl φGfuncFCFuncE
9 1st2nd RelCFuncEGfuncFCFuncEGfuncF=1stGfuncF2ndGfuncF
10 3 8 9 sylancr φGfuncF=1stGfuncF2ndGfuncF
11 1st2ndbr RelCFuncEGfuncFCFuncE1stGfuncFCFuncE2ndGfuncF
12 3 8 11 sylancr φ1stGfuncFCFuncE2ndGfuncF
13 eqid BaseD=BaseD
14 eqid HomE=HomE
15 eqid HomD=HomD
16 relfull RelDFullE
17 2 adantr φxBaseCyBaseCGDFullE
18 1st2ndbr RelDFullEGDFullE1stGDFullE2ndG
19 16 17 18 sylancr φxBaseCyBaseC1stGDFullE2ndG
20 eqid BaseC=BaseC
21 relfunc RelCFuncD
22 5 adantr φxBaseCyBaseCFCFuncD
23 1st2ndbr RelCFuncDFCFuncD1stFCFuncD2ndF
24 21 22 23 sylancr φxBaseCyBaseC1stFCFuncD2ndF
25 20 13 24 funcf1 φxBaseCyBaseC1stF:BaseCBaseD
26 simprl φxBaseCyBaseCxBaseC
27 25 26 ffvelcdmd φxBaseCyBaseC1stFxBaseD
28 simprr φxBaseCyBaseCyBaseC
29 25 28 ffvelcdmd φxBaseCyBaseC1stFyBaseD
30 13 14 15 19 27 29 fullfo φxBaseCyBaseC1stFx2ndG1stFy:1stFxHomD1stFyonto1stG1stFxHomE1stG1stFy
31 eqid HomC=HomC
32 relfull RelCFullD
33 1 adantr φxBaseCyBaseCFCFullD
34 1st2ndbr RelCFullDFCFullD1stFCFullD2ndF
35 32 33 34 sylancr φxBaseCyBaseC1stFCFullD2ndF
36 20 15 31 35 26 28 fullfo φxBaseCyBaseCx2ndFy:xHomCyonto1stFxHomD1stFy
37 foco 1stFx2ndG1stFy:1stFxHomD1stFyonto1stG1stFxHomE1stG1stFyx2ndFy:xHomCyonto1stFxHomD1stFy1stFx2ndG1stFyx2ndFy:xHomCyonto1stG1stFxHomE1stG1stFy
38 30 36 37 syl2anc φxBaseCyBaseC1stFx2ndG1stFyx2ndFy:xHomCyonto1stG1stFxHomE1stG1stFy
39 7 adantr φxBaseCyBaseCGDFuncE
40 20 22 39 26 28 cofu2nd φxBaseCyBaseCx2ndGfuncFy=1stFx2ndG1stFyx2ndFy
41 eqidd φxBaseCyBaseCxHomCy=xHomCy
42 20 22 39 26 cofu1 φxBaseCyBaseC1stGfuncFx=1stG1stFx
43 20 22 39 28 cofu1 φxBaseCyBaseC1stGfuncFy=1stG1stFy
44 42 43 oveq12d φxBaseCyBaseC1stGfuncFxHomE1stGfuncFy=1stG1stFxHomE1stG1stFy
45 40 41 44 foeq123d φxBaseCyBaseCx2ndGfuncFy:xHomCyonto1stGfuncFxHomE1stGfuncFy1stFx2ndG1stFyx2ndFy:xHomCyonto1stG1stFxHomE1stG1stFy
46 38 45 mpbird φxBaseCyBaseCx2ndGfuncFy:xHomCyonto1stGfuncFxHomE1stGfuncFy
47 46 ralrimivva φxBaseCyBaseCx2ndGfuncFy:xHomCyonto1stGfuncFxHomE1stGfuncFy
48 20 14 31 isfull2 1stGfuncFCFullE2ndGfuncF1stGfuncFCFuncE2ndGfuncFxBaseCyBaseCx2ndGfuncFy:xHomCyonto1stGfuncFxHomE1stGfuncFy
49 12 47 48 sylanbrc φ1stGfuncFCFullE2ndGfuncF
50 df-br 1stGfuncFCFullE2ndGfuncF1stGfuncF2ndGfuncFCFullE
51 49 50 sylib φ1stGfuncF2ndGfuncFCFullE
52 10 51 eqeltrd φGfuncFCFullE