:: SCMPDS_1 semantic presentation
definition
let c1,
c2,
c3,
c4 be
set ;
func <*c1,c2,c3,c4*> -> set equals :: SCMPDS_1:def 1
<*a1,a2,a3*> ^ <*a4*>;
correctness
coherence
<*c1,c2,c3*> ^ <*c4*> is set ;
;
let c5 be
set ;
func <*c1,c2,c3,c4,c5*> -> set equals :: SCMPDS_1:def 2
<*a1,a2,a3*> ^ <*a4,a5*>;
correctness
coherence
<*c1,c2,c3*> ^ <*c4,c5*> is set ;
;
end;
:: deftheorem Def1 defines <* SCMPDS_1:def 1 :
:: deftheorem Def2 defines <* SCMPDS_1:def 2 :
for
b1,
b2,
b3,
b4,
b5 being
set holds
<*b1,b2,b3,b4,b5*> = <*b1,b2,b3*> ^ <*b4,b5*>;
registration
let c1,
c2,
c3,
c4 be
set ;
cluster <*a1,a2,a3,a4*> -> Relation-like Function-like ;
coherence
( <*c1,c2,c3,c4*> is Function-like & <*c1,c2,c3,c4*> is Relation-like )
;
let c5 be
set ;
cluster <*a1,a2,a3,a4,a5*> -> Relation-like Function-like ;
coherence
( <*c1,c2,c3,c4,c5*> is Function-like & <*c1,c2,c3,c4,c5*> is Relation-like )
;
end;
registration
let c1,
c2,
c3,
c4 be
set ;
cluster <*a1,a2,a3,a4*> -> Relation-like Function-like FinSequence-like ;
coherence
<*c1,c2,c3,c4*> is FinSequence-like
;
let c5 be
set ;
cluster <*a1,a2,a3,a4,a5*> -> Relation-like Function-like FinSequence-like ;
coherence
<*c1,c2,c3,c4,c5*> is FinSequence-like
;
end;
definition
let c1 be non
empty set ;
let c2,
c3,
c4,
c5,
c6 be
Element of
c1;
redefine func <* as
<*c2,c3,c4,c5,c6*> -> FinSequence of
a1;
coherence
<*c2,c3,c4,c5,c6*> is FinSequence of c1
end;
theorem Th1: :: SCMPDS_1:1
for
b1,
b2,
b3,
b4 being
set holds
(
<*b1,b2,b3,b4*> = <*b1,b2,b3*> ^ <*b4*> &
<*b1,b2,b3,b4*> = <*b1,b2*> ^ <*b3,b4*> &
<*b1,b2,b3,b4*> = <*b1*> ^ <*b2,b3,b4*> &
<*b1,b2,b3,b4*> = ((<*b1*> ^ <*b2*>) ^ <*b3*>) ^ <*b4*> )
theorem Th2: :: SCMPDS_1:2
for
b1,
b2,
b3,
b4,
b5 being
set holds
(
<*b1,b2,b3,b4,b5*> = <*b1,b2,b3*> ^ <*b4,b5*> &
<*b1,b2,b3,b4,b5*> = <*b1,b2,b3,b4*> ^ <*b5*> &
<*b1,b2,b3,b4,b5*> = (((<*b1*> ^ <*b2*>) ^ <*b3*>) ^ <*b4*>) ^ <*b5*> &
<*b1,b2,b3,b4,b5*> = <*b1,b2*> ^ <*b3,b4,b5*> &
<*b1,b2,b3,b4,b5*> = <*b1*> ^ <*b2,b3,b4,b5*> )
theorem Th3: :: SCMPDS_1:3
for
b1,
b2,
b3,
b4 being
set for
b5 being
FinSequence holds
(
b5 = <*b1,b2,b3,b4*> iff (
len b5 = 4 &
b5 . 1
= b1 &
b5 . 2
= b2 &
b5 . 3
= b3 &
b5 . 4
= b4 ) )
theorem Th4: :: SCMPDS_1:4
theorem Th5: :: SCMPDS_1:5
for
b1,
b2,
b3,
b4,
b5 being
set for
b6 being
FinSequence holds
(
b6 = <*b1,b2,b3,b4,b5*> iff (
len b6 = 5 &
b6 . 1
= b1 &
b6 . 2
= b2 &
b6 . 3
= b3 &
b6 . 4
= b4 &
b6 . 5
= b5 ) )
theorem Th6: :: SCMPDS_1:6
theorem Th7: :: SCMPDS_1:7
for
b1 being non
empty set for
b2,
b3,
b4,
b5 being
Element of
b1 holds
(
<*b2,b3,b4,b5*> /. 1
= b2 &
<*b2,b3,b4,b5*> /. 2
= b3 &
<*b2,b3,b4,b5*> /. 3
= b4 &
<*b2,b3,b4,b5*> /. 4
= b5 )
theorem Th8: :: SCMPDS_1:8
for
b1 being non
empty set for
b2,
b3,
b4,
b5,
b6 being
Element of
b1 holds
(
<*b2,b3,b4,b5,b6*> /. 1
= b2 &
<*b2,b3,b4,b5,b6*> /. 2
= b3 &
<*b2,b3,b4,b5,b6*> /. 3
= b4 &
<*b2,b3,b4,b5,b6*> /. 4
= b5 &
<*b2,b3,b4,b5,b6*> /. 5
= b6 )
theorem Th9: :: SCMPDS_1:9
theorem Th10: :: SCMPDS_1:10
theorem Th11: :: SCMPDS_1:11
definition
func SCMPDS-Instr -> Subset of
[:(Segm 14),(((union {INT }) \/ NAT ) * ):] equals :: SCMPDS_1:def 3
((({ [0,<*b1*>] where B is Element of INT : verum } \/ { [1,<*b1*>] where B is Element of SCM-Data-Loc : verum } ) \/ { [b1,<*b2,b3*>] where B is Element of Segm 14, B is Element of SCM-Data-Loc , B is Element of INT : b1 in {2,3} } ) \/ { [b1,<*b2,b3,b4*>] where B is Element of Segm 14, B is Element of SCM-Data-Loc , B is Element of INT , B is Element of INT : b1 in {4,5,6,7,8} } ) \/ { [b1,<*b2,b3,b4,b5*>] where B is Element of Segm 14, B is Element of SCM-Data-Loc , B is Element of SCM-Data-Loc , B is Element of INT , B is Element of INT : b1 in {9,10,11,12,13} } ;
coherence
((({ [0,<*b1*>] where B is Element of INT : verum } \/ { [1,<*b1*>] where B is Element of SCM-Data-Loc : verum } ) \/ { [b1,<*b2,b3*>] where B is Element of Segm 14, B is Element of SCM-Data-Loc , B is Element of INT : b1 in {2,3} } ) \/ { [b1,<*b2,b3,b4*>] where B is Element of Segm 14, B is Element of SCM-Data-Loc , B is Element of INT , B is Element of INT : b1 in {4,5,6,7,8} } ) \/ { [b1,<*b2,b3,b4,b5*>] where B is Element of Segm 14, B is Element of SCM-Data-Loc , B is Element of SCM-Data-Loc , B is Element of INT , B is Element of INT : b1 in {9,10,11,12,13} } is Subset of [:(Segm 14),(((union {INT }) \/ NAT ) * ):]
end;
:: deftheorem Def3 defines SCMPDS-Instr SCMPDS_1:def 3 :
SCMPDS-Instr = ((({ [0,<*b1*>] where B is Element of INT : verum } \/ { [1,<*b1*>] where B is Element of SCM-Data-Loc : verum } ) \/ { [b1,<*b2,b3*>] where B is Element of Segm 14, B is Element of SCM-Data-Loc , B is Element of INT : b1 in {2,3} } ) \/ { [b1,<*b2,b3,b4*>] where B is Element of Segm 14, B is Element of SCM-Data-Loc , B is Element of INT , B is Element of INT : b1 in {4,5,6,7,8} } ) \/ { [b1,<*b2,b3,b4,b5*>] where B is Element of Segm 14, B is Element of SCM-Data-Loc , B is Element of SCM-Data-Loc , B is Element of INT , B is Element of INT : b1 in {9,10,11,12,13} } ;
theorem Th12: :: SCMPDS_1:12
canceled;
theorem Th13: :: SCMPDS_1:13
theorem Th14: :: SCMPDS_1:14
for
b1 being
Nat holds
(
b1 = 0 or ex
b2 being
Nat st
b1 = (2 * b2) + 1 or ex
b2 being
Nat st
b1 = (2 * b2) + 2 )
theorem Th15: :: SCMPDS_1:15
canceled;
theorem Th16: :: SCMPDS_1:16
for
b1 being
Nat holds
( ( ex
b2 being
Nat st
b1 = (2 * b2) + 1 implies (
b1 <> 0 & ( for
b2 being
Nat holds not
b1 = (2 * b2) + 2 ) ) ) & ( ex
b2 being
Nat st
b1 = (2 * b2) + 2 implies (
b1 <> 0 & ( for
b2 being
Nat holds not
b1 = (2 * b2) + 1 ) ) ) )
:: deftheorem Def4 defines SCMPDS-OK SCMPDS_1:def 4 :
theorem Th17: :: SCMPDS_1:17
theorem Th18: :: SCMPDS_1:18
theorem Th19: :: SCMPDS_1:19
theorem Th20: :: SCMPDS_1:20
theorem Th21: :: SCMPDS_1:21
theorem Th22: :: SCMPDS_1:22
theorem Th23: :: SCMPDS_1:23
theorem Th24: :: SCMPDS_1:24
theorem Th25: :: SCMPDS_1:25
:: deftheorem Def5 defines IC SCMPDS_1:def 5 :
:: deftheorem Def6 defines SCM-Chg SCMPDS_1:def 6 :
theorem Th26: :: SCMPDS_1:26
theorem Th27: :: SCMPDS_1:27
theorem Th28: :: SCMPDS_1:28
:: deftheorem Def7 defines SCM-Chg SCMPDS_1:def 7 :
theorem Th29: :: SCMPDS_1:29
theorem Th30: :: SCMPDS_1:30
theorem Th31: :: SCMPDS_1:31
theorem Th32: :: SCMPDS_1:32
:: deftheorem Def8 defines Address_Add SCMPDS_1:def 8 :
:: deftheorem Def9 defines jump_address SCMPDS_1:def 9 :
:: deftheorem Def10 defines address_1 SCMPDS_1:def 10 :
theorem Th33: :: SCMPDS_1:33
:: deftheorem Def11 defines const_INT SCMPDS_1:def 11 :
theorem Th34: :: SCMPDS_1:34
:: deftheorem Def12 defines P21address SCMPDS_1:def 12 :
:: deftheorem Def13 defines P22const SCMPDS_1:def 13 :
theorem Th35: :: SCMPDS_1:35
:: deftheorem Def14 defines P31address SCMPDS_1:def 14 :
:: deftheorem Def15 defines P32const SCMPDS_1:def 15 :
:: deftheorem Def16 defines P33const SCMPDS_1:def 16 :
theorem Th36: :: SCMPDS_1:36
definition
let c1 be
Element of
SCMPDS-Instr ;
given c2,
c3 being
Element of
SCM-Data-Loc ,
c4,
c5 being
Integer,
c6 being
Element of
Segm 14
such that E30:
c1 = [c6,<*c2,c3,c4,c5*>]
;
func c1 P41address -> Element of
SCM-Data-Loc means :
Def17:
:: SCMPDS_1:def 17
ex
b1 being
FinSequence of
SCM-Data-Loc \/ INT st
(
b1 = a1 `2 &
a2 = b1 /. 1 );
existence
ex b1 being Element of SCM-Data-Loc ex b2 being FinSequence of SCM-Data-Loc \/ INT st
( b2 = c1 `2 & b1 = b2 /. 1 )
uniqueness
for b1, b2 being Element of SCM-Data-Loc st ex b3 being FinSequence of SCM-Data-Loc \/ INT st
( b3 = c1 `2 & b1 = b3 /. 1 ) & ex b3 being FinSequence of SCM-Data-Loc \/ INT st
( b3 = c1 `2 & b2 = b3 /. 1 ) holds
b1 = b2
;
func c1 P42address -> Element of
SCM-Data-Loc means :
Def18:
:: SCMPDS_1:def 18
ex
b1 being
FinSequence of
SCM-Data-Loc \/ INT st
(
b1 = a1 `2 &
a2 = b1 /. 2 );
existence
ex b1 being Element of SCM-Data-Loc ex b2 being FinSequence of SCM-Data-Loc \/ INT st
( b2 = c1 `2 & b1 = b2 /. 2 )
uniqueness
for b1, b2 being Element of SCM-Data-Loc st ex b3 being FinSequence of SCM-Data-Loc \/ INT st
( b3 = c1 `2 & b1 = b3 /. 2 ) & ex b3 being FinSequence of SCM-Data-Loc \/ INT st
( b3 = c1 `2 & b2 = b3 /. 2 ) holds
b1 = b2
;
func c1 P43const -> Integer means :
Def19:
:: SCMPDS_1:def 19
ex
b1 being
FinSequence of
SCM-Data-Loc \/ INT st
(
b1 = a1 `2 &
a2 = b1 /. 3 );
existence
ex b1 being Integerex b2 being FinSequence of SCM-Data-Loc \/ INT st
( b2 = c1 `2 & b1 = b2 /. 3 )
uniqueness
for b1, b2 being Integer st ex b3 being FinSequence of SCM-Data-Loc \/ INT st
( b3 = c1 `2 & b1 = b3 /. 3 ) & ex b3 being FinSequence of SCM-Data-Loc \/ INT st
( b3 = c1 `2 & b2 = b3 /. 3 ) holds
b1 = b2
;
func c1 P44const -> Integer means :
Def20:
:: SCMPDS_1:def 20
ex
b1 being
FinSequence of
SCM-Data-Loc \/ INT st
(
b1 = a1 `2 &
a2 = b1 /. 4 );
existence
ex b1 being Integerex b2 being FinSequence of SCM-Data-Loc \/ INT st
( b2 = c1 `2 & b1 = b2 /. 4 )
uniqueness
for b1, b2 being Integer st ex b3 being FinSequence of SCM-Data-Loc \/ INT st
( b3 = c1 `2 & b1 = b3 /. 4 ) & ex b3 being FinSequence of SCM-Data-Loc \/ INT st
( b3 = c1 `2 & b2 = b3 /. 4 ) holds
b1 = b2
;
end;
:: deftheorem Def17 defines P41address SCMPDS_1:def 17 :
:: deftheorem Def18 defines P42address SCMPDS_1:def 18 :
:: deftheorem Def19 defines P43const SCMPDS_1:def 19 :
:: deftheorem Def20 defines P44const SCMPDS_1:def 20 :
theorem Th37: :: SCMPDS_1:37
:: deftheorem Def21 defines PopInstrLoc SCMPDS_1:def 21 :
:: deftheorem Def22 defines RetSP SCMPDS_1:def 22 :
:: deftheorem Def23 defines RetIC SCMPDS_1:def 23 :
definition
let c1 be
Element of
SCMPDS-Instr ;
let c2 be
SCMPDS-State;
func SCM-Exec-Res c1,
c2 -> SCMPDS-State equals :: SCMPDS_1:def 24
SCM-Chg a2,
(jump_address a2,(a1 const_INT )) if ex
b1 being
Integer st
a1 = [0,<*b1*>] SCM-Chg (SCM-Chg a2,(a1 P21address ),(a1 P22const )),
(Next (IC a2)) if ex
b1 being
Element of
SCM-Data-Loc ex
b2 being
Integer st
a1 = [2,<*b1,b2*>] SCM-Chg (SCM-Chg a2,(Address_Add a2,(a1 P21address ),(a1 P22const )),(IC a2)),
(Next (IC a2)) if ex
b1 being
Element of
SCM-Data-Loc ex
b2 being
Integer st
a1 = [3,<*b1,b2*>] SCM-Chg (SCM-Chg a2,(a1 address_1 ),(a2 . (Address_Add a2,(a1 address_1 ),RetSP ))),
(PopInstrLoc a2,(Address_Add a2,(a1 address_1 ),RetIC )) if ex
b1 being
Element of
SCM-Data-Loc st
a1 = [1,<*b1*>] SCM-Chg a2,
(IFEQ (a2 . (Address_Add a2,(a1 P31address ),(a1 P32const ))),0,(Next (IC a2)),(jump_address a2,(a1 P33const ))) if ex
b1 being
Element of
SCM-Data-Loc ex
b2,
b3 being
Integer st
a1 = [4,<*b1,b2,b3*>] SCM-Chg a2,
(IFGT (a2 . (Address_Add a2,(a1 P31address ),(a1 P32const ))),0,(Next (IC a2)),(jump_address a2,(a1 P33const ))) if ex
b1 being
Element of
SCM-Data-Loc ex
b2,
b3 being
Integer st
a1 = [5,<*b1,b2,b3*>] SCM-Chg a2,
(IFGT 0,(a2 . (Address_Add a2,(a1 P31address ),(a1 P32const ))),(Next (IC a2)),(jump_address a2,(a1 P33const ))) if ex
b1 being
Element of
SCM-Data-Loc ex
b2,
b3 being
Integer st
a1 = [6,<*b1,b2,b3*>] SCM-Chg (SCM-Chg a2,(Address_Add a2,(a1 P31address ),(a1 P32const )),(a1 P33const )),
(Next (IC a2)) if ex
b1 being
Element of
SCM-Data-Loc ex
b2,
b3 being
Integer st
a1 = [7,<*b1,b2,b3*>] SCM-Chg (SCM-Chg a2,(Address_Add a2,(a1 P31address ),(a1 P32const )),((a2 . (Address_Add a2,(a1 P31address ),(a1 P32const ))) + (a1 P33const ))),
(Next (IC a2)) if ex
b1 being
Element of
SCM-Data-Loc ex
b2,
b3 being
Integer st
a1 = [8,<*b1,b2,b3*>] SCM-Chg (SCM-Chg a2,(Address_Add a2,(a1 P41address ),(a1 P43const )),((a2 . (Address_Add a2,(a1 P41address ),(a1 P43const ))) + (a2 . (Address_Add a2,(a1 P42address ),(a1 P44const ))))),
(Next (IC a2)) if ex
b1,
b2 being
Element of
SCM-Data-Loc ex
b3,
b4 being
Integer st
a1 = [9,<*b1,b2,b3,b4*>] SCM-Chg (SCM-Chg a2,(Address_Add a2,(a1 P41address ),(a1 P43const )),((a2 . (Address_Add a2,(a1 P41address ),(a1 P43const ))) - (a2 . (Address_Add a2,(a1 P42address ),(a1 P44const ))))),
(Next (IC a2)) if ex
b1,
b2 being
Element of
SCM-Data-Loc ex
b3,
b4 being
Integer st
a1 = [10,<*b1,b2,b3,b4*>] SCM-Chg (SCM-Chg a2,(Address_Add a2,(a1 P41address ),(a1 P43const )),((a2 . (Address_Add a2,(a1 P41address ),(a1 P43const ))) * (a2 . (Address_Add a2,(a1 P42address ),(a1 P44const ))))),
(Next (IC a2)) if ex
b1,
b2 being
Element of
SCM-Data-Loc ex
b3,
b4 being
Integer st
a1 = [11,<*b1,b2,b3,b4*>] SCM-Chg (SCM-Chg a2,(Address_Add a2,(a1 P41address ),(a1 P43const )),(a2 . (Address_Add a2,(a1 P42address ),(a1 P44const )))),
(Next (IC a2)) if ex
b1,
b2 being
Element of
SCM-Data-Loc ex
b3,
b4 being
Integer st
a1 = [13,<*b1,b2,b3,b4*>] SCM-Chg (SCM-Chg (SCM-Chg a2,(Address_Add a2,(a1 P41address ),(a1 P43const )),((a2 . (Address_Add a2,(a1 P41address ),(a1 P43const ))) div (a2 . (Address_Add a2,(a1 P42address ),(a1 P44const ))))),(Address_Add a2,(a1 P42address ),(a1 P44const )),((a2 . (Address_Add a2,(a1 P41address ),(a1 P43const ))) mod (a2 . (Address_Add a2,(a1 P42address ),(a1 P44const ))))),
(Next (IC a2)) if ex
b1,
b2 being
Element of
SCM-Data-Loc ex
b3,
b4 being
Integer st
a1 = [12,<*b1,b2,b3,b4*>] otherwise a2;
coherence
( ( ex b1 being Integer st c1 = [0,<*b1*>] implies SCM-Chg c2,(jump_address c2,(c1 const_INT )) is SCMPDS-State ) & ( ex b1 being Element of SCM-Data-Loc ex b2 being Integer st c1 = [2,<*b1,b2*>] implies SCM-Chg (SCM-Chg c2,(c1 P21address ),(c1 P22const )),(Next (IC c2)) is SCMPDS-State ) & ( ex b1 being Element of SCM-Data-Loc ex b2 being Integer st c1 = [3,<*b1,b2*>] implies SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P21address ),(c1 P22const )),(IC c2)),(Next (IC c2)) is SCMPDS-State ) & ( ex b1 being Element of SCM-Data-Loc st c1 = [1,<*b1*>] implies SCM-Chg (SCM-Chg c2,(c1 address_1 ),(c2 . (Address_Add c2,(c1 address_1 ),RetSP ))),(PopInstrLoc c2,(Address_Add c2,(c1 address_1 ),RetIC )) is SCMPDS-State ) & ( ex b1 being Element of SCM-Data-Loc ex b2, b3 being Integer st c1 = [4,<*b1,b2,b3*>] implies SCM-Chg c2,(IFEQ (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) is SCMPDS-State ) & ( ex b1 being Element of SCM-Data-Loc ex b2, b3 being Integer st c1 = [5,<*b1,b2,b3*>] implies SCM-Chg c2,(IFGT (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) is SCMPDS-State ) & ( ex b1 being Element of SCM-Data-Loc ex b2, b3 being Integer st c1 = [6,<*b1,b2,b3*>] implies SCM-Chg c2,(IFGT 0,(c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),(Next (IC c2)),(jump_address c2,(c1 P33const ))) is SCMPDS-State ) & ( ex b1 being Element of SCM-Data-Loc ex b2, b3 being Integer st c1 = [7,<*b1,b2,b3*>] implies SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),(c1 P33const )),(Next (IC c2)) is SCMPDS-State ) & ( ex b1 being Element of SCM-Data-Loc ex b2, b3 being Integer st c1 = [8,<*b1,b2,b3*>] implies SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),((c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))) + (c1 P33const ))),(Next (IC c2)) is SCMPDS-State ) & ( ex b1, b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [9,<*b1,b2,b3,b4*>] implies SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) + (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) is SCMPDS-State ) & ( ex b1, b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [10,<*b1,b2,b3,b4*>] implies SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) - (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) is SCMPDS-State ) & ( ex b1, b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [11,<*b1,b2,b3,b4*>] implies SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) * (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) is SCMPDS-State ) & ( ex b1, b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [13,<*b1,b2,b3,b4*>] implies SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),(c2 . (Address_Add c2,(c1 P42address ),(c1 P44const )))),(Next (IC c2)) is SCMPDS-State ) & ( ex b1, b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [12,<*b1,b2,b3,b4*>] implies SCM-Chg (SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) div (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Address_Add c2,(c1 P42address ),(c1 P44const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) mod (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) is SCMPDS-State ) & ( ( for b1 being Integer holds not c1 = [0,<*b1*>] ) & ( for b1 being Element of SCM-Data-Loc
for b2 being Integer holds not c1 = [2,<*b1,b2*>] ) & ( for b1 being Element of SCM-Data-Loc
for b2 being Integer holds not c1 = [3,<*b1,b2*>] ) & ( for b1 being Element of SCM-Data-Loc holds not c1 = [1,<*b1*>] ) & ( for b1 being Element of SCM-Data-Loc
for b2, b3 being Integer holds not c1 = [4,<*b1,b2,b3*>] ) & ( for b1 being Element of SCM-Data-Loc
for b2, b3 being Integer holds not c1 = [5,<*b1,b2,b3*>] ) & ( for b1 being Element of SCM-Data-Loc
for b2, b3 being Integer holds not c1 = [6,<*b1,b2,b3*>] ) & ( for b1 being Element of SCM-Data-Loc
for b2, b3 being Integer holds not c1 = [7,<*b1,b2,b3*>] ) & ( for b1 being Element of SCM-Data-Loc
for b2, b3 being Integer holds not c1 = [8,<*b1,b2,b3*>] ) & ( for b1, b2 being Element of SCM-Data-Loc
for b3, b4 being Integer holds not c1 = [9,<*b1,b2,b3,b4*>] ) & ( for b1, b2 being Element of SCM-Data-Loc
for b3, b4 being Integer holds not c1 = [10,<*b1,b2,b3,b4*>] ) & ( for b1, b2 being Element of SCM-Data-Loc
for b3, b4 being Integer holds not c1 = [11,<*b1,b2,b3,b4*>] ) & ( for b1, b2 being Element of SCM-Data-Loc
for b3, b4 being Integer holds not c1 = [13,<*b1,b2,b3,b4*>] ) & ( for b1, b2 being Element of SCM-Data-Loc
for b3, b4 being Integer holds not c1 = [12,<*b1,b2,b3,b4*>] ) implies c2 is SCMPDS-State ) )
;
consistency
for b1 being SCMPDS-State holds
( ( ex b2 being Integer st c1 = [0,<*b2*>] & ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [2,<*b2,b3*>] implies ( b1 = SCM-Chg c2,(jump_address c2,(c1 const_INT )) iff b1 = SCM-Chg (SCM-Chg c2,(c1 P21address ),(c1 P22const )),(Next (IC c2)) ) ) & ( ex b2 being Integer st c1 = [0,<*b2*>] & ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [3,<*b2,b3*>] implies ( b1 = SCM-Chg c2,(jump_address c2,(c1 const_INT )) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P21address ),(c1 P22const )),(IC c2)),(Next (IC c2)) ) ) & ( ex b2 being Integer st c1 = [0,<*b2*>] & ex b2 being Element of SCM-Data-Loc st c1 = [1,<*b2*>] implies ( b1 = SCM-Chg c2,(jump_address c2,(c1 const_INT )) iff b1 = SCM-Chg (SCM-Chg c2,(c1 address_1 ),(c2 . (Address_Add c2,(c1 address_1 ),RetSP ))),(PopInstrLoc c2,(Address_Add c2,(c1 address_1 ),RetIC )) ) ) & ( ex b2 being Integer st c1 = [0,<*b2*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [4,<*b2,b3,b4*>] implies ( b1 = SCM-Chg c2,(jump_address c2,(c1 const_INT )) iff b1 = SCM-Chg c2,(IFEQ (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Integer st c1 = [0,<*b2*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [5,<*b2,b3,b4*>] implies ( b1 = SCM-Chg c2,(jump_address c2,(c1 const_INT )) iff b1 = SCM-Chg c2,(IFGT (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Integer st c1 = [0,<*b2*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [6,<*b2,b3,b4*>] implies ( b1 = SCM-Chg c2,(jump_address c2,(c1 const_INT )) iff b1 = SCM-Chg c2,(IFGT 0,(c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Integer st c1 = [0,<*b2*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [7,<*b2,b3,b4*>] implies ( b1 = SCM-Chg c2,(jump_address c2,(c1 const_INT )) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),(c1 P33const )),(Next (IC c2)) ) ) & ( ex b2 being Integer st c1 = [0,<*b2*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [8,<*b2,b3,b4*>] implies ( b1 = SCM-Chg c2,(jump_address c2,(c1 const_INT )) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),((c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))) + (c1 P33const ))),(Next (IC c2)) ) ) & ( ex b2 being Integer st c1 = [0,<*b2*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [9,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(jump_address c2,(c1 const_INT )) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) + (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Integer st c1 = [0,<*b2*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [10,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(jump_address c2,(c1 const_INT )) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) - (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Integer st c1 = [0,<*b2*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [11,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(jump_address c2,(c1 const_INT )) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) * (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Integer st c1 = [0,<*b2*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [13,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(jump_address c2,(c1 const_INT )) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),(c2 . (Address_Add c2,(c1 P42address ),(c1 P44const )))),(Next (IC c2)) ) ) & ( ex b2 being Integer st c1 = [0,<*b2*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [12,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(jump_address c2,(c1 const_INT )) iff b1 = SCM-Chg (SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) div (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Address_Add c2,(c1 P42address ),(c1 P44const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) mod (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [2,<*b2,b3*>] & ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [3,<*b2,b3*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 P21address ),(c1 P22const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P21address ),(c1 P22const )),(IC c2)),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [2,<*b2,b3*>] & ex b2 being Element of SCM-Data-Loc st c1 = [1,<*b2*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 P21address ),(c1 P22const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(c1 address_1 ),(c2 . (Address_Add c2,(c1 address_1 ),RetSP ))),(PopInstrLoc c2,(Address_Add c2,(c1 address_1 ),RetIC )) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [2,<*b2,b3*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [4,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 P21address ),(c1 P22const )),(Next (IC c2)) iff b1 = SCM-Chg c2,(IFEQ (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [2,<*b2,b3*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [5,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 P21address ),(c1 P22const )),(Next (IC c2)) iff b1 = SCM-Chg c2,(IFGT (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [2,<*b2,b3*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [6,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 P21address ),(c1 P22const )),(Next (IC c2)) iff b1 = SCM-Chg c2,(IFGT 0,(c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [2,<*b2,b3*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [7,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 P21address ),(c1 P22const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),(c1 P33const )),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [2,<*b2,b3*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [8,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 P21address ),(c1 P22const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),((c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))) + (c1 P33const ))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [2,<*b2,b3*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [9,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 P21address ),(c1 P22const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) + (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [2,<*b2,b3*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [10,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 P21address ),(c1 P22const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) - (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [2,<*b2,b3*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [11,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 P21address ),(c1 P22const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) * (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [2,<*b2,b3*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [13,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 P21address ),(c1 P22const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),(c2 . (Address_Add c2,(c1 P42address ),(c1 P44const )))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [2,<*b2,b3*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [12,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 P21address ),(c1 P22const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) div (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Address_Add c2,(c1 P42address ),(c1 P44const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) mod (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [3,<*b2,b3*>] & ex b2 being Element of SCM-Data-Loc st c1 = [1,<*b2*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P21address ),(c1 P22const )),(IC c2)),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(c1 address_1 ),(c2 . (Address_Add c2,(c1 address_1 ),RetSP ))),(PopInstrLoc c2,(Address_Add c2,(c1 address_1 ),RetIC )) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [3,<*b2,b3*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [4,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P21address ),(c1 P22const )),(IC c2)),(Next (IC c2)) iff b1 = SCM-Chg c2,(IFEQ (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [3,<*b2,b3*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [5,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P21address ),(c1 P22const )),(IC c2)),(Next (IC c2)) iff b1 = SCM-Chg c2,(IFGT (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [3,<*b2,b3*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [6,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P21address ),(c1 P22const )),(IC c2)),(Next (IC c2)) iff b1 = SCM-Chg c2,(IFGT 0,(c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [3,<*b2,b3*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [7,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P21address ),(c1 P22const )),(IC c2)),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),(c1 P33const )),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [3,<*b2,b3*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [8,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P21address ),(c1 P22const )),(IC c2)),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),((c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))) + (c1 P33const ))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [3,<*b2,b3*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [9,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P21address ),(c1 P22const )),(IC c2)),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) + (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [3,<*b2,b3*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [10,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P21address ),(c1 P22const )),(IC c2)),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) - (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [3,<*b2,b3*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [11,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P21address ),(c1 P22const )),(IC c2)),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) * (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [3,<*b2,b3*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [13,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P21address ),(c1 P22const )),(IC c2)),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),(c2 . (Address_Add c2,(c1 P42address ),(c1 P44const )))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3 being Integer st c1 = [3,<*b2,b3*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [12,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P21address ),(c1 P22const )),(IC c2)),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) div (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Address_Add c2,(c1 P42address ),(c1 P44const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) mod (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc st c1 = [1,<*b2*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [4,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 address_1 ),(c2 . (Address_Add c2,(c1 address_1 ),RetSP ))),(PopInstrLoc c2,(Address_Add c2,(c1 address_1 ),RetIC )) iff b1 = SCM-Chg c2,(IFEQ (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Element of SCM-Data-Loc st c1 = [1,<*b2*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [5,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 address_1 ),(c2 . (Address_Add c2,(c1 address_1 ),RetSP ))),(PopInstrLoc c2,(Address_Add c2,(c1 address_1 ),RetIC )) iff b1 = SCM-Chg c2,(IFGT (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Element of SCM-Data-Loc st c1 = [1,<*b2*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [6,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 address_1 ),(c2 . (Address_Add c2,(c1 address_1 ),RetSP ))),(PopInstrLoc c2,(Address_Add c2,(c1 address_1 ),RetIC )) iff b1 = SCM-Chg c2,(IFGT 0,(c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Element of SCM-Data-Loc st c1 = [1,<*b2*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [7,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 address_1 ),(c2 . (Address_Add c2,(c1 address_1 ),RetSP ))),(PopInstrLoc c2,(Address_Add c2,(c1 address_1 ),RetIC )) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),(c1 P33const )),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc st c1 = [1,<*b2*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [8,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 address_1 ),(c2 . (Address_Add c2,(c1 address_1 ),RetSP ))),(PopInstrLoc c2,(Address_Add c2,(c1 address_1 ),RetIC )) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),((c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))) + (c1 P33const ))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc st c1 = [1,<*b2*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [9,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 address_1 ),(c2 . (Address_Add c2,(c1 address_1 ),RetSP ))),(PopInstrLoc c2,(Address_Add c2,(c1 address_1 ),RetIC )) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) + (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc st c1 = [1,<*b2*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [10,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 address_1 ),(c2 . (Address_Add c2,(c1 address_1 ),RetSP ))),(PopInstrLoc c2,(Address_Add c2,(c1 address_1 ),RetIC )) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) - (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc st c1 = [1,<*b2*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [11,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 address_1 ),(c2 . (Address_Add c2,(c1 address_1 ),RetSP ))),(PopInstrLoc c2,(Address_Add c2,(c1 address_1 ),RetIC )) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) * (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc st c1 = [1,<*b2*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [13,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 address_1 ),(c2 . (Address_Add c2,(c1 address_1 ),RetSP ))),(PopInstrLoc c2,(Address_Add c2,(c1 address_1 ),RetIC )) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),(c2 . (Address_Add c2,(c1 P42address ),(c1 P44const )))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc st c1 = [1,<*b2*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [12,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(c1 address_1 ),(c2 . (Address_Add c2,(c1 address_1 ),RetSP ))),(PopInstrLoc c2,(Address_Add c2,(c1 address_1 ),RetIC )) iff b1 = SCM-Chg (SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) div (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Address_Add c2,(c1 P42address ),(c1 P44const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) mod (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [4,<*b2,b3,b4*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [5,<*b2,b3,b4*>] implies ( b1 = SCM-Chg c2,(IFEQ (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg c2,(IFGT (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [4,<*b2,b3,b4*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [6,<*b2,b3,b4*>] implies ( b1 = SCM-Chg c2,(IFEQ (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg c2,(IFGT 0,(c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [4,<*b2,b3,b4*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [7,<*b2,b3,b4*>] implies ( b1 = SCM-Chg c2,(IFEQ (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),(c1 P33const )),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [4,<*b2,b3,b4*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [8,<*b2,b3,b4*>] implies ( b1 = SCM-Chg c2,(IFEQ (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),((c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))) + (c1 P33const ))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [4,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [9,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFEQ (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) + (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [4,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [10,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFEQ (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) - (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [4,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [11,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFEQ (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) * (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [4,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [13,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFEQ (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),(c2 . (Address_Add c2,(c1 P42address ),(c1 P44const )))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [4,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [12,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFEQ (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) div (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Address_Add c2,(c1 P42address ),(c1 P44const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) mod (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [5,<*b2,b3,b4*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [6,<*b2,b3,b4*>] implies ( b1 = SCM-Chg c2,(IFGT (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg c2,(IFGT 0,(c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),(Next (IC c2)),(jump_address c2,(c1 P33const ))) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [5,<*b2,b3,b4*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [7,<*b2,b3,b4*>] implies ( b1 = SCM-Chg c2,(IFGT (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),(c1 P33const )),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [5,<*b2,b3,b4*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [8,<*b2,b3,b4*>] implies ( b1 = SCM-Chg c2,(IFGT (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),((c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))) + (c1 P33const ))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [5,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [9,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFGT (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) + (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [5,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [10,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFGT (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) - (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [5,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [11,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFGT (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) * (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [5,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [13,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFGT (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),(c2 . (Address_Add c2,(c1 P42address ),(c1 P44const )))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [5,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [12,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFGT (c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),0,(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) div (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Address_Add c2,(c1 P42address ),(c1 P44const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) mod (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [6,<*b2,b3,b4*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [7,<*b2,b3,b4*>] implies ( b1 = SCM-Chg c2,(IFGT 0,(c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),(c1 P33const )),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [6,<*b2,b3,b4*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [8,<*b2,b3,b4*>] implies ( b1 = SCM-Chg c2,(IFGT 0,(c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),((c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))) + (c1 P33const ))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [6,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [9,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFGT 0,(c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) + (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [6,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [10,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFGT 0,(c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) - (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [6,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [11,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFGT 0,(c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) * (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [6,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [13,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFGT 0,(c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),(c2 . (Address_Add c2,(c1 P42address ),(c1 P44const )))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [6,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [12,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg c2,(IFGT 0,(c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))),(Next (IC c2)),(jump_address c2,(c1 P33const ))) iff b1 = SCM-Chg (SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) div (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Address_Add c2,(c1 P42address ),(c1 P44const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) mod (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [7,<*b2,b3,b4*>] & ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [8,<*b2,b3,b4*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),(c1 P33const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),((c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))) + (c1 P33const ))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [7,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [9,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),(c1 P33const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) + (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [7,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [10,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),(c1 P33const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) - (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [7,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [11,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),(c1 P33const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) * (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [7,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [13,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),(c1 P33const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),(c2 . (Address_Add c2,(c1 P42address ),(c1 P44const )))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [7,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [12,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),(c1 P33const )),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) div (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Address_Add c2,(c1 P42address ),(c1 P44const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) mod (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [8,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [9,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),((c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))) + (c1 P33const ))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) + (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [8,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [10,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),((c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))) + (c1 P33const ))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) - (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [8,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [11,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),((c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))) + (c1 P33const ))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) * (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [8,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [13,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),((c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))) + (c1 P33const ))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),(c2 . (Address_Add c2,(c1 P42address ),(c1 P44const )))),(Next (IC c2)) ) ) & ( ex b2 being Element of SCM-Data-Loc ex b3, b4 being Integer st c1 = [8,<*b2,b3,b4*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [12,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P31address ),(c1 P32const )),((c2 . (Address_Add c2,(c1 P31address ),(c1 P32const ))) + (c1 P33const ))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) div (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Address_Add c2,(c1 P42address ),(c1 P44const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) mod (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [9,<*b2,b3,b4,b5*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [10,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) + (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) - (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [9,<*b2,b3,b4,b5*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [11,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) + (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) * (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [9,<*b2,b3,b4,b5*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [13,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) + (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),(c2 . (Address_Add c2,(c1 P42address ),(c1 P44const )))),(Next (IC c2)) ) ) & ( ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [9,<*b2,b3,b4,b5*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [12,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) + (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) div (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Address_Add c2,(c1 P42address ),(c1 P44const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) mod (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [10,<*b2,b3,b4,b5*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [11,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) - (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) * (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [10,<*b2,b3,b4,b5*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [13,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) - (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),(c2 . (Address_Add c2,(c1 P42address ),(c1 P44const )))),(Next (IC c2)) ) ) & ( ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [10,<*b2,b3,b4,b5*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [12,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) - (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) div (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Address_Add c2,(c1 P42address ),(c1 P44const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) mod (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [11,<*b2,b3,b4,b5*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [13,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) * (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),(c2 . (Address_Add c2,(c1 P42address ),(c1 P44const )))),(Next (IC c2)) ) ) & ( ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [11,<*b2,b3,b4,b5*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [12,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) * (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) div (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Address_Add c2,(c1 P42address ),(c1 P44const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) mod (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) & ( ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [13,<*b2,b3,b4,b5*>] & ex b2, b3 being Element of SCM-Data-Loc ex b4, b5 being Integer st c1 = [12,<*b2,b3,b4,b5*>] implies ( b1 = SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),(c2 . (Address_Add c2,(c1 P42address ),(c1 P44const )))),(Next (IC c2)) iff b1 = SCM-Chg (SCM-Chg (SCM-Chg c2,(Address_Add c2,(c1 P41address ),(c1 P43const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) div (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Address_Add c2,(c1 P42address ),(c1 P44const )),((c2 . (Address_Add c2,(c1 P41address ),(c1 P43const ))) mod (c2 . (Address_Add c2,(c1 P42address ),(c1 P44const ))))),(Next (IC c2)) ) ) )
by ZFMISC_1:33;
end;
:: deftheorem Def24 defines SCM-Exec-Res SCMPDS_1:def 24 :
for
b1 being
Element of
SCMPDS-Instr for
b2 being
SCMPDS-State holds
( ( ex
b3 being
Integer st
b1 = [0,<*b3*>] implies
SCM-Exec-Res b1,
b2 = SCM-Chg b2,
(jump_address b2,(b1 const_INT )) ) & ( ex
b3 being
Element of
SCM-Data-Loc ex
b4 being
Integer st
b1 = [2,<*b3,b4*>] implies
SCM-Exec-Res b1,
b2 = SCM-Chg (SCM-Chg b2,(b1 P21address ),(b1 P22const )),
(Next (IC b2)) ) & ( ex
b3 being
Element of
SCM-Data-Loc ex
b4 being
Integer st
b1 = [3,<*b3,b4*>] implies
SCM-Exec-Res b1,
b2 = SCM-Chg (SCM-Chg b2,(Address_Add b2,(b1 P21address ),(b1 P22const )),(IC b2)),
(Next (IC b2)) ) & ( ex
b3 being
Element of
SCM-Data-Loc st
b1 = [1,<*b3*>] implies
SCM-Exec-Res b1,
b2 = SCM-Chg (SCM-Chg b2,(b1 address_1 ),(b2 . (Address_Add b2,(b1 address_1 ),RetSP ))),
(PopInstrLoc b2,(Address_Add b2,(b1 address_1 ),RetIC )) ) & ( ex
b3 being
Element of
SCM-Data-Loc ex
b4,
b5 being
Integer st
b1 = [4,<*b3,b4,b5*>] implies
SCM-Exec-Res b1,
b2 = SCM-Chg b2,
(IFEQ (b2 . (Address_Add b2,(b1 P31address ),(b1 P32const ))),0,(Next (IC b2)),(jump_address b2,(b1 P33const ))) ) & ( ex
b3 being
Element of
SCM-Data-Loc ex
b4,
b5 being
Integer st
b1 = [5,<*b3,b4,b5*>] implies
SCM-Exec-Res b1,
b2 = SCM-Chg b2,
(IFGT (b2 . (Address_Add b2,(b1 P31address ),(b1 P32const ))),0,(Next (IC b2)),(jump_address b2,(b1 P33const ))) ) & ( ex
b3 being
Element of
SCM-Data-Loc ex
b4,
b5 being
Integer st
b1 = [6,<*b3,b4,b5*>] implies
SCM-Exec-Res b1,
b2 = SCM-Chg b2,
(IFGT 0,(b2 . (Address_Add b2,(b1 P31address ),(b1 P32const ))),(Next (IC b2)),(jump_address b2,(b1 P33const ))) ) & ( ex
b3 being
Element of
SCM-Data-Loc ex
b4,
b5 being
Integer st
b1 = [7,<*b3,b4,b5*>] implies
SCM-Exec-Res b1,
b2 = SCM-Chg (SCM-Chg b2,(Address_Add b2,(b1 P31address ),(b1 P32const )),(b1 P33const )),
(Next (IC b2)) ) & ( ex
b3 being
Element of
SCM-Data-Loc ex
b4,
b5 being
Integer st
b1 = [8,<*b3,b4,b5*>] implies
SCM-Exec-Res b1,
b2 = SCM-Chg (SCM-Chg b2,(Address_Add b2,(b1 P31address ),(b1 P32const )),((b2 . (Address_Add b2,(b1 P31address ),(b1 P32const ))) + (b1 P33const ))),
(Next (IC b2)) ) & ( ex
b3,
b4 being
Element of
SCM-Data-Loc ex
b5,
b6 being
Integer st
b1 = [9,<*b3,b4,b5,b6*>] implies
SCM-Exec-Res b1,
b2 = SCM-Chg (SCM-Chg b2,(Address_Add b2,(b1 P41address ),(b1 P43const )),((b2 . (Address_Add b2,(b1 P41address ),(b1 P43const ))) + (b2 . (Address_Add b2,(b1 P42address ),(b1 P44const ))))),
(Next (IC b2)) ) & ( ex
b3,
b4 being
Element of
SCM-Data-Loc ex
b5,
b6 being
Integer st
b1 = [10,<*b3,b4,b5,b6*>] implies
SCM-Exec-Res b1,
b2 = SCM-Chg (SCM-Chg b2,(Address_Add b2,(b1 P41address ),(b1 P43const )),((b2 . (Address_Add b2,(b1 P41address ),(b1 P43const ))) - (b2 . (Address_Add b2,(b1 P42address ),(b1 P44const ))))),
(Next (IC b2)) ) & ( ex
b3,
b4 being
Element of
SCM-Data-Loc ex
b5,
b6 being
Integer st
b1 = [11,<*b3,b4,b5,b6*>] implies
SCM-Exec-Res b1,
b2 = SCM-Chg (SCM-Chg b2,(Address_Add b2,(b1 P41address ),(b1 P43const )),((b2 . (Address_Add b2,(b1 P41address ),(b1 P43const ))) * (b2 . (Address_Add b2,(b1 P42address ),(b1 P44const ))))),
(Next (IC b2)) ) & ( ex
b3,
b4 being
Element of
SCM-Data-Loc ex
b5,
b6 being
Integer st
b1 = [13,<*b3,b4,b5,b6*>] implies
SCM-Exec-Res b1,
b2 = SCM-Chg (SCM-Chg b2,(Address_Add b2,(b1 P41address ),(b1 P43const )),(b2 . (Address_Add b2,(b1 P42address ),(b1 P44const )))),
(Next (IC b2)) ) & ( ex
b3,
b4 being
Element of
SCM-Data-Loc ex
b5,
b6 being
Integer st
b1 = [12,<*b3,b4,b5,b6*>] implies
SCM-Exec-Res b1,
b2 = SCM-Chg (SCM-Chg (SCM-Chg b2,(Address_Add b2,(b1 P41address ),(b1 P43const )),((b2 . (Address_Add b2,(b1 P41address ),(b1 P43const ))) div (b2 . (Address_Add b2,(b1 P42address ),(b1 P44const ))))),(Address_Add b2,(b1 P42address ),(b1 P44const )),((b2 . (Address_Add b2,(b1 P41address ),(b1 P43const ))) mod (b2 . (Address_Add b2,(b1 P42address ),(b1 P44const ))))),
(Next (IC b2)) ) & ( ( for
b3 being
Integer holds not
b1 = [0,<*b3*>] ) & ( for
b3 being
Element of
SCM-Data-Loc for
b4 being
Integer holds not
b1 = [2,<*b3,b4*>] ) & ( for
b3 being
Element of
SCM-Data-Loc for
b4 being
Integer holds not
b1 = [3,<*b3,b4*>] ) & ( for
b3 being
Element of
SCM-Data-Loc holds not
b1 = [1,<*b3*>] ) & ( for
b3 being
Element of
SCM-Data-Loc for
b4,
b5 being
Integer holds not
b1 = [4,<*b3,b4,b5*>] ) & ( for
b3 being
Element of
SCM-Data-Loc for
b4,
b5 being
Integer holds not
b1 = [5,<*b3,b4,b5*>] ) & ( for
b3 being
Element of
SCM-Data-Loc for
b4,
b5 being
Integer holds not
b1 = [6,<*b3,b4,b5*>] ) & ( for
b3 being
Element of
SCM-Data-Loc for
b4,
b5 being
Integer holds not
b1 = [7,<*b3,b4,b5*>] ) & ( for
b3 being
Element of
SCM-Data-Loc for
b4,
b5 being
Integer holds not
b1 = [8,<*b3,b4,b5*>] ) & ( for
b3,
b4 being
Element of
SCM-Data-Loc for
b5,
b6 being
Integer holds not
b1 = [9,<*b3,b4,b5,b6*>] ) & ( for
b3,
b4 being
Element of
SCM-Data-Loc for
b5,
b6 being
Integer holds not
b1 = [10,<*b3,b4,b5,b6*>] ) & ( for
b3,
b4 being
Element of
SCM-Data-Loc for
b5,
b6 being
Integer holds not
b1 = [11,<*b3,b4,b5,b6*>] ) & ( for
b3,
b4 being
Element of
SCM-Data-Loc for
b5,
b6 being
Integer holds not
b1 = [13,<*b3,b4,b5,b6*>] ) & ( for
b3,
b4 being
Element of
SCM-Data-Loc for
b5,
b6 being
Integer holds not
b1 = [12,<*b3,b4,b5,b6*>] ) implies
SCM-Exec-Res b1,
b2 = b2 ) );
definition
func SCMPDS-Exec -> Function of
SCMPDS-Instr ,
Funcs (product SCMPDS-OK ),
(product SCMPDS-OK ) means :: SCMPDS_1:def 25
for
b1 being
Element of
SCMPDS-Instr for
b2 being
SCMPDS-State holds
(a1 . b1) . b2 = SCM-Exec-Res b1,
b2;
existence
ex b1 being Function of SCMPDS-Instr , Funcs (product SCMPDS-OK ),(product SCMPDS-OK ) st
for b2 being Element of SCMPDS-Instr
for b3 being SCMPDS-State holds (b1 . b2) . b3 = SCM-Exec-Res b2,b3
uniqueness
for b1, b2 being Function of SCMPDS-Instr , Funcs (product SCMPDS-OK ),(product SCMPDS-OK ) st ( for b3 being Element of SCMPDS-Instr
for b4 being SCMPDS-State holds (b1 . b3) . b4 = SCM-Exec-Res b3,b4 ) & ( for b3 being Element of SCMPDS-Instr
for b4 being SCMPDS-State holds (b2 . b3) . b4 = SCM-Exec-Res b3,b4 ) holds
b1 = b2
end;
:: deftheorem Def25 defines SCMPDS-Exec SCMPDS_1:def 25 :