spot  0.9.1
Classes | Enumerations | Functions
Rewriting LTL formulae
Algorithms for LTL formulae

Classes

class  spot::ltl::ltl_simplifier
 Rewrite or simplify f in various ways. More...

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

const 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.
const formula * spot::ltl::mark_tools::mark_concat_ops (const formula *f)
 Mark operators NegClosure and EConcat.
const 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.
const formula * spot::ltl::reduce (const formula *f, int opt=Reduce_All)
 Reduce a formula f.
const formula * spot::ltl::simplify_f_g (const formula *f)
 Replace true U f and false R g by F f and G g.
const formula * spot::ltl::unabbreviate_wm (const formula *f)
 Rewrite a formula to remove the W and M operators.

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

const formula* spot::ltl::mark_tools::mark_concat_ops ( const formula f)

Mark operators NegClosure and EConcat.

Parameters:
fThe formula to rewrite.
const 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.)

const 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
Deprecated:
Use spot::ltl::ltl_simplifier instead.
const 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
const 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.

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

Rewrite a formula to remove the W and M operators.

This is necessary if you want to use the formula with a tool that do not support these operators.

a W b is replaced by b R (b | a), and a M b is replaced by b U (b & a).


Please comment this page and report errors about it on the RefDocComments page.
Generated on Wed May 23 2012 12:06:46 for spot by doxygen 1.7.6.1