Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

Miscellaneous algorithms for LTL formulae
[Algorithms for LTL formulae]


Typedefs

typedef std::set< atomic_prop *,
formula_ptr_less_than > 
spot::ltl::atomic_prop_set
 Set of atomic propositions.

Functions

atomic_prop_setspot::ltl::atomic_prop_collect (const formula *f, atomic_prop_set *s=0)
 Return the set of atomic propositions occurring in a formula.
bool spot::ltl::is_GF (const formula *f)
 Whether a formula starts with GF.
bool spot::ltl::is_FG (const formula *f)
 Whether a formula starts with FG.
int spot::ltl::length (const formula *f)
 Compute the length of a formula.
bool spot::ltl::is_eventual (const formula *f)
 Check whether a formula is a pure eventuality.
bool spot::ltl::is_universal (const formula *f)
 Check whether a formula is purely universal.
bool spot::ltl::syntactic_implication (const formula *f1, const formula *f2)
 Syntactic implication.
bool spot::ltl::syntactic_implication_neg (const formula *f1, const formula *f2, bool right)
 Syntactic implication.

Typedef Documentation

typedef std::set<atomic_prop*, formula_ptr_less_than> spot::ltl::atomic_prop_set
 

Set of atomic propositions.


Function Documentation

atomic_prop_set* atomic_prop_collect const formula *  f,
atomic_prop_set s = 0
 

Return the set of atomic propositions occurring in a formula.

Parameters:
f the formula to inspect
s an existing set to fill with atomic_propositions discovered, or 0 if the set should be allocated by the function.
Returns:
A pointer to the supplied set, s, augmented with atomic propositions occurring in f; or a newly allocated set containing all these atomic propositions if s is 0.

bool is_eventual const formula *  f  ) 
 

Check whether a formula is a pure eventuality.

Pure eventuality formulae are defined in

        @InProceedings{	  etessami.00.concur,
        author  	= {Kousha Etessami and Gerard J. Holzmann},
        title		= {Optimizing {B\"u}chi Automata},
        booktitle	= {Proceedings of the 11th International Conference on
        		  Concurrency Theory (Concur'2000)},
        pages		= {153--167},
        year		= {2000},
        editor  	= {C. Palamidessi},
        volume  	= {1877},
        series  	= {Lecture Notes in Computer Science},
        publisher	= {Springer-Verlag}
        }
        

A word that satisfies a pure eventuality can be prefixed by anything and still satisfies the formula.

bool is_FG const formula *  f  ) 
 

Whether a formula starts with FG.

bool is_GF const formula *  f  ) 
 

Whether a formula starts with GF.

bool is_universal const formula *  f  ) 
 

Check whether a formula is purely universal.

Purely universal formulae are defined in

        @InProceedings{	  etessami.00.concur,
        author  	= {Kousha Etessami and Gerard J. Holzmann},
        title		= {Optimizing {B\"u}chi Automata},
        booktitle	= {Proceedings of the 11th International Conference on
        		  Concurrency Theory (Concur'2000)},
        pages		= {153--167},
        year		= {2000},
        editor  	= {C. Palamidessi},
        volume  	= {1877},
        series  	= {Lecture Notes in Computer Science},
        publisher	= {Springer-Verlag}
        }
        

Any (non-empty) suffix of a word that satisfies if purely universal formula also satisfies the formula.

int length const formula *  f  ) 
 

Compute the length of a formula.

The length of a formula is the number of atomic properties, constants, and operators (logical and temporal) occurring in the formula. spot::ltl::multops count only for 1, even if they have more than two operands (e.g. a | b | c has length 4, because | is represented once internally).

bool syntactic_implication const formula *  f1,
const formula *  f2
 

Syntactic implication.

This comes from

        @InProceedings{	  somenzi.00.cav,
        author  	= {Fabio Somenzi and Roderick Bloem},
        title		= {Efficient {B\"u}chi Automata for {LTL} Formulae},
        booktitle	= {Proceedings of the 12th International Conference on
        		  Computer Aided Verification (CAV'00)},
        pages		= {247--263},
        year		= {2000},
        volume  	= {1855},
        series  	= {Lecture Notes in Computer Science},
        publisher	= {Springer-Verlag}
        }
        

bool syntactic_implication_neg const formula *  f1,
const formula *  f2,
bool  right
 

Syntactic implication.

If right==false, true if !f1 < f2, false otherwise. If right==true, true if f1 < !f2, false otherwise.

See also:
syntactic_implication


Please comment this page and report errors about it on the RefDocComments page.
Generated on Mon Jan 31 12:55:19 2005 for spot by doxygen 1.4.0