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.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::is_eventual (const formula *f) |
Check whether a formula is a pure eventuality.Pure eventuality formulae are defined in. | |
bool | spot::ltl::is_universal (const formula *f) |
Check whether a formula is purely universal.Purely universal formulae are defined in. | |
bool | spot::ltl::syntactic_implication (const formula *f1, const formula *f2) |
Syntactic implication.This comes from. | |
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. |
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.