:: 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) ) )