public enum Tactic extends Enum<Tactic>
Depending on whether the chosen solver supports the transformation, at runtime switches between solver-provided implementation and our own generic visitor-based one.
Tactics can be applied using FormulaManager.applyTactic(org.sosy_lab.java_smt.api.BooleanFormula, org.sosy_lab.java_smt.api.Tactic)
| Enum Constant and Description |
|---|
ACKERMANNIZATION
Replaces all applications of UFs with fresh variables and adds constraints to enforce the
functional consistency.
|
NNF
Convert the formula to NNF (negated normal form).
|
QE_LIGHT
Perform "best-effort" quantifier elimination: when the bound variable can be "cheaply"
eliminated using a pattern-matching approach, eliminate it, and otherwise leave it as-is.
|
TSEITIN_CNF
Convert the formula to CNF (conjunctive normal form), using extra fresh variables to avoid the
size explosion.
|
| Modifier and Type | Method and Description |
|---|---|
static Tactic |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static Tactic[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final Tactic ACKERMANNIZATION
public static final Tactic NNF
public static final Tactic TSEITIN_CNF
NB: currently this tactic does not have a default implementation.
public static final Tactic QE_LIGHT
public static Tactic[] values()
for (Tactic c : Tactic.values()) System.out.println(c);
public static Tactic valueOf(String name)
name - the name of the enum constant to be returned.IllegalArgumentException - if this enum type has no constant with the specified nameNullPointerException - if the argument is null