relabel_bse: rework to simplify more patterns
Rework the way we compute and use cut-points to catch more patterns we can rewrite. Also Use BDDs to check if a Boolean sub-expression is false or true. Fixes issue #540. * spot/tl/relabel.hh: Update documentation * spot/tl/relabel.cc (relabel_bse): Rework. * tests/core/ltlfilt.test: Add more test cases. * tests/python/_mealy.ipynb: Update. * NEWS: Mention the change.
This commit is contained in:
parent
cbb981ffd5
commit
7149521f48
5 changed files with 305 additions and 159 deletions
5
NEWS
5
NEWS
|
|
@ -33,6 +33,11 @@ New in spot 2.11.6.dev (not yet released)
|
|||
- spot::bdd_to_cnf_formula() is a new variant of spot::bdd_to_formula()
|
||||
that converts a BDD into a CNF instead of a DNF.
|
||||
|
||||
- spot::relabel_bse() has been improved to better deal with more
|
||||
cases. For instance '(a & b & c) U (!c & d & e)' is now
|
||||
correctly reduced as '(p0 & p1) U (!p1 & p2)', and
|
||||
'((a & !b) | (a->b)) U c' now becomes '1 U c'. (Issue #540.)
|
||||
|
||||
- spot::relabel_overlapping_bse() is a new function that will
|
||||
replace boolean subformulas by fresh atomic propositions even if
|
||||
those subformulas share atomic propositions.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue