Metamath Proof Explorer


Theorem curfuncf

Description: Cancellation of curry with uncurry. (Contributed by Mario Carneiro, 13-Jan-2017)

Ref Expression
Hypotheses uncfval.g F = ⟨“ CDE ”⟩ uncurry F G
uncfval.c φ D Cat
uncfval.d φ E Cat
uncfval.f φ G C Func D FuncCat E
Assertion curfuncf φ C D curry F F = G

Proof

Step Hyp Ref Expression
1 uncfval.g F = ⟨“ CDE ”⟩ uncurry F G
2 uncfval.c φ D Cat
3 uncfval.d φ E Cat
4 uncfval.f φ G C Func D FuncCat E
5 2 ad2antrr φ x Base C y Base D D Cat
6 3 ad2antrr φ x Base C y Base D E Cat
7 4 ad2antrr φ x Base C y Base D G C Func D FuncCat E
8 eqid Base C = Base C
9 eqid Base D = Base D
10 simplr φ x Base C y Base D x Base C
11 simpr φ x Base C y Base D y Base D
12 1 5 6 7 8 9 10 11 uncf1 φ x Base C y Base D x 1 st F y = 1 st 1 st G x y
13 12 mpteq2dva φ x Base C y Base D x 1 st F y = y Base D 1 st 1 st G x y
14 eqid Base E = Base E
15 relfunc Rel D Func E
16 eqid D FuncCat E = D FuncCat E
17 16 fucbas D Func E = Base D FuncCat E
18 relfunc Rel C Func D FuncCat E
19 1st2ndbr Rel C Func D FuncCat E G C Func D FuncCat E 1 st G C Func D FuncCat E 2 nd G
20 18 4 19 sylancr φ 1 st G C Func D FuncCat E 2 nd G
21 8 17 20 funcf1 φ 1 st G : Base C D Func E
22 21 ffvelrnda φ x Base C 1 st G x D Func E
23 1st2ndbr Rel D Func E 1 st G x D Func E 1 st 1 st G x D Func E 2 nd 1 st G x
24 15 22 23 sylancr φ x Base C 1 st 1 st G x D Func E 2 nd 1 st G x
25 9 14 24 funcf1 φ x Base C 1 st 1 st G x : Base D Base E
26 25 feqmptd φ x Base C 1 st 1 st G x = y Base D 1 st 1 st G x y
27 13 26 eqtr4d φ x Base C y Base D x 1 st F y = 1 st 1 st G x
28 2 ad3antrrr φ x Base C y Base D z Base D g y Hom D z D Cat
29 3 ad3antrrr φ x Base C y Base D z Base D g y Hom D z E Cat
30 4 ad3antrrr φ x Base C y Base D z Base D g y Hom D z G C Func D FuncCat E
31 simpllr φ x Base C y Base D z Base D g y Hom D z x Base C
32 simplrl φ x Base C y Base D z Base D g y Hom D z y Base D
33 eqid Hom C = Hom C
34 eqid Hom D = Hom D
35 simprr φ x Base C y Base D z Base D z Base D
36 35 adantr φ x Base C y Base D z Base D g y Hom D z z Base D
37 eqid Id C = Id C
38 funcrcl G C Func D FuncCat E C Cat D FuncCat E Cat
39 4 38 syl φ C Cat D FuncCat E Cat
40 39 simpld φ C Cat
41 40 ad3antrrr φ x Base C y Base D z Base D g y Hom D z C Cat
42 8 33 37 41 31 catidcl φ x Base C y Base D z Base D g y Hom D z Id C x x Hom C x
43 simpr φ x Base C y Base D z Base D g y Hom D z g y Hom D z
44 1 28 29 30 8 9 31 32 33 34 31 36 42 43 uncf2 φ x Base C y Base D z Base D g y Hom D z Id C x x y 2 nd F x z g = x 2 nd G x Id C x z 1 st 1 st G x y 1 st 1 st G x z comp E 1 st 1 st G x z y 2 nd 1 st G x z g
45 eqid Id D FuncCat E = Id D FuncCat E
46 20 ad3antrrr φ x Base C y Base D z Base D g y Hom D z 1 st G C Func D FuncCat E 2 nd G
47 8 37 45 46 31 funcid φ x Base C y Base D z Base D g y Hom D z x 2 nd G x Id C x = Id D FuncCat E 1 st G x
48 eqid Id E = Id E
49 22 ad2antrr φ x Base C y Base D z Base D g y Hom D z 1 st G x D Func E
50 16 45 48 49 fucid φ x Base C y Base D z Base D g y Hom D z Id D FuncCat E 1 st G x = Id E 1 st 1 st G x
51 47 50 eqtrd φ x Base C y Base D z Base D g y Hom D z x 2 nd G x Id C x = Id E 1 st 1 st G x
52 51 fveq1d φ x Base C y Base D z Base D g y Hom D z x 2 nd G x Id C x z = Id E 1 st 1 st G x z
53 25 ad2antrr φ x Base C y Base D z Base D g y Hom D z 1 st 1 st G x : Base D Base E
54 fvco3 1 st 1 st G x : Base D Base E z Base D Id E 1 st 1 st G x z = Id E 1 st 1 st G x z
55 53 36 54 syl2anc φ x Base C y Base D z Base D g y Hom D z Id E 1 st 1 st G x z = Id E 1 st 1 st G x z
56 52 55 eqtrd φ x Base C y Base D z Base D g y Hom D z x 2 nd G x Id C x z = Id E 1 st 1 st G x z
57 56 oveq1d φ x Base C y Base D z Base D g y Hom D z x 2 nd G x Id C x z 1 st 1 st G x y 1 st 1 st G x z comp E 1 st 1 st G x z y 2 nd 1 st G x z g = Id E 1 st 1 st G x z 1 st 1 st G x y 1 st 1 st G x z comp E 1 st 1 st G x z y 2 nd 1 st G x z g
58 eqid Hom E = Hom E
59 53 32 ffvelrnd φ x Base C y Base D z Base D g y Hom D z 1 st 1 st G x y Base E
60 eqid comp E = comp E
61 53 36 ffvelrnd φ x Base C y Base D z Base D g y Hom D z 1 st 1 st G x z Base E
62 24 adantr φ x Base C y Base D z Base D 1 st 1 st G x D Func E 2 nd 1 st G x
63 simprl φ x Base C y Base D z Base D y Base D
64 9 34 58 62 63 35 funcf2 φ x Base C y Base D z Base D y 2 nd 1 st G x z : y Hom D z 1 st 1 st G x y Hom E 1 st 1 st G x z
65 64 ffvelrnda φ x Base C y Base D z Base D g y Hom D z y 2 nd 1 st G x z g 1 st 1 st G x y Hom E 1 st 1 st G x z
66 14 58 48 29 59 60 61 65 catlid φ x Base C y Base D z Base D g y Hom D z Id E 1 st 1 st G x z 1 st 1 st G x y 1 st 1 st G x z comp E 1 st 1 st G x z y 2 nd 1 st G x z g = y 2 nd 1 st G x z g
67 44 57 66 3eqtrd φ x Base C y Base D z Base D g y Hom D z Id C x x y 2 nd F x z g = y 2 nd 1 st G x z g
68 67 mpteq2dva φ x Base C y Base D z Base D g y Hom D z Id C x x y 2 nd F x z g = g y Hom D z y 2 nd 1 st G x z g
69 64 feqmptd φ x Base C y Base D z Base D y 2 nd 1 st G x z = g y Hom D z y 2 nd 1 st G x z g
70 68 69 eqtr4d φ x Base C y Base D z Base D g y Hom D z Id C x x y 2 nd F x z g = y 2 nd 1 st G x z
71 70 3impb φ x Base C y Base D z Base D g y Hom D z Id C x x y 2 nd F x z g = y 2 nd 1 st G x z
72 71 mpoeq3dva φ x Base C y Base D , z Base D g y Hom D z Id C x x y 2 nd F x z g = y Base D , z Base D y 2 nd 1 st G x z
73 9 24 funcfn2 φ x Base C 2 nd 1 st G x Fn Base D × Base D
74 fnov 2 nd 1 st G x Fn Base D × Base D 2 nd 1 st G x = y Base D , z Base D y 2 nd 1 st G x z
75 73 74 sylib φ x Base C 2 nd 1 st G x = y Base D , z Base D y 2 nd 1 st G x z
76 72 75 eqtr4d φ x Base C y Base D , z Base D g y Hom D z Id C x x y 2 nd F x z g = 2 nd 1 st G x
77 27 76 opeq12d φ x Base C y Base D x 1 st F y y Base D , z Base D g y Hom D z Id C x x y 2 nd F x z g = 1 st 1 st G x 2 nd 1 st G x
78 1st2nd Rel D Func E 1 st G x D Func E 1 st G x = 1 st 1 st G x 2 nd 1 st G x
79 15 22 78 sylancr φ x Base C 1 st G x = 1 st 1 st G x 2 nd 1 st G x
80 77 79 eqtr4d φ x Base C y Base D x 1 st F y y Base D , z Base D g y Hom D z Id C x x y 2 nd F x z g = 1 st G x
81 80 mpteq2dva φ x Base C y Base D x 1 st F y y Base D , z Base D g y Hom D z Id C x x y 2 nd F x z g = x Base C 1 st G x
82 21 feqmptd φ 1 st G = x Base C 1 st G x
83 81 82 eqtr4d φ x Base C y Base D x 1 st F y y Base D , z Base D g y Hom D z Id C x x y 2 nd F x z g = 1 st G
84 2 ad3antrrr φ x Base C y Base C g x Hom C y z Base D D Cat
85 3 ad3antrrr φ x Base C y Base C g x Hom C y z Base D E Cat
86 4 ad3antrrr φ x Base C y Base C g x Hom C y z Base D G C Func D FuncCat E
87 simprl φ x Base C y Base C x Base C
88 87 ad2antrr φ x Base C y Base C g x Hom C y z Base D x Base C
89 simpr φ x Base C y Base C g x Hom C y z Base D z Base D
90 simprr φ x Base C y Base C y Base C
91 90 ad2antrr φ x Base C y Base C g x Hom C y z Base D y Base C
92 simplr φ x Base C y Base C g x Hom C y z Base D g x Hom C y
93 eqid Id D = Id D
94 9 34 93 84 89 catidcl φ x Base C y Base C g x Hom C y z Base D Id D z z Hom D z
95 1 84 85 86 8 9 88 89 33 34 91 89 92 94 uncf2 φ x Base C y Base C g x Hom C y z Base D g x z 2 nd F y z Id D z = x 2 nd G y g z 1 st 1 st G x z 1 st 1 st G x z comp E 1 st 1 st G y z z 2 nd 1 st G x z Id D z
96 22 adantrr φ x Base C y Base C 1 st G x D Func E
97 96 adantr φ x Base C y Base C g x Hom C y 1 st G x D Func E
98 15 97 23 sylancr φ x Base C y Base C g x Hom C y 1 st 1 st G x D Func E 2 nd 1 st G x
99 98 adantr φ x Base C y Base C g x Hom C y z Base D 1 st 1 st G x D Func E 2 nd 1 st G x
100 9 93 48 99 89 funcid φ x Base C y Base C g x Hom C y z Base D z 2 nd 1 st G x z Id D z = Id E 1 st 1 st G x z
101 100 oveq2d φ x Base C y Base C g x Hom C y z Base D x 2 nd G y g z 1 st 1 st G x z 1 st 1 st G x z comp E 1 st 1 st G y z z 2 nd 1 st G x z Id D z = x 2 nd G y g z 1 st 1 st G x z 1 st 1 st G x z comp E 1 st 1 st G y z Id E 1 st 1 st G x z
102 9 14 98 funcf1 φ x Base C y Base C g x Hom C y 1 st 1 st G x : Base D Base E
103 102 ffvelrnda φ x Base C y Base C g x Hom C y z Base D 1 st 1 st G x z Base E
104 21 ffvelrnda φ y Base C 1 st G y D Func E
105 104 adantrl φ x Base C y Base C 1 st G y D Func E
106 105 adantr φ x Base C y Base C g x Hom C y 1 st G y D Func E
107 1st2ndbr Rel D Func E 1 st G y D Func E 1 st 1 st G y D Func E 2 nd 1 st G y
108 15 106 107 sylancr φ x Base C y Base C g x Hom C y 1 st 1 st G y D Func E 2 nd 1 st G y
109 9 14 108 funcf1 φ x Base C y Base C g x Hom C y 1 st 1 st G y : Base D Base E
110 109 ffvelrnda φ x Base C y Base C g x Hom C y z Base D 1 st 1 st G y z Base E
111 eqid D Nat E = D Nat E
112 16 111 fuchom D Nat E = Hom D FuncCat E
113 20 ad3antrrr φ x Base C y Base C g x Hom C y z Base D 1 st G C Func D FuncCat E 2 nd G
114 8 33 112 113 88 91 funcf2 φ x Base C y Base C g x Hom C y z Base D x 2 nd G y : x Hom C y 1 st G x D Nat E 1 st G y
115 114 92 ffvelrnd φ x Base C y Base C g x Hom C y z Base D x 2 nd G y g 1 st G x D Nat E 1 st G y
116 111 115 nat1st2nd φ x Base C y Base C g x Hom C y z Base D x 2 nd G y g 1 st 1 st G x 2 nd 1 st G x D Nat E 1 st 1 st G y 2 nd 1 st G y
117 111 116 9 58 89 natcl φ x Base C y Base C g x Hom C y z Base D x 2 nd G y g z 1 st 1 st G x z Hom E 1 st 1 st G y z
118 14 58 48 85 103 60 110 117 catrid φ x Base C y Base C g x Hom C y z Base D x 2 nd G y g z 1 st 1 st G x z 1 st 1 st G x z comp E 1 st 1 st G y z Id E 1 st 1 st G x z = x 2 nd G y g z
119 95 101 118 3eqtrd φ x Base C y Base C g x Hom C y z Base D g x z 2 nd F y z Id D z = x 2 nd G y g z
120 119 mpteq2dva φ x Base C y Base C g x Hom C y z Base D g x z 2 nd F y z Id D z = z Base D x 2 nd G y g z
121 20 adantr φ x Base C y Base C 1 st G C Func D FuncCat E 2 nd G
122 8 33 112 121 87 90 funcf2 φ x Base C y Base C x 2 nd G y : x Hom C y 1 st G x D Nat E 1 st G y
123 122 ffvelrnda φ x Base C y Base C g x Hom C y x 2 nd G y g 1 st G x D Nat E 1 st G y
124 111 123 nat1st2nd φ x Base C y Base C g x Hom C y x 2 nd G y g 1 st 1 st G x 2 nd 1 st G x D Nat E 1 st 1 st G y 2 nd 1 st G y
125 111 124 9 natfn φ x Base C y Base C g x Hom C y x 2 nd G y g Fn Base D
126 dffn5 x 2 nd G y g Fn Base D x 2 nd G y g = z Base D x 2 nd G y g z
127 125 126 sylib φ x Base C y Base C g x Hom C y x 2 nd G y g = z Base D x 2 nd G y g z
128 120 127 eqtr4d φ x Base C y Base C g x Hom C y z Base D g x z 2 nd F y z Id D z = x 2 nd G y g
129 128 mpteq2dva φ x Base C y Base C g x Hom C y z Base D g x z 2 nd F y z Id D z = g x Hom C y x 2 nd G y g
130 122 feqmptd φ x Base C y Base C x 2 nd G y = g x Hom C y x 2 nd G y g
131 129 130 eqtr4d φ x Base C y Base C g x Hom C y z Base D g x z 2 nd F y z Id D z = x 2 nd G y
132 131 3impb φ x Base C y Base C g x Hom C y z Base D g x z 2 nd F y z Id D z = x 2 nd G y
133 132 mpoeq3dva φ x Base C , y Base C g x Hom C y z Base D g x z 2 nd F y z Id D z = x Base C , y Base C x 2 nd G y
134 8 20 funcfn2 φ 2 nd G Fn Base C × Base C
135 fnov 2 nd G Fn Base C × Base C 2 nd G = x Base C , y Base C x 2 nd G y
136 134 135 sylib φ 2 nd G = x Base C , y Base C x 2 nd G y
137 133 136 eqtr4d φ x Base C , y Base C g x Hom C y z Base D g x z 2 nd F y z Id D z = 2 nd G
138 83 137 opeq12d φ x Base C y Base D x 1 st F y y Base D , z Base D g y Hom D z Id C x x y 2 nd F x z g x Base C , y Base C g x Hom C y z Base D g x z 2 nd F y z Id D z = 1 st G 2 nd G
139 eqid C D curry F F = C D curry F F
140 1 2 3 4 uncfcl φ F C × c D Func E
141 139 8 40 2 140 9 34 37 33 93 curfval φ C D curry F F = x Base C y Base D x 1 st F y y Base D , z Base D g y Hom D z Id C x x y 2 nd F x z g x Base C , y Base C g x Hom C y z Base D g x z 2 nd F y z Id D z
142 1st2nd Rel C Func D FuncCat E G C Func D FuncCat E G = 1 st G 2 nd G
143 18 4 142 sylancr φ G = 1 st G 2 nd G
144 138 141 143 3eqtr4d φ C D curry F F = G