FVO — Formal Verification Online
Chapter 10

Taming Complexity

What to do when proofs do not converge: measure, reduce, cut, abstract, add helper invariants, decompose with assume-guarantee, split cases and choose engines — with worked examples.

Advanced⏱ ~70 min6 lessons

What you will learn

Lessons

  1. 10.1Diagnosing a hard proofMeasure before you optimise.
  2. 10.2Reducing the design: parameters, black boxes, cut pointsMake the model smaller — and know whether that is sound.
  3. 10.3Helper assertions and invariantsTeach the tool what you know about the design.
  4. 10.4Abstracting counters and memoriesReplace big state with small models that keep the property.
  5. 10.5Assume-guarantee and case splittingSplit one impossible proof into several possible ones.
  6. 10.6Engines, run strategy and bounded proofsGetting the most from the tool, and knowing when bounded is enough.
  7. ✎Chapter quiz (4 questions)

Key takeaways

Was this page helpful?

Tip: select any text on the page before clicking Report and it will be quoted in your report.