Enum Class Tactic

java.lang.Object
java.lang.Enum<Tactic>
org.sosy_lab.java_smt.api.Tactic
All Implemented Interfaces:
Serializable, Comparable<Tactic>, java.lang.constant.Constable

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)

  • Nested Class Summary

    Nested classes/interfaces inherited from class java.lang.Enum

    Enum.EnumDesc<E extends Enum<E>>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    Replaces 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

    Modifier and Type
    Method
    Description
    static Tactic
    Returns the enum constant of this class with the specified name.
    static Tactic[]
    Returns an array containing the constants of this enum class, in the order they are declared.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • 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 Details

    • values

      public static Tactic[] 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

      public static Tactic valueOf(String name)
      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 name
      NullPointerException - if the argument is null