Files
cps-lab-exercises-2021/lab2/exercise_1.smv
2021-11-19 10:36:17 +01:00

35 lines
738 B
Plaintext

-- Non-deterministic
MODULE main
VAR
state: 1..4;
ASSIGN
init(state) := 3;
next(state) := case
state = 1 : 2;
state = 2 : 2;
state = 3 : {1, 2, 4};
state = 4 : 3;
esac;
DEFINE
a := case
state = 1 | state = 2 : FALSE;
TRUE : TRUE;
esac;
b := case
state = 1 | state = 3 : FALSE;
TRUE : TRUE;
esac;
LTLSPEC F b; -- true
LTLSPEC G a; -- false
LTLSPEC a U b; -- false
LTLSPEC a U X b; -- true
LTLSPEC G F b; -- true
LTLSPEC F G b; -- false
LTLSPEC !(G a); -- false
LTLSPEC !(a U b); -- false
LTLSPEC !(F G b); -- false