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

Generate named SMT database when defining inductive predicates #568

Open
fdupress opened this issue Jun 25, 2024 · 3 comments
Open

Generate named SMT database when defining inductive predicates #568

fdupress opened this issue Jun 25, 2024 · 3 comments

Comments

@fdupress
Copy link
Member

The database for an inductive indpred would include the indpred_ind principle, and the per-constructor lemmas, and could be used as smt(@indpred_smt) (for example).

This is to make rapid exploration possible when defining complex invariants as inductive predicates.

@strub
Copy link
Member

strub commented Jun 25, 2024

By constructor lemmas, you mean injectivity/non-confusion?

@fdupress
Copy link
Member Author

No. I mean, given

inductive popo x =
| Foo of (P x).

The lemma that says forall x, P x => popo x.

@strub
Copy link
Member

strub commented Jul 18, 2024

In fact, inductive predicates are sent as abstract predicates to SMT solvers. Does not seem optimal to me.

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

No branches or pull requests

2 participants