let p be autonomic FinPartState of SCM+FSA ; for k being Element of NAT st IC SCM+FSA in dom p holds
( p is halting iff Relocated p,k is halting )
let k be Element of NAT ; ( IC SCM+FSA in dom p implies ( p is halting iff Relocated p,k is halting ) )
assume A2:
IC SCM+FSA in dom p
; ( p is halting iff Relocated p,k is halting )
hereby ( Relocated p,k is halting implies p is halting )
assume A3:
p is
halting
;
Relocated p,k is halting thus
Relocated p,
k is
halting
verumproof
let t be
State of
SCM+FSA ;
AMI_1:def 26 ( not Relocated p,k c= t or ProgramPart t halts_on t )
assume A4:
Relocated p,
k c= t
;
ProgramPart t halts_on t
reconsider s =
t +* p as
State of
SCM+FSA ;
A5:
p c= t +* p
by FUNCT_4:26;
then
ProgramPart s halts_on s
by A3, AMI_1:def 26;
then consider u being
Element of
NAT such that A6:
CurInstr (ProgramPart s),
(Comput (ProgramPart s),s,u) = halt SCM+FSA
by AMI_1:146;
take
u
;
AMI_1:def 20 ( IC (Comput (ProgramPart t),t,u) in proj1 (ProgramPart t) & CurInstr (ProgramPart t),(Comput (ProgramPart t),t,u) = halt SCM+FSA )
IC (Comput (ProgramPart t),t,u) in NAT
;
hence
IC (Comput (ProgramPart t),t,u) in dom (ProgramPart t)
by COMPOS_1:34;
CurInstr (ProgramPart t),(Comput (ProgramPart t),t,u) = halt SCM+FSA
CurInstr (ProgramPart t),
(Comput (ProgramPart t),t,u) =
IncAddr (halt SCM+FSA ),
k
by A2, A4, A5, A6, Th12
.=
halt SCM+FSA
by SCMFSA_4:8
;
hence
CurInstr (ProgramPart t),
(Comput (ProgramPart t),t,u) = halt SCM+FSA
;
verum
reconsider s3 =
s +* (DataPart t) as
State of
SCM+FSA ;
end;
end;
assume A7:
Relocated p,k is halting
; p is halting
let t be State of SCM+FSA ; AMI_1:def 26 ( not p c= t or ProgramPart t halts_on t )
reconsider s = t +* (Relocated p,k) as State of SCM+FSA ;
A8:
Relocated p,k c= t +* (Relocated p,k)
by FUNCT_4:26;
then
ProgramPart s halts_on s
by A7, AMI_1:def 26;
then consider u being Element of NAT such that
A9:
CurInstr (ProgramPart s),(Comput (ProgramPart s),s,u) = halt SCM+FSA
by AMI_1:146;
assume
p c= t
; ProgramPart t halts_on t
then
IncAddr (CurInstr (ProgramPart t),(Comput (ProgramPart t),t,u)),k = halt SCM+FSA
by A2, A8, A9, Th12;
then B10:
IncAddr (CurInstr (ProgramPart t),(Comput (ProgramPart t),t,u)),k = IncAddr (halt SCM+FSA ),k
by AMISTD_2:30;
take
u
; AMI_1:def 20 ( IC (Comput (ProgramPart t),t,u) in proj1 (ProgramPart t) & CurInstr (ProgramPart t),(Comput (ProgramPart t),t,u) = halt SCM+FSA )
IC (Comput (ProgramPart t),t,u) in NAT
;
hence
IC (Comput (ProgramPart t),t,u) in dom (ProgramPart t)
by COMPOS_1:34; CurInstr (ProgramPart t),(Comput (ProgramPart t),t,u) = halt SCM+FSA
thus
CurInstr (ProgramPart t),(Comput (ProgramPart t),t,u) = halt SCM+FSA
by B10, AMISTD_2:34; verum