runtimeverification / runtimeverification/haskell-backend
Handle substitutions in Booster directly
Nobody has claimed this yet.
- Dominant language
- Haskell
- Stars
- 224
- Forks
- 43
- PR merge metrics
- No merged PRs in 30d
Description
Currently, in kore-rpc-booster we rely on Kore's simplifier to simplify the execution state before returning it to the client. One of the reasons for that is that Kore extracts the substitution from constraints and applies it to the configuration. We, however, could do it in Booster.
Here's an idea by @jberthold on what we should do:
I think we could take a different approach, namely to identify substitution-like constraints in the internal format and then apply the substitution as well as return it.
That would probably be part of the final simplification before returning the
executeresult. An even more invasive change would be to carry a substitution within thePatterntype which is accumulated as we rewrite the term (accommodates the substitution that is returned bykore-rpcwhen we fall back).
We do not have to extend the internalPatterntype with a substitution field if we only handle substitutions at the end.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the kore-rpc-booster execute result and its final simplification over the internal Pattern format. Compare the proposed end-only approach with carrying substitutions in Pattern; done means Booster identifies substitution-like constraints, applies the substitution, and returns it without requiring a Pattern substitution field.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100