Package org.sosy_lab.java_smt.basicimpl
Class AbstractProver<T>
java.lang.Object
org.sosy_lab.java_smt.basicimpl.AbstractProver<T>
- All Implemented Interfaces:
AutoCloseable,BasicProverEnvironment<T>
- Direct Known Subclasses:
AbstractProverWithAllSat
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.sosy_lab.java_smt.api.BasicProverEnvironment
BasicProverEnvironment.AllSatCallback<R> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected final booleanprotected final booleanFields inherited from interface org.sosy_lab.java_smt.api.BasicProverEnvironment
NO_MODEL_HELP -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractProver(Set<SolverContext.ProverOptions> pOptions) -
Method Summary
Modifier and TypeMethodDescriptionfinal @Nullable TaddConstraint(BooleanFormula constraint) Add a constraint to the latest backtracking point.protected abstract @Nullable TaddConstraintImpl(BooleanFormula constraint) protected final voidprotected final voidprotected final voidprotected final voidprotected final voidvoidclose()Closes the prover environment.protected voidprotected ImmutableSet<T>protected ImmutableSet<BooleanFormula>final voidpop()Remove one backtracking point/level from the current stack.protected abstract voidpopImpl()final voidpush()Create a new backtracking point, i.e., a new level on the assertion stack.protected abstract voidpushImpl()protected <E extends Evaluator>
EregisterEvaluator(E pEvaluator) This method registers the Evaluator to be cleaned up before the next change on the prover stack.intsize()Get the number of backtracking points/levels on the current stack.protected voidunregisterEvaluator(Evaluator pEvaluator) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.sosy_lab.java_smt.api.BasicProverEnvironment
allSat, getEvaluator, getModel, getModelAssignments, getStatistics, getUnsatCore, isUnsat, isUnsatWithAssumptions, push, registerUserPropagator, unsatCoreOverAssumptions
-
Field Details
-
generateUnsatCores
protected final boolean generateUnsatCores -
enableSL
protected final boolean enableSL -
closed
protected boolean closed
-
-
Constructor Details
-
AbstractProver
-
-
Method Details
-
checkGenerateModels
protected final void checkGenerateModels() -
checkGenerateAllSat
protected final void checkGenerateAllSat() -
checkGenerateUnsatCores
protected final void checkGenerateUnsatCores() -
checkGenerateUnsatCoresOverAssumptions
protected final void checkGenerateUnsatCoresOverAssumptions() -
checkEnableSeparationLogic
protected final void checkEnableSeparationLogic() -
size
public int size()Description copied from interface:BasicProverEnvironmentGet the number of backtracking points/levels on the current stack.Caution: This is the number of PUSH-operations, and not necessarily equal to the number of asserted formulas. On any level there can be an arbitrary number of asserted formulas. Even with size of 0, formulas can already be asserted (at bottom level).
- Specified by:
sizein interfaceBasicProverEnvironment<T>
-
push
Description copied from interface:BasicProverEnvironmentCreate a new backtracking point, i.e., a new level on the assertion stack. Each level can hold several asserted formulas.If formulas are added before creating the first backtracking point, they can not be removed via a POP-operation.
- Specified by:
pushin interfaceBasicProverEnvironment<T>- Throws:
InterruptedException
-
pushImpl
- Throws:
InterruptedException
-
pop
public final void pop()Description copied from interface:BasicProverEnvironmentRemove one backtracking point/level from the current stack. This removes the latest level including all of its formulas, i.e., all formulas that were added for this backtracking point.- Specified by:
popin interfaceBasicProverEnvironment<T>
-
popImpl
protected abstract void popImpl() -
addConstraint
@CanIgnoreReturnValue public final @Nullable T addConstraint(BooleanFormula constraint) throws InterruptedException Description copied from interface:BasicProverEnvironmentAdd a constraint to the latest backtracking point.- Specified by:
addConstraintin interfaceBasicProverEnvironment<T>- Throws:
InterruptedException
-
addConstraintImpl
protected abstract @Nullable T addConstraintImpl(BooleanFormula constraint) throws InterruptedException - Throws:
InterruptedException
-
getAssertedFormulas
-
getAssertedConstraintIds
-
registerEvaluator
This method registers the Evaluator to be cleaned up before the next change on the prover stack. -
unregisterEvaluator
-
closeAllEvaluators
protected void closeAllEvaluators() -
close
public void close()Description copied from interface:BasicProverEnvironmentCloses the prover environment. The object should be discarded, and should not be used after closing. The first call of this method will close the prover instance, further calls are ignored.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceBasicProverEnvironment<T>
-