public interface TheoremProverFactory
A factory for producing instances of
TheoremProver. Each instance of
TheoremProver contains a specific, fixed "context". The context is a
boolean symbolic expression. It is the assumption that is used for all
queries asked of that theorem prover. In symbolic execution, the context is
typically the "path condition". Hence a distinct theorem prover is generated
for each path condition.-
Method Summary
Modifier and TypeMethodDescriptionnewProver(BooleanExpression context) Returns a new instance ofTheoremProverwith the given context.newProver(BooleanExpression context, ProverFunctionInterpretation[] logicFunctions) Returns a new instance ofTheoremProverwith the given context.The directory that can be used for files generated by the theory provers created by this factory.
-
Method Details
-
workingDirectory
Path workingDirectory()The directory that can be used for files generated by the theory provers created by this factory.- Returns:
- the directory
-
newProver
Returns a new instance ofTheoremProverwith the given context.- Parameters:
context- boolean expression assumed to hold- Returns:
- a theorem prover operating under the given context
-
newProver
Returns a new instance ofTheoremProverwith the given context.- Parameters:
context- boolean expression assumed to holdlogicFunctions- A list ofProverFunctionInterpretations. Some provers support factoring the common and complex parts into logic functions (e.g. z3, cvc4)- Returns:
- a theorem prover operating under the given context
-