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

Lower the semi-concrete executor #22

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

Lower the semi-concrete executor #22

skeuchel opened this issue Oct 11, 2021 · 0 comments

Comments

@skeuchel
Copy link
Member

Currently the mutator for the semi-concrete executor uses the spatial specification monad
forall {A}, (A -> SCHeap -> Prop) -> SCHeap -> Prop, i.e. we use regular props on shallowly embedded heaps. There is a tight coupling between the symbolic and the semi-concrete mutator: the deeply-embedded heap always needs to be syntactically instantiable to the shallow one. I'm afraid that might bite us at some point when we want to run user-defined heuristics to automate spatial reasoning. One possibility would be to change it to forall {A P} {SepLogic P}, (A -> P) -> P, effectively running the semi-concrete executor at almost the same level as the Hoare triple-based program logic.

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