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 ;
( a in (dom f) \ Z implies ex b being set st S3[a,b] )
assume A12:
a in (dom f) \ Z
;
ex b being set st S3[a,b]
then
a nin Z
by XBOOLE_0:def 5;
then
not
f orbit a c= A
by A9, A12;
then consider y being
set such that A13:
y in f orbit a
and A14:
y nin A
by TARSKI:def 3;
A15:
ex
n1 being
Element of
NAT st
(
y = (iter (f,n1)) . a &
a in dom (iter (f,n1)) )
by A13;
defpred S4[
Nat]
means (iter (f,$1)) . a nin A;
A16:
ex
n being
Nat st
S4[
n]
by A14, A15;
consider n being
Nat such that A17:
S4[
n]
and A18:
for
m being
Nat st
S4[
m] holds
n <= m
from NAT_1:sch 5(A16);
take b =
(iter (f,n)) . a;
S3[a,b]
take
n
;
( 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 A17;
for i being Nat st i < n holds
(iter (f,i)) . a in A
let i be
Nat;
( i < n implies (iter (f,i)) . a in A )
thus
(
i < n implies
(iter (f,i)) . a in A )
by A18;
verum
end;
consider h being Function such that
A19:
dom h = (dom f) \ Z
and
A20:
for a being set st a in (dom f) \ Z holds
S3[a,h . a]
from CLASSES1:sch 1(A11);
take g = (Z --> x) +* h; ( dom g = dom f & ( for a being set st a in dom f holds
( ( f orbit a c= A implies g . a = x ) & ( 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
g . a = (iter (f,n)) . a ) ) ) )
dom (Z --> x) = Z
by FUNCOP_1:13;
hence dom g =
Z \/ ((dom f) \ Z)
by A19, FUNCT_4:def 1
.=
dom f
by A10, XBOOLE_1:45
;
for a being set st a in dom f holds
( ( f orbit a c= A implies g . a = x ) & ( 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
g . a = (iter (f,n)) . a ) )
let a be set ; ( a in dom f implies ( ( f orbit a c= A implies g . a = x ) & ( 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
g . a = (iter (f,n)) . a ) ) )
assume A21:
a in dom f
; ( ( f orbit a c= A implies g . a = x ) & ( 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
g . a = (iter (f,n)) . a ) )
let n be Nat; ( (iter (f,n)) . a nin A & ( for i being Nat st i < n holds
(iter (f,i)) . a in A ) implies g . a = (iter (f,n)) . a )
assume that
A24:
(iter (f,n)) . a nin A
and
A25:
for i being Nat st i < n holds
(iter (f,i)) . a in A
; g . a = (iter (f,n)) . a
A26:
n in NAT
by ORDINAL1:def 12;
then
a in dom (iter (f,n))
by A8, A21;
then
(iter (f,n)) . a in f orbit a
by A26;
then
not f orbit a c= A
by A24;
then
a nin Z
by A9;
then A27:
a in (dom f) \ Z
by A21, XBOOLE_0:def 5;
then consider n2 being Nat such that
A28:
h . a = (iter (f,n2)) . a
and
A29:
h . a nin A
and
A30:
for i being Nat st i < n2 holds
(iter (f,i)) . a in A
by A20;
A31:
n <= n2
by A25, A28, A29;
n2 <= n
by A24, A30;
then
n = n2
by A31, XXREAL_0:1;
hence
g . a = (iter (f,n)) . a
by A19, A27, A28, FUNCT_4:13; verum