definition
let S be non
empty 1-sorted ;
func SCM-Instr S -> non
empty set equals
((({[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 Nat : verum } ) \/ { [7,<*i*>,<*a*>] where i is Nat, 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 Nat : verum } ) \/ { [7,<*i*>,<*a*>] where i is Nat, 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 non empty set
;
end;
::
deftheorem defines
SCM-Instr SCMRINGI: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 Nat : verum } ) \/ { [7,<*i*>,<*a*>] where i is Nat, 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 } ;
theorem Th7:
for
S being non
empty 1-sorted for
x being
Element of
SCM-Instr S holds
( (
x in {[0,{},{}]} &
InsCode x = 0 ) or (
x in { [I,{},<*a,b*>] where I is Element of Segm 8, a, b is Element of SCM-Data-Loc : I in {1,2,3,4} } & (
InsCode x = 1 or
InsCode x = 2 or
InsCode x = 3 or
InsCode x = 4 ) ) or (
x in { [6,<*i*>,{}] where i is Nat : verum } &
InsCode x = 6 ) or (
x in { [7,<*i*>,<*a*>] where i is Nat, a is Element of SCM-Data-Loc : verum } &
InsCode x = 7 ) or (
x in { [5,{},<*a,r*>] where a is Element of SCM-Data-Loc , r is Element of S : verum } &
InsCode x = 5 ) )
Lm1:
for R being Ring
for i being Element of SCM-Instr R holds InsCode i <= 7
Lm2:
for S being non empty 1-sorted
for i being Element of SCM-Instr S st not not InsCode i = 1 & ... & not InsCode i = 4 holds
JumpPart i = {}
Lm3:
for S being non empty 1-sorted
for i being Element of SCM-Instr S st InsCode i = 5 holds
JumpPart i = {}
Lm4:
for R being Ring
for I being Element of SCM-Instr R st InsCode I = 6 holds
dom (JumpPart I) = Seg 1
Lm5:
for R being Ring
for I being Element of SCM-Instr R st InsCode I = 7 holds
dom (JumpPart I) = Seg 1