Metamath Proof Explorer


Theorem curf

Description: Functional property of currying. (Contributed by Brendan Leahy, 2-Jun-2021)

Ref Expression
Assertion curf F:A×BCBVCWcurryF:ACB

Proof

Step Hyp Ref Expression
1 opelxpi xAyBxyA×B
2 ffvelcdm F:A×BCxyA×BFxyC
3 1 2 sylan2 F:A×BCxAyBFxyC
4 3 anassrs F:A×BCxAyBFxyC
5 4 fmpttd F:A×BCxAyBFxy:BC
6 5 3ad2antl1 F:A×BCBVCWxAyBFxy:BC
7 elmapg CWBVyBFxyCByBFxy:BC
8 7 ancoms BVCWyBFxyCByBFxy:BC
9 8 3adant1 F:A×BCBVCWyBFxyCByBFxy:BC
10 9 adantr F:A×BCBVCWxAyBFxyCByBFxy:BC
11 6 10 mpbird F:A×BCBVCWxAyBFxyCB
12 11 fmpttd F:A×BCBVCWxAyBFxy:ACB
13 eldifsni BVB
14 df-cur curryF=xdomdomFyz|xyFz
15 fdm F:A×BCdomF=A×B
16 15 dmeqd F:A×BCdomdomF=domA×B
17 dmxp BdomA×B=A
18 16 17 sylan9eq F:A×BCBdomdomF=A
19 18 mpteq1d F:A×BCBxdomdomFyz|xyFz=xAyz|xyFz
20 ffun F:A×BCFunF
21 funbrfv2b FunFxyFzxydomFFxy=z
22 20 21 syl F:A×BCxyFzxydomFFxy=z
23 15 eleq2d F:A×BCxydomFxyA×B
24 opelxp xyA×BxAyB
25 23 24 bitrdi F:A×BCxydomFxAyB
26 25 anbi1d F:A×BCxydomFFxy=zxAyBFxy=z
27 22 26 bitrd F:A×BCxyFzxAyBFxy=z
28 ibar xAyBz=FxyxAyBz=Fxy
29 anass xAyBz=FxyxAyBz=Fxy
30 eqcom z=FxyFxy=z
31 30 anbi2i xAyBz=FxyxAyBFxy=z
32 29 31 bitr3i xAyBz=FxyxAyBFxy=z
33 28 32 bitr2di xAxAyBFxy=zyBz=Fxy
34 27 33 sylan9bb F:A×BCxAxyFzyBz=Fxy
35 34 opabbidv F:A×BCxAyz|xyFz=yz|yBz=Fxy
36 df-mpt yBFxy=yz|yBz=Fxy
37 35 36 eqtr4di F:A×BCxAyz|xyFz=yBFxy
38 37 mpteq2dva F:A×BCxAyz|xyFz=xAyBFxy
39 38 adantr F:A×BCBxAyz|xyFz=xAyBFxy
40 19 39 eqtrd F:A×BCBxdomdomFyz|xyFz=xAyBFxy
41 14 40 eqtrid F:A×BCBcurryF=xAyBFxy
42 41 feq1d F:A×BCBcurryF:ACBxAyBFxy:ACB
43 13 42 sylan2 F:A×BCBVcurryF:ACBxAyBFxy:ACB
44 43 3adant3 F:A×BCBVCWcurryF:ACBxAyBFxy:ACB
45 12 44 mpbird F:A×BCBVCWcurryF:ACB