AutoProver: AI agents and formal methods for intent, specs, bugs analysis

wslh1 pts0 comments

AutoProver

Skip to main contentAutoProver

svg]:px-2.5" href="/auth/signin?callbackUrl=">Sign in

AutoProver.<br>AutoProver utilises AI agents and formal methods to automatically infer intent from your code, generate specifications, and prove the absence of bugs.<br>svg]:px-4" href="/auth/signin">Start nowsvg]:px-4" href="/docs">Read the docs<br>Intent inferenceGenerated specificationsFormal proof loop

svg]:pointer-events-none [&>svg]:size-3 bg-primary text-primary-foreground [a&]:hover:bg-primary/90 border-transparent">AutoProverAutoProver turns docs into Formal Verification<br>Generate tests and proofs from your intent, surface code and design bugs automatically, and improve the specification set with every review cycle.

svg]:pointer-events-none [&>svg]:size-3 bg-primary text-primary-foreground [a&]:hover:bg-primary/90 border-transparent" color="pink">IntentGenerates tests and proofs from your intent<br>Reads your docs, formalizes them into properties, converts those into fuzz tests and formal verification rules. No spec writing experience needed.

svg]:pointer-events-none [&>svg]:size-3 bg-primary text-primary-foreground [a&]:hover:bg-primary/90 border-transparent" color="pink">BugsReports bugs automatically<br>Specialized agents execute the tests and rules, handle triaging and troubleshooting, and a dedicated bug-hunting agent looks for unaccounted-for design issues. Results land in a structured report: code bugs, design bugs, property status.

svg]:pointer-events-none [&>svg]:size-3 bg-primary text-primary-foreground [a&]:hover:bg-primary/90 border-transparent" color="pink">LearningGets more accurate with every run<br>Accept or reject findings in plain text. AutoProver updates its understanding of your codebase with each iteration.

How AutoProver works<br>AutoProver orchestrates a set of AI agents to infer intent, generate specifications, run tests, and report results, with your feedback shaping every iteration.

Problem<br>Logic bugs go undetected.<br>The trickiest errors are logical, not syntactic. Manual code review is slow, expensive, and does not scale.

Solution<br>AutoProver identifies issues in your code and design that traditional testing misses.

Problem<br>AI agents do not guarantee correctness.<br>Models improve constantly, but they produce non-deterministic results and have no way to verify intent. Code written with one model can be broken by the next.

Solution<br>AutoProver infers and formalizes intent, so correctness is not left up to chance.

Problem<br>Formal verification requires specialists.<br>Writing specifications is a difficult craft that most development teams do not have in-house.

Solution<br>AutoProver generates specifications automatically from your existing documentation or a plain-language design doc.

svg]:pointer-events-none [&>svg]:size-3 bg-primary text-primary-foreground [a&]:hover:bg-primary/90 border-transparent">CycleFrom intent to proof, then back into feedback<br>Each run turns plain-language intent into executable verification work, then uses your review to sharpen the next run.

1Infer intent

AutoProver reads your existing code documentation or a design doc you write in plain language. No formal specification experience needed to get started.

2Generate specifications

Intent is converted into formal properties covering individual modules and cross-module interactions, independent of the implementation.

3Produce tests and proofs

Specifications become formal rules via Certora Prover, covering both specific scenarios and edge cases.

4Run and triage automatically

Specialized agents execute the tests and rules, handle troubleshooting, and verify that results are sound. A separate bug-hunting agent looks for issues not covered by the design.

5Review results

AutoProver delivers a report in three parts: code bugs, design bugs, and full property status with test and rule results for each.

6Give feedback and iterate

Accept or reject findings in plain text. AutoProver updates based on your input. Open a PR with the generated tests and rules when you are ready.

Feedback loop<br>Findings, rejected assumptions, and accepted properties shape the next iteration.

1Infer intent

AutoProver reads your existing code documentation or a design doc you write in plain language. No formal specification experience needed to get started.

2Generate specifications

Intent is converted into formal properties covering individual modules and cross-module interactions, independent of the implementation.

3Produce tests and proofs

Specifications become formal rules via Certora Prover, covering both specific scenarios and edge cases.

4Run and triage automatically

Specialized agents execute the tests and rules, handle troubleshooting, and verify that results are sound. A separate bug-hunting agent looks for issues not covered by the design.

5Review results

AutoProver delivers a report in three parts: code bugs, design bugs, and full property status with test and rule results for each.

6Give feedback and iterate

Accept or reject...

autoprover primary intent formal bugs design

Related Articles