Skip to content

Commit bf68e9d

Browse files
committed
SMV: the LTL release operator is "V"
NuSMV's LTL release operator is "V", not "R".
1 parent 29491d5 commit bf68e9d

15 files changed

+131
-11
lines changed

CHANGELOG

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
* SystemVerilog: typedefs from package scopes
44
* SystemVerilog: assignment patterns with keys for structs
5+
* SMV: LTL V operator
56

67
# EBMC 5.5
78

regression/smv/LTL/smv_ltlspec_R1.desc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
CORE
22
smv_ltlspec_R1.smv
33
--bound 10
4-
^\[.*\] x >= 1 R x = 1: PROVED up to bound 10$
5-
^\[.*\] FALSE R x != 4: PROVED up to bound 10$
6-
^\[.*\] x = 2 R x = 1: REFUTED$
7-
^\[.*\] x >= 1 R x = 1 & FALSE R x != 4: PROVED up to bound 10$
8-
^\[.*\] x = 2 R x = 1 & x >= 1 R x = 1: REFUTED$
9-
^\[.*\] x = 2 R x = 1 \| x >= 1 R x = 1: PROVED up to bound 10$
4+
^\[.*\] x >= 1 V x = 1: PROVED up to bound 10$
5+
^\[.*\] FALSE V x != 4: PROVED up to bound 10$
6+
^\[.*\] x = 2 V x = 1: REFUTED$
7+
^\[.*\] x >= 1 V x = 1 & FALSE V x != 4: PROVED up to bound 10$
8+
^\[.*\] x = 2 V x = 1 & x >= 1 V x = 1: REFUTED$
9+
^\[.*\] x = 2 V x = 1 \| x >= 1 V x = 1: PROVED up to bound 10$
1010
^EXIT=10$
1111
^SIGNAL=0$
1212
--

regression/smv/LTL/smv_ltlspec_R2.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
KNOWNBUG broken-smt-backend
22
smv_ltlspec_R2.smv
33
--bound 10
4-
^\[.*\] FALSE R x != 3: REFUTED$
4+
^\[.*\] FALSE V x != 3: REFUTED$
55
^Counterexample with 3 states:$
66
^x@0 = 1$
77
^x@1 = 2$

regression/smv/LTL/smv_ltlspec_R3.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CORE
22
smv_ltlspec_R3.smv
33
--bound 1
4-
^\[.*\] FALSE R x != 3: PROVED up to bound 1$
4+
^\[.*\] FALSE V x != 3: PROVED up to bound 1$
55
^EXIT=0$
66
^SIGNAL=0$
77
--

regression/smv/LTL/smv_ltlspec_R4.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CORE
22
smv_ltlspec_R4.smv
33
--bound 10
4-
^\[.*\] FALSE R x != 0: PROVED up to bound 10$
4+
^\[.*\] FALSE V x != 0: PROVED up to bound 10$
55
^EXIT=0$
66
^SIGNAL=0$
77
--
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
CORE
2+
smv_ltlspec_V1.smv
3+
--bound 10
4+
^\[.*\] x >= 1 V x = 1: PROVED up to bound 10$
5+
^\[.*\] FALSE V x != 4: PROVED up to bound 10$
6+
^\[.*\] x = 2 V x = 1: REFUTED$
7+
^\[.*\] x >= 1 V x = 1 & FALSE V x != 4: PROVED up to bound 10$
8+
^\[.*\] x = 2 V x = 1 & x >= 1 V x = 1: REFUTED$
9+
^\[.*\] x = 2 V x = 1 \| x >= 1 V x = 1: PROVED up to bound 10$
10+
^EXIT=10$
11+
^SIGNAL=0$
12+
--
13+
^warning: ignoring
14+
--

regression/smv/LTL/smv_ltlspec_V1.smv

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
MODULE main
2+
3+
VAR x : 0..10;
4+
5+
ASSIGN
6+
init(x) := 1;
7+
8+
next(x) :=
9+
case
10+
x>=3 : 3;
11+
TRUE: x+1;
12+
esac;
13+
14+
LTLSPEC x >= 1 V x = 1 -- should pass
15+
LTLSPEC FALSE V x != 4 -- should pass
16+
LTLSPEC x = 2 V x = 1 -- should fail
17+
LTLSPEC (x >= 1 V x = 1) & (FALSE V x != 4) -- should pass
18+
LTLSPEC (x = 2 V x = 1) & (x >= 1 V x = 1) -- should fail
19+
LTLSPEC (x = 2 V x = 1) | (x >= 1 V x = 1) -- should pass
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
KNOWNBUG broken-smt-backend
2+
smv_ltlspec_V2.smv
3+
--bound 10
4+
^\[.*\] FALSE V x != 3: REFUTED$
5+
^Counterexample with 3 states:$
6+
^x@0 = 1$
7+
^x@1 = 2$
8+
^x@2 = 3$
9+
^EXIT=10$
10+
^SIGNAL=0$
11+
--
12+
^warning: ignoring
13+
--
14+
The trace has too many states.

regression/smv/LTL/smv_ltlspec_V2.smv

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
MODULE main
2+
3+
VAR x : 0..3;
4+
5+
ASSIGN
6+
init(x) := 1;
7+
8+
next(x) :=
9+
case
10+
x=3 : 3;
11+
TRUE: x+1;
12+
esac;
13+
14+
-- trace should be 1, 2, 3
15+
LTLSPEC FALSE V x != 3
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
CORE
2+
smv_ltlspec_V3.smv
3+
--bound 1
4+
^\[.*\] FALSE V x != 3: PROVED up to bound 1$
5+
^EXIT=0$
6+
^SIGNAL=0$
7+
--
8+
^warning: ignoring
9+
--

0 commit comments

Comments
 (0)