let N be non empty with_non-empty_elements set ; :: thesis: for S being standard-ins homogeneous regular J/A-independent proper-halt non empty IC-Ins-separated halting relocable IC-recognized AMI-Struct of N st S is CurIns-recognized holds
for k being Element of NAT
for q being NAT -defined the Instructions of b1 -valued finite non halt-free Function
for p being b3 -autonomic FinPartState of S st IC in dom p holds
for s being State of S st p c= s holds
for P being Instruction-Sequence of S st q c= P holds
for i being Element of NAT holds Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i) = IncIC ((Comput (P,s,i)),k)

let S be standard-ins homogeneous regular J/A-independent proper-halt non empty IC-Ins-separated halting relocable IC-recognized AMI-Struct of N; :: thesis: ( S is CurIns-recognized implies for k being Element of NAT
for q being NAT -defined the Instructions of S -valued finite non halt-free Function
for p being b2 -autonomic FinPartState of S st IC in dom p holds
for s being State of S st p c= s holds
for P being Instruction-Sequence of S st q c= P holds
for i being Element of NAT holds Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i) = IncIC ((Comput (P,s,i)),k) )

assume A1: S is CurIns-recognized ; :: thesis: for k being Element of NAT
for q being NAT -defined the Instructions of S -valued finite non halt-free Function
for p being b2 -autonomic FinPartState of S st IC in dom p holds
for s being State of S st p c= s holds
for P being Instruction-Sequence of S st q c= P holds
for i being Element of NAT holds Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i) = IncIC ((Comput (P,s,i)),k)

let k be Element of NAT ; :: thesis: for q being NAT -defined the Instructions of S -valued finite non halt-free Function
for p being b1 -autonomic FinPartState of S st IC in dom p holds
for s being State of S st p c= s holds
for P being Instruction-Sequence of S st q c= P holds
for i being Element of NAT holds Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i) = IncIC ((Comput (P,s,i)),k)

let q be NAT -defined the Instructions of S -valued finite non halt-free Function; :: thesis: for p being q -autonomic FinPartState of S st IC in dom p holds
for s being State of S st p c= s holds
for P being Instruction-Sequence of S st q c= P holds
for i being Element of NAT holds Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i) = IncIC ((Comput (P,s,i)),k)

let p be q -autonomic FinPartState of S; :: thesis: ( IC in dom p implies for s being State of S st p c= s holds
for P being Instruction-Sequence of S st q c= P holds
for i being Element of NAT holds Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i) = IncIC ((Comput (P,s,i)),k) )

assume A2: IC in dom p ; :: thesis: for s being State of S st p c= s holds
for P being Instruction-Sequence of S st q c= P holds
for i being Element of NAT holds Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i) = IncIC ((Comput (P,s,i)),k)

B2: IC in dom p by A2;
let s be State of S; :: thesis: ( p c= s implies for P being Instruction-Sequence of S st q c= P holds
for i being Element of NAT holds Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i) = IncIC ((Comput (P,s,i)),k) )

assume A4: p c= s ; :: thesis: for P being Instruction-Sequence of S st q c= P holds
for i being Element of NAT holds Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i) = IncIC ((Comput (P,s,i)),k)

let P be Instruction-Sequence of S; :: thesis: ( q c= P implies for i being Element of NAT holds Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i) = IncIC ((Comput (P,s,i)),k) )
assume A5: q c= P ; :: thesis: for i being Element of NAT holds Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i) = IncIC ((Comput (P,s,i)),k)
defpred S1[ Element of NAT ] means Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),$1) = IncIC ((Comput (P,s,$1)),k);
A6: for i being Element of NAT st S1[i] holds
S1[i + 1]
proof
let i be Element of NAT ; :: thesis: ( S1[i] implies S1[i + 1] )
assume A7: Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i) = IncIC ((Comput (P,s,i)),k) ; :: thesis: S1[i + 1]
reconsider kk = IC (Comput (P,s,i)) as Element of NAT ;
dom (Start-At (((IC (Comput (P,s,i))) + k),S)) = {(IC )} by FUNCOP_1:13;
then A8: IC in dom (Start-At (((IC (Comput (P,s,i))) + k),S)) by TARSKI:def 1;
A9: IC (IncIC ((Comput (P,s,i)),k)) = IC (Start-At (((IC (Comput (P,s,i))) + k),S)) by A8, FUNCT_4:13
.= (IC (Comput (P,s,i))) + k by FUNCOP_1:72 ;
not p is empty by A2;
then A11: IC (Comput (P,s,i)) in dom q by A5, Def4, A1, A4;
then A12: IC (Comput (P,s,i)) in dom (IncAddr (q,k)) by COMPOS_1:def 19;
A17: q /. kk = q . (IC (Comput (P,s,i))) by A11, PARTFUN1:def 6
.= P . (IC (Comput (P,s,i))) by A11, A5, GRFUNC_1:2 ;
reconsider kk = IC (Comput (P,s,i)) as Element of NAT ;
XX: (IC (Comput (P,s,i))) + k in dom (Reloc (q,k)) by A11, COMPOS_1:46;
A18: CurInstr ((P +* (Reloc (q,k))),(Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i))) = (P +* (Reloc (q,k))) . (IC (Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i))) by PBOOLE:143
.= (Reloc (q,k)) . ((IC (Comput (P,s,i))) + k) by A7, A9, XX, FUNCT_4:13
.= (Shift ((IncAddr (q,k)),k)) . ((IC (Comput (P,s,i))) + k) by COMPOS_1:34
.= (IncAddr (q,k)) . kk by A12, VALUED_1:def 12
.= IncAddr ((q /. kk),k) by A11, COMPOS_1:def 19
.= IncAddr ((CurInstr (P,(Comput (P,s,i)))),k) by A17, PBOOLE:143 ;
thus Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),(i + 1)) = Following ((P +* (Reloc (q,k))),(Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),i))) by EXTPRO_1:3
.= Exec ((IncAddr ((CurInstr (P,(Comput (P,s,i)))),k)),(IncIC ((Comput (P,s,i)),k))) by A7, A18
.= IncIC ((Following (P,(Comput (P,s,i)))),k) by Th4
.= IncIC ((Comput (P,s,(i + 1))),k) by EXTPRO_1:3 ; :: thesis: verum
end;
A20: Comput (P,s,0) = s by EXTPRO_1:2;
A21: IC p = IC p
.= IC s by A4, B2, GRFUNC_1:2 ;
B22: DataPart p c= p by MEMSTR_0:12;
Comput ((P +* (Reloc (q,k))),(s +* (IncIC (p,k))),0) = s +* (IncIC (p,k)) by EXTPRO_1:2
.= s +* (IncIC (p,k))
.= s +* ((DataPart p) +* (Start-At (((IC p) + k),S))) by A2, MEMSTR_0:56
.= (s +* (DataPart p)) +* (Start-At (((IC p) + k),S)) by FUNCT_4:14
.= IncIC ((Comput (P,s,0)),k) by A21, B22, A20, A4, FUNCT_4:98, XBOOLE_1:1 ;
then A23: S1[ 0 ] ;
thus for i being Element of NAT holds S1[i] from NAT_1:sch 1(A23, A6); :: thesis: verum