Formally verifying the Claude Agent SDK with Lean
The author used Opus 5.5 with Lean and TLA+ to formally verify the Agent SDK, getting 16 PRs that fix bugs and race conditions from a few short prompts.
I used Opus 5.5 to formally verify the Claude Agent SDK using Lean. A couple short prompts = 16 PRs fixing various bugs and race conditions. Video attached. TLA+ also works well. I sometimes combine Lean and TLA+ to look for issues around data flow, concurrency, and state mgmt. I don't know either language well, but Claude is excellent at both. This approach is super useful for formally modeling your code and finding bugs that a human probably wouldn't have spotted. Is formal verification the future of coding (or at least, bug finding)?