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 Th78:
  rng R c= dom R implies iter(iter(R,m),n) = iter(R,m*n)
proof
  defpred P[Nat] means iter(iter(R,m),$1) = iter(R,m*$1);
  assume
A1: rng R c= dom R;
  then dom iter(R,m) = dom R by Th73;
  then field iter(R,m) = dom R by A1,Th73,XBOOLE_1:12;
  then iter(iter(R,m),0) = id(dom R) by Th67
    .= id(field R) by A1,XBOOLE_1:12
    .= iter(R,m*0) by Th67;
  then
A2: P[ 0];
A3: P[k] implies P[k+1] by Lm5;
  P[k] from NAT_1:sch 2(A2,A3);
  hence thesis;
end;
