Clean the as_bdd() cache after LTL simplification.

Syntactic implication checks may use as_bdd() to compare Boolean
formulae.  By doing so, they register Boolean variables in an order
that is usially detrimental to the LTL translator.  The new,
clear_as_bdd_cache() function offers a mean to unregister these
variables, so that the LTL translator will register them again in the
a more natural way.

* src/ltlvisit/simplify.hh, src/ltlvisit/simplify.cc
(clear_as_bdd_cache): New function.
* src/tgbatest/ltl2tgba.cc, wrap/python/ajax/spot.in: Call it.
This commit is contained in:
Alexandre Duret-Lutz 2012-05-19 22:51:18 +02:00
parent 9633dd6e88
commit e5a86290cf
4 changed files with 32 additions and 0 deletions

View file

@ -849,6 +849,9 @@ main(int argc, char** argv)
else
std::cout << spot::ltl::to_string(f) << std::endl;
}
// This helps ltl_to_tgba_fm() to order BDD variables in
// a more natural way.
simp->clear_as_bdd_cache();
}
if (f->is_psl_formula()