runtimeverification / runtimeverification/kontrol
Add `simplify-node lemma` feature
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 122
- Forks
- 16
- PR merge metrics
- No merged PRs in 30d
Description
It would be useful if we could test if some lemma works to discharge some node in the command line, without having to write the lemma in the lemmas file, rekompile and then run the proof again. Take the example where some node has the following constraint:
#And { maxUInt8 <Int bool2Word ( maxUInt128 <Int VV0_x_114b9705:Int ) <<Int 7 #Equals true }
And we want to easily check that the following lemma works to prove that the node has a contradiction:
rule A <Int bool2Word ( _ ) <<Int B => false
requires A >=Int 1 <<Int B
Instead of having to add the lemma to the lemmas file and then rekompile, it would be useful to be able to:
kontrol simplify-node testName nodeId "A <Int bool2Word ( _ ) <<Int B => false requires A >=Int 1 <<Int B"
Contributor guide
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 at the CLI entry point for kontrol simplify-node and trace how the test name, node ID, and lemma text would be handled. Compare this with the existing lemmas-file workflow. Done means the command can try the supplied lemma against the selected node without requiring a lemmas-file edit or rekompilation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100