|
spot
1.2.6
|
Automaton operators. More...
#include <ltlast/automatop.hh>


Classes | |
| struct | tripletcmp |
| Comparison functor used internally by ltl::automatop. More... | |
Public Types | |
| typedef std::vector< const formula * > | vec |
| List of formulae. More... | |
| enum | opkind { Constant, AtomicProp, UnOp, BinOp, MultOp, BUnOp, AutomatOp } |
| Kind of a sub-formula. More... | |
Public Member Functions | |
| virtual void | accept (visitor &v) const |
| Entry point for spot::ltl::visitor instances. More... | |
| unsigned | size () const |
| Get the number of arguments. More... | |
| const formula * | nth (unsigned n) const |
| Get the nth argument. More... | |
| const spot::ltl::nfa::ptr | get_nfa () const |
| Get the NFA of this operator. More... | |
| bool | is_negated () const |
| Whether the automaton is negated. More... | |
| std::string | dump () const |
| Return a canonic representation of the atomic proposition. More... | |
| const formula * | clone () const |
| clone this node More... | |
| void | destroy () const |
| release this node More... | |
| opkind | kind () const |
| Return the kind of the top-level operator. More... | |
| bool | is_boolean () const |
| Whether the formula use only boolean operators. More... | |
| bool | is_sugar_free_boolean () const |
| Whether the formula use only AND, OR, and NOT operators. More... | |
| bool | is_in_nenoform () const |
| Whether the formula is in negative normal form. More... | |
| bool | is_X_free () const |
| Whether the formula avoids the X operator. More... | |
| bool | is_sugar_free_ltl () const |
| Whether the formula avoids the F and G operators. More... | |
| bool | is_ltl_formula () const |
| Whether the formula uses only LTL operators. More... | |
| bool | is_eltl_formula () const |
| Whether the formula uses only ELTL operators. More... | |
| bool | is_psl_formula () const |
| Whether the formula uses only PSL operators. More... | |
| bool | is_sere_formula () const |
| Whether the formula uses only SERE operators. More... | |
| bool | is_finite () const |
| bool | is_eventual () const |
| Whether the formula is purely eventual. More... | |
| bool | is_universal () const |
| Whether a formula is purely universal. More... | |
| bool | is_syntactic_safety () const |
| Whether a PSL/LTL formula is syntactic safety property. More... | |
| bool | is_syntactic_guarantee () const |
| Whether a PSL/LTL formula is syntactic guarantee property. More... | |
| bool | is_syntactic_obligation () const |
| Whether a PSL/LTL formula is syntactic obligation property. More... | |
| bool | is_syntactic_recurrence () const |
| Whether a PSL/LTL formula is syntactic recurrence property. More... | |
| bool | is_syntactic_persistence () const |
| Whether a PSL/LTL formula is syntactic persistence property. More... | |
| bool | is_marked () const |
| Whether the formula has an occurrence of EConcatMarked. More... | |
| bool | accepts_eword () const |
| Whether the formula accepts [*0]. More... | |
| bool | has_lbt_atomic_props () const |
| unsigned | get_props () const |
| The properties as a field of bits. For internal use. More... | |
| size_t | hash () const |
| Return a hash key for the formula. More... | |
Static Public Member Functions | |
| static const automatop * | instance (const nfa::ptr nfa, vec *v, bool negated) |
| Build a spot::ltl::automatop with many children. More... | |
| static unsigned | instance_count () |
| Number of instantiated multop operators. For debugging. More... | |
| static std::ostream & | dump_instances (std::ostream &os) |
| Dump all instances. For debugging. More... | |
Protected Types | |
|
typedef std::pair< std::pair < nfa::ptr, bool >, vec * > | triplet |
|
typedef std::map< triplet, const automatop *, tripletcmp > | map |
Protected Member Functions | |
| automatop (const nfa::ptr, vec *v, bool negated) | |
| void | ref_ () const |
| increment reference counter if any More... | |
| bool | unref_ () const |
| decrement reference counter if any, return true when the instance must be deleted (usually when the counter hits 0). More... | |
| unsigned | ref_count_ () const |
| Number of references to this formula. More... | |
Protected Attributes | |
| size_t | count_ |
| The hash key of this formula. More... | |
| union { | |
| unsigned props | |
| ltl_prop is | |
| }; | |
Static Protected Attributes | |
| static map | instances |
Automaton operators.
| typedef std::vector<const formula*> spot::ltl::automatop::vec |
List of formulae.
|
inherited |
Kind of a sub-formula.
|
virtual |
Entry point for spot::ltl::visitor instances.
Implements spot::ltl::formula.
|
inlineinherited |
Whether the formula accepts [*0].
|
inherited |
clone this node
This increments the reference counter of this node (if one is used).
|
inherited |
release this node
This decrements the reference counter of this node (if one is used) and can free the object.
|
virtual |
Return a canonic representation of the atomic proposition.
Implements spot::ltl::formula.
|
static |
Dump all instances. For debugging.
|
inline |
Get the NFA of this operator.
|
inlineinherited |
The properties as a field of bits. For internal use.
|
inlineinherited |
Return a hash key for the formula.
|
static |
Build a spot::ltl::automatop with many children.
This vector is acquired by the spot::ltl::automatop class, the caller should allocate it with new, but not use it (especially not destroy it) after it has been passed to spot::ltl::automatop.
|
static |
Number of instantiated multop operators. For debugging.
|
inlineinherited |
Whether the formula use only boolean operators.
|
inlineinherited |
Whether the formula uses only ELTL operators.
|
inlineinherited |
Whether the formula is purely eventual.
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.
|
inlineinherited |
Whether a SERE describes a finite language, or an LTL formula uses no temporal operator but X.
|
inlineinherited |
Whether the formula is in negative normal form.
A formula is in negative normal form if the not operators occur only in front of atomic propositions.
|
inlineinherited |
Whether the formula uses only LTL operators.
|
inlineinherited |
Whether the formula has an occurrence of EConcatMarked.
|
inline |
Whether the automaton is negated.
|
inlineinherited |
Whether the formula uses only PSL operators.
|
inlineinherited |
Whether the formula uses only SERE operators.
|
inlineinherited |
Whether the formula use only AND, OR, and NOT operators.
|
inlineinherited |
Whether the formula avoids the F and G operators.
|
inlineinherited |
Whether a PSL/LTL formula is syntactic guarantee property.
|
inlineinherited |
Whether a PSL/LTL formula is syntactic obligation property.
|
inlineinherited |
Whether a PSL/LTL formula is syntactic persistence property.
|
inlineinherited |
Whether a PSL/LTL formula is syntactic recurrence property.
|
inlineinherited |
Whether a PSL/LTL formula is syntactic safety property.
|
inlineinherited |
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 a purely universal formula also satisfies the formula.
|
inlineinherited |
Whether the formula avoids the X operator.
|
inlineinherited |
Return the kind of the top-level operator.
|
inline |
Get the nth argument.
Starting with n = 0.
|
protectedvirtualinherited |
increment reference counter if any
Reimplemented from spot::ltl::formula.
|
protectedinherited |
Number of references to this formula.
|
inline |
Get the number of arguments.
|
protectedvirtualinherited |
decrement reference counter if any, return true when the instance must be deleted (usually when the counter hits 0).
Reimplemented from spot::ltl::formula.
|
protectedinherited |
The hash key of this formula.
1.8.4