spot  0.8.1
Enumerations | Functions
Rewriting LTL formulae
Algorithms for LTL formulae

Enumerations

enum  spot::ltl::reduce_options {
  spot::ltl::Reduce_None = 0, spot::ltl::Reduce_Basics = 1, spot::ltl::Reduce_Syntactic_Implications = 2, spot::ltl::Reduce_Eventuality_And_Universality = 4,
  spot::ltl::Reduce_Containment_Checks = 8, spot::ltl::Reduce_Containment_Checks_Stronger = 16, spot::ltl::Reduce_All = -1U
}
 Options for spot::ltl::reduce. More...

Functions

formula * spot::ltl::basic_reduce (const formula *f)
 Basic rewritings.
formula * spot::ltl::unabbreviate_logic (const formula *f)
 Clone and rewrite a formula to remove most of the abbreviated logical operators.This will rewrite binary operators such as binop::Implies, binop::Equals, and binop::Xor, using only unop::Not, multop::Or, and multop::And.
formula * spot::ltl::negative_normal_form (const formula *f, bool negated=false)
 Build the negative normal form of f.All negations of the formula are pushed in front of the atomic propositions.
formula * spot::ltl::reduce (const formula *f, int opt=Reduce_All)
 Reduce a formula f.
formula * spot::ltl::simplify_f_g (const formula *f)
 Replace true U f and false R g by F f and G g.

Enumeration Type Documentation

Options for spot::ltl::reduce.

Enumerator:
Reduce_None 

No reduction.

Reduce_Basics 

Basic reductions.

Reduce_Syntactic_Implications 

Somenzi & Bloem syntactic implication.

Reduce_Eventuality_And_Universality 

Etessami & Holzmann eventuality and universality reductions.

Reduce_Containment_Checks 

Tauriainen containment checks.

Reduce_Containment_Checks_Stronger 

Tauriainen containment checks (stronger version).

Reduce_All 

All reductions.


Function Documentation

formula* spot::ltl::basic_reduce ( const formula *  f)

Basic rewritings.

formula* spot::ltl::negative_normal_form ( const formula *  f,
bool  negated = false 
)

Build the negative normal form of f.All negations of the formula are pushed in front of the atomic propositions.

Parameters:
fThe formula to normalize.
negatedIf true, return the negative normal form of !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* spot::ltl::reduce ( const formula *  f,
int  opt = Reduce_All 
)

Reduce a formula f.

Parameters:
fthe formula to reduce
opta conjonction of spot::ltl::reduce_options specifying which optimizations to apply.
Returns:
the reduced formula
formula* spot::ltl::simplify_f_g ( const formula *  f)

Replace true U f and false R g by F f and G g.

Perform the following rewriting (from left to right):

  • true U a = F a
  • a M true = F a
  • false R a = G a
  • a W false = G a
formula* spot::ltl::unabbreviate_logic ( const formula *  f)

Clone and rewrite a formula to remove most of the abbreviated logical operators.This will rewrite binary operators such as binop::Implies, binop::Equals, and binop::Xor, using only unop::Not, multop::Or, and multop::And.


Please comment this page and report errors about it on the RefDocComments page.
Generated on Sun Dec 18 2011 12:57:15 for spot by doxygen 1.7.6.1