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