let f be Function; for n being Element of NAT holds
( dom (iter f,n) c= (dom f) \/ (rng f) & rng (iter f,n) c= (dom f) \/ (rng f) )
let n be Element of NAT ; ( dom (iter f,n) c= (dom f) \/ (rng f) & rng (iter f,n) c= (dom f) \/ (rng f) )
defpred S1[ Element of NAT ] means ( dom (iter f,$1) c= (dom f) \/ (rng f) & rng (iter f,$1) c= (dom f) \/ (rng f) );
A1:
for k being Element of NAT st S1[k] holds
S1[k + 1]
proof
let k be
Element of
NAT ;
( S1[k] implies S1[k + 1] )
iter f,
(k + 1) = f * (iter f,k)
by Th73;
then A2:
dom (iter f,(k + 1)) c= dom (iter f,k)
by RELAT_1:44;
iter f,
(k + 1) = (iter f,k) * f
by Th71;
then A3:
rng (iter f,(k + 1)) c= rng (iter f,k)
by RELAT_1:45;
assume
(
dom (iter f,k) c= (dom f) \/ (rng f) &
rng (iter f,k) c= (dom f) \/ (rng f) )
;
S1[k + 1]
hence
S1[
k + 1]
by A2, A3, XBOOLE_1:1;
verum
end;
iter f,0 = id ((dom f) \/ (rng f))
by Th70;
then A4:
S1[ 0 ]
by RELAT_1:71;
for k being Element of NAT holds S1[k]
from NAT_1:sch 1(A4, A1);
hence
( dom (iter f,n) c= (dom f) \/ (rng f) & rng (iter f,n) c= (dom f) \/ (rng f) )
; verum