An agentic notebook for verified numerical code

Describe what you need in plain language, or start from a formula. The agent writes the code, C Proof checks it against the properties you state, and the notebook keeps the record of what was proven, sampled or disproved. It includes checked examples for pricing and risk.

Writing code with the agent

Start from a request to the agent, a blank notebook, a formula from a paper, or one of the checked examples. The agent proposes code as a change you accept or reject. A share link opens a read-only snapshot of the code and its results.

Ways to start

  • Build with the agent

    Describe the calculation and the checks that matter.

  • Start blank

    Write or paste Chelis yourself.

  • Import a paper

    Bring in a formula from an arXiv source or archive.

Checked examples

  • Economics Proven (SMT)

    Markov mass conservation

    One transition step of a Markov operator preserves total probability mass for a row-stochastic transition.

  • Finance Sampled, not proven

    Black-Scholes call price > 0

    A European call price is positive for the sampled inputs.

  • Finance Proven (SMT)

    CRR no-arbitrage: the call never exceeds spot

    A two-step Cox-Ross-Rubinstein European call priced with risk-neutral discounting.

  • Finance Proven (SMT)

    Discount factor ∈ (0, 1)

    A positive interest rate gives a one-period discount factor strictly between zero and one.

Proofs

A proven property shows the exact statement proved, its hypotheses and the code it covers. No sampling is involved.

The proof comes from a solver that is separate from the agent. A test the agent writes next to its code can share the code's mistake; the solver checks the code against the property you stated.

Counterexamples

A disproved property carries the input that breaks it, replayed at machine precision.

See the counterexample

Disproved 1 counterexample

crr_nodisc_call_upper_bound

Break inside the stated region

Call price 1.125 exceeds spot 1.0, so the undiscounted pricing model admits arbitrage.

Counterexample:

s = 1.0 (spot), k = 0.5 (strike), u = 2.0 (up factor), d = 0.5 (down factor), q = 0.5 (up probability)

Machine-precision replay confirms the violation.

Get access

C Note runs in the browser. Make an account and verify your email to start, within daily usage limits. To run it inside your own environment, talk to us.