spot
0.8.1
|
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 | |
formula * | spot::ltl::basic_reduce (const formula *f) |
Basic rewritings. | |
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. | |
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. | |
formula * | spot::ltl::reduce (const formula *f, int opt=Reduce_All) |
Reduce a formula f. | |
formula * | spot::ltl::simplify_f_g (const formula *f) |
Replace true U f and false R g by F f and G g . |
Options for spot::ltl::reduce.
formula* spot::ltl::basic_reduce | ( | const formula * | f | ) |
Basic rewritings.
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.)
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. |
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):
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.