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

Introduce intermediate monad interfaces in the shallow/symbolic executors #39

Open
skeuchel opened this issue Oct 18, 2023 · 0 comments

Comments

@skeuchel
Copy link
Member

Both the shallow and the symbolic executors are implemented in a continuation monad with a proposition answer type. Sometimes we break this abstraction. To fix this I propose to define a type class interface that gathers the essential operations for both the symbolic and shallow executors and make our current monad an instance of it. The soundness proof of the symbolic executor would then take two related instances etc..

This would also allow us to more easily experiment with other implementations, like for instance a codensity-transformed free monad, which would allow us to generate subtrees only, i.e. for experiments with state-merging etc.

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