Formal Verification · All levels
Convergence Tactics for Hard Properties: Debug Playbook
Debug Playbook for Convergence Tactics for Hard Properties.
Debug playbook
Debug Playbook for Convergence Tactics for Hard Properties is anchored on Percentage of stalled properties recovered through helper assertions, case splits, and assumption refinement.. Convert outcomes into assumption-aware, evidence-backed actions.
Freeze assumptions, RTL hash, and engine metadata.
Locate first divergence cycle and classify source.
Classify mechanism: model mismatch, weak property, setup issue, or RTL defect.
Apply one focused reproducer and one bounded fix.
Re-run sibling properties and critical covers before closure.
Review memo template
FORMAL REVIEW MEMO - Proof Engines & Convergence / Convergence Tactics for Hard Properties
1. Symptom
- Failing metric: Percentage of stalled properties recovered through helper assertions, case splits, and assumption refinement.
- Trigger context: <mode/reset/env assumptions>
- First divergence boundary: <model/property/rtl>
2. Mechanism hypothesis
- Candidate mechanism: Proofs fail to converge when the search space is too broad, invariants are too weak, or assumptions leave unrealistic environment behavior unconstrained. Practical recovery starts by inspecting failed traces and proof cores, then adding helper assertions that expose required intermediate invariants. Case-splitting can separate mode-dependent behavior (for example idle, training, and active paths) so engines reason on smaller subproblems. Blackboxing non-essential blocks and introducing assume-guarantee contracts reduces irrelevant logic while preserving soundness. The key discipline is to document every strengthening step to avoid accidental over-constraint and false confidence.
- Competing hypotheses: weak property, over-constraint, setup mismatch, rtl bug
- Missing evidence: <trace, vacuity report, cover status>
3. Proposed action
- Smallest reversible change: <assumption/property/rtl>
- Expected movement: <closure quality, runtime, bug isolation>
- Regression risk: hidden legal behavior, false pass, schedule churn
4. Signoff
- Required artifact: Convergence playbook with stalled-property taxonomy, tactic decisions, and over-constraint audit log.
- Required owners: formal verification owner, rtl owner, tool expert, verification lead
- Final decision: close, bounded closure, rollback, or escalateFormal deep dive
Convergence requires engine strategy, invariant quality, and model realism to move together with measurable progress.
Concept diagram
CONVERGENCE DECISION FLOW
property bucket -> engine strategy -> helper invariants -> convergence audit -> closureMetric graph
CONVERGENCE BURNDOWN
open hard properties ███████
inconclusive aging █████
closed with audit ████████Metrics and artifacts to collect
engine effectiveness by property class
induction and helper-lemma success ratio
stalled-property aging dashboard
runtime vs closure-quality movement
Mini case study
A stalled set closed only after case-splitting by mode and auditing fairness assumptions for realism.
Debug branches
Bucket properties by structure and intent before tuning.
Inspect proof core stability, not runtime alone.
Reject speed gains that reduce legal reachability.
Senior review question
Ask: which requirement intent is proven, under which assumptions, and what residual risk remains?
Key takeaways
Tie each proof claim to assumption boundaries and reachability evidence.
Prefer minimal reversible fixes and preserve legal behavior visibility.
Common pitfalls
Treating runtime reduction as proof-quality improvement without audits.
Declaring closure while critical covers remain unreachable.
Using broad waivers instead of first-divergence root-cause ownership.
Debug ladder
Sequence: reproduce -> classify -> isolate first divergence -> patch -> revalidate sibling properties.
Avoid mixing assumption and RTL fixes in the same experiment.