public abstract class AbstractSolverContext extends Object implements SolverContext
SolverContext.ProverOptions| Modifier | Constructor and Description |
|---|---|
protected |
AbstractSolverContext(FormulaManager fmgr) |
| Modifier and Type | Method and Description |
|---|---|
FormulaManager |
getFormulaManager()
Get the formula manager, which is used for formula manipulation.
|
ProverEnvironment |
newProverEnvironment(SolverContext.ProverOptions... options)
Create a fresh new
ProverEnvironment which encapsulates an assertion stack
and can be used to check formulas for unsatisfiability. |
protected abstract ProverEnvironment |
newProverEnvironment0(Set<SolverContext.ProverOptions> options) |
InterpolatingProverEnvironment<?> |
newProverEnvironmentWithInterpolation()
Create a fresh new
InterpolatingProverEnvironment which encapsulates an assertion stack
and allows to generate and retrieve interpolants for unsatisfiable formulas. |
protected abstract InterpolatingProverEnvironment<?> |
newProverEnvironmentWithInterpolation0() |
protected abstract boolean |
supportsAssumptionSolving()
Whether the solver supports solving under some given assumptions
(with all corresponding features) by itself,
i.e., whether
ProverEnvironment.isUnsatWithAssumptions(java.util.Collection) and
InterpolatingProverEnvironment.isUnsatWithAssumptions(java.util.Collection)
are fully implemented. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclose, getSolverName, getVersion, newOptimizationProverEnvironmentprotected AbstractSolverContext(FormulaManager fmgr)
public final FormulaManager getFormulaManager()
SolverContextgetFormulaManager in interface SolverContextpublic final ProverEnvironment newProverEnvironment(SolverContext.ProverOptions... options)
SolverContextProverEnvironment which encapsulates an assertion stack
and can be used to check formulas for unsatisfiability.newProverEnvironment in interface SolverContextoptions - Options specified for the prover environment.
All of the options specified in SolverContext.ProverOptions
are turned off by default.protected abstract ProverEnvironment newProverEnvironment0(Set<SolverContext.ProverOptions> options)
public final InterpolatingProverEnvironment<?> newProverEnvironmentWithInterpolation()
SolverContextInterpolatingProverEnvironment which encapsulates an assertion stack
and allows to generate and retrieve interpolants for unsatisfiable formulas.
If the SMT solver is able to handle satisfiability tests with assumptions please consider
implementing the InterpolatingProverEnvironment interface, and return
an Object of this type here.newProverEnvironmentWithInterpolation in interface SolverContextprotected abstract InterpolatingProverEnvironment<?> newProverEnvironmentWithInterpolation0()
protected abstract boolean supportsAssumptionSolving()
ProverEnvironment.isUnsatWithAssumptions(java.util.Collection) and
InterpolatingProverEnvironment.isUnsatWithAssumptions(java.util.Collection)
are fully implemented.
Otherwise, i.e., if this method returns false, the solver does not need to support
this feature and may simply throw UnsupportedOperationException in the respective
methods. This class will wrap the prover environments and provide an implementation of the
feature.
This method is expected to always return the same value. Otherwise the behavior of this class is undefined.