-
Notifications
You must be signed in to change notification settings - Fork 56
558 add general proof api #583
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
gcarpio21
wants to merge
20
commits into
master
Choose a base branch
from
558-add-general-proof-api
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+998
−0
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…oof`, `ProofRule`.
…objects in `BasicProverEnvironment` and multiple classes that implement said interface: `BasicProverEnvironmentWithAssumptionsWrapper`, `DebuggingBasicProverEnvironment`, `LoggingBasicProverEnvironment`, `StatisticsBasicProverEnvironment`, `SynchronizedBasicProverEnvironment`, `SynchronizedBasicProverEnvironmentWithContext`.
…objects in abstract class `AbstractProver` as well as flag `generateProofs` and method `checkGenerateProofs`.
…oof objects from the solvers into `Proof` objects.
…common `Proof`s from the solver.
…mpl` handles transformation from the solver's native proof into the common `Proof`.
…ing common `Proof`s from solvers. Conditions include: different theories, trivial proofs, simple proofs, not enabling proof production, etc.
9 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Objective
This PR aims to extend support for retrieving proofs of unsatisfiability from the CVC5 solver according to a general proof interface that would be used to do the same for other capable solvers.
Key Changes
Proof, andProofRuleas the main components for handling proofs.It is now possible to enable proof generating capabilities from CVC5 by passing
ProverOptions.GENERATE_PROOFSwhen creating a newProverEnvironmentinstance. Then when a query returns UNSAT one can callgetProof()to retrieve the proof of unsatisfiability.