Revamp the multop interface to allow some basic optimizations like
not constructing a single-child multop. * src/ltlast/multop.hh (multop::instance(type)): Remove. (multop::instance(type, formula*, formula*)): Return a formula*. (multop::instance(type, vec*)): Make it public and return a formula*. (multop::add_sorted, multop::add): * src/ltlast/multop.cc (multop::instance(type, vec*)): Rewrite. (multop::instance(type)): Delete. (multop::instance(type, formula*, formula*)): Adjust. (multop::add_sorted, multop::add): Remove. * src/ltlvisit/clone.cc (clone_visitor::visit(multop*)) Adjust. * src/ltlvisit/nenoform.cc (negative_normal_form_visitor::::visit(multop*)) Adjust. * src/ltltest/equals.test: Make sure `a & a' and `a' are equals. * wrap/python/tests/ltlsimple.py: Adjust.
This commit is contained in:
parent
317fed597b
commit
de6314ed74
8 changed files with 123 additions and 98 deletions
|
|
@ -25,6 +25,7 @@ check 0 'a && b & a' 'b & a & b'
|
|||
check 0 'a & b' 'b & a & b'
|
||||
check 0 'a & b' 'b & a & a'
|
||||
check 0 'a & b & (c |(f U g)|| e)' 'b & a & a & (c | e |(f U g)| e | c) & b'
|
||||
check 0 'a & a' 'a'
|
||||
|
||||
# other formulae which are not
|
||||
check 1 'a' 'b'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue