let R be Relation; :: thesis: for n being Nat st rng R c= dom R holds
( dom (iter (R,n)) = dom R & rng (iter (R,n)) c= dom R )

let n be Nat; :: thesis: ( rng R c= dom R implies ( dom (iter (R,n)) = dom R & rng (iter (R,n)) c= dom R ) )
defpred S1[ Nat] means ( dom (iter (R,$1)) = dom R & rng (iter (R,$1)) c= dom R );
A1: for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be Nat; :: thesis: ( S1[k] implies S1[k + 1] )
assume A2: ( dom (iter (R,k)) = dom R & rng (iter (R,k)) c= dom R ) ; :: thesis: S1[k + 1]
iter (R,(k + 1)) = R * (iter (R,k)) by Th68;
then A3: rng (iter (R,(k + 1))) c= rng (iter (R,k)) by RELAT_1:26;
iter (R,(k + 1)) = (iter (R,k)) * R by Th70;
hence S1[k + 1] by A2, A3, RELAT_1:27, XBOOLE_1:1; :: thesis: verum
end;
assume rng R c= dom R ; :: thesis: ( dom (iter (R,n)) = dom R & rng (iter (R,n)) c= dom R )
then iter (R,0) = id (dom R) by Lm4;
then A4: S1[ 0 ] ;
for k being Nat holds S1[k] from NAT_1:sch 2(A4, A1);
hence ( dom (iter (R,n)) = dom R & rng (iter (R,n)) c= dom R ) ; :: thesis: verum