public interface ProverEnvironment extends BasicProverEnvironment<Void>
BasicProverEnvironment.close() method should be called
(preferably using the try-with-resources syntax).
All methods are expected to throw IllegalStateExceptions after
close was called.
All solving methods are expected to throw SolverException if the solver
fails to solve the given query, and InterruptedException if a thread interrupt
was requested or a shutdown request via the ShutdownNotifier.
It is not guaranteed, though, that solvers respond in a timely manner (or at all)
to shutdown or interrupt requests.
| Modifier and Type | Interface and Description |
|---|---|
static interface |
ProverEnvironment.AllSatCallback<T>
|
| Modifier and Type | Method and Description |
|---|---|
<T> T |
allSat(ProverEnvironment.AllSatCallback<T> callback,
List<BooleanFormula> important)
Get all satisfying assignments of the current environment with regards
to a subset of terms,
and create a region representing all those models.
|
List<BooleanFormula> |
getUnsatCore()
Get an unsat core.
|
boolean |
isUnsatWithAssumptions(Collection<BooleanFormula> assumptions)
Check whether the conjunction of all formulas on the stack together with the
list of assumptions is satisfiable.
|
Optional<List<BooleanFormula>> |
unsatCoreOverAssumptions(Collection<BooleanFormula> assumptions)
Returns an UNSAT core (if it exists, otherwise
Optional.empty()),
over the chosen assumptions. |
addConstraint, close, getModel, getModelAssignments, isUnsat, pop, push, pushList<BooleanFormula> getUnsatCore()
BasicProverEnvironment.isUnsat() call
that returned false.<T> T allSat(ProverEnvironment.AllSatCallback<T> callback, List<BooleanFormula> important) throws InterruptedException, SolverException
important - A set of variables appearing in f.
Only these variables will appear in the region.InterruptedExceptionSolverExceptionboolean isUnsatWithAssumptions(Collection<BooleanFormula> assumptions) throws SolverException, InterruptedException
assumptions - A list of literals.SolverExceptionInterruptedExceptionOptional<List<BooleanFormula>> unsatCoreOverAssumptions(Collection<BooleanFormula> assumptions) throws SolverException, InterruptedException
Optional.empty()),
over the chosen assumptions.
Does NOT require the SolverContext.ProverOptions.GENERATE_UNSAT_CORE option to work.assumptions - Selected assumptionsSolverExceptionInterruptedException