let X, Y, y be set ; :: thesis: for f being Function st [:X,Y:] <> {} & dom f = [:X,Y:] & y in Y holds
ex g being Function st
( (curry' f) . y = g & dom g = X & rng g c= rng f & ( for x being set st x in X holds
g . x = f . x,y ) )
let f be Function; :: thesis: ( [:X,Y:] <> {} & dom f = [:X,Y:] & y in Y implies ex g being Function st
( (curry' f) . y = g & dom g = X & rng g c= rng f & ( for x being set st x in X holds
g . x = f . x,y ) ) )
assume A1:
( [:X,Y:] <> {} & dom f = [:X,Y:] & y in Y )
; :: thesis: ex g being Function st
( (curry' f) . y = g & dom g = X & rng g c= rng f & ( for x being set st x in X holds
g . x = f . x,y ) )
then
( X <> {} & Y <> {} )
by ZFMISC_1:113;
then A2:
( [:Y,X:] <> {} & dom (~ f) = [:Y,X:] )
by A1, FUNCT_4:47;
then consider g being Function such that
A3:
( (curry (~ f)) . y = g & dom g = X & rng g c= rng (~ f) & ( for x being set st x in X holds
g . x = (~ f) . y,x ) )
by A1, Th36;
take
g
; :: thesis: ( (curry' f) . y = g & dom g = X & rng g c= rng f & ( for x being set st x in X holds
g . x = f . x,y ) )
( curry' f = curry (~ f) & rng (~ f) c= rng f )
by FUNCT_4:42;
hence
( (curry' f) . y = g & dom g = X & rng g c= rng f )
by A3, XBOOLE_1:1; :: thesis: for x being set st x in X holds
g . x = f . x,y
let x be set ; :: thesis: ( x in X implies g . x = f . x,y )
assume
x in X
; :: thesis: g . x = f . x,y
then
( g . x = (~ f) . y,x & [y,x] in dom (~ f) )
by A1, A2, A3, ZFMISC_1:106;
hence
g . x = f . x,y
by FUNCT_4:44; :: thesis: verum