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

Support for invariants on ghost state #2053

Open
sauclovian-g opened this issue Apr 24, 2024 · 0 comments
Open

Support for invariants on ghost state #2053

sauclovian-g opened this issue Apr 24, 2024 · 0 comments
Labels
needs design Technical design work is needed for issue to progress type: feature request Issues requesting a new feature or capability

Comments

@sauclovian-g
Copy link
Collaborator

There is currently no explicit support for invariants on pieces of your model. Most significantly, there's no way to declare invariants on state attached to ghost variables. While you can assert the invariant you want explicitly on every precondition and postcondition, doing so is error-prone.

It is not immediately obvious how we want to do this. I'm creating this issue to have a place to discuss it.

One of the concerns/complications is that ghost variables don't have a type until you store something in them. One could change that, but it would probably create a lot of fallout. Another concern is that sometimes invariants are universal and sometimes they need to be established during program intialization.

@sauclovian-g sauclovian-g added needs design Technical design work is needed for issue to progress type: feature request Issues requesting a new feature or capability labels May 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs design Technical design work is needed for issue to progress type: feature request Issues requesting a new feature or capability
Projects
None yet
Development

No branches or pull requests

1 participant