spot  1.0.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::relabel (const formula *f, relabeling_style style)
 Relabel the atomic proposition in a formula.
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.

Detailed Description

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::relabel ( const formula *  f,
relabeling_style  style 
)

Relabel the atomic proposition in a formula.

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 Jan 23 2013 15:00:02 for spot by doxygen 1.8.1.2