Merge the syntactic implication code with ltl_simplifier.
So that we can latter use some combined optimizations. * src/ltlvisit/simplify.hh, src/ltlvisit/simplify.cc: Integrate the code from syntimpl.cc * src/ltlvisit/syntimpl.hh, src/ltlvisit/syntimpl.cc: Delete. All code has been moved above. * src/ltlvisit/Makefile.am: Adjust. * src/ltltest/syntimpl.cc: Adjust code.
This commit is contained in:
parent
3db13a6f97
commit
fea49630f6
6 changed files with 649 additions and 779 deletions
|
|
@ -83,6 +83,32 @@ namespace spot
|
|||
/// \c !f
|
||||
formula* negative_normal_form(const formula* f, bool negated = false);
|
||||
|
||||
/// \brief Syntactic implication.
|
||||
///
|
||||
/// Returns whether \a f syntactically implies \a g.
|
||||
///
|
||||
/// This is adapted from
|
||||
/// \verbatim
|
||||
/// @InProceedings{ somenzi.00.cav,
|
||||
/// author = {Fabio Somenzi and Roderick Bloem},
|
||||
/// title = {Efficient {B\"u}chi Automata for {LTL} Formulae},
|
||||
/// booktitle = {Proceedings of the 12th International Conference on
|
||||
/// Computer Aided Verification (CAV'00)},
|
||||
/// pages = {247--263},
|
||||
/// year = {2000},
|
||||
/// volume = {1855},
|
||||
/// series = {Lecture Notes in Computer Science},
|
||||
/// publisher = {Springer-Verlag}
|
||||
/// }
|
||||
/// \endverbatim
|
||||
///
|
||||
bool syntactic_implication(const formula* f, const formula* g);
|
||||
/// \brief Syntactic implication with one negated argument.
|
||||
///
|
||||
/// If \a right is true, this method returns whether
|
||||
/// \a f implies !\a g. If \a right is false, this returns
|
||||
/// whether !\a g implies \a g.
|
||||
bool syntactic_implication_neg(const formula* f, const formula* g, bool right);
|
||||
|
||||
private:
|
||||
ltl_simplifier_cache* cache_;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue