ltl_simplifier: add a boolean_to_isop option and method

* src/ltlvisit/simplify.hh (ltl_simplifier_options): add
a boolean_to_isop option
(ltl_simplifier::boolean_to_isop): New method.
* src/ltlvisit/simplify.cc: Implement these.
* src/bin/ltlfilt.cc: Add a --boolean-to-isop option.
* src/ltltest/isop.test: New file.
* src/ltltest/Makefile.am: Add it.
* NEWS: Mention it.
This commit is contained in:
Alexandre Duret-Lutz 2013-03-05 23:23:45 +01:00
parent c17f3b8656
commit c6406995fb
6 changed files with 139 additions and 12 deletions

10
NEWS
View file

@ -4,6 +4,16 @@ New in spot 1.0.1a (not released):
- the on-line ltl2tgba.html interface can output deterministic or
non-deterministic monitors. However, and unlike the ltl2tgba
command-line tool, it doesn't different output formats.
- the class ltl::ltl_simplifier now has an option to rewrite Boolean
subformulaes as irredundante-sum-of-product during the simplification
of any LTL/PSL formula. The service is also available as a method
ltl_simplifier::boolean_to_isop() that applies this rewriting
to a Boolean formula and implements a cache.
ltlfilt as a new option --boolean-to-isop to try to apply the
above rewriting from the command-line:
% ltlfilt --boolean-to-isop -f 'GF((a->b)&(b->c))'
GF((!a & !b) | (b & c))
This is currently not used anywhere else in the library.
* Bug fixes:
- 'ltl2tgba --high' is documented to be the same as 'ltl2tgba',
but by default ltl2tgba forgot to enable LTL simplifications based