let X, Y, Z, D be set ; :: thesis: ( D c= Funcs [:X,Y:],Z implies ex F being ManySortedSet of st
( F is currying & ( ( Y = {} implies X = {} ) implies rng F c= Funcs X,(Funcs Y,Z) ) ) )

assume A1: D c= Funcs [:X,Y:],Z ; :: thesis: ex F being ManySortedSet of st
( F is currying & ( ( Y = {} implies X = {} ) implies rng F c= Funcs X,(Funcs Y,Z) ) )

per cases ( D is empty or not D is empty ) ;
suppose D is empty ; :: thesis: ex F being ManySortedSet of st
( F is currying & ( ( Y = {} implies X = {} ) implies rng F c= Funcs X,(Funcs Y,Z) ) )

then reconsider F = {} as ManySortedSet of by PARTFUN1:def 4, RELAT_1:60, RELAT_1:def 18;
take F ; :: thesis: ( F is currying & ( ( Y = {} implies X = {} ) implies rng F c= Funcs X,(Funcs Y,Z) ) )
thus F is currying ; :: thesis: ( ( Y = {} implies X = {} ) implies rng F c= Funcs X,(Funcs Y,Z) )
assume ( Y = {} implies X = {} ) ; :: thesis: rng F c= Funcs X,(Funcs Y,Z)
thus rng F c= Funcs X,(Funcs Y,Z) by RELAT_1:60, XBOOLE_1:2; :: thesis: verum
end;
suppose A2: not D is empty ; :: thesis: ex F being ManySortedSet of st
( F is currying & ( ( Y = {} implies X = {} ) implies rng F c= Funcs X,(Funcs Y,Z) ) )

for x being set st x in D holds
x is Function by A1;
then reconsider E = D as non empty functional set by A2, FUNCT_1:def 19;
deffunc H1( Function) -> set = curry $1;
consider F being ManySortedSet of such that
A3: for d being Element of E holds F . d = H1(d) from PBOOLE:sch 5();
reconsider F1 = F as ManySortedSet of ;
take F1 ; :: thesis: ( F1 is currying & ( ( Y = {} implies X = {} ) implies rng F1 c= Funcs X,(Funcs Y,Z) ) )
thus F1 is currying :: thesis: ( ( Y = {} implies X = {} ) implies rng F1 c= Funcs X,(Funcs Y,Z) )
proof
hereby :: according to WAYBEL27:def 2 :: thesis: for f being Function st f in dom F1 holds
F1 . f = curry f
let x be set ; :: thesis: ( x in dom F1 implies ( x is Function & proj1 x is Relation ) )
assume x in dom F1 ; :: thesis: ( x is Function & proj1 x is Relation )
then x in D by PARTFUN1:def 4;
then consider x1 being Function such that
A4: ( x1 = x & dom x1 = [:X,Y:] & rng x1 c= Z ) by A1, FUNCT_2:def 2;
thus x is Function by A4; :: thesis: proj1 x is Relation
thus proj1 x is Relation by A4; :: thesis: verum
end;
let f be Function; :: thesis: ( f in dom F1 implies F1 . f = curry f )
assume f in dom F1 ; :: thesis: F1 . f = curry f
then reconsider d = f as Element of E by PARTFUN1:def 4;
thus F1 . f = F . d
.= curry f by A3 ; :: thesis: verum
end;
assume A5: ( Y = {} implies X = {} ) ; :: thesis: rng F1 c= Funcs X,(Funcs Y,Z)
thus rng F1 c= Funcs X,(Funcs Y,Z) :: thesis: verum
proof
let y be set ; :: according to TARSKI:def 3 :: thesis: ( not y in rng F1 or y in Funcs X,(Funcs Y,Z) )
assume y in rng F1 ; :: thesis: y in Funcs X,(Funcs Y,Z)
then consider x being set such that
A6: ( x in dom F1 & y = F1 . x ) by FUNCT_1:def 5;
reconsider d = x as Element of E by A6, PARTFUN1:def 4;
A7: ( y = curry d & d in Funcs [:X,Y:],Z ) by A1, A3, A6, TARSKI:def 3;
end;
end;
end;