Expand description
SMT lowering for the Init safety property.
This first version proves only a local one-element write pattern:
ptr.write(value)
require Init(ptr, T, 1)Forward visit records ptr.write as a KnownInit fact. The common SMT
backend then checks whether the Init target has the same address as a known
initialized pointer. Range initialization across loops still needs a loop
summary and is intentionally left as Unknown.
Functionsยง
- array_
elem_ ๐size - array_
len_ ๐term - check ๐
- Check
Initby lowering it to a common initialized-memory obligation. - check_
for_ ๐checkpoint - Check
Initat a return checkpoint for struct invariant verification. - compute_
elem_ ๐size