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;
reserve m,n,k for Nat, R for Relation;

theorem
  n <> 0 implies dom iter(R,n) c= dom R & rng iter(R,n) c= rng R
proof
  defpred P[Nat] means dom iter(R,$1+1) c= dom R & rng iter(R,$1+1) c= rng R;
  assume n <> 0;
  then
A1: ex k be Nat st n = k+1 by NAT_1:6;
A2: for k be Nat st P[k] holds P[k+1]
  proof
    let k be Nat;
    assume that
    dom iter(R,k+1) c= dom R and
    rng iter(R,k+1) c= rng R;
    iter(R,k+1+1) = R*iter(R,k+1) & iter(R,k+1+1) = iter(R,k+1)*R by Th68,Th70;
    hence thesis by RELAT_1:25,26;
  end;
A3: P[ 0] by Th69;
  for k be Nat holds P[k] from NAT_1:sch 2(A3,A2);
  hence thesis by A1;
end;
