let N be non empty with_non-empty_elements set ; 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 IncIC (p,k) c= s holds
for P being Instruction-Sequence of S st Reloc (q,k) c= P holds
for i being Element of NAT holds Comput (P,s,i) = IncIC ((Comput ((P +* q),(s +* p),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; ( 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 IncIC (p,k) c= s holds
for P being Instruction-Sequence of S st Reloc (q,k) c= P holds
for i being Element of NAT holds Comput (P,s,i) = IncIC ((Comput ((P +* q),(s +* p),i)),k) )
assume A1:
S is CurIns-recognized
; 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 IncIC (p,k) c= s holds
for P being Instruction-Sequence of S st Reloc (q,k) c= P holds
for i being Element of NAT holds Comput (P,s,i) = IncIC ((Comput ((P +* q),(s +* p),i)),k)
let k be Element of NAT ; 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 IncIC (p,k) c= s holds
for P being Instruction-Sequence of S st Reloc (q,k) c= P holds
for i being Element of NAT holds Comput (P,s,i) = IncIC ((Comput ((P +* q),(s +* p),i)),k)
let q be NAT -defined the Instructions of S -valued finite non halt-free Function; for p being q -autonomic FinPartState of S st IC in dom p holds
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 holds
for i being Element of NAT holds Comput (P,s,i) = IncIC ((Comput ((P +* q),(s +* p),i)),k)
let p be q -autonomic FinPartState of S; ( IC in dom p implies 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 holds
for i being Element of NAT holds Comput (P,s,i) = IncIC ((Comput ((P +* q),(s +* p),i)),k) )
assume A2:
IC 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 holds
for i being Element of NAT holds Comput (P,s,i) = IncIC ((Comput ((P +* q),(s +* p),i)),k)
B2:
IC in dom p
by A2;
let s be State of S; ( IncIC (p,k) c= s implies for P being Instruction-Sequence of S st Reloc (q,k) c= P holds
for i being Element of NAT holds Comput (P,s,i) = IncIC ((Comput ((P +* q),(s +* p),i)),k) )
assume A4:
IncIC (p,k) c= s
; for P being Instruction-Sequence of S st Reloc (q,k) c= P holds
for i being Element of NAT holds Comput (P,s,i) = IncIC ((Comput ((P +* q),(s +* p),i)),k)
let P be Instruction-Sequence of S; ( Reloc (q,k) c= P implies for i being Element of NAT holds Comput (P,s,i) = IncIC ((Comput ((P +* q),(s +* p),i)),k) )
assume A5:
Reloc (q,k) c= P
; for i being Element of NAT holds Comput (P,s,i) = IncIC ((Comput ((P +* q),(s +* p),i)),k)
defpred S1[ Element of NAT ] means Comput (P,s,$1) = IncIC ((Comput ((P +* q),(s +* p),$1)),k);
A6:
for i being Element of NAT st S1[i] holds
S1[i + 1]
proof
let i be
Element of
NAT ;
( S1[i] implies S1[i + 1] )
assume A7:
Comput (
P,
s,
i)
= IncIC (
(Comput ((P +* q),(s +* p),i)),
k)
;
S1[i + 1]
reconsider kk =
IC (Comput ((P +* q),(s +* p),i)) as
Element of
NAT ;
dom (Start-At (((IC (Comput ((P +* q),(s +* p),i))) + k),S)) = {(IC )}
by FUNCOP_1:13;
then A8:
IC in dom (Start-At (((IC (Comput ((P +* q),(s +* p),i))) + k),S))
by TARSKI:def 1;
A10:
p c= s +* p
by FUNCT_4:25;
A11:
q c= P +* q
by FUNCT_4:25;
not
p is
empty
by A2;
then A12:
IC (Comput ((P +* q),(s +* p),i)) in dom q
by A1, Def4, A10, A11;
then A13:
IC (Comput ((P +* q),(s +* p),i)) in dom (IncAddr (q,k))
by COMPOS_1:def 19;
A14:
(IC (Comput ((P +* q),(s +* p),i))) + k in dom (Reloc (q,k))
by A12, COMPOS_1:46;
reconsider kk =
IC (Comput ((P +* q),(s +* p),i)) as
Element of
NAT ;
A15:
IC (Comput (P,s,i)) =
IC (Comput (P,s,i))
.=
IC (IncIC ((Comput ((P +* q),(s +* p),i)),k))
by A7
.=
IC (Start-At (((IC (Comput ((P +* q),(s +* p),i))) + k),S))
by A8, FUNCT_4:13
.=
(IC (Comput ((P +* q),(s +* p),i))) + k
by FUNCOP_1:72
;
A16:
q c= P +* q
by FUNCT_4:25;
A17:
q /. kk = q . kk
by A12, PARTFUN1:def 6;
A18:
dom (P +* q) = NAT
by PARTFUN1:def 2;
dom P = NAT
by PARTFUN1:def 2;
then A19:
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 A5, A14, A15, GRFUNC_1:2
.=
(Shift ((IncAddr (q,k)),k)) . ((IC (Comput ((P +* q),(s +* p),i))) + k)
by A15, COMPOS_1:34
.=
(IncAddr (q,k)) . kk
by A13, VALUED_1:def 12
.=
IncAddr (
(q /. kk),
k)
by A12, COMPOS_1:def 19
.=
IncAddr (
((P +* q) . (IC (Comput ((P +* q),(s +* p),i)))),
k)
by A12, A17, A16, GRFUNC_1:2
.=
IncAddr (
(CurInstr ((P +* q),(Comput ((P +* q),(s +* p),i)))),
k)
by A18, PARTFUN1:def 6
;
thus Comput (
P,
s,
(i + 1)) =
Following (
P,
(Comput (P,s,i)))
by EXTPRO_1:3
.=
Exec (
(IncAddr ((CurInstr ((P +* q),(Comput ((P +* q),(s +* p),i)))),k)),
(IncIC ((Comput ((P +* q),(s +* p),i)),k)))
by A7, A19
.=
IncIC (
(Following ((P +* q),(Comput ((P +* q),(s +* p),i)))),
k)
by Th4
.=
IncIC (
(Comput ((P +* q),(s +* p),(i + 1))),
k)
by EXTPRO_1:3
;
verum
end;
set IP = Start-At ((IC p),S);
A21:
dom (Start-At ((IC p),S)) = {(IC )}
by FUNCOP_1:13;
B22:
Start-At (((IC p) + k),S) c= IncIC (p,k)
by MEMSTR_0:55;
B23: IC (Comput ((P +* q),(s +* p),0)) =
(s +* p) . (IC )
by EXTPRO_1:2
.=
IC p
by B2, FUNCT_4:13
.=
IC p
;
set DP = DataPart p;
DataPart (IncIC (p,k)) c= IncIC (p,k)
by RELAT_1:59;
then
DataPart (IncIC (p,k)) c= s
by A4, XBOOLE_1:1;
then A29:
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);
A30:
dom (Start-At (((IC (Comput ((P +* q),(s +* p),0))) + k),S)) = {(IC )}
by FUNCOP_1:13;
Comput (P,s,0) =
s
by EXTPRO_1:2
.=
s +* (Start-At (((IC (Comput ((P +* q),(s +* p),0))) + k),S))
by B23, A4, B22, FUNCT_4:98, XBOOLE_1:1
.=
(s +* (DataPart p)) +* (Start-At (((IC (Comput ((P +* q),(s +* p),0))) + k),S))
by A29, FUNCT_4:98
.=
((s +* (DataPart p)) +* (Start-At ((IC p),S))) +* (Start-At (((IC (Comput ((P +* q),(s +* p),0))) + k),S))
by A30, A21, FUNCT_4:74
.=
(s +* ((DataPart p) +* (Start-At ((IC p),S)))) +* (Start-At (((IC (Comput ((P +* q),(s +* p),0))) + k),S))
by FUNCT_4:14
.=
(s +* p) +* (Start-At (((IC (Comput ((P +* q),(s +* p),0))) + k),S))
by A2, MEMSTR_0:26
.=
IncIC ((Comput ((P +* q),(s +* p),0)),k)
by EXTPRO_1:2
;
then A31:
S1[ 0 ]
;
thus
for i being Element of NAT holds S1[i]
from NAT_1:sch 1(A31, A6); verum