spot/src/ltlvisit/nenoform.hh
Alexandre Duret-Lutz 0ae1a32a70 * src/ltlvisit/nenoform.cc (negative_normal_form): New const variant.
* src/ltlvisit/nenoform.hh (negative_normal_form): New const variant.
* src/ltlvisit/lunabbrev.cc (unabbreviate_logic): New const variant.
* src/ltlvisit/lunabbrev.hh (unabbreviate_logic): New const variant.
* src/ltlvisit/tunabbrev.cc (unabbreviate_ltl): New const variant.
* src/ltlvisit/tunabbrev.hh (unabbreviate_ltl): New const variant.
2003-06-24 13:52:44 +00:00

31 lines
1 KiB
C++

#ifndef SPOT_LTLVISIT_NENOFORM_HH
# define SPOT_LTLVISIT_NENOFORM_HH
#include "ltlast/formula.hh"
#include "ltlast/visitor.hh"
namespace spot
{
namespace ltl
{
/// \brief Build the negative normal form of \a f.
///
/// All negations of the formula are pushed in front of the
/// atomic propositions.
///
/// \param f The formula to normalize.
/// \param negated If \c true, return the negative normal form of
/// \c !f
///
/// Note that this will not remove abbreviated operators. If you
/// want to remove abbreviations, call spot::ltl::unabbreviate_logic
/// or spot::ltl::unabbreviate_ltl first. (Calling these functions
/// after spot::ltl::negative_normal_form would likely produce a
/// formula which is not in negative normal form.)
formula* negative_normal_form(formula* f, bool negated = false);
/// \brief Build the negative normal form of \a f.
const formula* negative_normal_form(const formula* f);
}
}
#endif // SPOT_LTLVISIT_NENOFORM_HH