defpred S2[ set ] means f orbit $1 c= A;
consider Z being set such that
A9:
for a being set holds
( a in Z iff ( a in dom f & S2[a] ) )
from XBOOLE_0:sch 1();
A10:
Z c= dom f
defpred S3[ set , set ] means ex n being Nat st
( $2 = (iter f,n) . $1 & $2 nin A & ( for i being Nat st i < n holds
(iter f,i) . $1 in A ) );
A11:
for a being set st a in (dom f) \ Z holds
ex b being set st S3[a,b]
proof
let a be
set ;
:: thesis: ( a in (dom f) \ Z implies ex b being set st S3[a,b] )
assume
a in (dom f) \ Z
;
:: thesis: ex b being set st S3[a,b]
then
(
a in dom f &
a nin Z )
by XBOOLE_0:def 5;
then
not
f orbit a c= A
by A9;
then consider y being
set such that A12:
(
y in f orbit a &
y nin A )
by TARSKI:def 3;
consider n1 being
Element of
NAT such that A13:
(
y = (iter f,n1) . a &
a in dom (iter f,n1) )
by A12;
defpred S4[
Nat]
means (iter f,$1) . a nin A;
A14:
ex
n being
Nat st
S4[
n]
by A12, A13;
consider n being
Nat such that A15:
S4[
n]
and A16:
for
m being
Nat st
S4[
m] holds
n <= m
from NAT_1:sch 5(A14);
take b =
(iter f,n) . a;
:: thesis: S3[a,b]
take
n
;
:: thesis: ( b = (iter f,n) . a & b nin A & ( for i being Nat st i < n holds
(iter f,i) . a in A ) )
thus
(
b = (iter f,n) . a &
b nin A )
by A15;
:: thesis: for i being Nat st i < n holds
(iter f,i) . a in A
let i be
Nat;
:: thesis: ( i < n implies (iter f,i) . a in A )
thus
(
i < n implies
(iter f,i) . a in A )
by A16;
:: thesis: verum
end;
consider h being Function such that
A17:
dom h = (dom f) \ Z
and
A18:
for a being set st a in (dom f) \ Z holds
S3[a,h . a]
from CLASSES1:sch 1(A11);
take i = ((Z --> 0 ) +* (g | Z)) +* h; :: thesis: ( dom i = dom f & ( for a being set st a in dom f holds
( ( f orbit a c= A implies i . a = g . a ) & ( for n being Nat st (iter f,n) . a nin A & ( for i being Nat st i < n holds
(iter f,i) . a in A ) holds
i . a = (iter f,n) . a ) ) ) )
dom (Z --> 0 ) = Z
by FUNCOP_1:19;
then dom ((Z --> 0 ) +* (g | Z)) =
Z \/ (dom (g | Z))
by FUNCT_4:def 1
.=
Z
by RELAT_1:87, XBOOLE_1:12
;
hence dom i =
Z \/ ((dom f) \ Z)
by A17, FUNCT_4:def 1
.=
dom f
by A10, XBOOLE_1:45
;
:: thesis: for a being set st a in dom f holds
( ( f orbit a c= A implies i . a = g . a ) & ( for n being Nat st (iter f,n) . a nin A & ( for i being Nat st i < n holds
(iter f,i) . a in A ) holds
i . a = (iter f,n) . a ) )
let a be set ; :: thesis: ( a in dom f implies ( ( f orbit a c= A implies i . a = g . a ) & ( for n being Nat st (iter f,n) . a nin A & ( for i being Nat st i < n holds
(iter f,i) . a in A ) holds
i . a = (iter f,n) . a ) ) )
assume A19:
a in dom f
; :: thesis: ( ( f orbit a c= A implies i . a = g . a ) & ( for n being Nat st (iter f,n) . a nin A & ( for i being Nat st i < n holds
(iter f,i) . a in A ) holds
i . a = (iter f,n) . a ) )
let n be Nat; :: thesis: ( (iter f,n) . a nin A & ( for i being Nat st i < n holds
(iter f,i) . a in A ) implies i . a = (iter f,n) . a )
reconsider n' = n as Element of NAT by ORDINAL1:def 13;
assume A22:
( (iter f,n) . a nin A & ( for i being Nat st i < n holds
(iter f,i) . a in A ) )
; :: thesis: i . a = (iter f,n) . a
a in dom (iter f,n')
by A19, A8;
then
(iter f,n) . a in f orbit a
;
then
not f orbit a c= A
by A22;
then
a nin Z
by A9;
then A23:
a in (dom f) \ Z
by A19, XBOOLE_0:def 5;
then consider n2 being Nat such that
A24:
( h . a = (iter f,n2) . a & h . a nin A & ( for i being Nat st i < n2 holds
(iter f,i) . a in A ) )
by A18;
( n <= n2 & n2 <= n )
by A22, A24;
then
n = n2
by XXREAL_0:1;
hence
i . a = (iter f,n) . a
by A17, A23, A24, FUNCT_4:14; :: thesis: verum