kripkomat/out_exp.smv

25 lines
508 B
Plaintext

MODULE main
VAR
state : {STATE_I,STATE_A,STATE_B,STATE_C,STATE_D};
ASSIGN
init(state) := STATE_I;
next(state) :=
case
state = STATE_I : {STATE_A,STATE_B};
state = STATE_A : {STATE_C,STATE_D};
state = STATE_B : {STATE_C};
state = STATE_C : {STATE_A};
state = STATE_D : {STATE_B};
esac;
DEFINE
a := state = STATE_A | state = STATE_B;
b := state = STATE_C;
LTLSPEC
X a;
LTLSPEC
F b;
LTLSPEC
G( b -> F(a))