defpred S1[ Nat] means CurInstr (ProgramPart (Comput (ProgramPart s),s,$1)),(Comput (ProgramPart s),s,$1) = halt S;
consider k being Element of NAT such that
IC (Comput (ProgramPart s),s,k) in dom (ProgramPart s)
and
W:
(ProgramPart s) /. (IC (Comput (ProgramPart s),s,k)) = halt S
by A1, Def20;
(ProgramPart s) /. (IC (Comput (ProgramPart s),s,k)) = CurInstr (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k)
by LmX;
then A2:
ex k being Nat st S1[k]
by W;
consider k being Nat such that
A3:
( S1[k] & ( for n being Nat st S1[n] holds
k <= n ) )
from NAT_1:sch 5(A2);
reconsider k = k as Element of NAT by ORDINAL1:def 13;
take
k
; ( CurInstr (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k) = halt S & ( for k being Element of NAT st CurInstr (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k) = halt S holds
k <= k ) )
thus
( CurInstr (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k) = halt S & ( for k being Element of NAT st CurInstr (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k) = halt S holds
k <= k ) )
by A3; verum