set M = L \/ {(intloc 0)};
defpred S1[ Element of omega ] means ( not intloc $1 in L & $1 <> 0 );
set sn = { k where k is Element of NAT : S1[k] } ;
A1:
{ k where k is Element of NAT : S1[k] } is Subset of NAT
from DOMAIN_1:sch 7();
not Int-Locations c= L \/ {(intloc 0)}
by AMI_3:27;
then consider x being object such that
A2:
x in Int-Locations
and
A3:
not x in L \/ {(intloc 0)}
;
reconsider x = x as Int-Location by A2, AMI_2:def 16;
consider k being Nat such that
A4:
x = intloc k
by SCMFSA_2:8;
reconsider k = k as Element of NAT by ORDINAL1:def 12;
not intloc k in {(intloc 0)}
by A3, A4, XBOOLE_0:def 3;
then A5:
k <> 0
by TARSKI:def 1;
not intloc k in L
by A3, A4, XBOOLE_0:def 3;
then
k in { k where k is Element of NAT : S1[k] }
by A5;
then reconsider sn = { k where k is Element of NAT : S1[k] } as non empty Subset of NAT by A1;
defpred S2[ Nat, Subset of NAT, Subset of NAT] means for N being non empty Subset of NAT st N = $2 holds
$3 = $2 \ {(min N)};
consider f being sequence of (bool NAT) such that
A7:
f . 0 = sn
and
A8:
for n being Nat holds S2[n,f . n,f . (n + 1)]
from RECDEF_1:sch 2(A6);
take
f
; ( f . 0 = { k where k is Element of NAT : ( not intloc k in L & k <> 0 ) } & ( for i being Nat
for sn being non empty Subset of NAT st f . i = sn holds
f . (i + 1) = sn \ {(min sn)} ) & ( for i being Nat holds f . i is infinite ) )
thus
f . 0 = { v where v is Element of NAT : ( not intloc v in L & v <> 0 ) }
by A7; ( ( for i being Nat
for sn being non empty Subset of NAT st f . i = sn holds
f . (i + 1) = sn \ {(min sn)} ) & ( for i being Nat holds f . i is infinite ) )
thus
for i being Nat
for sn being non empty Subset of NAT st f . i = sn holds
f . (i + 1) = sn \ {(min sn)}
by A8; for i being Nat holds f . i is infinite
defpred S3[ Nat] means f . $1 is infinite ;
A9:
S3[ 0 ]
A15:
for n being Nat st S3[n] holds
S3[n + 1]
thus
for n being Nat holds S3[n]
from NAT_1:sch 2(A9, A15); verum