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
    • Model Checking in Plain Terms
    • Bounded and Unbounded Results
    • K-Induction in Depth
    • IC3, PDR and Interpolation, Concept Level
    • Fairness, Lassos and Liveness-to-Safety
      • Fairness, Weak and Strong
      • Lasso Counterexamples
      • Liveness-to-Safety by Hand
      • Fairness That Hides Starvation
    • Proof Convergence Tactics
  • Formal Applications20
  • Equivalence Checking14
  • Formal Coverage and Signoff15
  • Methodology and Debug13
  • Interview Prep15
  • Capstone: A Chip-Block Verification Lab24
Loading lesson

←Proof Engines and Convergence
  1. Topics
  2. Formal Verification
  3. Proof Engines and Convergence
  4. Fairness, Lassos and Liveness-to-Safety

Part 4 of 10Part 4 of 10/Proof Engines and ConvergenceAll levels

Fairness, Lassos and Liveness-to-Safety

Weak and strong fairness on the arbiter, lasso counterexamples that a bounded check cannot refute, and counter-based substitutes that run.

  • 4topics
  • 4lessons

Some obligations are about infinite behaviour: every requester is eventually granted, no requester starves. The flow used in this course has no liveness mode, so true eventually is not expressible here; the course proves bounded response instead, a safety property, and teaches the engine view, fairness and lassos, with runnable substitutes. Liveness-to-safety is the bridge: it rewrites an eventually property as a safety property that a safety engine can run. The arbiter carries the topic: its correct form never makes a persistent requester wait more than 3 cycles (it is granted in the fourth), and its buggy form starves three of them forever.

Lesson

After it you can...

Fairness, Weak and Strong

State which fairness the environment owes and constrain only inputs.

Lasso Counterexamples

Read a starvation lasso and say why no finite prefix refutes liveness.

Liveness-to-Safety by Hand

Turn eventually into a safety check with a counter or a saved state and name what each costs.

Fairness That Hides Starvation

Spot an assumption on a design output and show its false pass.

Suggested order: top to bottom. Fairness first, because every liveness statement needs its environment contract. Lassos second, because the counterexample shape motivates the substitutes. The counter and saved-state constructions third, because they are the routes by which an eventually property reaches a safety engine. The too-strong-fairness trap last, because it is the review rule that guards the other three.

Flowchart: an eventually property needs environment fairness, then is rewritten either as a waiting counter with a bound or as a saved-state loop detector; both are safety properties that a safety engine runs, and a violation comes back as a trace or a lasso.
How a liveness check is turned into something an engine can run: environment fairness first, then a waiting counter or a saved-state loop detector, both safety properties.
Check yourself Why does this topic prove bounded response instead of eventually?

The available flow has no liveness mode, so true eventually is not expressible in it. Bounded response, granted within N cycles, is a safety property the flow proves, and it implies the liveness claim for the cases it covers.

Expect to separate three words precisely: deadlock is no progress possible, livelock is activity without completion, starvation is one requester never served while others are. The second lesson is that separation on a real trace.

PreviousNext: Fairness, Weak and Strong

Up next

Up nextFairness, Weak and Strong

Sign in to save progress

Practice this lessonPrevious lessonReport an error

See also

  • Model Checking in Plain Terms
  • Bounded and Unbounded Results
  • K-Induction in Depth