Expand description
SMT checking package for the staged verifier.
The package is split into:
common: the shared SMT entry point, query/result types, and term model.- one SP-specific module per safety property family, such as
align.
SP-specific modules should only lower verifier properties into common SMT obligations. They should not construct independent solver APIs.
Modulesยง
- alias ๐
- Alias hazard checks for unsafe view-producing APIs.
- align ๐
- SMT lowering for the
Alignsafety property. - alive ๐
- Lifetime anchoring checks for the
Alivesafety property. - allocated ๐
- SMT lowering for the
Allocatedsafety property. - common ๐
- Common SMT checking backend for the staged verifier.
- deref ๐
- SMT lowering for the
Derefsafety property. - in_
bound ๐ - SMT lowering for the
InBoundsafety property. - init ๐
- SMT lowering for the
Initsafety property. - non_
null ๐ - SMT lowering for the
NonNullsafety property. - non_
overlap ๐ - SMT lowering for the
NonOverlapsafety property. - non_
volatile ๐ - SMT lowering for the
NonVolatilesafety property. - typed ๐
- Path-local checking for the
Typedsafety property. - valid_
num ๐ - SMT lowering for the
ValidNumsafety property. - valid_
ptr ๐ - SMT lowering for the composite
ValidPtrsafety property.
Structsยง
- SmtCheck
Result - Result of one SMT check.
- SmtChecker
- SMT backend for verifier properties.
- SmtQuery
- Solver query built from path facts plus one negated obligation.
Enumsยง
- SmtObligation
- General SMT obligation produced by an SP-specific lowering.