reserve x,y for object,X for set,
  f for Function,
  R,S for Relation;
reserve e1,e2 for ExtReal;
reserve s,s1,s2,s3 for sequence of X;
reserve XX for non empty set,
        ss,ss1,ss2,ss3 for sequence of XX;
reserve X,Y for non empty set,
  Z for set;
reserve s,s1 for sequence of X,
  h,h1 for PartFunc of X,Y,
  h2 for PartFunc of Y ,Z,
  x for Element of X,
  N for increasing sequence of NAT;
reserve i,j for Nat;
reserve n for Nat;

theorem
  rng s c= dom (h2*h1) implies h2/*(h1/*s) = (h2*h1)/*s
proof
  assume
A1: rng s c= dom (h2*h1);
  now
    let n be Element of NAT;
A2: rng s c= dom h1 by A1,FUNCT_1:101;
    h1.:(rng s) c= dom h2 by A1,FUNCT_1:101;
    then
A3: rng (h1/*s) c= dom h2 by A2,Th30;
    s.n in rng s by Th28;
    then
A4: s.n in dom h1 by A1,FUNCT_1:11;
    thus ((h2*h1)/*s).n = (h2*h1).(s.n) by A1,FUNCT_2:108
      .= h2.(h1.(s.n)) by A4,FUNCT_1:13
      .= h2.((h1/*s).n) by A2,FUNCT_2:108
      .= (h2/*(h1/*s)).n by A3,FUNCT_2:108;
  end;
  hence thesis;
end;
