
theorem
  for I being set, A,B being ManySortedSet of I for f,g being Function
  st rngs (f-MSF(I,A)) c= B holds (g*f)-MSF(I,A) = (g-MSF(I,B))**(f-MSF(I,A))
proof
  let I be set, A,B be ManySortedSet of I;
  let f,g be Function such that
A1: rngs (f-MSF(I,A)) c= B;
A2: I /\ I = I;
  dom (g-MSF(I,B)) = I & dom (f-MSF(I,A)) = I by PARTFUN1:def 2;
  then
A3: dom ((g-MSF(I,B))**(f-MSF(I,A))) = I by A2,PBOOLE:def 19;
A4: now
    let i be object;
    assume
A5: i in I;
    then
A6: (f-MSF(I,A)).i = f|(A.i) by Def1;
    dom (f-MSF(I,A)) = I by PARTFUN1:def 2;
    then (rngs (f-MSF(I,A))).i = rng (f|(A.i)) by A5,A6,FUNCT_6:22;
    then rng (f|(A.i)) c= B.i by A1,A5;
    then (g*f)|(A.i) = g*(f|(A.i)) & (B.i)|`(f|(A.i)) = f|(A.i)
      by RELAT_1:83,94;
    then
A7: (g*f)|(A.i) = (g|(B.i))*(f|(A.i)) by MONOID_1:1;
    ((g*f)-MSF(I,A)).i = (g*f)|(A.i) & (g-MSF(I,B)).i = g|(B.i) by A5,Def1;
    hence ((g*f)-MSF(I,A)).i = ((g-MSF(I,B))**(f-MSF(I,A))).i by A3,A5,A6,A7,
PBOOLE:def 19;
  end;
  dom ((g*f)-MSF(I,A)) = I by PARTFUN1:def 2;
  hence thesis by A3,A4,FUNCT_1:2;
end;
