let L1, L2, L3 be non empty RelStr ; :: thesis: for f being Function of L1,L2
for g being Function of L2,L3 st f is sups-preserving & g is sups-preserving holds
g * f is sups-preserving

let f be Function of L1,L2; :: thesis: for g being Function of L2,L3 st f is sups-preserving & g is sups-preserving holds
g * f is sups-preserving

let g be Function of L2,L3; :: thesis: ( f is sups-preserving & g is sups-preserving implies g * f is sups-preserving )
assume that
A1: f is sups-preserving and
A2: g is sups-preserving ; :: thesis: g * f is sups-preserving
set gf = g * f;
let X be Subset of L1; :: according to WAYBEL_0:def 33 :: thesis: g * f preserves_sup_of X
assume A3: ex_sup_of X,L1 ; :: according to WAYBEL_0:def 31 :: thesis: ( ex_sup_of (g * f) .: X,L3 & "\/" ((g * f) .: X),L3 = (g * f) . ("\/" X,L1) )
A4: dom f = the carrier of L1 by FUNCT_2:def 1;
set gfX = (g * f) .: X;
set fX = f .: X;
A5: f preserves_sup_of X by A1, WAYBEL_0:def 33;
A6: g preserves_sup_of f .: X by A2, WAYBEL_0:def 33;
A7: (g * f) .: X = g .: (f .: X) by RELAT_1:159;
A8: ex_sup_of f .: X,L2 by A3, A5, WAYBEL_0:def 31;
hence ex_sup_of (g * f) .: X,L3 by A6, A7, WAYBEL_0:def 31; :: thesis: "\/" ((g * f) .: X),L3 = (g * f) . ("\/" X,L1)
thus sup ((g * f) .: X) = g . (sup (f .: X)) by A6, A7, A8, WAYBEL_0:def 31
.= g . (f . (sup X)) by A3, A5, WAYBEL_0:def 31
.= (g * f) . (sup X) by A4, FUNCT_1:23 ; :: thesis: verum