/proof — verify the rules that matter
CARBON PRO ONLY · CLAUDE AND CODEX STUDIO
A test checks an example. A proof establishes an exact property over a defined scope. Lean is a language and checker for mathematical proofs. Jay uses it where appropriate and records exactly what was checked.
Start with a question
/proof /proof policy.py::allow
Jay inspects the repository and ranks critical paths by failure impact and reach: authorization, payments, data integrity, irreversible actions, parsers, state transitions and shared logic. Each candidate includes its location, importance, proposed property, assumptions, approach and difficulty. Inferred business importance is labeled uncertain.
Choose a target and approve the property and resource budget before verification begins. Discovery can identify code beyond the current verifier’s supported scope; unsupported targets remain UNPROVED.
A small, useful example
def allow(authenticated: bool, owner: bool) -> bool:
return authenticated and ownerProperty: authorization never succeeds for an unauthenticated caller. Assumption: callers pass actual Boolean values. The native backend checks every Boolean input combination and independently replays the production expressions. The Lean backend proves the translated model and reports production replay separately; translation alone does not establish equivalence.
Your report tells you what happened
- PROVED
- The exact property, checked scope, assumptions, target version and independently checked evidence.
- COUNTEREXAMPLE
- A concrete violating input or trace, production replay when supported, and a generated regression test. Model-only examples are labeled.
- UNPROVED
- Unresolved obligations, exhausted budget or unsupported features. Jay also searches for counterexamples within the approved limits. An inconclusive attempt is not a bug or a proof.
- STALE
- Code, imported definitions, dependencies, specification, assumptions, tools or other verification inputs changed. Recheck before relying on the result.
Local execution. Explicit limits.
The first supported path covers pure Boolean Python functions with up to 12 Boolean arguments, supported expressions and explicit sibling-module function imports. It excludes loops, mutation, recursion, arithmetic and external services. Deterministic verification runs in isolation; unmetered AI proof search is disabled. The approved property stays fixed, and unfinished proofs or unapproved axioms are rejected.
Local setup checks for Lean. With your approval, CARBON can download a checksum-verified toolchain and build its local checker container. Missing isolation stops verification. Nothing installs just because you opened this guide.
Reports include commands, logs, hashes, limits, findings and next steps. Dependency-aware CI rechecks affected evidence; it does not certify the entire program.
Technical reference: supported syntax, setup, budgets and incremental CI · Choose CARBON Pro
Free & Pro