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; :: thesis: SCM+FSA is relocable2
let k be Element of NAT ; :: according to AMISTD_5:def 6 :: thesis: 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; :: thesis: 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; :: thesis: ( 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 ) ; :: thesis: 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 ; :: thesis: ( 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 ) ; :: thesis: 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; :: thesis: verum