All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sosy_lab.java_smt.api.Tactic Maven / Gradle / Ivy

The newest version!
// This file is part of JavaSMT,
// an API wrapper for a collection of SMT solvers:
// https://github.com/sosy-lab/java-smt
//
// SPDX-FileCopyrightText: 2020 Dirk Beyer 
//
// SPDX-License-Identifier: Apache-2.0

package org.sosy_lab.java_smt.api;

/**
 * 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 {@link org.sosy_lab.java_smt.api.FormulaManager#applyTactic} */ public enum Tactic { /** * Replaces all applications of UFs with fresh variables and adds constraints to enforce the * functional consistency. Quantified formulas are not supported. */ ACKERMANNIZATION, /** Convert the formula to NNF (negated normal form). */ NNF, /** * 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. */ TSEITIN_CNF, /** * 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. */ QE_LIGHT, }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy