ACM ICAIF '26 · companion demo
See the funnel decide
Replay the recorded runs behind the paper's tables, try a verified repair, or send your own question to the live system. Everything runs on the paper's 250-contract library with the top 4 contracts retrieved, on Gemini 2.5 Flash.
Every output on this tab is a recorded run from the paper's experiments, scored by the paper's scorer. Nothing here calls a model. All three systems use Gemini 2.5 Flash and see the same four retrieved contracts.
A convention that changes the computation is handled by an edit declared on the contract at build time and checked before it runs. The model never rewrites the code. This tab calls the live verifier, which uses no LLM.
Contract · fic_article_2164
Monthly loan payment
Declared convention · payment timing (SOFT)
What the verifier checks
result / (1 + annual_interest_rate / 12)result_new * (1 + annual_interest_rate / 12) == result_old13- ✓Bounded. The expression's AST stays within the declared node count.
- ✓Safe. Whitelisted names only: no imports, no dunders, no new calls.
- ✓Matches. Deterministic, finite, and agrees with the declared invariant on sampled bindings.
Code patch · NPV timing (proof of concept)
Accepted only if the pattern occurs exactly once and the patched output equals (result + initial_investment) * (1 + discount_rate) - initial_investment. On RepairBench the verifier rejects 97.7% of 879 wrong patches (20 false accepts, 2.3%). This is bounded numerical validation, not formal equivalence.
Press ⌘/Ctrl + Enter to send.