Skip to content
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

Feature requests: Meaningful UNSAT cores and Models in Lean #5

Open
mww-aws opened this issue Nov 21, 2023 · 3 comments
Open

Feature requests: Meaningful UNSAT cores and Models in Lean #5

mww-aws opened this issue Nov 21, 2023 · 3 comments

Comments

@mww-aws
Copy link

mww-aws commented Nov 21, 2023

Is it possible / meaningful to get UNSAT cores or models in a format that is meaningful in Lean?

We are representing domain models and some queries against those models. We would (if possible) like to get witnesses to proof failures expressed in a meaningful way back into Lean, and to get UNSAT cores that have meaning in Lean.

The underlying idea is that we want users to be able to "ask questions" about domain models by checking whether partially instantiated ground terms are conformant with the model and then presenting the results back in a meaningful way.

Mostly I am curious whether this is on your roadmap for any point in the future.

@PratherConid
Copy link
Collaborator

PratherConid commented Dec 7, 2023

Yes! It will be one of the first features I'll implement after Jan 7th next year.

@PratherConid
Copy link
Collaborator

PratherConid commented May 19, 2024

Now there's basic support for unsat cores. auto.smt.unsatCore.smtTerms shows the SMT terms of the unsat core, and auto.smt.printValuation prints the Lean expressions corresponding to SMT uninterpreted functions/sorts.
The next step I'll implement is to directly print Lean expressions corresponding to SMT terms in the unsat core.

@PratherConid
Copy link
Collaborator

237f06c implements Lean expression printing for SMT unsat cores. Use set_option trace.auto.smt.unsatCore.leanExprs true.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants