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

Remove formula_prop and add shallowly-embedded formulas #21

Open
skeuchel opened this issue Oct 11, 2021 · 0 comments
Open

Remove formula_prop and add shallowly-embedded formulas #21

skeuchel opened this issue Oct 11, 2021 · 0 comments

Comments

@skeuchel
Copy link
Member

The Inst instances for Formula and PathCondition that instantiate them to Prop are inconsistent with how Inst is used in all the other cases. The Prop type represents the interpretation of Formulas in the model. This is particularly awkward when it comes to lifting which uses formula_prop and for the laws of the type class which use equality rather than a configurable setoid (bi-implication) on the instantiated type. A cleaner way would be to remove the instances again and use bespoke inst functions as before, or even to create a shallow-embedding of formulas akin to all the other Inst cases.

With this change, formula_prop becomes unnecessary and can be removed. This is turn would make formulas and even complete verification conditions first-order. This means we could extract the symbolic executor, run the compiled version and pretty-print the resulting verification conditions.

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

1 participant