How a number becomes a proof obligation
Interactive static analysis & formal verification pipeline
PAUSE
RESET
01 / PARSE
02 / LOWER
03 / INFER FACTS
04 / CHECK REQS
05 / EMIT AUDIT
AST
CALL
RET
IR
FACTS
GUARD
PROOF
SOURCE CODE
assert(x > 0)
IR LOWERING
t0 = x > 0
CALLEE FN
int x
ABS DOMAIN
x :
NONZERO
GUARD FACTS
if (x > 0)
REQ CHECKS
assert
nonzero
EMIT AUDIT
PROVED