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
    • Writing Properties That Can Fail and Say Something
    • Assumptions as a Contract
    • Abstraction and Complexity
    • Assume-Guarantee and Black Boxes
      • Assume-Guarantee Contracts
      • Circular Assume-Guarantee and the False Pass
      • Black Boxes and Their Soundness Condition
      • Proving the Contract on the Neighbour
    • Reusable Property Sets
  • Proof Engines and Convergence23
  • Formal Applications20
  • Equivalence Checking14
  • Formal Coverage and Signoff15
  • Methodology and Debug13
  • Interview Prep15
  • Capstone: A Chip-Block Verification Lab24
Loading lesson

←Property Development and Constraints
  1. Topics
  2. Formal Verification
  3. Property Development and Constraints
  4. Assume-Guarantee and Black Boxes

Part 3 of 10Part 3 of 10/Property Development and ConstraintsAll levels

Assume-Guarantee and Black Boxes

Compose block proofs by assuming at each input what a neighbour proves at its output, without a circle, and use black boxes only with a proved contract.

  • 4topics
  • 4lessons

A large design is proved block by block. Block A is proved under an assumption X about its inputs; block B is proved to guarantee X; then A and B together satisfy A's guarantee, provided the argument has no circle. A black box frees its outputs, so passing proofs stay valid and failures may be spurious. This topic runs each of those statements, including the two ways they go wrong: a circle in which both blocks prove and both are wrong, and a contract that is assumed and never proved.

Lesson

After it you can...

Assume-Guarantee Contracts

Run the three proofs, A under X, B guaranteeing X and the top, with a fault in each place.

Circular Assume-Guarantee and the False Pass

Show a circle that proves a false claim, and repair it by induction on time.

Black Boxes and Their Soundness Condition

Say what a free output keeps and adds, and show the false pass of an unproved contract.

Proving the Contract on the Neighbour

Keep a contract table that is checked against the proofs it names.

Suggested order: top to bottom. The rule first, the circle second because it is the one way the rule fails, black boxes third because they use the rule with an assumed contract, and the table last because it records every contract and its proof.

A top box above two boxes: block A proved under X, and block B proved to guarantee X.
Obligations of a composed proof: the top follows from A proved under X and from B proved to guarantee X. No arrow leads back from B to A.
Check yourself A proved under X, and B proved under Y, where Y is A's guarantee. Is the system proved?

No: that is a circle. Each proof depends on the other's guarantee and neither has a base case. It needs induction on time, or a proof of one side with no assumption about the other.

Draw the three obligations on a whiteboard: A under X, B guarantees X, top. Then name the one thing that makes the rule unsound: a circle.

Related topics

  • Up: Property Development and Constraints

  • Protocol First Principles: Formal for Protocols

PreviousNext: Assume-Guarantee Contracts

Up next

Up nextAssume-Guarantee Contracts

Sign in to save progress

Practice this lessonPrevious lessonReport an error

See also

  • Writing Properties That Can Fail and Say Something
  • Assumptions as a Contract
  • Abstraction and Complexity