public abstract class AbstractQuantifiedFormulaManager<TFormulaInfo,TType,TEnv> extends Object implements QuantifiedFormulaManager
QuantifiedFormulaManager.Quantifier| Modifier and Type | Field and Description |
|---|---|
protected FormulaCreator<TFormulaInfo,TType,TEnv> |
formulaCreator |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractQuantifiedFormulaManager(FormulaCreator<TFormulaInfo,TType,TEnv> pCreator) |
| Modifier and Type | Method and Description |
|---|---|
BooleanFormula |
eliminateQuantifiers(BooleanFormula pF)
Eliminate the quantifiers for a given formula.
|
protected abstract TFormulaInfo |
eliminateQuantifiers(TFormulaInfo pExtractInfo) |
BooleanFormula |
exists(List<? extends Formula> pVariables,
BooleanFormula pBody) |
protected abstract TFormulaInfo |
exists(List<TFormulaInfo> pVariables,
TFormulaInfo pBody) |
BooleanFormula |
forall(List<? extends Formula> pVariables,
BooleanFormula pBody) |
protected abstract TFormulaInfo |
forall(List<TFormulaInfo> pVariables,
TFormulaInfo pBody) |
protected FormulaCreator<TFormulaInfo,TType,TEnv> |
getFormulaCreator() |
BooleanFormula |
mkQuantifier(QuantifiedFormulaManager.Quantifier q,
List<? extends Formula> pVariables,
BooleanFormula pBody) |
abstract TFormulaInfo |
mkQuantifier(QuantifiedFormulaManager.Quantifier q,
List<TFormulaInfo> vars,
TFormulaInfo body) |
protected TType |
toSolverType(FormulaType<?> formulaType) |
protected final FormulaCreator<TFormulaInfo,TType,TEnv> formulaCreator
protected AbstractQuantifiedFormulaManager(FormulaCreator<TFormulaInfo,TType,TEnv> pCreator)
public BooleanFormula exists(List<? extends Formula> pVariables, BooleanFormula pBody)
exists in interface QuantifiedFormulaManagerpVariables - The variables that will get bound (variables) by the quantification.pBody - The BooleanFormula} within that the binding will be performed.protected abstract TFormulaInfo exists(List<TFormulaInfo> pVariables, TFormulaInfo pBody)
public final BooleanFormula forall(List<? extends Formula> pVariables, BooleanFormula pBody)
forall in interface QuantifiedFormulaManagerpVariables - The variables that will get bound (variables) by the quantification.pBody - The BooleanFormula} within that the binding will be performed.protected abstract TFormulaInfo forall(List<TFormulaInfo> pVariables, TFormulaInfo pBody)
public BooleanFormula eliminateQuantifiers(BooleanFormula pF) throws InterruptedException, SolverException
QuantifiedFormulaManagereliminateQuantifiers in interface QuantifiedFormulaManagerpF - Formula with quantifiers.InterruptedExceptionSolverExceptionprotected abstract TFormulaInfo eliminateQuantifiers(TFormulaInfo pExtractInfo) throws SolverException, InterruptedException
SolverExceptionInterruptedExceptionpublic BooleanFormula mkQuantifier(QuantifiedFormulaManager.Quantifier q, List<? extends Formula> pVariables, BooleanFormula pBody)
mkQuantifier in interface QuantifiedFormulaManagerq - Quantifier typepVariables - The variables that will get bound (variables) by the quantification.pBody - The BooleanFormula} within that the binding will be performed.public abstract TFormulaInfo mkQuantifier(QuantifiedFormulaManager.Quantifier q, List<TFormulaInfo> vars, TFormulaInfo body)
protected final FormulaCreator<TFormulaInfo,TType,TEnv> getFormulaCreator()
protected final TType toSolverType(FormulaType<?> formulaType)