spot  1.99.3
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Classes | Functions
Rewriting LTL formulae

Classes

class  spot::ltl::ltl_simplifier
 Rewrite or simplify f in various ways. More...
 
class  spot::ltl::unabbreviator
 Clone and rewrite a formula to remove specified operators logical operators. More...
 

Functions

const formula * spot::ltl::mark_tools::mark_concat_ops (const formula *f)
 Mark operators NegClosure and EConcat. More...
 
SPOT_API const formula * spot::ltl::negative_normal_form (const formula *f, bool negated=false)
 Build the negative normal form of f. More...
 
SPOT_API const formula * spot::ltl::relabel (const formula *f, relabeling_style style, relabeling_map *m=0)
 Relabel the atomic propositions in a formula. More...
 
SPOT_API const formula * spot::ltl::relabel_bse (const formula *f, relabeling_style style, relabeling_map *m=0)
 Relabel Boolean subexpressions in a formula using atomic propositions. More...
 
SPOT_API const formula * spot::ltl::simplify_f_g (const formula *f)
 Replace true U f and false R g by F f and G g. More...
 
SPOT_API const formula * spot::ltl::unabbreviate (const formula *in, const char *opt=default_unabbrev_string)
 Clone and rewrite a formula to remove specified operators logical operators. More...
 

Detailed Description

Function Documentation

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

Mark operators NegClosure and EConcat.

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

SPOT_API const formula* spot::ltl::relabel ( const formula *  f,
relabeling_style  style,
relabeling_map *  m = 0 
)

Relabel the atomic propositions in a formula.

If m is non-null, it is filled with correspondence between the new names (keys) and the old names (values).

SPOT_API const formula* spot::ltl::relabel_bse ( const formula *  f,
relabeling_style  style,
relabeling_map *  m = 0 
)

Relabel Boolean subexpressions in a formula using atomic propositions.

If m is non-null, it is filled with correspondence between the new names (keys) and the old names (values).

SPOT_API 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
SPOT_API const formula* spot::ltl::unabbreviate ( const formula *  in,
const char *  opt = default_unabbrev_string 
)

Clone and rewrite a formula to remove specified operators logical operators.

The set of operators to remove should be passed as a string which in which each letter denote an operator (using LBT's convention).


Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Wed Aug 26 2015 08:42:37 for spot by doxygen 1.8.8