for k being Element of NAT
for p being autonomic FinPartState of SCM+FSA
for s1, s2 being State of SCM+FSA st IC in dom p & NPP p c= s1 & NPP (Relocated (p,k)) c= s2 holds
for P1, P2 being the Instructions of SCM+FSA -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 Th12;
hence
SCM+FSA is relocable1
by AMISTD_5:def 5; SCM+FSA is relocable2
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+FSA; 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+FSA; ( 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+FSA -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
( 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))
hence
for i being Element of NAT holds (Comput (P1,s1,i)) | (dom (DataPart p)) = (Comput (P2,s2,i)) | (dom (DataPart p))
by A1, Th12; verum