spot
1.2.4
|
Classes | |
class | spot::ltl::ltl_simplifier |
Rewrite or simplify f in various ways. More... | |
Enumerations | |
enum | spot::ltl::reduce_options { spot::ltl::Reduce_None = 0, spot::ltl::Reduce_Basics = 1, spot::ltl::Reduce_Syntactic_Implications = 2, spot::ltl::Reduce_Eventuality_And_Universality = 4, spot::ltl::Reduce_Containment_Checks = 8, spot::ltl::Reduce_Containment_Checks_Stronger = 16, spot::ltl::Reduce_All = -1U } |
Options for spot::ltl::reduce. More... | |
Functions | |
SPOT_API const formula * | spot::ltl::unabbreviate_logic (const formula *f) |
Clone and rewrite a formula to remove most of the abbreviated logical operators. More... | |
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 SPOT_DEPRECATED const formula * | spot::ltl::reduce (const formula *f, int opt=Reduce_All) |
Reduce a formula 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_wm (const formula *f) |
Rewrite a formula to remove the W and M operators. More... | |
Options for spot::ltl::reduce.
const formula* spot::ltl::mark_tools::mark_concat_ops | ( | const formula * | f) |
Mark operators NegClosure and EConcat.
f | The 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.
f | The formula to normalize. |
negated | If 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 SPOT_DEPRECATED const formula* spot::ltl::reduce | ( | const formula * | f, |
int | opt = Reduce_All |
||
) |
Reduce a formula f.
f | the formula to reduce |
opt | a conjonction of spot::ltl::reduce_options specifying which optimizations to apply. |
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):
SPOT_API const formula* spot::ltl::unabbreviate_logic | ( | const formula * | f) |
Clone and rewrite a formula to remove most of the abbreviated logical operators.
This will rewrite binary operators such as binop::Implies, binop::Equals, and binop::Xor, using only unop::Not, multop::Or, and multop::And.
SPOT_API const formula* spot::ltl::unabbreviate_wm | ( | const formula * | f) |
Rewrite a formula to remove the W and M operators.
This is necessary if you want to use the formula with a tool that do not support these operators.
a W b
is replaced by b R (b | a)
, and a M b
is replaced by b U (b & a)
.