let X, Y, z be set ; :: thesis: ( uncurry (X --> (Y --> z)) = [:X,Y:] --> z & uncurry' (X --> (Y --> z)) = [:Y,X:] --> z )
A1:
( dom ([:X,Y:] --> z) = [:X,Y:] & dom ([:Y,X:] --> z) = [:Y,X:] & dom (X --> (Y --> z)) = X & rng (X --> (Y --> z)) c= {(Y --> z)} & dom (Y --> z) = Y & rng (Y --> z) c= {z} )
by FUNCOP_1:19;
then
Y --> z in Funcs Y,{z}
by FUNCT_2:def 2;
then
{(Y --> z)} c= Funcs Y,{z}
by ZFMISC_1:37;
then
rng (X --> (Y --> z)) c= Funcs Y,{z}
by A1, XBOOLE_1:1;
then A2:
( dom (uncurry (X --> (Y --> z))) = [:X,Y:] & dom (uncurry' (X --> (Y --> z))) = [:Y,X:] )
by A1, FUNCT_5:33;
now let x be
set ;
:: thesis: ( x in [:X,Y:] implies (uncurry (X --> (Y --> z))) . x = ([:X,Y:] --> z) . x )assume A3:
x in [:X,Y:]
;
:: thesis: (uncurry (X --> (Y --> z))) . x = ([:X,Y:] --> z) . xthen consider y1 being
set ,
g being
Function,
y2 being
set such that A4:
(
x = [y1,y2] &
y1 in X &
g = (X --> (Y --> z)) . y1 &
y2 in dom g )
by A1, A2, FUNCT_5:def 4;
A5:
g = Y --> z
by A4, FUNCOP_1:13;
then
(Y --> z) . y2 = z
by A1, A4, FUNCOP_1:13;
then
z = (uncurry (X --> (Y --> z))) . y1,
y2
by A1, A4, A5, FUNCT_5:45;
hence
(uncurry (X --> (Y --> z))) . x = ([:X,Y:] --> z) . x
by A3, A4, FUNCOP_1:13;
:: thesis: verum end;
hence
uncurry (X --> (Y --> z)) = [:X,Y:] --> z
by A1, A2, FUNCT_1:9; :: thesis: uncurry' (X --> (Y --> z)) = [:Y,X:] --> z
then
~ (uncurry (X --> (Y --> z))) = [:Y,X:] --> z
by Th12;
hence
uncurry' (X --> (Y --> z)) = [:Y,X:] --> z
by FUNCT_5:def 6; :: thesis: verum