let p be autonomic FinPartState of SCM ; :: thesis: 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 ; :: thesis: ( IC SCM in dom p implies ( p is halting iff Relocated p,k is halting ) )
assume A1: IC SCM in dom p ; :: thesis: ( p is halting iff Relocated p,k is halting )
hereby :: thesis: ( Relocated p,k is halting implies p is halting )
assume A2: p is halting ; :: thesis: Relocated p,k is halting
thus Relocated p,k is halting :: thesis: verum
proof
let t be State of SCM ; :: according to AMI_1:def 26 :: thesis: ( not Relocated p,k c= t or ProgramPart t halts_on t )
assume A3: Relocated p,k c= t ; :: thesis: 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 ; :: according to AMI_1:def 20 :: thesis: ( 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; :: thesis: (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; :: thesis: verum
end;
end;
assume A5: Relocated p,k is halting ; :: thesis: p is halting
let t be State of SCM ; :: according to AMI_1:def 26 :: thesis: ( 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 ; :: thesis: ProgramPart t halts_on t
take u ; :: according to AMI_1:def 20 :: thesis: ( 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; :: thesis: (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; :: thesis: verum