Typedefs | |
| typedef std::set< atomic_prop *, formula_ptr_less_than > | spot::ltl::atomic_prop_set |
| Set of atomic propositions. | |
Functions | |
| atomic_prop_set * | spot::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 std::set<atomic_prop*, formula_ptr_less_than> spot::ltl::atomic_prop_set |
Set of atomic propositions.
| atomic_prop_set* spot::ltl::atomic_prop_collect | ( | const formula * | f, | |
| atomic_prop_set * | s = 0 | |||
| ) |
Return the set of atomic propositions occurring in a formula.
| 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. |
s, augmented with atomic propositions occurring in f; or a newly allocated set containing all these atomic propositions if s is 0. | bool spot::ltl::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 spot::ltl::is_FG | ( | const formula * | f | ) |
Whether a formula starts with FG.
| bool spot::ltl::is_GF | ( | const formula * | f | ) |
Whether a formula starts with GF.
| bool spot::ltl::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 spot::ltl::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 spot::ltl::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 spot::ltl::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.
1.5.2