Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutRoadmapCareersInternshipsFAQContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Paths
  • Glossary
  • Metrics Reference
  • Formal Cheat Sheet
  • Formal Foundations19
  • Properties and SVA16
  • Property Development and Constraints19
  • Proof Engines and Convergence23
  • Formal Applications20
  • Equivalence Checking14
  • Formal Coverage and Signoff15
  • Methodology and Debug13
  • Interview Prep15
    • Formal Whiteboard Framework
    • Scenario: A Proof That Will Not Converge
    • Scenario: Everything Proves, Nothing Is Reached
    • Scenario: A Late ECO Breaks Equivalence
    • Scenario: A Deadlock-Like Trace in Arbiter and Fabric
    • Rapid Fire by Theme
      • Rapid Fire: Assume, Assert, and Vacuity
      • Rapid Fire: Induction and Bounded Proofs
      • Rapid Fire: Liveness and SVA
      • Rapid Fire: Abstraction, Equivalence, and Signoff
    • Numeric Drills
    • Spot the Bug in the Answer
  • Capstone: A Chip-Block Verification Lab24
Loading lesson

←Rapid Fire by Theme
  1. Topics
  2. Formal Verification
  3. Interview Prep
  4. Rapid Fire by Theme
  5. Rapid Fire: Induction and Bounded Proofs

Part 9 of 10, lesson 9 of 15Part 9 of 10/Interview Prep/Lesson 9 of 15All levels

Rapid Fire: Induction and Bounded Proofs

Answer twelve questions on BMC depth, bounded versus unbounded, k-induction, CTI, helpers, and engine choice.

Why it matters

Bounds and induction are where precise vocabulary pays: bounded to N, proven, and inconclusive are three different claims, and panels fail candidates who merge them. This drill fixes the engine vocabulary. Each answer is two sentences; the trap column names the merge being fished for.

Question

Short answer

Trap

Teaching lesson

What does a bounded PASS mean?

No counterexample exists within the stated depth. It proves nothing unbounded and becomes signoff-grade only with a bound justification.

Calling it a proof without the justification.

What BMC cannot find

How do you choose a BMC depth?

At least reset plus trigger length plus worst-case latency plus 1, or a diameter argument. The decade-counter wrap bug needs depth 11: depth 10 passes and proves nothing.

One step short of the bug.

Choosing a depth

Base case versus induction step?

The base checks the first k states from reset; the step assumes any k consecutive states satisfy the property and checks the next. A pass needs both to the same k.

Raising k while the base covers fewer steps.

Base case and step

What is a counterexample to induction?

A step failure starting from an arbitrary state, possibly unreachable from reset. It indicts the invariant, not the design, until replayed from reset.

Fixing RTL for an unreachable-state trace.

CTIs and unreachable states

When does raising k help?

When the property is inductive but needs a longer window to force the relation, as the retimed miter does at k of 3. When the step fails across a range of k, no k closes it.

Raising k instead of adding an invariant.

Simple path and invariants

What makes a good helper invariant?

A true property tying state elements together, proved as an assertion, that excludes the unreachable states breaking the step. Pointer-equals-pointer-difference is the classic shape.

Assuming the helper instead of proving it.

Helper invariants

Counterexample always wins: what does that mean?

A bounded counterexample on a model beats any unbounded pass claim on the same model, assumptions and reset. An apparent conflict means the models differed.

Overruling a trace with a second tool's pass.

A counterexample always wins

What is inconclusive?

Undetermined: bound reached, time-out, or a failed induction step with a passing base. It demands a justified bound, a longer run, or a stronger proof, never a waiver by silence.

Counting not-failed as proven.

When to stop

BMC versus k-induction versus IC3: when which?

BMC for bugs within reach and for bound arguments; k-induction for invariants with small helpers; IC3-style engines for deep properties where lemmas must be discovered. Diagnose cone, depth and engine progress first.

Naming engines without the selection rule.

The engine menu

What is the diameter argument?

The longest shortest path between reachable states: a bound at or beyond it sees every behaviour. The 4-entry FIFO control machine has diameter 7 transitions from reset.

Quoting a depth without the machine it covers.

Justifying a bound

Why do sampled-history properties need k of at least 2?

They judge the present against the previous cycle, so the step needs two consecutive states to check the relation. On the FIFO, bridge, register block and counter the transition properties close at 2; the pipeline's latency property looks three cycles back and needs 3.

Proving them at k of 1 and filing the pass.

Past at the first cycle

A proof times out. First three reads?

Cone size per property, depth reached versus the bound the behaviour needs, and whether the engine is progressing or stuck. Then reduce, split, strengthen, in that order.

Tightening assumptions first.

Diagnosing a slow proof

A failing base case is a counterexample. A passing base case with a passing step is proven. A passing base case with a failing step is inconclusive and demands a stronger invariant or a justified bound.
The three outcomes of a k-induction run and what each one means.

Bound one step short. Symptom: bounded to 10 reported on a counter whose wrap bug needs depth 11. Cause: the depth was chosen with no rule. Fix: reset plus trigger plus latency plus 1, or an induction. Found by paired runs one step apart.

Say the depth and the k in every engine answer: bounded to 11, closes at 2 with the helper. Numbers force the vocabulary, and panels trust answers that carry their own parameters.

Check yourself Base passes, step fails, and the trace starts in a state reset cannot produce. Verdict?

Inconclusive with a spurious counterexample to induction: strengthen with a helper invariant that excludes that state, and prove the helper as an assertion.

Related topics

  • Whiteboard Questions 1 to 6

  • Scenario: A Proof That Will Not Converge

  • Drill: State and Depth Numbers

Previous

153 / 183

Next: Rapid Fire: Liveness and SVA

Up next

Up nextRapid Fire: Liveness and SVA

Sign in to save progress

Practice this lessonPrevious lessonReport an error

See also

  • Rapid Fire: Abstraction, Equivalence, and Signoff