let N be non empty with_non-empty_elements set ; :: thesis: for S being non empty stored-program halting IC-Ins-separated steady-programmed definite AMI-Struct of N
for s being State of S holds
( ProgramPart s halts_on s iff ex k being Element of NAT st CurInstr (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k) = halt S )

let S be non empty stored-program halting IC-Ins-separated steady-programmed definite AMI-Struct of N; :: thesis: for s being State of S holds
( ProgramPart s halts_on s iff ex k being Element of NAT st CurInstr (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k) = halt S )

let s be State of S; :: thesis: ( ProgramPart s halts_on s iff ex k being Element of NAT st CurInstr (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k) = halt S )
thus ( ProgramPart s halts_on s implies ex k being Element of NAT st CurInstr (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k) = halt S ) :: thesis: ( ex k being Element of NAT st CurInstr (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k) = halt S implies ProgramPart s halts_on s )
proof
given k being Element of NAT such that IC (Comput (ProgramPart s),s,k) in dom (ProgramPart s) and
G2: (ProgramPart s) /. (IC (Comput (ProgramPart s),s,k)) = halt S ; :: according to AMI_1:def 20 :: thesis: ex k being Element of NAT st CurInstr (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k) = halt S
take k ; :: thesis: CurInstr (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k) = halt S
thus CurInstr (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k) = halt S by G2, LmX; :: thesis: verum
end;
given k being Element of NAT such that G: CurInstr (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k) = halt S ; :: thesis: ProgramPart s halts_on s
take k ; :: according to AMI_1:def 20 :: thesis: ( IC (Comput (ProgramPart s),s,k) in dom (ProgramPart s) & (ProgramPart s) /. (IC (Comput (ProgramPart s),s,k)) = halt S )
IC (Comput (ProgramPart s),s,k) in NAT ;
hence IC (Comput (ProgramPart s),s,k) in dom (ProgramPart s) by LmU; :: thesis: (ProgramPart s) /. (IC (Comput (ProgramPart s),s,k)) = halt S
thus (ProgramPart s) /. (IC (Comput (ProgramPart s),s,k)) = halt S by G, LmX; :: thesis: verum