assumeguarantee
Assume-guarantee reasoning, sometimes written as assume-guarantee or simply assumed-guaranteed reasoning, is a formal verification technique used to reason about systems composed of interacting components. Rather than proving properties for the whole system in one piece, it analyzes each component in isolation under an assumed environment and the guarantees it provides as a result. If the guarantees of all components collectively satisfy the assumptions of the others, a global property of the entire system can be inferred.
In this approach, every component is paired with a contract consisting of an environmental assumption and a
Assume-guarantee reasoning is used in model checking, refinement, and contract-based design for software, hardware, and embedded
Limitations include the need for accurate and compatible environmental assumptions; incorrect assumptions can undermine soundness or