Skip to content

Commit 5d4ad23

Browse files
committed
BDD: add AF AG dead-end reproducer
Add a minimal KNOWNBUG regression that isolates the remaining AF AG dead-end behavior in the BDD CTL engine. The model has one state that can self-loop forever or branch once into a dead-end bad state. The current BDD implementation refutes AF AG good on that model.
1 parent 28f531f commit 5d4ad23

2 files changed

Lines changed: 26 additions & 0 deletions

File tree

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
KNOWNBUG
2+
AFAG_deadend1.smv
3+
--bdd
4+
^\[spec1\] AF AG good: PROVED$
5+
^EXIT=0$
6+
^SIGNAL=0$
7+
--
8+
^warning: ignoring
9+
--
10+
The BDD implementation of nested AG uses AG p = !EF !p over the raw
11+
transition relation. A finite branch into a deadend state with !p is therefore
12+
treated as a witness against AG p, even though the existing deadend regressions
13+
use conventions where finite deadend branches do not falsify universal
14+
properties.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
MODULE main
2+
3+
VAR good : boolean;
4+
5+
INIT good = TRUE
6+
7+
TRANS good & next(good) | good & !next(good)
8+
9+
-- There is an infinite path that stays in good forever and a finite path to a
10+
-- deadend state with good = FALSE. Under the deadend conventions used by the
11+
-- existing BDD regressions, the finite branch should not falsify AG good.
12+
SPEC AF AG good

0 commit comments

Comments
 (0)