35 lines
738 B
Plaintext
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 |