Metamath Proof Explorer


Theorem curunc

Description: Currying of uncurrying. (Contributed by Brendan Leahy, 2-Jun-2021)

Ref Expression
Assertion curunc F:ACBBcurryuncurryF=F

Proof

Step Hyp Ref Expression
1 simpl F:ACBBF:ACB
2 1 feqmptd F:ACBBF=xAFx
3 uncf F:ACBuncurryF:A×BC
4 3 fdmd F:ACBdomuncurryF=A×B
5 4 dmeqd F:ACBdomdomuncurryF=domA×B
6 dmxp BdomA×B=A
7 5 6 sylan9eq F:ACBBdomdomuncurryF=A
8 7 eqcomd F:ACBBA=domdomuncurryF
9 df-mpt yBFxy=yz|yBz=Fxy
10 ffvelcdm F:ACBxAFxCB
11 elmapi FxCBFx:BC
12 10 11 syl F:ACBxAFx:BC
13 12 feqmptd F:ACBxAFx=yBFxy
14 ffun uncurryF:A×BCFununcurryF
15 funbrfv2b FununcurryFxyuncurryFzxydomuncurryFuncurryFxy=z
16 3 14 15 3syl F:ACBxyuncurryFzxydomuncurryFuncurryFxy=z
17 16 adantr F:ACBxAxyuncurryFzxydomuncurryFuncurryFxy=z
18 4 eleq2d F:ACBxydomuncurryFxyA×B
19 opelxp xyA×BxAyB
20 19 baib xAxyA×ByB
21 18 20 sylan9bb F:ACBxAxydomuncurryFyB
22 df-ov xuncurryFy=uncurryFxy
23 uncov xVyVxuncurryFy=Fxy
24 23 el2v xuncurryFy=Fxy
25 22 24 eqtr3i uncurryFxy=Fxy
26 25 eqeq1i uncurryFxy=zFxy=z
27 eqcom Fxy=zz=Fxy
28 26 27 bitri uncurryFxy=zz=Fxy
29 28 a1i F:ACBxAuncurryFxy=zz=Fxy
30 21 29 anbi12d F:ACBxAxydomuncurryFuncurryFxy=zyBz=Fxy
31 17 30 bitrd F:ACBxAxyuncurryFzyBz=Fxy
32 31 opabbidv F:ACBxAyz|xyuncurryFz=yz|yBz=Fxy
33 9 13 32 3eqtr4a F:ACBxAFx=yz|xyuncurryFz
34 33 adantlr F:ACBBxAFx=yz|xyuncurryFz
35 8 34 mpteq12dva F:ACBBxAFx=xdomdomuncurryFyz|xyuncurryFz
36 df-cur curryuncurryF=xdomdomuncurryFyz|xyuncurryFz
37 35 36 eqtr4di F:ACBBxAFx=curryuncurryF
38 2 37 eqtr2d F:ACBBcurryuncurryF=F