runtimeverification / gitbook-kontrol

https://docs.runtimeverification.com/kontrol
4 stars 3 forks source link

Tips, FAQ page #12

Closed reekamaharaj closed 10 months ago

reekamaharaj commented 1 year ago

Things to add to an FAQ page

reekamaharaj commented 1 year ago

A proving/debugging process:

  1. Run the proof with no-break-on-calls, --max-depth 10000 and --max-iterations 5 or 10
  2. Inspect the kcfg for branching.
  3. If there is branching and check the branching condition is true or false:
    • Try to gigure out the simplifications to discharge it - for this to be most efficient, one has to be familiar with what simplifications already are there
    • Add the simplifications and a runLemma => doneLemma style claim that demonstrably simplifies the branching condition
    • Remove the branching node from the kcfg using foundry-remove-node
    • repeat from 1
  4. repeat from 1
reekamaharaj commented 1 year ago

From @lucasmt Notes

reekamaharaj commented 1 year ago

From @lucasmt Notes

Decoding KEVM expressions

lucasmt commented 11 months ago

More tips for debugging: