thus
SCM is relocable1
SCM is relocable2 proof
thus
for
k being
Element of
NAT for
p being
autonomic FinPartState of
SCM for
s1,
s2 being
State of
SCM st
IC in dom p &
NPP p c= s1 &
NPP (Relocated (p,k)) c= s2 holds
for
P1,
P2 being the
Instructions of
SCM -valued ManySortedSet of
NAT st
ProgramPart p c= P1 &
Reloc (
(ProgramPart p),
k)
c= P2 holds
for
i being
Element of
NAT holds
IncAddr (
(CurInstr (P1,(Comput (P1,s1,i)))),
k)
= CurInstr (
P2,
(Comput (P2,s2,i)))
by Lm1;
AMISTD_5:def 5 verum
end;
let k be Element of NAT ; AMISTD_5:def 6 for b1 being set
for b2, b3 being set holds
( not IC in proj1 b1 or not NPP b1 c= b2 or not NPP (Relocated (b1,k)) c= b3 or for b4, b5 being set holds
( not ProgramPart b1 c= b4 or not Reloc ((ProgramPart b1),k) c= b5 or for b6 being Element of NAT holds (Comput (b4,b2,b6)) | (proj1 (DataPart b1)) = (Comput (b5,b3,b6)) | (proj1 (DataPart b1)) ) )
let p be autonomic FinPartState of SCM; for b1, b2 being set holds
( not IC in proj1 p or not NPP p c= b1 or not NPP (Relocated (p,k)) c= b2 or for b3, b4 being set holds
( not ProgramPart p c= b3 or not Reloc ((ProgramPart p),k) c= b4 or for b5 being Element of NAT holds (Comput (b3,b1,b5)) | (proj1 (DataPart p)) = (Comput (b4,b2,b5)) | (proj1 (DataPart p)) ) )
let s1, s2 be State of SCM; ( not IC in proj1 p or not NPP p c= s1 or not NPP (Relocated (p,k)) c= s2 or for b1, b2 being set holds
( not ProgramPart p c= b1 or not Reloc ((ProgramPart p),k) c= b2 or for b3 being Element of NAT holds (Comput (b1,s1,b3)) | (proj1 (DataPart p)) = (Comput (b2,s2,b3)) | (proj1 (DataPart p)) ) )
assume A1:
( IC in dom p & NPP p c= s1 & NPP (Relocated (p,k)) c= s2 )
; for b1, b2 being set holds
( not ProgramPart p c= b1 or not Reloc ((ProgramPart p),k) c= b2 or for b3 being Element of NAT holds (Comput (b1,s1,b3)) | (proj1 (DataPart p)) = (Comput (b2,s2,b3)) | (proj1 (DataPart p)) )
let P1, P2 be the Instructions of SCM -valued ManySortedSet of NAT ; ( not ProgramPart p c= P1 or not Reloc ((ProgramPart p),k) c= P2 or for b1 being Element of NAT holds (Comput (P1,s1,b1)) | (proj1 (DataPart p)) = (Comput (P2,s2,b1)) | (proj1 (DataPart p)) )
assume A2:
( ProgramPart p c= P1 & Reloc ((ProgramPart p),k) c= P2 )
; for b1 being Element of NAT holds (Comput (P1,s1,b1)) | (proj1 (DataPart p)) = (Comput (P2,s2,b1)) | (proj1 (DataPart p))
thus
for i being Element of NAT holds (Comput (P1,s1,i)) | (dom (DataPart p)) = (Comput (P2,s2,i)) | (dom (DataPart p))
by A1, Lm1, A2; verum