* src/ltlvisit/reducform.hh (option): Rename as ...

(reduce_options): ... this, and use it as a bit field so
option can be combined easily.
(reduce): Adjust argument.
(reduce_form): Remove, not needed anymore.
* src/ltlvisit/reducform.cc, src/ltltest/reduc.cc,
src/tgbatest/ltl2tgba.cc: Adjust.
This commit is contained in:
Alexandre Duret-Lutz 2004-05-25 12:46:56 +00:00
parent 7eb5f3d81a
commit 8f82f1d5f3
5 changed files with 96 additions and 152 deletions

View file

@ -29,13 +29,15 @@ namespace spot
{
namespace ltl
{
enum option {Base,
Inf,
InfBase,
EventualUniversal,
EventualUniversalBase,
InfEventualUniversal,
BRI};
enum reduce_options
{
Reduce_None = 0,
Reduce_Basics = 1,
Reduce_Syntactic_Implications = 2,
Reduce_Eventuality_And_Universality = 4,
Reduce_All = -1U
};
/// \brief Reduce a formula \a f using Basic rewriting, implies
/// relation, and class of eventuality and univerality formula.
@ -47,15 +49,11 @@ namespace spot
/// Inf for spot::ltl::reduce_inf_form,
/// EventualUniversal for spot::ltl::reduce_eventuality_universality_form,
/// BRI for spot::ltl::reduce_form.
formula* reduce(const formula* f, option opt = BRI);
formula* reduce(const formula* f, int opt = Reduce_All);
/// Implement basic rewriting.
formula* basic_reduce_form(const formula* f);
/// Implement rewritings rules using implies relation,
/// and class of eventuality and univerality formula.
formula* reduce_form(const formula* f, option o = BRI);
/// Detect easy case of implies.
/// True if f1 < f2, false otherwise.
bool inf_form(const formula* f1, const formula* f2);