Expand description
Contract DSL and abstract-state data structures. Contract and abstract-state data types used by the Senryx verifier.
This module owns the contract representation parsed from RAPx safety
annotations. Numeric obligations use a small expression AST so contracts can
describe relationships such as region.size >= 0, offset + len <= cap,
and future layout-sensitive formulas without inventing new ad-hoc range
types for every property.
Structs§
- Contract
Fact Set - The set of contract facts known to hold for one graph node.
- Contract
Place - A place expression referenced by a contract.
- Numeric
Predicate - A complete numeric predicate with explicit left and right expressions.
Enums§
- Align
State - Tracks pointer alignment status in the abstract domain.
- Contract
Expr - Numeric expression AST used by length and
ValidNumcontracts. - Contract
Projection - A projection from a contract place root.
- Numeric
Op - Arithmetic operators supported by contract expressions.
- Numeric
Unary Op - Unary operators supported by contract expressions.
- Place
Base - The root of a contract expression place.
- Property
Contract - A parsed safety-property contract.
- RelOp
- Relational operators used by numeric predicates.