Package org.sosy_lab.java_smt.api
Enum Tactic
- java.lang.Object
-
- java.lang.Enum<Tactic>
-
- org.sosy_lab.java_smt.api.Tactic
-
- All Implemented Interfaces:
Serializable
,Comparable<Tactic>
public enum Tactic extends Enum<Tactic>
Tactic is a generic formula to formula transformation.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 Summary
Enum Constants Enum Constant 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.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method 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.
-
-
-
Enum Constant Detail
-
ACKERMANNIZATION
public static final Tactic ACKERMANNIZATION
Replaces all applications of UFs with fresh variables and adds constraints to enforce the functional consistency. Quantified formulas are not supported.
-
NNF
public static final Tactic NNF
Convert the formula to NNF (negated normal form).
-
TSEITIN_CNF
public static final Tactic TSEITIN_CNF
Convert the formula to CNF (conjunctive normal form), using extra fresh variables to avoid the size explosion. The resulting formula is not equivalent but only equisatisfiable to the original one.NB: currently this tactic does not have a default implementation.
-
QE_LIGHT
public static final Tactic 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.
-
-
Method Detail
-
values
public static Tactic[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (Tactic c : Tactic.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static Tactic valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
-