Implement sum(..) and sum_and(..).

Fixes #231.

* NEWS: Mention of implementation of sum, sum_and.
* bin/autfilt.cc: Add --sum, --sum-or and --sum-and options.
* python/spot/impl.i: Add bindings for sum, sum_and.
* spot/twaalgos/Makefile.am: Add sum.cc, sum.hh.
* spot/twaalgos/sum.cc: Implement sum, sum_and.
* spot/twaalgos/sum.hh: Declaration of sum, sum_and.
* tests/Makefile.am: Add sum tests.
* tests/core/explsum.test: Test the sum of two automatons,
  false or false, unsatisfied mark propagation, handling of univ.
  transitions.
* tests/python/sum.py: Check that two automatons that does not
  share their bdd dict are not accepted, then run tests over the
  sum of randomly generated LTL formulas.
This commit is contained in:
Thomas Medioni 2017-03-06 17:03:34 +01:00
parent 5793cf32f9
commit 194c199232
9 changed files with 615 additions and 0 deletions

8
NEWS
View file

@ -8,6 +8,14 @@ New in spot 2.3.1.dev (not yet released)
atomic propositions instead of conting them. Tools that output
formulas also support --format=%x for this purpose.
- In autfilt, the options --sum(--sum-or) and --sum-and are
implemented.
Library:
- spot::sum() and spot::sum_and() implements the union and the
intersection of two automatons, respectively.
Python:
- The bdd_to_formula(), and to_generalized_buchi() functions can now