let n be Nat; for R being Relation holds
( dom (iter (R,n)) c= field R & rng (iter (R,n)) c= field R )
let R be Relation; ( dom (iter (R,n)) c= field R & rng (iter (R,n)) c= field R )
defpred S1[ Nat] means ( dom (iter (R,$1)) c= field R & rng (iter (R,$1)) c= field R );
A1:
for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be
Nat;
( S1[k] implies S1[k + 1] )
iter (
R,
(k + 1))
= (iter (R,k)) * R
by Th70;
then A2:
dom (iter (R,(k + 1))) c= dom (iter (R,k))
by RELAT_1:25;
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;
assume
(
dom (iter (R,k)) c= field R &
rng (iter (R,k)) c= field R )
;
S1[k + 1]
hence
S1[
k + 1]
by A2, A3, XBOOLE_1:1;
verum
end;
iter (R,0) = id (field R)
by Th67;
then A4:
S1[ 0 ]
;
for k being Nat holds S1[k]
from NAT_1:sch 2(A4, A1);
hence
( dom (iter (R,n)) c= field R & rng (iter (R,n)) c= field R )
; verum