:: SCMRING1 semantic presentation :: Showing IDV graph ... (Click the Palm Trees again to close it)
definition
let S be non
empty 1-sorted ;
func SCM-Instr S -> Subset of
[:(Segm 8),(((union {the carrier of S}) \/ NAT ) * ):] equals :: SCMRING1:def 1
((({[0,{} ]} \/ { [I,<*a,b*>] where I is Element of Segm 8, a, b is Element of SCM-Data-Loc : I in {1,2,3,4} } ) \/ { [6,<*i*>] where i is Element of SCM-Instr-Loc : verum } ) \/ { [7,<*i,a*>] where i is Element of SCM-Instr-Loc , a is Element of SCM-Data-Loc : verum } ) \/ { [5,<*a,r*>] where a is Element of SCM-Data-Loc , r is Element of S : verum } ;
coherence
((({[0,{} ]} \/ { [I,<*a,b*>] where I is Element of Segm 8, a, b is Element of SCM-Data-Loc : I in {1,2,3,4} } ) \/ { [6,<*i*>] where i is Element of SCM-Instr-Loc : verum } ) \/ { [7,<*i,a*>] where i is Element of SCM-Instr-Loc , a is Element of SCM-Data-Loc : verum } ) \/ { [5,<*a,r*>] where a is Element of SCM-Data-Loc , r is Element of S : verum } is Subset of [:(Segm 8),(((union {the carrier of S}) \/ NAT ) * ):]
end;
:: deftheorem defines SCM-Instr SCMRING1:def 1 :
for
S being non
empty 1-sorted holds
SCM-Instr S = ((({[0,{} ]} \/ { [I,<*a,b*>] where I is Element of Segm 8, a, b is Element of SCM-Data-Loc : I in {1,2,3,4} } ) \/ { [6,<*i*>] where i is Element of SCM-Instr-Loc : verum } ) \/ { [7,<*i,a*>] where i is Element of SCM-Instr-Loc , a is Element of SCM-Data-Loc : verum } ) \/ { [5,<*a,r*>] where a is Element of SCM-Data-Loc , r is Element of S : verum } ;
:: deftheorem Def2 defines good SCMRING1:def 2 :
:: deftheorem Def3 defines SCM-OK SCMRING1:def 3 :
theorem Th1: :: SCMRING1:1 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th2: :: SCMRING1:2 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th3: :: SCMRING1:3 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th4: :: SCMRING1:4 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th5: :: SCMRING1:5 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th6: :: SCMRING1:6 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th7: :: SCMRING1:7 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th8: :: SCMRING1:8 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: SCMRING1:9 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem defines IC SCMRING1:def 4 :
:: deftheorem defines SCM-Chg SCMRING1:def 5 :
theorem :: SCMRING1:10 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: SCMRING1:11 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: SCMRING1:12 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem defines SCM-Chg SCMRING1:def 6 :
theorem :: SCMRING1:13 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: SCMRING1:14 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: SCMRING1:15 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: SCMRING1:16 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def7 defines address_1 SCMRING1:def 7 :
:: deftheorem Def8 defines address_2 SCMRING1:def 8 :
theorem :: SCMRING1:17 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def9 defines jump_address SCMRING1:def 9 :
theorem :: SCMRING1:18 :: Showing IDV graph ... (Click the Palm Tree again to close it)
definition
let S be non
empty 1-sorted ;
let x be
Element of
SCM-Instr S;
given mk being
Element of
SCM-Instr-Loc ,
ml being
Element of
SCM-Data-Loc ,
I being
Element of
Segm 8
such that A1:
x = [I,<*mk,ml*>]
;
func x cjump_address -> Element of
SCM-Instr-Loc means :
Def10:
:: SCMRING1:def 10
ex
mk being
Element of
SCM-Instr-Loc ex
ml being
Element of
SCM-Data-Loc st
(
<*mk,ml*> = x `2 &
it = <*mk,ml*> /. 1 );
existence
ex b1, mk being Element of SCM-Instr-Loc ex ml being Element of SCM-Data-Loc st
( <*mk,ml*> = x `2 & b1 = <*mk,ml*> /. 1 )
uniqueness
for b1, b2 being Element of SCM-Instr-Loc st ex mk being Element of SCM-Instr-Loc ex ml being Element of SCM-Data-Loc st
( <*mk,ml*> = x `2 & b1 = <*mk,ml*> /. 1 ) & ex mk being Element of SCM-Instr-Loc ex ml being Element of SCM-Data-Loc st
( <*mk,ml*> = x `2 & b2 = <*mk,ml*> /. 1 ) holds
b1 = b2
;
func x cond_address -> Element of
SCM-Data-Loc means :
Def11:
:: SCMRING1:def 11
ex
mk being
Element of
SCM-Instr-Loc ex
ml being
Element of
SCM-Data-Loc st
(
<*mk,ml*> = x `2 &
it = <*mk,ml*> /. 2 );
existence
ex b1 being Element of SCM-Data-Loc ex mk being Element of SCM-Instr-Loc ex ml being Element of SCM-Data-Loc st
( <*mk,ml*> = x `2 & b1 = <*mk,ml*> /. 2 )
uniqueness
for b1, b2 being Element of SCM-Data-Loc st ex mk being Element of SCM-Instr-Loc ex ml being Element of SCM-Data-Loc st
( <*mk,ml*> = x `2 & b1 = <*mk,ml*> /. 2 ) & ex mk being Element of SCM-Instr-Loc ex ml being Element of SCM-Data-Loc st
( <*mk,ml*> = x `2 & b2 = <*mk,ml*> /. 2 ) holds
b1 = b2
;
end;
:: deftheorem Def10 defines cjump_address SCMRING1:def 10 :
:: deftheorem Def11 defines cond_address SCMRING1:def 11 :
theorem :: SCMRING1:19 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def12 defines const_address SCMRING1:def 12 :
:: deftheorem Def13 defines const_value SCMRING1:def 13 :
theorem :: SCMRING1:20 :: Showing IDV graph ... (Click the Palm Tree again to close it)
definition
let R be
good Ring;
let x be
Element of
SCM-Instr R;
let s be
SCM-State of
R;
func SCM-Exec-Res x,
s -> SCM-State of
R equals :: SCMRING1:def 14
SCM-Chg (SCM-Chg s,(x address_1 ),(s . (x address_2 ))),
(Next (IC s)) if ex
mk,
ml being
Element of
SCM-Data-Loc st
x = [1,<*mk,ml*>] SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) + (s . (x address_2 )))),
(Next (IC s)) if ex
mk,
ml being
Element of
SCM-Data-Loc st
x = [2,<*mk,ml*>] SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) - (s . (x address_2 )))),
(Next (IC s)) if ex
mk,
ml being
Element of
SCM-Data-Loc st
x = [3,<*mk,ml*>] SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) * (s . (x address_2 )))),
(Next (IC s)) if ex
mk,
ml being
Element of
SCM-Data-Loc st
x = [4,<*mk,ml*>] SCM-Chg s,
(x jump_address ) if ex
mk being
Element of
SCM-Instr-Loc st
x = [6,<*mk*>] SCM-Chg s,
(IFEQ (s . (x cond_address )),(0. R),(x cjump_address ),(Next (IC s))) if ex
mk being
Element of
SCM-Instr-Loc ex
ml being
Element of
SCM-Data-Loc st
x = [7,<*mk,ml*>] SCM-Chg (SCM-Chg s,(x const_address ),(x const_value )),
(Next (IC s)) if ex
mk being
Element of
SCM-Data-Loc ex
r being
Element of
R st
x = [5,<*mk,r*>] otherwise s;
coherence
( ( ex mk, ml being Element of SCM-Data-Loc st x = [1,<*mk,ml*>] implies SCM-Chg (SCM-Chg s,(x address_1 ),(s . (x address_2 ))),(Next (IC s)) is SCM-State of R ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [2,<*mk,ml*>] implies SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) + (s . (x address_2 )))),(Next (IC s)) is SCM-State of R ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [3,<*mk,ml*>] implies SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) - (s . (x address_2 )))),(Next (IC s)) is SCM-State of R ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [4,<*mk,ml*>] implies SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) * (s . (x address_2 )))),(Next (IC s)) is SCM-State of R ) & ( ex mk being Element of SCM-Instr-Loc st x = [6,<*mk*>] implies SCM-Chg s,(x jump_address ) is SCM-State of R ) & ( ex mk being Element of SCM-Instr-Loc ex ml being Element of SCM-Data-Loc st x = [7,<*mk,ml*>] implies SCM-Chg s,(IFEQ (s . (x cond_address )),(0. R),(x cjump_address ),(Next (IC s))) is SCM-State of R ) & ( ex mk being Element of SCM-Data-Loc ex r being Element of R st x = [5,<*mk,r*>] implies SCM-Chg (SCM-Chg s,(x const_address ),(x const_value )),(Next (IC s)) is SCM-State of R ) & ( ( for mk, ml being Element of SCM-Data-Loc holds not x = [1,<*mk,ml*>] ) & ( for mk, ml being Element of SCM-Data-Loc holds not x = [2,<*mk,ml*>] ) & ( for mk, ml being Element of SCM-Data-Loc holds not x = [3,<*mk,ml*>] ) & ( for mk, ml being Element of SCM-Data-Loc holds not x = [4,<*mk,ml*>] ) & ( for mk being Element of SCM-Instr-Loc holds not x = [6,<*mk*>] ) & ( for mk being Element of SCM-Instr-Loc
for ml being Element of SCM-Data-Loc holds not x = [7,<*mk,ml*>] ) & ( for mk being Element of SCM-Data-Loc
for r being Element of R holds not x = [5,<*mk,r*>] ) implies s is SCM-State of R ) )
;
consistency
for b1 being SCM-State of R holds
( ( ex mk, ml being Element of SCM-Data-Loc st x = [1,<*mk,ml*>] & ex mk, ml being Element of SCM-Data-Loc st x = [2,<*mk,ml*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),(s . (x address_2 ))),(Next (IC s)) iff b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) + (s . (x address_2 )))),(Next (IC s)) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [1,<*mk,ml*>] & ex mk, ml being Element of SCM-Data-Loc st x = [3,<*mk,ml*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),(s . (x address_2 ))),(Next (IC s)) iff b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) - (s . (x address_2 )))),(Next (IC s)) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [1,<*mk,ml*>] & ex mk, ml being Element of SCM-Data-Loc st x = [4,<*mk,ml*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),(s . (x address_2 ))),(Next (IC s)) iff b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) * (s . (x address_2 )))),(Next (IC s)) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [1,<*mk,ml*>] & ex mk being Element of SCM-Instr-Loc st x = [6,<*mk*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),(s . (x address_2 ))),(Next (IC s)) iff b1 = SCM-Chg s,(x jump_address ) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [1,<*mk,ml*>] & ex mk being Element of SCM-Instr-Loc ex ml being Element of SCM-Data-Loc st x = [7,<*mk,ml*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),(s . (x address_2 ))),(Next (IC s)) iff b1 = SCM-Chg s,(IFEQ (s . (x cond_address )),(0. R),(x cjump_address ),(Next (IC s))) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [1,<*mk,ml*>] & ex mk being Element of SCM-Data-Loc ex r being Element of R st x = [5,<*mk,r*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),(s . (x address_2 ))),(Next (IC s)) iff b1 = SCM-Chg (SCM-Chg s,(x const_address ),(x const_value )),(Next (IC s)) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [2,<*mk,ml*>] & ex mk, ml being Element of SCM-Data-Loc st x = [3,<*mk,ml*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) + (s . (x address_2 )))),(Next (IC s)) iff b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) - (s . (x address_2 )))),(Next (IC s)) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [2,<*mk,ml*>] & ex mk, ml being Element of SCM-Data-Loc st x = [4,<*mk,ml*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) + (s . (x address_2 )))),(Next (IC s)) iff b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) * (s . (x address_2 )))),(Next (IC s)) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [2,<*mk,ml*>] & ex mk being Element of SCM-Instr-Loc st x = [6,<*mk*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) + (s . (x address_2 )))),(Next (IC s)) iff b1 = SCM-Chg s,(x jump_address ) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [2,<*mk,ml*>] & ex mk being Element of SCM-Instr-Loc ex ml being Element of SCM-Data-Loc st x = [7,<*mk,ml*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) + (s . (x address_2 )))),(Next (IC s)) iff b1 = SCM-Chg s,(IFEQ (s . (x cond_address )),(0. R),(x cjump_address ),(Next (IC s))) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [2,<*mk,ml*>] & ex mk being Element of SCM-Data-Loc ex r being Element of R st x = [5,<*mk,r*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) + (s . (x address_2 )))),(Next (IC s)) iff b1 = SCM-Chg (SCM-Chg s,(x const_address ),(x const_value )),(Next (IC s)) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [3,<*mk,ml*>] & ex mk, ml being Element of SCM-Data-Loc st x = [4,<*mk,ml*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) - (s . (x address_2 )))),(Next (IC s)) iff b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) * (s . (x address_2 )))),(Next (IC s)) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [3,<*mk,ml*>] & ex mk being Element of SCM-Instr-Loc st x = [6,<*mk*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) - (s . (x address_2 )))),(Next (IC s)) iff b1 = SCM-Chg s,(x jump_address ) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [3,<*mk,ml*>] & ex mk being Element of SCM-Instr-Loc ex ml being Element of SCM-Data-Loc st x = [7,<*mk,ml*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) - (s . (x address_2 )))),(Next (IC s)) iff b1 = SCM-Chg s,(IFEQ (s . (x cond_address )),(0. R),(x cjump_address ),(Next (IC s))) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [3,<*mk,ml*>] & ex mk being Element of SCM-Data-Loc ex r being Element of R st x = [5,<*mk,r*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) - (s . (x address_2 )))),(Next (IC s)) iff b1 = SCM-Chg (SCM-Chg s,(x const_address ),(x const_value )),(Next (IC s)) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [4,<*mk,ml*>] & ex mk being Element of SCM-Instr-Loc st x = [6,<*mk*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) * (s . (x address_2 )))),(Next (IC s)) iff b1 = SCM-Chg s,(x jump_address ) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [4,<*mk,ml*>] & ex mk being Element of SCM-Instr-Loc ex ml being Element of SCM-Data-Loc st x = [7,<*mk,ml*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) * (s . (x address_2 )))),(Next (IC s)) iff b1 = SCM-Chg s,(IFEQ (s . (x cond_address )),(0. R),(x cjump_address ),(Next (IC s))) ) ) & ( ex mk, ml being Element of SCM-Data-Loc st x = [4,<*mk,ml*>] & ex mk being Element of SCM-Data-Loc ex r being Element of R st x = [5,<*mk,r*>] implies ( b1 = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) * (s . (x address_2 )))),(Next (IC s)) iff b1 = SCM-Chg (SCM-Chg s,(x const_address ),(x const_value )),(Next (IC s)) ) ) & ( ex mk being Element of SCM-Instr-Loc st x = [6,<*mk*>] & ex mk being Element of SCM-Instr-Loc ex ml being Element of SCM-Data-Loc st x = [7,<*mk,ml*>] implies ( b1 = SCM-Chg s,(x jump_address ) iff b1 = SCM-Chg s,(IFEQ (s . (x cond_address )),(0. R),(x cjump_address ),(Next (IC s))) ) ) & ( ex mk being Element of SCM-Instr-Loc st x = [6,<*mk*>] & ex mk being Element of SCM-Data-Loc ex r being Element of R st x = [5,<*mk,r*>] implies ( b1 = SCM-Chg s,(x jump_address ) iff b1 = SCM-Chg (SCM-Chg s,(x const_address ),(x const_value )),(Next (IC s)) ) ) & ( ex mk being Element of SCM-Instr-Loc ex ml being Element of SCM-Data-Loc st x = [7,<*mk,ml*>] & ex mk being Element of SCM-Data-Loc ex r being Element of R st x = [5,<*mk,r*>] implies ( b1 = SCM-Chg s,(IFEQ (s . (x cond_address )),(0. R),(x cjump_address ),(Next (IC s))) iff b1 = SCM-Chg (SCM-Chg s,(x const_address ),(x const_value )),(Next (IC s)) ) ) )
by ZFMISC_1:33;
end;
:: deftheorem defines SCM-Exec-Res SCMRING1:def 14 :
for
R being
good Ring for
x being
Element of
SCM-Instr R for
s being
SCM-State of
R holds
( ( ex
mk,
ml being
Element of
SCM-Data-Loc st
x = [1,<*mk,ml*>] implies
SCM-Exec-Res x,
s = SCM-Chg (SCM-Chg s,(x address_1 ),(s . (x address_2 ))),
(Next (IC s)) ) & ( ex
mk,
ml being
Element of
SCM-Data-Loc st
x = [2,<*mk,ml*>] implies
SCM-Exec-Res x,
s = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) + (s . (x address_2 )))),
(Next (IC s)) ) & ( ex
mk,
ml being
Element of
SCM-Data-Loc st
x = [3,<*mk,ml*>] implies
SCM-Exec-Res x,
s = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) - (s . (x address_2 )))),
(Next (IC s)) ) & ( ex
mk,
ml being
Element of
SCM-Data-Loc st
x = [4,<*mk,ml*>] implies
SCM-Exec-Res x,
s = SCM-Chg (SCM-Chg s,(x address_1 ),((s . (x address_1 )) * (s . (x address_2 )))),
(Next (IC s)) ) & ( ex
mk being
Element of
SCM-Instr-Loc st
x = [6,<*mk*>] implies
SCM-Exec-Res x,
s = SCM-Chg s,
(x jump_address ) ) & ( ex
mk being
Element of
SCM-Instr-Loc ex
ml being
Element of
SCM-Data-Loc st
x = [7,<*mk,ml*>] implies
SCM-Exec-Res x,
s = SCM-Chg s,
(IFEQ (s . (x cond_address )),(0. R),(x cjump_address ),(Next (IC s))) ) & ( ex
mk being
Element of
SCM-Data-Loc ex
r being
Element of
R st
x = [5,<*mk,r*>] implies
SCM-Exec-Res x,
s = SCM-Chg (SCM-Chg s,(x const_address ),(x const_value )),
(Next (IC s)) ) & ( ( for
mk,
ml being
Element of
SCM-Data-Loc holds not
x = [1,<*mk,ml*>] ) & ( for
mk,
ml being
Element of
SCM-Data-Loc holds not
x = [2,<*mk,ml*>] ) & ( for
mk,
ml being
Element of
SCM-Data-Loc holds not
x = [3,<*mk,ml*>] ) & ( for
mk,
ml being
Element of
SCM-Data-Loc holds not
x = [4,<*mk,ml*>] ) & ( for
mk being
Element of
SCM-Instr-Loc holds not
x = [6,<*mk*>] ) & ( for
mk being
Element of
SCM-Instr-Loc for
ml being
Element of
SCM-Data-Loc holds not
x = [7,<*mk,ml*>] ) & ( for
mk being
Element of
SCM-Data-Loc for
r being
Element of
R holds not
x = [5,<*mk,r*>] ) implies
SCM-Exec-Res x,
s = s ) );
definition
let R be
good Ring;
func SCM-Exec R -> Function of
SCM-Instr R,
Funcs (product (SCM-OK R)),
(product (SCM-OK R)) means :: SCMRING1:def 15
for
x being
Element of
SCM-Instr R for
y being
SCM-State of
R holds
(it . x) . y = SCM-Exec-Res x,
y;
existence
ex b1 being Function of SCM-Instr R, Funcs (product (SCM-OK R)),(product (SCM-OK R)) st
for x being Element of SCM-Instr R
for y being SCM-State of R holds (b1 . x) . y = SCM-Exec-Res x,y
uniqueness
for b1, b2 being Function of SCM-Instr R, Funcs (product (SCM-OK R)),(product (SCM-OK R)) st ( for x being Element of SCM-Instr R
for y being SCM-State of R holds (b1 . x) . y = SCM-Exec-Res x,y ) & ( for x being Element of SCM-Instr R
for y being SCM-State of R holds (b2 . x) . y = SCM-Exec-Res x,y ) holds
b1 = b2
end;
:: deftheorem defines SCM-Exec SCMRING1:def 15 :