Metamath Proof Explorer


Theorem curf1cl

Description: The partially evaluated curry functor is a functor. (Contributed by Mario Carneiro, 13-Jan-2017)

Ref Expression
Hypotheses curfval.g G = C D curry F F
curfval.a A = Base C
curfval.c φ C Cat
curfval.d φ D Cat
curfval.f φ F C × c D Func E
curfval.b B = Base D
curf1.x φ X A
curf1.k K = 1 st G X
Assertion curf1cl φ K D Func E

Proof

Step Hyp Ref Expression
1 curfval.g G = C D curry F F
2 curfval.a A = Base C
3 curfval.c φ C Cat
4 curfval.d φ D Cat
5 curfval.f φ F C × c D Func E
6 curfval.b B = Base D
7 curf1.x φ X A
8 curf1.k K = 1 st G X
9 eqid Hom D = Hom D
10 eqid Id C = Id C
11 1 2 3 4 5 6 7 8 9 10 curf1 φ K = y B X 1 st F y y B , z B g y Hom D z Id C X X y 2 nd F X z g
12 6 fvexi B V
13 12 mptex y B X 1 st F y V
14 12 12 mpoex y B , z B g y Hom D z Id C X X y 2 nd F X z g V
15 13 14 op1std K = y B X 1 st F y y B , z B g y Hom D z Id C X X y 2 nd F X z g 1 st K = y B X 1 st F y
16 11 15 syl φ 1 st K = y B X 1 st F y
17 13 14 op2ndd K = y B X 1 st F y y B , z B g y Hom D z Id C X X y 2 nd F X z g 2 nd K = y B , z B g y Hom D z Id C X X y 2 nd F X z g
18 11 17 syl φ 2 nd K = y B , z B g y Hom D z Id C X X y 2 nd F X z g
19 16 18 opeq12d φ 1 st K 2 nd K = y B X 1 st F y y B , z B g y Hom D z Id C X X y 2 nd F X z g
20 11 19 eqtr4d φ K = 1 st K 2 nd K
21 eqid Base E = Base E
22 eqid Hom E = Hom E
23 eqid Id D = Id D
24 eqid Id E = Id E
25 eqid comp D = comp D
26 eqid comp E = comp E
27 funcrcl F C × c D Func E C × c D Cat E Cat
28 5 27 syl φ C × c D Cat E Cat
29 28 simprd φ E Cat
30 eqid C × c D = C × c D
31 30 2 6 xpcbas A × B = Base C × c D
32 relfunc Rel C × c D Func E
33 1st2ndbr Rel C × c D Func E F C × c D Func E 1 st F C × c D Func E 2 nd F
34 32 5 33 sylancr φ 1 st F C × c D Func E 2 nd F
35 31 21 34 funcf1 φ 1 st F : A × B Base E
36 35 adantr φ y B 1 st F : A × B Base E
37 7 adantr φ y B X A
38 simpr φ y B y B
39 36 37 38 fovrnd φ y B X 1 st F y Base E
40 16 39 fmpt3d φ 1 st K : B Base E
41 eqid y B , z B g y Hom D z Id C X X y 2 nd F X z g = y B , z B g y Hom D z Id C X X y 2 nd F X z g
42 ovex y Hom D z V
43 42 mptex g y Hom D z Id C X X y 2 nd F X z g V
44 41 43 fnmpoi y B , z B g y Hom D z Id C X X y 2 nd F X z g Fn B × B
45 18 fneq1d φ 2 nd K Fn B × B y B , z B g y Hom D z Id C X X y 2 nd F X z g Fn B × B
46 44 45 mpbiri φ 2 nd K Fn B × B
47 18 oveqd φ y 2 nd K z = y y B , z B g y Hom D z Id C X X y 2 nd F X z g z
48 41 ovmpt4g y B z B g y Hom D z Id C X X y 2 nd F X z g V y y B , z B g y Hom D z Id C X X y 2 nd F X z g z = g y Hom D z Id C X X y 2 nd F X z g
49 43 48 mp3an3 y B z B y y B , z B g y Hom D z Id C X X y 2 nd F X z g z = g y Hom D z Id C X X y 2 nd F X z g
50 47 49 sylan9eq φ y B z B y 2 nd K z = g y Hom D z Id C X X y 2 nd F X z g
51 eqid Hom C × c D = Hom C × c D
52 34 ad2antrr φ y B z B g y Hom D z 1 st F C × c D Func E 2 nd F
53 7 ad2antrr φ y B z B g y Hom D z X A
54 simplrl φ y B z B g y Hom D z y B
55 53 54 opelxpd φ y B z B g y Hom D z X y A × B
56 simplrr φ y B z B g y Hom D z z B
57 53 56 opelxpd φ y B z B g y Hom D z X z A × B
58 31 51 22 52 55 57 funcf2 φ y B z B g y Hom D z X y 2 nd F X z : X y Hom C × c D X z 1 st F X y Hom E 1 st F X z
59 eqid Hom C = Hom C
60 30 31 59 9 51 55 57 xpchom φ y B z B g y Hom D z X y Hom C × c D X z = 1 st X y Hom C 1 st X z × 2 nd X y Hom D 2 nd X z
61 3 ad2antrr φ y B z B g y Hom D z C Cat
62 4 ad2antrr φ y B z B g y Hom D z D Cat
63 5 ad2antrr φ y B z B g y Hom D z F C × c D Func E
64 1 2 61 62 63 6 53 8 54 curf11 φ y B z B g y Hom D z 1 st K y = X 1 st F y
65 df-ov X 1 st F y = 1 st F X y
66 64 65 eqtr2di φ y B z B g y Hom D z 1 st F X y = 1 st K y
67 1 2 61 62 63 6 53 8 56 curf11 φ y B z B g y Hom D z 1 st K z = X 1 st F z
68 df-ov X 1 st F z = 1 st F X z
69 67 68 eqtr2di φ y B z B g y Hom D z 1 st F X z = 1 st K z
70 66 69 oveq12d φ y B z B g y Hom D z 1 st F X y Hom E 1 st F X z = 1 st K y Hom E 1 st K z
71 60 70 feq23d φ y B z B g y Hom D z X y 2 nd F X z : X y Hom C × c D X z 1 st F X y Hom E 1 st F X z X y 2 nd F X z : 1 st X y Hom C 1 st X z × 2 nd X y Hom D 2 nd X z 1 st K y Hom E 1 st K z
72 58 71 mpbid φ y B z B g y Hom D z X y 2 nd F X z : 1 st X y Hom C 1 st X z × 2 nd X y Hom D 2 nd X z 1 st K y Hom E 1 st K z
73 2 59 10 61 53 catidcl φ y B z B g y Hom D z Id C X X Hom C X
74 op1stg X A y B 1 st X y = X
75 53 54 74 syl2anc φ y B z B g y Hom D z 1 st X y = X
76 op1stg X A z B 1 st X z = X
77 53 56 76 syl2anc φ y B z B g y Hom D z 1 st X z = X
78 75 77 oveq12d φ y B z B g y Hom D z 1 st X y Hom C 1 st X z = X Hom C X
79 73 78 eleqtrrd φ y B z B g y Hom D z Id C X 1 st X y Hom C 1 st X z
80 simpr φ y B z B g y Hom D z g y Hom D z
81 op2ndg X A y B 2 nd X y = y
82 53 54 81 syl2anc φ y B z B g y Hom D z 2 nd X y = y
83 op2ndg X A z B 2 nd X z = z
84 53 56 83 syl2anc φ y B z B g y Hom D z 2 nd X z = z
85 82 84 oveq12d φ y B z B g y Hom D z 2 nd X y Hom D 2 nd X z = y Hom D z
86 80 85 eleqtrrd φ y B z B g y Hom D z g 2 nd X y Hom D 2 nd X z
87 72 79 86 fovrnd φ y B z B g y Hom D z Id C X X y 2 nd F X z g 1 st K y Hom E 1 st K z
88 50 87 fmpt3d φ y B z B y 2 nd K z : y Hom D z 1 st K y Hom E 1 st K z
89 3 adantr φ y B C Cat
90 4 adantr φ y B D Cat
91 eqid Id C × c D = Id C × c D
92 30 89 90 2 6 10 23 91 37 38 xpcid φ y B Id C × c D X y = Id C X Id D y
93 92 fveq2d φ y B X y 2 nd F X y Id C × c D X y = X y 2 nd F X y Id C X Id D y
94 df-ov Id C X X y 2 nd F X y Id D y = X y 2 nd F X y Id C X Id D y
95 93 94 eqtr4di φ y B X y 2 nd F X y Id C × c D X y = Id C X X y 2 nd F X y Id D y
96 34 adantr φ y B 1 st F C × c D Func E 2 nd F
97 opelxpi X A y B X y A × B
98 7 97 sylan φ y B X y A × B
99 31 91 24 96 98 funcid φ y B X y 2 nd F X y Id C × c D X y = Id E 1 st F X y
100 95 99 eqtr3d φ y B Id C X X y 2 nd F X y Id D y = Id E 1 st F X y
101 5 adantr φ y B F C × c D Func E
102 6 9 23 90 38 catidcl φ y B Id D y y Hom D y
103 1 2 89 90 101 6 37 8 38 9 10 38 102 curf12 φ y B y 2 nd K y Id D y = Id C X X y 2 nd F X y Id D y
104 1 2 89 90 101 6 37 8 38 curf11 φ y B 1 st K y = X 1 st F y
105 104 65 eqtrdi φ y B 1 st K y = 1 st F X y
106 105 fveq2d φ y B Id E 1 st K y = Id E 1 st F X y
107 100 103 106 3eqtr4d φ y B y 2 nd K y Id D y = Id E 1 st K y
108 7 3ad2ant1 φ y B z B w B g y Hom D z h z Hom D w X A
109 simp21 φ y B z B w B g y Hom D z h z Hom D w y B
110 simp22 φ y B z B w B g y Hom D z h z Hom D w z B
111 eqid comp C = comp C
112 eqid comp C × c D = comp C × c D
113 simp23 φ y B z B w B g y Hom D z h z Hom D w w B
114 3 3ad2ant1 φ y B z B w B g y Hom D z h z Hom D w C Cat
115 2 59 10 114 108 catidcl φ y B z B w B g y Hom D z h z Hom D w Id C X X Hom C X
116 simp3l φ y B z B w B g y Hom D z h z Hom D w g y Hom D z
117 simp3r φ y B z B w B g y Hom D z h z Hom D w h z Hom D w
118 30 2 6 59 9 108 109 108 110 111 25 112 108 113 115 116 115 117 xpcco2 φ y B z B w B g y Hom D z h z Hom D w Id C X h X y X z comp C × c D X w Id C X g = Id C X X X comp C X Id C X h y z comp D w g
119 2 59 10 114 108 111 108 115 catlid φ y B z B w B g y Hom D z h z Hom D w Id C X X X comp C X Id C X = Id C X
120 119 opeq1d φ y B z B w B g y Hom D z h z Hom D w Id C X X X comp C X Id C X h y z comp D w g = Id C X h y z comp D w g
121 118 120 eqtrd φ y B z B w B g y Hom D z h z Hom D w Id C X h X y X z comp C × c D X w Id C X g = Id C X h y z comp D w g
122 121 fveq2d φ y B z B w B g y Hom D z h z Hom D w X y 2 nd F X w Id C X h X y X z comp C × c D X w Id C X g = X y 2 nd F X w Id C X h y z comp D w g
123 df-ov Id C X X y 2 nd F X w h y z comp D w g = X y 2 nd F X w Id C X h y z comp D w g
124 122 123 eqtr4di φ y B z B w B g y Hom D z h z Hom D w X y 2 nd F X w Id C X h X y X z comp C × c D X w Id C X g = Id C X X y 2 nd F X w h y z comp D w g
125 34 3ad2ant1 φ y B z B w B g y Hom D z h z Hom D w 1 st F C × c D Func E 2 nd F
126 108 109 opelxpd φ y B z B w B g y Hom D z h z Hom D w X y A × B
127 108 110 opelxpd φ y B z B w B g y Hom D z h z Hom D w X z A × B
128 108 113 opelxpd φ y B z B w B g y Hom D z h z Hom D w X w A × B
129 115 116 opelxpd φ y B z B w B g y Hom D z h z Hom D w Id C X g X Hom C X × y Hom D z
130 30 2 6 59 9 108 109 108 110 51 xpchom2 φ y B z B w B g y Hom D z h z Hom D w X y Hom C × c D X z = X Hom C X × y Hom D z
131 129 130 eleqtrrd φ y B z B w B g y Hom D z h z Hom D w Id C X g X y Hom C × c D X z
132 115 117 opelxpd φ y B z B w B g y Hom D z h z Hom D w Id C X h X Hom C X × z Hom D w
133 30 2 6 59 9 108 110 108 113 51 xpchom2 φ y B z B w B g y Hom D z h z Hom D w X z Hom C × c D X w = X Hom C X × z Hom D w
134 132 133 eleqtrrd φ y B z B w B g y Hom D z h z Hom D w Id C X h X z Hom C × c D X w
135 31 51 112 26 125 126 127 128 131 134 funcco φ y B z B w B g y Hom D z h z Hom D w X y 2 nd F X w Id C X h X y X z comp C × c D X w Id C X g = X z 2 nd F X w Id C X h 1 st F X y 1 st F X z comp E 1 st F X w X y 2 nd F X z Id C X g
136 124 135 eqtr3d φ y B z B w B g y Hom D z h z Hom D w Id C X X y 2 nd F X w h y z comp D w g = X z 2 nd F X w Id C X h 1 st F X y 1 st F X z comp E 1 st F X w X y 2 nd F X z Id C X g
137 4 3ad2ant1 φ y B z B w B g y Hom D z h z Hom D w D Cat
138 5 3ad2ant1 φ y B z B w B g y Hom D z h z Hom D w F C × c D Func E
139 6 9 25 137 109 110 113 116 117 catcocl φ y B z B w B g y Hom D z h z Hom D w h y z comp D w g y Hom D w
140 1 2 114 137 138 6 108 8 109 9 10 113 139 curf12 φ y B z B w B g y Hom D z h z Hom D w y 2 nd K w h y z comp D w g = Id C X X y 2 nd F X w h y z comp D w g
141 1 2 114 137 138 6 108 8 109 curf11 φ y B z B w B g y Hom D z h z Hom D w 1 st K y = X 1 st F y
142 141 65 eqtrdi φ y B z B w B g y Hom D z h z Hom D w 1 st K y = 1 st F X y
143 1 2 114 137 138 6 108 8 110 curf11 φ y B z B w B g y Hom D z h z Hom D w 1 st K z = X 1 st F z
144 143 68 eqtrdi φ y B z B w B g y Hom D z h z Hom D w 1 st K z = 1 st F X z
145 142 144 opeq12d φ y B z B w B g y Hom D z h z Hom D w 1 st K y 1 st K z = 1 st F X y 1 st F X z
146 1 2 114 137 138 6 108 8 113 curf11 φ y B z B w B g y Hom D z h z Hom D w 1 st K w = X 1 st F w
147 df-ov X 1 st F w = 1 st F X w
148 146 147 eqtrdi φ y B z B w B g y Hom D z h z Hom D w 1 st K w = 1 st F X w
149 145 148 oveq12d φ y B z B w B g y Hom D z h z Hom D w 1 st K y 1 st K z comp E 1 st K w = 1 st F X y 1 st F X z comp E 1 st F X w
150 1 2 114 137 138 6 108 8 110 9 10 113 117 curf12 φ y B z B w B g y Hom D z h z Hom D w z 2 nd K w h = Id C X X z 2 nd F X w h
151 df-ov Id C X X z 2 nd F X w h = X z 2 nd F X w Id C X h
152 150 151 eqtrdi φ y B z B w B g y Hom D z h z Hom D w z 2 nd K w h = X z 2 nd F X w Id C X h
153 1 2 114 137 138 6 108 8 109 9 10 110 116 curf12 φ y B z B w B g y Hom D z h z Hom D w y 2 nd K z g = Id C X X y 2 nd F X z g
154 df-ov Id C X X y 2 nd F X z g = X y 2 nd F X z Id C X g
155 153 154 eqtrdi φ y B z B w B g y Hom D z h z Hom D w y 2 nd K z g = X y 2 nd F X z Id C X g
156 149 152 155 oveq123d φ y B z B w B g y Hom D z h z Hom D w z 2 nd K w h 1 st K y 1 st K z comp E 1 st K w y 2 nd K z g = X z 2 nd F X w Id C X h 1 st F X y 1 st F X z comp E 1 st F X w X y 2 nd F X z Id C X g
157 136 140 156 3eqtr4d φ y B z B w B g y Hom D z h z Hom D w y 2 nd K w h y z comp D w g = z 2 nd K w h 1 st K y 1 st K z comp E 1 st K w y 2 nd K z g
158 6 21 9 22 23 24 25 26 4 29 40 46 88 107 157 isfuncd φ 1 st K D Func E 2 nd K
159 df-br 1 st K D Func E 2 nd K 1 st K 2 nd K D Func E
160 158 159 sylib φ 1 st K 2 nd K D Func E
161 20 160 eqeltrd φ K D Func E