v0.13.2Control flow and dataflow are rebuilt on explicit semantics, Z3 translation matches executable C# numeric rules, and the build chain is hermetic and supply-chain verified with hash- and size-pinned Z3 binaries.See what's new

verify

Run Z3 contract verification and report the seven-status outcome for every obligation

Bash
calor verify <files...> [options]

Examples

Bash
calor verify src/Math.calr
calor verify a.calr b.calr --timeout 10000
calor verify src/Math.calr --format json
calor verify old.calr new.calr --weakening-check f001

Options

OptionDescription
--format, -ftext or json
--output, -oWrite output to a file instead of stdout
--verbose, -vInclude detailed verification information
--timeout, -tSolver budget per contract in milliseconds; default 5000
--no-cacheDisable verification-result caching
--clear-cacheClear the verification cache first
--weakening-checkCompare one declaration across exactly two files for contract weakening

Status and Exit Contract

The schema 2.0 wire statuses are proven, refuted, assumed, unknown, timeout, unsupported, and unavailable. assumed carries a named assumption list. refuted includes structured counterexample bindings when Z3 produces a model. Vacuity is a separate flag.

ExitMeaning
0No contract was refuted and compilation succeeded; inconclusive outcomes keep their runtime checks
1A contract was refuted, a file was missing, or compilation failed
2Invalid weakening-check invocation

calor verify reports verdicts; it does not opt compilation into guard elision. In released v0.12.1, compiling separately with --verify automatically elides an eligible clean, non-vacuous, assumption-free guard. See Verification Guarantees before using proof results as a gate.