VeriCoding
Give it a small Python function and a contract: a precondition on the inputs and a postcondition on the result. The Z3 SMT solver answers for every input, not a sample: either a proof, or a concrete input that breaks it. The answer comes as a signed certificate anyone can re-check offline.
#6 of the CAIN-42 Top 25 3,000 fuzzed contracts, 0 wrong verdicts 4 false PROVED found and fixed today fix live since 2026-11-02 15:31Z (verified on both gateway instances)
a proof covers every integer input, not a test sample
"proved" functions that actually crash, in 1,500 fuzzed contracts
wrong verdicts in 3,000 fuzzed contracts after the fix (2 seeds)
to re-check a certificate offline
Why it matters
AI writes code fast; tests check a few inputs. A proof checks all of them. VeriCoding is the strongest formal guarantee in CAIN-42, and the most honest kind of claim: a counterexample is something you can run yourself. That is also why a false "proved" is the worst thing it can say, and why today's work went into finding every one.
On this site
How it works
From Python to Z3, and the three questions.
The supported subset
Exactly what is and is not modelled.
Live demo
Ask Z3 yourself.
Certificates
Signed, offline-checkable answers.
Evidence
The fuzzer, before and after.
Verify it yourself
Commands.
Limits
What a proof here does not cover.
Use cases
Where proofs pay.
2026-11-02 upgrade
Four false PROVED, found and fixed.
History
Commits.
FAQ
Questions.
FIRME AI CORPORATION · CAIN-42 is a Byzantine trust fabric. Numbers marked "our own check" were run by us, not by an independent party. Nothing on these pages is a certification.