Metamath Proof Explorer


Theorem funcres

Description: A functor restricted to a subcategory is a functor. (Contributed by Mario Carneiro, 6-Jan-2017)

Ref Expression
Hypotheses funcres.f φFCFuncD
funcres.h φHSubcatC
Assertion funcres φFfHCcatHFuncD

Proof

Step Hyp Ref Expression
1 funcres.f φFCFuncD
2 funcres.h φHSubcatC
3 1 2 resfval φFfH=1stFdomdomHzdomH2ndFzHz
4 3 fveq2d φ2ndFfH=2nd1stFdomdomHzdomH2ndFzHz
5 fvex 1stFV
6 5 resex 1stFdomdomHV
7 dmexg HSubcatCdomHV
8 mptexg domHVzdomH2ndFzHzV
9 2 7 8 3syl φzdomH2ndFzHzV
10 op2ndg 1stFdomdomHVzdomH2ndFzHzV2nd1stFdomdomHzdomH2ndFzHz=zdomH2ndFzHz
11 6 9 10 sylancr φ2nd1stFdomdomHzdomH2ndFzHz=zdomH2ndFzHz
12 4 11 eqtrd φ2ndFfH=zdomH2ndFzHz
13 12 opeq2d φ1stFdomdomH2ndFfH=1stFdomdomHzdomH2ndFzHz
14 3 13 eqtr4d φFfH=1stFdomdomH2ndFfH
15 eqid BaseCcatH=BaseCcatH
16 eqid BaseD=BaseD
17 eqid HomCcatH=HomCcatH
18 eqid HomD=HomD
19 eqid IdCcatH=IdCcatH
20 eqid IdD=IdD
21 eqid compCcatH=compCcatH
22 eqid compD=compD
23 eqid CcatH=CcatH
24 23 2 subccat φCcatHCat
25 funcrcl FCFuncDCCatDCat
26 1 25 syl φCCatDCat
27 26 simprd φDCat
28 eqid BaseC=BaseC
29 relfunc RelCFuncD
30 1st2ndbr RelCFuncDFCFuncD1stFCFuncD2ndF
31 29 1 30 sylancr φ1stFCFuncD2ndF
32 28 16 31 funcf1 φ1stF:BaseCBaseD
33 eqidd φdomdomH=domdomH
34 2 33 subcfn φHFndomdomH×domdomH
35 2 34 28 subcss1 φdomdomHBaseC
36 32 35 fssresd φ1stFdomdomH:domdomHBaseD
37 26 simpld φCCat
38 23 28 37 34 35 rescbas φdomdomH=BaseCcatH
39 38 feq2d φ1stFdomdomH:domdomHBaseD1stFdomdomH:BaseCcatHBaseD
40 36 39 mpbid φ1stFdomdomH:BaseCcatHBaseD
41 fvex 2ndFzV
42 41 resex 2ndFzHzV
43 eqid zdomH2ndFzHz=zdomH2ndFzHz
44 42 43 fnmpti zdomH2ndFzHzFndomH
45 12 eqcomd φzdomH2ndFzHz=2ndFfH
46 fndm HFndomdomH×domdomHdomH=domdomH×domdomH
47 34 46 syl φdomH=domdomH×domdomH
48 38 sqxpeqd φdomdomH×domdomH=BaseCcatH×BaseCcatH
49 47 48 eqtrd φdomH=BaseCcatH×BaseCcatH
50 45 49 fneq12d φzdomH2ndFzHzFndomH2ndFfHFnBaseCcatH×BaseCcatH
51 44 50 mpbii φ2ndFfHFnBaseCcatH×BaseCcatH
52 eqid HomC=HomC
53 31 adantr φxBaseCcatHyBaseCcatH1stFCFuncD2ndF
54 35 adantr φxBaseCcatHyBaseCcatHdomdomHBaseC
55 simprl φxBaseCcatHyBaseCcatHxBaseCcatH
56 38 adantr φxBaseCcatHyBaseCcatHdomdomH=BaseCcatH
57 55 56 eleqtrrd φxBaseCcatHyBaseCcatHxdomdomH
58 54 57 sseldd φxBaseCcatHyBaseCcatHxBaseC
59 simprr φxBaseCcatHyBaseCcatHyBaseCcatH
60 59 56 eleqtrrd φxBaseCcatHyBaseCcatHydomdomH
61 54 60 sseldd φxBaseCcatHyBaseCcatHyBaseC
62 28 52 18 53 58 61 funcf2 φxBaseCcatHyBaseCcatHx2ndFy:xHomCy1stFxHomD1stFy
63 2 adantr φxBaseCcatHyBaseCcatHHSubcatC
64 34 adantr φxBaseCcatHyBaseCcatHHFndomdomH×domdomH
65 63 64 52 57 60 subcss2 φxBaseCcatHyBaseCcatHxHyxHomCy
66 62 65 fssresd φxBaseCcatHyBaseCcatHx2ndFyxHy:xHy1stFxHomD1stFy
67 1 adantr φxBaseCcatHyBaseCcatHFCFuncD
68 67 63 64 57 60 resf2nd φxBaseCcatHyBaseCcatHx2ndFfHy=x2ndFyxHy
69 68 feq1d φxBaseCcatHyBaseCcatHx2ndFfHy:xHy1stFxHomD1stFyx2ndFyxHy:xHy1stFxHomD1stFy
70 66 69 mpbird φxBaseCcatHyBaseCcatHx2ndFfHy:xHy1stFxHomD1stFy
71 23 28 37 34 35 reschom φH=HomCcatH
72 71 adantr φxBaseCcatHyBaseCcatHH=HomCcatH
73 72 oveqd φxBaseCcatHyBaseCcatHxHy=xHomCcatHy
74 57 fvresd φxBaseCcatHyBaseCcatH1stFdomdomHx=1stFx
75 60 fvresd φxBaseCcatHyBaseCcatH1stFdomdomHy=1stFy
76 74 75 oveq12d φxBaseCcatHyBaseCcatH1stFdomdomHxHomD1stFdomdomHy=1stFxHomD1stFy
77 76 eqcomd φxBaseCcatHyBaseCcatH1stFxHomD1stFy=1stFdomdomHxHomD1stFdomdomHy
78 73 77 feq23d φxBaseCcatHyBaseCcatHx2ndFfHy:xHy1stFxHomD1stFyx2ndFfHy:xHomCcatHy1stFdomdomHxHomD1stFdomdomHy
79 70 78 mpbid φxBaseCcatHyBaseCcatHx2ndFfHy:xHomCcatHy1stFdomdomHxHomD1stFdomdomHy
80 1 adantr φxBaseCcatHFCFuncD
81 2 adantr φxBaseCcatHHSubcatC
82 34 adantr φxBaseCcatHHFndomdomH×domdomH
83 38 eleq2d φxdomdomHxBaseCcatH
84 83 biimpar φxBaseCcatHxdomdomH
85 80 81 82 84 84 resf2nd φxBaseCcatHx2ndFfHx=x2ndFxxHx
86 eqid IdC=IdC
87 23 81 82 86 84 subcid φxBaseCcatHIdCx=IdCcatHx
88 87 eqcomd φxBaseCcatHIdCcatHx=IdCx
89 85 88 fveq12d φxBaseCcatHx2ndFfHxIdCcatHx=x2ndFxxHxIdCx
90 31 adantr φxBaseCcatH1stFCFuncD2ndF
91 38 35 eqsstrrd φBaseCcatHBaseC
92 91 sselda φxBaseCcatHxBaseC
93 28 86 20 90 92 funcid φxBaseCcatHx2ndFxIdCx=IdD1stFx
94 81 82 84 86 subcidcl φxBaseCcatHIdCxxHx
95 94 fvresd φxBaseCcatHx2ndFxxHxIdCx=x2ndFxIdCx
96 84 fvresd φxBaseCcatH1stFdomdomHx=1stFx
97 96 fveq2d φxBaseCcatHIdD1stFdomdomHx=IdD1stFx
98 93 95 97 3eqtr4d φxBaseCcatHx2ndFxxHxIdCx=IdD1stFdomdomHx
99 89 98 eqtrd φxBaseCcatHx2ndFfHxIdCcatHx=IdD1stFdomdomHx
100 2 3ad2ant1 φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzHSubcatC
101 34 3ad2ant1 φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzHFndomdomH×domdomH
102 simp21 φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzxBaseCcatH
103 38 3ad2ant1 φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzdomdomH=BaseCcatH
104 102 103 eleqtrrd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzxdomdomH
105 eqid compC=compC
106 simp22 φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzyBaseCcatH
107 106 103 eleqtrrd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzydomdomH
108 simp23 φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzzBaseCcatH
109 108 103 eleqtrrd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzzdomdomH
110 simp3l φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzfxHomCcatHy
111 71 3ad2ant1 φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzH=HomCcatH
112 111 oveqd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzxHy=xHomCcatHy
113 110 112 eleqtrrd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzfxHy
114 simp3r φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzgyHomCcatHz
115 111 oveqd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzyHz=yHomCcatHz
116 114 115 eleqtrrd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzgyHz
117 100 101 104 105 107 109 113 116 subccocl φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzgxycompCzfxHz
118 117 fvresd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzx2ndFzxHzgxycompCzf=x2ndFzgxycompCzf
119 31 3ad2ant1 φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHz1stFCFuncD2ndF
120 35 3ad2ant1 φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzdomdomHBaseC
121 120 104 sseldd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzxBaseC
122 120 107 sseldd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzyBaseC
123 120 109 sseldd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzzBaseC
124 100 101 52 104 107 subcss2 φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzxHyxHomCy
125 124 113 sseldd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzfxHomCy
126 100 101 52 107 109 subcss2 φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzyHzyHomCz
127 126 116 sseldd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzgyHomCz
128 28 52 105 22 119 121 122 123 125 127 funcco φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzx2ndFzgxycompCzf=y2ndFzg1stFx1stFycompD1stFzx2ndFyf
129 118 128 eqtrd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzx2ndFzxHzgxycompCzf=y2ndFzg1stFx1stFycompD1stFzx2ndFyf
130 1 3ad2ant1 φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzFCFuncD
131 130 100 101 104 109 resf2nd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzx2ndFfHz=x2ndFzxHz
132 23 28 37 34 35 105 rescco φcompC=compCcatH
133 132 3ad2ant1 φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzcompC=compCcatH
134 133 eqcomd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzcompCcatH=compC
135 134 oveqd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzxycompCcatHz=xycompCz
136 135 oveqd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzgxycompCcatHzf=gxycompCzf
137 131 136 fveq12d φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzx2ndFfHzgxycompCcatHzf=x2ndFzxHzgxycompCzf
138 104 fvresd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHz1stFdomdomHx=1stFx
139 107 fvresd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHz1stFdomdomHy=1stFy
140 138 139 opeq12d φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHz1stFdomdomHx1stFdomdomHy=1stFx1stFy
141 109 fvresd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHz1stFdomdomHz=1stFz
142 140 141 oveq12d φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHz1stFdomdomHx1stFdomdomHycompD1stFdomdomHz=1stFx1stFycompD1stFz
143 130 100 101 107 109 resf2nd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzy2ndFfHz=y2ndFzyHz
144 143 fveq1d φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzy2ndFfHzg=y2ndFzyHzg
145 116 fvresd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzy2ndFzyHzg=y2ndFzg
146 144 145 eqtrd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzy2ndFfHzg=y2ndFzg
147 130 100 101 104 107 resf2nd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzx2ndFfHy=x2ndFyxHy
148 147 fveq1d φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzx2ndFfHyf=x2ndFyxHyf
149 113 fvresd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzx2ndFyxHyf=x2ndFyf
150 148 149 eqtrd φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzx2ndFfHyf=x2ndFyf
151 142 146 150 oveq123d φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzy2ndFfHzg1stFdomdomHx1stFdomdomHycompD1stFdomdomHzx2ndFfHyf=y2ndFzg1stFx1stFycompD1stFzx2ndFyf
152 129 137 151 3eqtr4d φxBaseCcatHyBaseCcatHzBaseCcatHfxHomCcatHygyHomCcatHzx2ndFfHzgxycompCcatHzf=y2ndFfHzg1stFdomdomHx1stFdomdomHycompD1stFdomdomHzx2ndFfHyf
153 15 16 17 18 19 20 21 22 24 27 40 51 79 99 152 isfuncd φ1stFdomdomHCcatHFuncD2ndFfH
154 df-br 1stFdomdomHCcatHFuncD2ndFfH1stFdomdomH2ndFfHCcatHFuncD
155 153 154 sylib φ1stFdomdomH2ndFfHCcatHFuncD
156 14 155 eqeltrd φFfHCcatHFuncD