reserve a,x,y for object, A,B for set,
  l,m,n for Nat;
reserve X,Y for set, x for object,
  p,q for Function-yielding FinSequence,
  f,g,h for Function;

theorem Th58:
  for p being Function-yielding FinSequence st p <> {} holds rng
  compose(p,X) c= lastrng p
proof
  defpred P[Function-yielding FinSequence] means $1 <> {} implies rng compose(
  $1,X) c= lastrng $1;
A1: for p being Function-yielding FinSequence st P[p] for f being Function
  holds P[p^<*f*>]
  proof
    let q;
    assume q <> {} implies rng compose(q,X) c= lastrng q;
    let f;
    assume q^<*f*> <> {};
    compose(q^<*f*>,X) = f*compose(q,X) by Th40;
    then rng compose(q^<*f*>,X) c= rng f by RELAT_1:26;
    hence thesis by Th57;
  end;
A2: P[{}];
  thus for p holds P[p] from FuncSeqInd(A2,A1);
end;
