let N be non empty with_non-empty_elements set ; for S being non empty stored-program halting IC-Ins-separated steady-programmed definite AMI-Struct of N
for s being State of S
for m being Element of NAT holds
( ProgramPart s halts_on s iff ProgramPart s halts_on Computation s,m )
let S be non empty stored-program halting IC-Ins-separated steady-programmed definite AMI-Struct of N; for s being State of S
for m being Element of NAT holds
( ProgramPart s halts_on s iff ProgramPart s halts_on Computation s,m )
let s be State of S; for m being Element of NAT holds
( ProgramPart s halts_on s iff ProgramPart s halts_on Computation s,m )
let m be Element of NAT ; ( ProgramPart s halts_on s iff ProgramPart s halts_on Computation s,m )
hereby ( ProgramPart s halts_on Computation s,m implies ProgramPart s halts_on s )
assume
ProgramPart s halts_on s
;
ProgramPart s halts_on Computation s,mthen consider n being
Element of
NAT such that W0:
IC (Computation s,n) in dom (ProgramPart s)
and W:
(ProgramPart s) . (IC (Computation s,n)) = halt S
by Def20;
A1:
CurInstr (Computation s,n) = halt S
by W, LmX;
per cases
( n <= m or n >= m )
;
suppose
n <= m
;
ProgramPart s halts_on Computation s,mthen A:
Computation s,
n =
Computation s,
(m + 0 )
by A1, Th52
.=
Computation (Computation s,m),
0
by Th51
;
ProgramPart (Computation s,m) = ProgramPart s
by LmY;
hence
ProgramPart s halts_on Computation s,
m
by Def20, W, W0, A;
verum end; end;
end;
given n being Element of NAT such that W1:
IC (Computation (Computation s,m),n) in dom (ProgramPart s)
and
W2:
(ProgramPart s) . (IC (Computation (Computation s,m),n)) = halt S
; AMI_1:def 20 ProgramPart s halts_on s
take
m + n
; AMI_1:def 20 ( IC (Computation s,(m + n)) in dom (ProgramPart s) & (ProgramPart s) . (IC (Computation s,(m + n))) = halt S )
ProgramPart (Computation s,m) = ProgramPart s
by LmY;
hence
( IC (Computation s,(m + n)) in dom (ProgramPart s) & (ProgramPart s) . (IC (Computation s,(m + n))) = halt S )
by W1, W2, Th51; verum