let X, Y, Z be set ; :: thesis: for f1, f2 being Function of X,Y
for g1, g2 being Function of X,Z st ( Y = {} implies X = {} ) & ( Z = {} implies X = {} ) & <:f1,g1:> = <:f2,g2:> holds
( f1 = f2 & g1 = g2 )

let f1, f2 be Function of X,Y; :: thesis: for g1, g2 being Function of X,Z st ( Y = {} implies X = {} ) & ( Z = {} implies X = {} ) & <:f1,g1:> = <:f2,g2:> holds
( f1 = f2 & g1 = g2 )

let g1, g2 be Function of X,Z; :: thesis: ( ( Y = {} implies X = {} ) & ( Z = {} implies X = {} ) & <:f1,g1:> = <:f2,g2:> implies ( f1 = f2 & g1 = g2 ) )
assume that
A1: ( Y = {} implies X = {} ) and
A2: ( Z = {} implies X = {} ) ; :: thesis: ( not <:f1,g1:> = <:f2,g2:> or ( f1 = f2 & g1 = g2 ) )
A3: ( dom g1 = X & dom g2 = X ) by A2, FUNCT_2:def 1;
( dom f1 = X & dom f2 = X ) by A1, FUNCT_2:def 1;
hence ( not <:f1,g1:> = <:f2,g2:> or ( f1 = f2 & g1 = g2 ) ) by A3, Th54; :: thesis: verum