:: SCMPDS_8 semantic presentation
:: Showing IDV graph ... (Click the Palm Trees again to close it)
set A = the Instruction-Locations of SCMPDS ;
set D = SCM-Data-Loc ;
theorem Th1: :: SCMPDS_8:1
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: deftheorem Def1 defines Dstate SCMPDS_8:def 1 :
theorem Th2: :: SCMPDS_8:2
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th3: :: SCMPDS_8:3
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th4: :: SCMPDS_8:4
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th5: :: SCMPDS_8:5
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: deftheorem defines while<0 SCMPDS_8:def 2 :
theorem Th6: :: SCMPDS_8:6
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
Lm1:
for a being Int_position
for i being Integer
for I being Program-block holds card (stop (while<0 a,i,I)) = (card I) + 3
theorem Th7: :: SCMPDS_8:7
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th8: :: SCMPDS_8:8
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
Lm2:
for a being Int_position
for i being Integer
for I being Program-block holds while<0 a,i,I = (a,i >=0_goto ((card I) + 2)) ';' (I ';' (goto (- ((card I) + 1))))
by SCMPDS_4:51;
theorem Th9: :: SCMPDS_8:9
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th10: :: SCMPDS_8:10
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMPDS_8:11
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMPDS_8:12
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
Lm3:
for I being Program-block
for a being Int_position
for i being Integer holds Shift I,1 c= while<0 a,i,I
theorem :: SCMPDS_8:13
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCMPDS for
I being
shiftable No-StopCode Program-block for
a being
Int_position for
i being
Integer for
X being
set for
f being
Function of
product the
Object-Kind of
SCMPDS ,
NAT st
card I > 0 & ( for
t being
State of
SCMPDS st
f . (Dstate t) = 0 holds
t . (DataLoc (s . a),i) >= 0 ) & ( for
t being
State of
SCMPDS st ( for
x being
Int_position st
x in X holds
t . x = s . x ) &
t . a = s . a &
t . (DataLoc (s . a),i) < 0 holds
(
(IExec I,t) . a = t . a &
f . (Dstate (IExec I,t)) < f . (Dstate t) &
I is_closed_on t &
I is_halting_on t & ( for
x being
Int_position st
x in X holds
(IExec I,t) . x = t . x ) ) ) holds
(
while<0 a,
i,
I is_closed_on s &
while<0 a,
i,
I is_halting_on s )
theorem :: SCMPDS_8:14
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCMPDS for
I being
shiftable No-StopCode Program-block for
a being
Int_position for
i being
Integer for
X being
set for
f being
Function of
product the
Object-Kind of
SCMPDS ,
NAT st
card I > 0 &
s . (DataLoc (s . a),i) < 0 & ( for
t being
State of
SCMPDS st
f . (Dstate t) = 0 holds
t . (DataLoc (s . a),i) >= 0 ) & ( for
t being
State of
SCMPDS st ( for
x being
Int_position st
x in X holds
t . x = s . x ) &
t . a = s . a &
t . (DataLoc (s . a),i) < 0 holds
(
(IExec I,t) . a = t . a &
I is_closed_on t &
I is_halting_on t &
f . (Dstate (IExec I,t)) < f . (Dstate t) & ( for
x being
Int_position st
x in X holds
(IExec I,t) . x = t . x ) ) ) holds
IExec (while<0 a,i,I),
s = IExec (while<0 a,i,I),
(IExec I,s)
theorem Th15: :: SCMPDS_8:15
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCMPDS for
I being
shiftable No-StopCode Program-block for
a being
Int_position for
i being
Integer for
X being
set st
card I > 0 & ( for
t being
State of
SCMPDS st ( for
x being
Int_position st
x in X holds
t . x = s . x ) &
t . a = s . a &
t . (DataLoc (s . a),i) < 0 holds
(
(IExec I,t) . a = t . a &
(IExec I,t) . (DataLoc (s . a),i) > t . (DataLoc (s . a),i) &
I is_closed_on t &
I is_halting_on t & ( for
x being
Int_position st
x in X holds
(IExec I,t) . x = t . x ) ) ) holds
(
while<0 a,
i,
I is_closed_on s &
while<0 a,
i,
I is_halting_on s )
theorem :: SCMPDS_8:16
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCMPDS for
I being
shiftable No-StopCode Program-block for
a being
Int_position for
i being
Integer for
X being
set st
s . (DataLoc (s . a),i) < 0 &
card I > 0 & ( for
t being
State of
SCMPDS st ( for
x being
Int_position st
x in X holds
t . x = s . x ) &
t . a = s . a &
t . (DataLoc (s . a),i) < 0 holds
(
(IExec I,t) . a = t . a &
(IExec I,t) . (DataLoc (s . a),i) > t . (DataLoc (s . a),i) &
I is_closed_on t &
I is_halting_on t & ( for
x being
Int_position st
x in X holds
(IExec I,t) . x = t . x ) ) ) holds
IExec (while<0 a,i,I),
s = IExec (while<0 a,i,I),
(IExec I,s)
:: deftheorem defines while>0 SCMPDS_8:def 3 :
theorem Th17: :: SCMPDS_8:17
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
Lm4:
for a being Int_position
for i being Integer
for I being Program-block holds card (stop (while>0 a,i,I)) = (card I) + 3
theorem Th18: :: SCMPDS_8:18
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th19: :: SCMPDS_8:19
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
Lm5:
for a being Int_position
for i being Integer
for I being Program-block holds while>0 a,i,I = (a,i <=0_goto ((card I) + 2)) ';' (I ';' (goto (- ((card I) + 1))))
by SCMPDS_4:51;
theorem Th20: :: SCMPDS_8:20
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th21: :: SCMPDS_8:21
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMPDS_8:22
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMPDS_8:23
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
Lm6:
for I being Program-block
for a being Int_position
for i being Integer holds Shift I,1 c= while>0 a,i,I
theorem Th24: :: SCMPDS_8:24
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCMPDS for
I being
shiftable No-StopCode Program-block for
a being
Int_position for
i,
c being
Integer for
X,
Y being
set for
f being
Function of
product the
Object-Kind of
SCMPDS ,
NAT st
card I > 0 & ( for
t being
State of
SCMPDS st
f . (Dstate t) = 0 holds
t . (DataLoc (s . a),i) <= 0 ) & ( for
x being
Int_position st
x in X holds
s . x >= c + (s . (DataLoc (s . a),i)) ) & ( for
t being
State of
SCMPDS st ( for
x being
Int_position st
x in X holds
t . x >= c + (t . (DataLoc (s . a),i)) ) & ( for
x being
Int_position st
x in Y holds
t . x = s . x ) &
t . a = s . a &
t . (DataLoc (s . a),i) > 0 holds
(
(IExec I,t) . a = t . a &
I is_closed_on t &
I is_halting_on t &
f . (Dstate (IExec I,t)) < f . (Dstate t) & ( for
x being
Int_position st
x in X holds
(IExec I,t) . x >= c + ((IExec I,t) . (DataLoc (s . a),i)) ) & ( for
x being
Int_position st
x in Y holds
(IExec I,t) . x = t . x ) ) ) holds
(
while>0 a,
i,
I is_closed_on s &
while>0 a,
i,
I is_halting_on s )
theorem Th25: :: SCMPDS_8:25
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCMPDS for
I being
shiftable No-StopCode Program-block for
a being
Int_position for
i,
c being
Integer for
X,
Y being
set for
f being
Function of
product the
Object-Kind of
SCMPDS ,
NAT st
s . (DataLoc (s . a),i) > 0 &
card I > 0 & ( for
t being
State of
SCMPDS st
f . (Dstate t) = 0 holds
t . (DataLoc (s . a),i) <= 0 ) & ( for
x being
Int_position st
x in X holds
s . x >= c + (s . (DataLoc (s . a),i)) ) & ( for
t being
State of
SCMPDS st ( for
x being
Int_position st
x in X holds
t . x >= c + (t . (DataLoc (s . a),i)) ) & ( for
x being
Int_position st
x in Y holds
t . x = s . x ) &
t . a = s . a &
t . (DataLoc (s . a),i) > 0 holds
(
(IExec I,t) . a = t . a &
I is_closed_on t &
I is_halting_on t &
f . (Dstate (IExec I,t)) < f . (Dstate t) & ( for
x being
Int_position st
x in X holds
(IExec I,t) . x >= c + ((IExec I,t) . (DataLoc (s . a),i)) ) & ( for
x being
Int_position st
x in Y holds
(IExec I,t) . x = t . x ) ) ) holds
IExec (while>0 a,i,I),
s = IExec (while>0 a,i,I),
(IExec I,s)
theorem :: SCMPDS_8:26
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCMPDS for
I being
shiftable No-StopCode Program-block for
a being
Int_position for
i being
Integer for
X being
set for
f being
Function of
product the
Object-Kind of
SCMPDS ,
NAT st
card I > 0 & ( for
t being
State of
SCMPDS st
f . (Dstate t) = 0 holds
t . (DataLoc (s . a),i) <= 0 ) & ( for
t being
State of
SCMPDS st ( for
x being
Int_position st
x in X holds
t . x = s . x ) &
t . a = s . a &
t . (DataLoc (s . a),i) > 0 holds
(
(IExec I,t) . a = t . a &
I is_closed_on t &
I is_halting_on t &
f . (Dstate (IExec I,t)) < f . (Dstate t) & ( for
x being
Int_position st
x in X holds
(IExec I,t) . x = t . x ) ) ) holds
(
while>0 a,
i,
I is_closed_on s &
while>0 a,
i,
I is_halting_on s & (
s . (DataLoc (s . a),i) > 0 implies
IExec (while>0 a,i,I),
s = IExec (while>0 a,i,I),
(IExec I,s) ) )
theorem Th27: :: SCMPDS_8:27
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCMPDS for
I being
shiftable No-StopCode Program-block for
a being
Int_position for
i,
c being
Integer for
X,
Y being
set st
card I > 0 & ( for
x being
Int_position st
x in X holds
s . x >= c + (s . (DataLoc (s . a),i)) ) & ( for
t being
State of
SCMPDS st ( for
x being
Int_position st
x in X holds
t . x >= c + (t . (DataLoc (s . a),i)) ) & ( for
x being
Int_position st
x in Y holds
t . x = s . x ) &
t . a = s . a &
t . (DataLoc (s . a),i) > 0 holds
(
(IExec I,t) . a = t . a &
I is_closed_on t &
I is_halting_on t &
(IExec I,t) . (DataLoc (s . a),i) < t . (DataLoc (s . a),i) & ( for
x being
Int_position st
x in X holds
(IExec I,t) . x >= c + ((IExec I,t) . (DataLoc (s . a),i)) ) & ( for
x being
Int_position st
x in Y holds
(IExec I,t) . x = t . x ) ) ) holds
(
while>0 a,
i,
I is_closed_on s &
while>0 a,
i,
I is_halting_on s & (
s . (DataLoc (s . a),i) > 0 implies
IExec (while>0 a,i,I),
s = IExec (while>0 a,i,I),
(IExec I,s) ) )
theorem :: SCMPDS_8:28
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCMPDS for
I being
shiftable No-StopCode Program-block for
a being
Int_position for
i being
Integer for
X being
set st
card I > 0 & ( for
t being
State of
SCMPDS st ( for
x being
Int_position st
x in X holds
t . x = s . x ) &
t . a = s . a &
t . (DataLoc (s . a),i) > 0 holds
(
(IExec I,t) . a = t . a &
I is_closed_on t &
I is_halting_on t &
(IExec I,t) . (DataLoc (s . a),i) < t . (DataLoc (s . a),i) & ( for
x being
Int_position st
x in X holds
(IExec I,t) . x = t . x ) ) ) holds
(
while>0 a,
i,
I is_closed_on s &
while>0 a,
i,
I is_halting_on s & (
s . (DataLoc (s . a),i) > 0 implies
IExec (while>0 a,i,I),
s = IExec (while>0 a,i,I),
(IExec I,s) ) )
theorem :: SCMPDS_8:29
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCMPDS for
I being
shiftable No-StopCode Program-block for
a being
Int_position for
i,
c being
Integer for
X being
set st
card I > 0 & ( for
x being
Int_position st
x in X holds
s . x >= c + (s . (DataLoc (s . a),i)) ) & ( for
t being
State 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,t) . a = t . a &
I is_closed_on t &
I is_halting_on t &
(IExec I,t) . (DataLoc (s . a),i) < t . (DataLoc (s . a),i) & ( for
x being
Int_position st
x in X holds
(IExec I,t) . x >= c + ((IExec I,t) . (DataLoc (s . a),i)) ) ) ) holds
(
while>0 a,
i,
I is_closed_on s &
while>0 a,
i,
I is_halting_on s & (
s . (DataLoc (s . a),i) > 0 implies
IExec (while>0 a,i,I),
s = IExec (while>0 a,i,I),
(IExec I,s) ) )