let p be autonomic FinPartState of SCM ; for k being Element of NAT st IC SCM in dom p holds
( p is halting iff Relocated p,k is halting )
let k be Element of NAT ; ( IC SCM in dom p implies ( p is halting iff Relocated p,k is halting ) )
assume A1:
IC SCM in dom p
; ( p is halting iff Relocated p,k is halting )
hereby ( Relocated p,k is halting implies p is halting )
assume A2:
p is
halting
;
Relocated p,k is halting thus
Relocated p,
k is
halting
verumproof
let t be
State of
SCM ;
AMI_1:def 26 ( not Relocated p,k c= t or ProgramPart t halts_on t )
assume A3:
Relocated p,
k c= t
;
ProgramPart t halts_on t
reconsider s =
t +* p as
State of
SCM ;
p c= t +* p
by FUNCT_4:26;
then
ProgramPart s halts_on s
by A2, AMI_1:def 26;
then consider u being
Element of
NAT such that A4:
CurInstr (ProgramPart (Comput (ProgramPart s),s,u)),
(Comput (ProgramPart s),s,u) = halt SCM
by AMI_1:146;
take
u
;
AMI_1:def 20 ( IC (Comput (ProgramPart t),t,u) in proj1 (ProgramPart t) & (ProgramPart t) /. (IC (Comput (ProgramPart t),t,u)) = halt SCM )
IC (Comput (ProgramPart t),t,u) in NAT
;
hence
IC (Comput (ProgramPart t),t,u) in dom (ProgramPart t)
by AMI_1:143;
(ProgramPart t) /. (IC (Comput (ProgramPart t),t,u)) = halt SCM
CurInstr (ProgramPart (Comput (ProgramPart t),t,u)),
(Comput (ProgramPart t),t,u) =
IncAddr (halt SCM ),
k
by A1, A3, A4, Th35, FUNCT_4:26
.=
halt SCM
by Def3, AMI_5:37
;
hence
(ProgramPart t) /. (IC (Comput (ProgramPart t),t,u)) = halt SCM
by AMI_1:145;
verum
end;
end;
assume A5:
Relocated p,k is halting
; p is halting
let t be State of SCM ; AMI_1:def 26 ( not p c= t or ProgramPart t halts_on t )
reconsider s = t +* (Relocated p,k) as State of SCM ;
Relocated p,k c= t +* (Relocated p,k)
by FUNCT_4:26;
then
ProgramPart s halts_on s
by A5, AMI_1:def 26;
then consider u being Element of NAT such that
A6:
CurInstr (ProgramPart (Comput (ProgramPart s),s,u)),(Comput (ProgramPart s),s,u) = halt SCM
by AMI_1:146;
assume A7:
p c= t
; ProgramPart t halts_on t
take
u
; AMI_1:def 20 ( IC (Comput (ProgramPart t),t,u) in proj1 (ProgramPart t) & (ProgramPart t) /. (IC (Comput (ProgramPart t),t,u)) = halt SCM )
IC (Comput (ProgramPart t),t,u) in NAT
;
hence
IC (Comput (ProgramPart t),t,u) in dom (ProgramPart t)
by AMI_1:143; (ProgramPart t) /. (IC (Comput (ProgramPart t),t,u)) = halt SCM
IncAddr (CurInstr (ProgramPart (Comput (ProgramPart t),t,u)),(Comput (ProgramPart t),t,u)),k = halt SCM
by A1, A7, A6, Th35, FUNCT_4:26;
then
CurInstr (ProgramPart (Comput (ProgramPart t),t,u)),(Comput (ProgramPart t),t,u) = halt SCM
by Th14, AMI_5:37;
hence
(ProgramPart t) /. (IC (Comput (ProgramPart t),t,u)) = halt SCM
by AMI_1:145; verum