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

[CN] Use a auto-unfolding scheme for functions #483

Open
dc-mak opened this issue Aug 13, 2024 · 0 comments
Open

[CN] Use a auto-unfolding scheme for functions #483

dc-mak opened this issue Aug 13, 2024 · 0 comments
Labels
cn enhancement New feature or request resource reasoning Related to reasources in specs

Comments

@dc-mak
Copy link
Contributor

dc-mak commented Aug 13, 2024

We currently have an auto-unfolding scheme for predicates that works quite well in practice, yet for functions we have an one which requires manual unfolding at each step.

In cases like doubly-linked queue lemmas, the unfolding gets rather tedious to specify, since the SMT solver already has all the available information to know which branch to select.

In the absence of #260, this gets even more annoying when there are instances where to even specify the arguments of what to unfold, you need to do a take beforehand (see queue_pop_unified.c from the tutorial - the lemmas are ultimately just unfoldings).

This would also bring us closer to unification of the two languages (at least in the internal representation if not in the user facing syntax) #304.

@dc-mak dc-mak added the cn label Aug 13, 2024
@dc-mak dc-mak added resource reasoning Related to reasources in specs enhancement New feature or request labels Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cn enhancement New feature or request resource reasoning Related to reasources in specs
Projects
None yet
Development

No branches or pull requests

1 participant