Package org.sosy_lab.java_smt.basicimpl
Class AbstractSolverContext
- java.lang.Object
-
- org.sosy_lab.java_smt.basicimpl.AbstractSolverContext
-
- All Implemented Interfaces:
AutoCloseable,SolverContext
public abstract class AbstractSolverContext extends Object implements SolverContext
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.sosy_lab.java_smt.api.SolverContext
SolverContext.ProverOptions
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractSolverContext(FormulaManager fmgr)
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.sosy_lab.java_smt.api.SolverContext
close, getSolverName, getVersion
-
-
-
-
Constructor Detail
-
AbstractSolverContext
protected AbstractSolverContext(FormulaManager fmgr)
-
-
Method Detail
-
getFormulaManager
public final FormulaManager getFormulaManager()
Description copied from interface:SolverContextGet the formula manager, which is used for formula manipulation.- Specified by:
getFormulaManagerin interfaceSolverContext
-
newProverEnvironment
public final ProverEnvironment newProverEnvironment(SolverContext.ProverOptions... options)
Description copied from interface:SolverContextCreate a fresh newProverEnvironmentwhich encapsulates an assertion stack and can be used to check formulas for unsatisfiability.- Specified by:
newProverEnvironmentin interfaceSolverContext- Parameters:
options- Options specified for the prover environment. All of the options specified inSolverContext.ProverOptionsare turned off by default.
-
newProverEnvironment0
protected abstract ProverEnvironment newProverEnvironment0(Set<SolverContext.ProverOptions> options)
-
newProverEnvironmentWithInterpolation
public final InterpolatingProverEnvironment<?> newProverEnvironmentWithInterpolation(SolverContext.ProverOptions... options)
Description copied from interface:SolverContextCreate a fresh newInterpolatingProverEnvironmentwhich 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 theInterpolatingProverEnvironmentinterface, and return an Object of this type here.- Specified by:
newProverEnvironmentWithInterpolationin interfaceSolverContext- Parameters:
options- Options specified for the prover environment. All of the options specified inSolverContext.ProverOptionsare turned off by default.
-
newProverEnvironmentWithInterpolation0
protected abstract InterpolatingProverEnvironment<?> newProverEnvironmentWithInterpolation0(Set<SolverContext.ProverOptions> pSet)
-
newOptimizationProverEnvironment
public final OptimizationProverEnvironment newOptimizationProverEnvironment(SolverContext.ProverOptions... options)
Description copied from interface:SolverContextCreate a fresh newOptimizationProverEnvironmentwhich encapsulates an assertion stack and allows to solve optimization queries.- Specified by:
newOptimizationProverEnvironmentin interfaceSolverContext- Parameters:
options- Options specified for the prover environment. All of the options specified inSolverContext.ProverOptionsare turned off by default.
-
newOptimizationProverEnvironment0
protected abstract OptimizationProverEnvironment newOptimizationProverEnvironment0(Set<SolverContext.ProverOptions> pSet)
-
supportsAssumptionSolving
protected abstract boolean supportsAssumptionSolving()
Whether the solver supports solving under some given assumptions (with all corresponding features) by itself, i.e., whetherBasicProverEnvironment.isUnsatWithAssumptions(java.util.Collection)andBasicProverEnvironment.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 simplythrow UnsupportedOperationExceptionin 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.
-
-