Package org.sosy_lab.java_smt.api
Enum Class Tactic
- All Implemented Interfaces:
Serializable,Comparable<Tactic>,java.lang.constant.Constable
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)
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionReplaces all applications of UFs with fresh variables and adds constraints to enforce the functional consistency.Convert the formula to NNF (negated normal form).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.Convert the formula to CNF (conjunctive normal form), using extra fresh variables to avoid the size explosion. -
Method Summary
-
Enum Constant Details
-
ACKERMANNIZATION
Replaces all applications of UFs with fresh variables and adds constraints to enforce the functional consistency. Quantified formulas are not supported. -
NNF
Convert the formula to NNF (negated normal form). -
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
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 Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (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 class has no constant with the specified nameNullPointerException- if the argument is null
-