let X, Y be non empty set ; :: thesis: for Z being non empty RelStr
for S being non empty SubRelStr of Z |^ [:X,Y:]
for T being non empty SubRelStr of (Z |^ Y) |^ X
for f being Function of T,S st f is uncurrying & f is one-to-one & f is onto holds
f " is currying

let Z be non empty RelStr ; :: thesis: for S being non empty SubRelStr of Z |^ [:X,Y:]
for T being non empty SubRelStr of (Z |^ Y) |^ X
for f being Function of T,S st f is uncurrying & f is one-to-one & f is onto holds
f " is currying

let S be non empty SubRelStr of Z |^ [:X,Y:]; :: thesis: for T being non empty SubRelStr of (Z |^ Y) |^ X
for f being Function of T,S st f is uncurrying & f is one-to-one & f is onto holds
f " is currying

let T be non empty SubRelStr of (Z |^ Y) |^ X; :: thesis: for f being Function of T,S st f is uncurrying & f is one-to-one & f is onto holds
f " is currying

let f be Function of T,S; :: thesis: ( f is uncurrying & f is one-to-one & f is onto implies f " is currying )
assume A1: ( f is uncurrying & f is one-to-one & f is onto ) ; :: thesis: f " is currying
then ( f " is one-to-one & f " is onto ) by GRCAT_1:56;
then A2: ( rng (f " ) = the carrier of T & rng f = the carrier of S ) by A1, FUNCT_2:def 3;
A3: ( Funcs X,the carrier of (Z |^ Y) = the carrier of ((Z |^ Y) |^ X) & Funcs Y,the carrier of Z = the carrier of (Z |^ Y) & Funcs [:X,Y:],the carrier of Z = the carrier of (Z |^ [:X,Y:]) ) by YELLOW_1:28;
hereby :: according to WAYBEL27:def 2 :: thesis: for b1 being set holds
( not b1 in proj1 (f " ) or (f " ) . b1 = curry b1 )
let x be set ; :: thesis: ( x in dom (f " ) implies ( x is Function & proj1 x is Relation ) )
assume x in dom (f " ) ; :: thesis: ( x is Function & proj1 x is Relation )
then x is Element of (Z |^ [:X,Y:]) by YELLOW_0:59;
then reconsider g = x as Function of [:X,Y:],the carrier of Z by A3, FUNCT_2:121;
dom g = proj1 g ;
hence ( x is Function & proj1 x is Relation ) ; :: thesis: verum
end;
A4: f " = f " by A1, A2, TOPS_2:def 4;
let g be Function; :: thesis: ( not g in proj1 (f " ) or (f " ) . g = curry g )
assume g in dom (f " ) ; :: thesis: (f " ) . g = curry g
then consider h being set such that
A5: ( h in dom f & g = f . h ) by A2, FUNCT_1:def 5;
reconsider h = h as Function by A5;
A6: g = uncurry h by A1, A5, WAYBEL27:def 1;
h is Element of ((Z |^ Y) |^ X) by A5, YELLOW_0:59;
then h is Function of X,(Funcs Y,the carrier of Z) by A3, FUNCT_2:121;
then rng h c= Funcs Y,the carrier of Z by RELAT_1:def 19;
then curry g = h by A6, FUNCT_5:55;
hence (f " ) . g = curry g by A1, A4, A5, FUNCT_1:54; :: thesis: verum