Metamath Proof Explorer


Theorem funcres2b

Description: Condition for a functor to also be a functor into the restriction. (Contributed by Mario Carneiro, 6-Jan-2017)

Ref Expression
Hypotheses funcres2b.a A=BaseC
funcres2b.h H=HomC
funcres2b.r φRSubcatD
funcres2b.s φRFnS×S
funcres2b.1 φF:AS
funcres2b.2 φxAyAxGy:YFxRFy
Assertion funcres2b φFCFuncDGFCFuncDcatRG

Proof

Step Hyp Ref Expression
1 funcres2b.a A=BaseC
2 funcres2b.h H=HomC
3 funcres2b.r φRSubcatD
4 funcres2b.s φRFnS×S
5 funcres2b.1 φF:AS
6 funcres2b.2 φxAyAxGy:YFxRFy
7 df-br FCFuncDGFGCFuncD
8 funcrcl FGCFuncDCCatDCat
9 7 8 sylbi FCFuncDGCCatDCat
10 9 simpld FCFuncDGCCat
11 10 a1i φFCFuncDGCCat
12 df-br FCFuncDcatRGFGCFuncDcatR
13 funcrcl FGCFuncDcatRCCatDcatRCat
14 12 13 sylbi FCFuncDcatRGCCatDcatRCat
15 14 simpld FCFuncDcatRGCCat
16 15 a1i φFCFuncDcatRGCCat
17 eqid BaseD=BaseD
18 3 4 17 subcss1 φSBaseD
19 5 18 fssd φF:ABaseD
20 eqid DcatR=DcatR
21 subcrcl RSubcatDDCat
22 3 21 syl φDCat
23 20 17 22 4 18 rescbas φS=BaseDcatR
24 23 feq3d φF:ASF:ABaseDcatR
25 5 24 mpbid φF:ABaseDcatR
26 19 25 2thd φF:ABaseDF:ABaseDcatR
27 26 adantr φCCatF:ABaseDF:ABaseDcatR
28 6 adantlr φCCatxAyAxGy:YFxRFy
29 28 frnd φCCatxAyAranxGyFxRFy
30 3 ad2antrr φCCatxAyARSubcatD
31 4 ad2antrr φCCatxAyARFnS×S
32 eqid HomD=HomD
33 5 ad2antrr φCCatxAyAF:AS
34 simprl φCCatxAyAxA
35 33 34 ffvelcdmd φCCatxAyAFxS
36 simprr φCCatxAyAyA
37 33 36 ffvelcdmd φCCatxAyAFyS
38 30 31 32 35 37 subcss2 φCCatxAyAFxRFyFxHomDFy
39 29 38 sstrd φCCatxAyAranxGyFxHomDFy
40 39 29 2thd φCCatxAyAranxGyFxHomDFyranxGyFxRFy
41 40 anbi2d φCCatxAyAxGyFnxHyranxGyFxHomDFyxGyFnxHyranxGyFxRFy
42 df-f xGy:xHyFxHomDFyxGyFnxHyranxGyFxHomDFy
43 df-f xGy:xHyFxRFyxGyFnxHyranxGyFxRFy
44 41 42 43 3bitr4g φCCatxAyAxGy:xHyFxHomDFyxGy:xHyFxRFy
45 20 17 22 4 18 reschom φR=HomDcatR
46 45 ad2antrr φCCatxAyAR=HomDcatR
47 46 oveqd φCCatxAyAFxRFy=FxHomDcatRFy
48 47 feq3d φCCatxAyAxGy:xHyFxRFyxGy:xHyFxHomDcatRFy
49 44 48 bitrd φCCatxAyAxGy:xHyFxHomDFyxGy:xHyFxHomDcatRFy
50 49 ralrimivva φCCatxAyAxGy:xHyFxHomDFyxGy:xHyFxHomDcatRFy
51 fveq2 z=xyGz=Gxy
52 df-ov xGy=Gxy
53 51 52 eqtr4di z=xyGz=xGy
54 vex xV
55 vex yV
56 54 55 op1std z=xy1stz=x
57 56 fveq2d z=xyF1stz=Fx
58 54 55 op2ndd z=xy2ndz=y
59 58 fveq2d z=xyF2ndz=Fy
60 57 59 oveq12d z=xyF1stzHomDF2ndz=FxHomDFy
61 fveq2 z=xyHz=Hxy
62 df-ov xHy=Hxy
63 61 62 eqtr4di z=xyHz=xHy
64 60 63 oveq12d z=xyF1stzHomDF2ndzHz=FxHomDFyxHy
65 53 64 eleq12d z=xyGzF1stzHomDF2ndzHzxGyFxHomDFyxHy
66 ovex FxHomDFyV
67 ovex xHyV
68 66 67 elmap xGyFxHomDFyxHyxGy:xHyFxHomDFy
69 65 68 bitrdi z=xyGzF1stzHomDF2ndzHzxGy:xHyFxHomDFy
70 57 59 oveq12d z=xyF1stzHomDcatRF2ndz=FxHomDcatRFy
71 70 63 oveq12d z=xyF1stzHomDcatRF2ndzHz=FxHomDcatRFyxHy
72 53 71 eleq12d z=xyGzF1stzHomDcatRF2ndzHzxGyFxHomDcatRFyxHy
73 ovex FxHomDcatRFyV
74 73 67 elmap xGyFxHomDcatRFyxHyxGy:xHyFxHomDcatRFy
75 72 74 bitrdi z=xyGzF1stzHomDcatRF2ndzHzxGy:xHyFxHomDcatRFy
76 69 75 bibi12d z=xyGzF1stzHomDF2ndzHzGzF1stzHomDcatRF2ndzHzxGy:xHyFxHomDFyxGy:xHyFxHomDcatRFy
77 76 ralxp zA×AGzF1stzHomDF2ndzHzGzF1stzHomDcatRF2ndzHzxAyAxGy:xHyFxHomDFyxGy:xHyFxHomDcatRFy
78 50 77 sylibr φCCatzA×AGzF1stzHomDF2ndzHzGzF1stzHomDcatRF2ndzHz
79 ralbi zA×AGzF1stzHomDF2ndzHzGzF1stzHomDcatRF2ndzHzzA×AGzF1stzHomDF2ndzHzzA×AGzF1stzHomDcatRF2ndzHz
80 78 79 syl φCCatzA×AGzF1stzHomDF2ndzHzzA×AGzF1stzHomDcatRF2ndzHz
81 80 3anbi3d φCCatGVGFnA×AzA×AGzF1stzHomDF2ndzHzGVGFnA×AzA×AGzF1stzHomDcatRF2ndzHz
82 elixp2 GzA×AF1stzHomDF2ndzHzGVGFnA×AzA×AGzF1stzHomDF2ndzHz
83 elixp2 GzA×AF1stzHomDcatRF2ndzHzGVGFnA×AzA×AGzF1stzHomDcatRF2ndzHz
84 81 82 83 3bitr4g φCCatGzA×AF1stzHomDF2ndzHzGzA×AF1stzHomDcatRF2ndzHz
85 3 ad2antrr φCCatxARSubcatD
86 4 ad2antrr φCCatxARFnS×S
87 eqid IdD=IdD
88 5 adantr φCCatF:AS
89 88 ffvelcdmda φCCatxAFxS
90 20 85 86 87 89 subcid φCCatxAIdDFx=IdDcatRFx
91 90 eqeq2d φCCatxAxGxIdCx=IdDFxxGxIdCx=IdDcatRFx
92 eqid compD=compD
93 20 17 22 4 18 92 rescco φcompD=compDcatR
94 93 ad2antrr φCCatxAcompD=compDcatR
95 94 oveqd φCCatxAFxFycompDFz=FxFycompDcatRFz
96 95 oveqd φCCatxAyGzgFxFycompDFzxGyf=yGzgFxFycompDcatRFzxGyf
97 96 eqeq2d φCCatxAxGzgxycompCzf=yGzgFxFycompDFzxGyfxGzgxycompCzf=yGzgFxFycompDcatRFzxGyf
98 97 2ralbidv φCCatxAfxHygyHzxGzgxycompCzf=yGzgFxFycompDFzxGyffxHygyHzxGzgxycompCzf=yGzgFxFycompDcatRFzxGyf
99 98 2ralbidv φCCatxAyAzAfxHygyHzxGzgxycompCzf=yGzgFxFycompDFzxGyfyAzAfxHygyHzxGzgxycompCzf=yGzgFxFycompDcatRFzxGyf
100 91 99 anbi12d φCCatxAxGxIdCx=IdDFxyAzAfxHygyHzxGzgxycompCzf=yGzgFxFycompDFzxGyfxGxIdCx=IdDcatRFxyAzAfxHygyHzxGzgxycompCzf=yGzgFxFycompDcatRFzxGyf
101 100 ralbidva φCCatxAxGxIdCx=IdDFxyAzAfxHygyHzxGzgxycompCzf=yGzgFxFycompDFzxGyfxAxGxIdCx=IdDcatRFxyAzAfxHygyHzxGzgxycompCzf=yGzgFxFycompDcatRFzxGyf
102 27 84 101 3anbi123d φCCatF:ABaseDGzA×AF1stzHomDF2ndzHzxAxGxIdCx=IdDFxyAzAfxHygyHzxGzgxycompCzf=yGzgFxFycompDFzxGyfF:ABaseDcatRGzA×AF1stzHomDcatRF2ndzHzxAxGxIdCx=IdDcatRFxyAzAfxHygyHzxGzgxycompCzf=yGzgFxFycompDcatRFzxGyf
103 eqid IdC=IdC
104 eqid compC=compC
105 simpr φCCatCCat
106 22 adantr φCCatDCat
107 1 17 2 32 103 87 104 92 105 106 isfunc φCCatFCFuncDGF:ABaseDGzA×AF1stzHomDF2ndzHzxAxGxIdCx=IdDFxyAzAfxHygyHzxGzgxycompCzf=yGzgFxFycompDFzxGyf
108 eqid BaseDcatR=BaseDcatR
109 eqid HomDcatR=HomDcatR
110 eqid IdDcatR=IdDcatR
111 eqid compDcatR=compDcatR
112 20 3 subccat φDcatRCat
113 112 adantr φCCatDcatRCat
114 1 108 2 109 103 110 104 111 105 113 isfunc φCCatFCFuncDcatRGF:ABaseDcatRGzA×AF1stzHomDcatRF2ndzHzxAxGxIdCx=IdDcatRFxyAzAfxHygyHzxGzgxycompCzf=yGzgFxFycompDcatRFzxGyf
115 102 107 114 3bitr4d φCCatFCFuncDGFCFuncDcatRG
116 115 ex φCCatFCFuncDGFCFuncDcatRG
117 11 16 116 pm5.21ndd φFCFuncDGFCFuncDcatRG