reserve k for Nat;
reserve N for with_zero set,
   S for IC-recognized
    halting IC-Ins-separated
  non empty with_non-empty_values AMI-Struct over N;
reserve
   S for IC-recognized CurIns-recognized
    halting IC-Ins-separated
  non empty with_non-empty_values AMI-Struct over N;
reserve S for relocable IC-recognized CurIns-recognized
     halting IC-Ins-separated
  non empty with_non-empty_values AMI-Struct over N;

theorem Th9:
  for k being Nat
 for q be non halt-free finite
  (the InstructionsF of S)-valued NAT-defined Function
  for p being q-autonomic FinPartState of S st IC S in dom p
  for s being State of S st IncIC(p,k) c= s holds
  for P being Instruction-Sequence of S
   st Reloc(q,k) c= P
  for i being Nat holds  Comput(P,s,i) =
     IncIC(Comput(P+*q,s+* p,i),k)
proof
  let k be Nat;
 let q be non halt-free finite
  (the InstructionsF of S)-valued NAT-defined Function;
  let p be q-autonomic FinPartState of S such that
A1: IC S in dom p;
  let s be State of S such that
A2: IncIC(p,k) c= s;
  let P be Instruction-Sequence of S such that
A3: Reloc(q,k) c= P;
  defpred Z[Nat] means  Comput(P,s,$1) =
    IncIC(Comput(P+*q,s+* p,$1),k);
A4: for i being Nat st Z[i] holds Z[i+1]
  proof
    let i be Nat such that
A5:  Comput(P,s,i) =
      IncIC(Comput(P+*q,s+* p,i),k);
    reconsider kk = IC Comput(P+*q,s+* p,i) as Nat;
A6: IC S in dom (Start-At (IC Comput(P+*q,s+* p,i) +k,S)) by TARSKI:def 1;
A7:  p c= s+* p by FUNCT_4:25;
A8: q c= P+*q by FUNCT_4:25;
    p is not empty by A1;
    then
A9: IC Comput(P+*q,s+* p,i) in dom q by Def4,A7,A8;
    then
A10: IC Comput(P+*q,s+* p,i) in dom IncAddr(q,k) by COMPOS_1:def 21;
A11: (IC Comput(P+*q,s+* p,i) +k) in dom Reloc(q,k)
              by A9,COMPOS_1:46;
    reconsider kk = (IC Comput(P+*q,s+* p,i)) as Nat;
A12:  IC Comput(P,s,i)
       = IC(Start-At (IC Comput(P+*q,s+* p,i) +k,S)) by A5,A6,FUNCT_4:13
      .= IC Comput(P+*q,s+* p,i) + k by FUNCOP_1:72;
A13: q c= P+*q by FUNCT_4:25;
A14: (q)/.kk = (q).kk by A9,PARTFUN1:def 6;
A15:  dom(P+*q) = NAT by PARTFUN1:def 2;
    dom P = NAT by PARTFUN1:def 2;
    then
A16: CurInstr(P,Comput(P,s,i))
     = P.IC Comput(P,s,i) by PARTFUN1:def 6
    .= Reloc(q,k).IC Comput(P,s,i) by A3,A11,A12,GRFUNC_1:2
      .= IncAddr(q,k).kk by A10,A12,VALUED_1:def 12
      .= IncAddr((q)/.kk,k) by A9,COMPOS_1:def 21
      .= IncAddr(
          (P+*q).IC Comput(P+*q,s+* p,i)
          ,k) by A9,A14,A13,GRFUNC_1:2
      .= IncAddr(
          CurInstr(P+*q,Comput(P+*q,s+* p,i))
          ,k) by A15,PARTFUN1:def 6;
    thus  Comput(P,s,i+1)
       =  Following(P,Comput(P,s,i)) by EXTPRO_1:3
      .=  IncIC(Following(P+*q,
         Comput(P+*q,s+* p,i)),k) by A5,A16,Th4
      .=  IncIC(Comput(P+*q,s+* p,i+1),k) by EXTPRO_1:3;
  end;
  set IP = Start-At (IC p,S);
A17: dom Start-At(IC p,S) = {IC S};
A18: Start-At (IC p + k,S) c= IncIC(p,k) by MEMSTR_0:55;
A19: IC Comput(P+*q,s+* p,0) = IC p by A1,FUNCT_4:13;
  set DP = DataPart p;
  DataPart IncIC(p,k) c= IncIC(p,k) by RELAT_1:59;
  then DataPart IncIC(p,k) c= s by A2,XBOOLE_1:1;
  then
A20: DataPart p c= s by MEMSTR_0:51;
  set PR = Reloc(q,k);
  set IS = Start-At (IC Comput(P+*q,s+* p,0) +k,S);
A21: dom Start-At (IC Comput(P+*q,s+* p,0) +k,S) = {IC S};
  Comput(P,s,0)
     = s +* IS by A19,A2,A18,FUNCT_4:98,XBOOLE_1:1
    .= s +* DP +* IS by A20,FUNCT_4:98
    .= s+* DP +* IP +* IS by A21,A17,FUNCT_4:74
    .= s +*(DP +* IP) +* IS by FUNCT_4:14
    .= IncIC(Comput(P+*q,s+* p,0),k) by A1,MEMSTR_0:26;
  then
A22: Z[0];
  thus for i being Nat holds Z[i] from NAT_1:sch 2 (A22,A4 );
end;
