theorem
for
P being
Instruction-Sequence of
SCMPDS for
s being
0 -started State of
SCMPDS for
I being
halt-free shiftable Program of
SCMPDS for
a being
Int_position for
i,
c being
Integer for
X being
set st ( for
x being
Int_position st
x in X holds
s . x >= c + (s . (DataLoc ((s . a),i))) ) & ( for
t being
0 -started State of
SCMPDS for
Q being
Instruction-Sequence of
SCMPDS st ( for
x being
Int_position st
x in X holds
t . x >= c + (t . (DataLoc ((s . a),i))) ) &
t . a = s . a &
t . (DataLoc ((s . a),i)) > 0 holds
(
(IExec (I,Q,t)) . a = t . a &
I is_closed_on t,
Q &
I is_halting_on t,
Q &
(IExec (I,Q,t)) . (DataLoc ((s . a),i)) < t . (DataLoc ((s . a),i)) & ( for
x being
Int_position st
x in X holds
(IExec (I,Q,t)) . x >= c + ((IExec (I,Q,t)) . (DataLoc ((s . a),i))) ) ) ) holds
(
while>0 (
a,
i,
I)
is_closed_on s,
P &
while>0 (
a,
i,
I)
is_halting_on s,
P & (
s . (DataLoc ((s . a),i)) > 0 implies
IExec (
(while>0 (a,i,I)),
P,
s)
= IExec (
(while>0 (a,i,I)),
P,
(Initialize (IExec (I,P,s)))) ) )