Advertisement · 728 × 90

Posts by Mike Dodds

Someone should build seL4-ablate-bench. Progressively delete proofs, lemmas, theorems and see how much a long-running AI agent can reconstruct. End state: just give it the code + top spec, and rebuild the whole 1m+ line Isabelle proof

1 month ago 1 1 0 0

Context: Knuth on Claude www-cs-faculty.stanford.edu/~knuth/paper...

1 month ago 0 0 0 0
Preview
GitHub - septract/claudes-cycles-lean Contribute to septract/claudes-cycles-lean development by creating an account on GitHub.

I formalised the Knuth / Stappers / Claude theorem in Lean4. Claude for scaffolding and Harmonic‘s Aristotle AI for the core proofs

This is just the construction Claude found, not all 760 constructions

(Disclaimer: theorems look plausible to me, but mistakes possible)

github.com/septract/cla...

1 month ago 3 0 1 0

Commands: #tcb (what's in your trust base), #tcb_tree (dependency graph), #tcb_why (why is this included?). v0.1.0, rough edges expected, feedback welcome

github.com/OathTech/lea...

1 month ago 2 0 0 0
Preview
GitHub - OathTech/lean-tcb Contribute to OathTech/lean-tcb development by creating an account on GitHub.

Weekend project w/ Claude: in Lean, it can be hard to know which definitions you need to review to trust a theorem. So I built lean-tcb. It figures out your trusted computing base, ie the definitions that actually give a theorem its meaning (vs proof machinery the kernel checks)

1 month ago 3 0 1 0
Experimenting with ACL2 and Claude Code TL;DR: Using only prompting with Claude Code, I created: 50+ ACL2 theorem proofs translated from Software Foundations An MCP server for ACL2 with stateful solver sessions

I got curious whether Claude Code could handle a low-representation theorem prover like ACL2 - turns out yes! I proved a bunch of small to medium theorem, and for good measure built a MCP server, all in about 4 hrs. I’ve never used ACL2 before. Write-up here: mikedodds.org/posts/2025/1...

6 months ago 7 0 0 1

That’s true, and I think that’s exactly why Claude does so well proofs. It‘s just I happen to know first hand that proofs are a particularly difficult *kind* of program

7 months ago 0 0 0 0
Advertisement
Claude Can (Sometimes) Prove It

I wrote about Claude Code, which to my absolute astonishment is quite good at theorem proving. For people who don't know theorem proving, this is like spending your whole life building F1 engines and getting lapped by a Tesco's shopping trolley www.galois.com/articles/cla...

7 months ago 16 5 1 1
Screenshot of article text: “Formal verification today is very useful, but for most systems it’s very difficult to write the kinds of complete specifications that verification needs. However, other kinds of specifications are popular: for example, a test case is a kind of limited, partial specification. The key is that a test case is immediately useful, and doesn’t impose undue costs on the development team. We need to find ways to specify systems that have these virtues, and avoid the trap of imposing a complete and coherent view that fundamentally does not exist.”

Screenshot of article text: “Formal verification today is very useful, but for most systems it’s very difficult to write the kinds of complete specifications that verification needs. However, other kinds of specifications are popular: for example, a test case is a kind of limited, partial specification. The key is that a test case is immediately useful, and doesn’t impose undue costs on the development team. We need to find ways to specify systems that have these virtues, and avoid the trap of imposing a complete and coherent view that fundamentally does not exist.”

Screenshot of article text: “ I’ve come to think writing formal specifications is just a very difficult task. It requires a top-down view of the system that designers and engineers typically don’t have or, more importantly, need. In contrast, informal specifications can be ambiguous, partial, flexible. Informal specifications are intended as communication mechanisms between humans, and as a result they can be ‘wrong but useful’, and elide aspects of the system that are not of interest. This is a strength, but it also results in systems that can’t be easily formalized.”

Screenshot of article text: “ I’ve come to think writing formal specifications is just a very difficult task. It requires a top-down view of the system that designers and engineers typically don’t have or, more importantly, need. In contrast, informal specifications can be ambiguous, partial, flexible. Informal specifications are intended as communication mechanisms between humans, and as a result they can be ‘wrong but useful’, and elide aspects of the system that are not of interest. This is a strength, but it also results in systems that can’t be easily formalized.”

Screenshot of article text: “ I think systems are typically both designed from the top and grown incrementally. Most systems have some degree of top-down structure, but few systems have a mathematically coherent specification that covers every behavior. The effect is that most systems obey some formal specification for some core functionality, but if outside this core, we rapidly enter muddy territory where it is unclear what the system should do, or whether the designer should even care”

Screenshot of article text: “ I think systems are typically both designed from the top and grown incrementally. Most systems have some degree of top-down structure, but few systems have a mathematically coherent specification that covers every behavior. The effect is that most systems obey some formal specification for some core functionality, but if outside this core, we rapidly enter muddy territory where it is unclear what the system should do, or whether the designer should even care”

Screenshot of article text: “ It’s a formal verification cliché that writing the specification tends to uncover most of the bugs in a system. To me, this suggests an analogy between specification and programming—both are tools for expressing what we want. In one way, this is a pessimistic thought: no tool can remove the burden of clarifying our ideas. But also, it gives me some hope. Programming is very difficult, but through careful tool design, we’ve made it available to hundreds of millions of people. With luck and skill, perhaps we can do the same for specifications.”

Screenshot of article text: “ It’s a formal verification cliché that writing the specification tends to uncover most of the bugs in a system. To me, this suggests an analogy between specification and programming—both are tools for expressing what we want. In one way, this is a pessimistic thought: no tool can remove the burden of clarifying our ideas. But also, it gives me some hope. Programming is very difficult, but through careful tool design, we’ve made it available to hundreds of millions of people. With luck and skill, perhaps we can do the same for specifications.”

New Galois blog: “Specifications Don’t Exist”. If we want to formally verify more systems, we need formal specifications, but most real systems are hard to specify for very deep reasons www.galois.com/articles/spe...

9 months ago 7 1 0 0

I’m not sure how I missed this but it’s an extremely good article and you should absolutely read it. It’s about formal methods, but anyone who cares about integrating research into industry will find it valuable!

I saw a *ton* of parallels with resilience engineering too :)

9 months ago 13 4 1 0

Hey :) Seems like a lot of people moved here from old Twitter and I’m still catching up

9 months ago 1 0 0 0
A labyrinth icon, serving as a metaphor for the process of formal verification

A labyrinth icon, serving as a metaphor for the process of formal verification

At Galois, we often say things like: “Formal methods form the backbone of everything we do.”

But what exactly are formal methods? How do they work, and why are they so important?

We created a handy reference page to explain: www.galois.com/what-are-for...

10 months ago 1 2 0 0
Text screenshot: I sometimes hear people claiming that formal methods are demonstrably better than the techniques software engineers mostly use today. The only reason formal techniques aren’t more popular (according to this theory) is that engineering teams are unaware, conservative, maybe put off by superficial difficulties like poor interfaces and documentation. I don’t think this is quite right. My observation is that engineers are mostly rational when thinking about costs and benefits, at least within the bounds of their particular systems and problems.

Text screenshot: I sometimes hear people claiming that formal methods are demonstrably better than the techniques software engineers mostly use today. The only reason formal techniques aren’t more popular (according to this theory) is that engineering teams are unaware, conservative, maybe put off by superficial difficulties like poor interfaces and documentation. I don’t think this is quite right. My observation is that engineers are mostly rational when thinking about costs and benefits, at least within the bounds of their particular systems and problems.

If a tool is not popular, it’s uncompelling to argue that everyone is just mistaken. At some point you should ask why the tool isn’t useful (at the current cost/benefit point)

10 months ago 1 0 0 0
A graph of costs and benefits plotted against each other. There is a line under which is “Your favourite under-appreciated formal method”. There are two arrows pointing orthogonally away: “be cheaper” and “be more beneficial”

A graph of costs and benefits plotted against each other. There is a line under which is “Your favourite under-appreciated formal method”. There are two arrows pointing orthogonally away: “be cheaper” and “be more beneficial”

New-ish @galoisinc.bsky.social blog: “What Works (and Doesn't) Selling Formal Methods”. The boring truth: engineers are rational and adoption is all about cost/benefit tradeoffs www.galois.com/articles/wha...

10 months ago 5 1 1 1
Post image

What actually works when selling formal methods in industry?

What doesn't?

The way Galois Principal Scientist @m-dodds.bsky.social sees it, many FM projects don’t pencil out not because clients are irrational, but because the cost/benefit tradeoffs don’t make sense.
www.galois.com/articles/wha...

11 months ago 3 4 0 0
Advertisement
Preview
Compiler Explorer - C (C2Rust (master)) /* Type your code here, or load an example. */ int square(int num) { return num * num; }

c2rust is available on the Godbolt Compiler Explorer! c2rust is a tool we developed with Immunant that can convert nearly any piece of C code into compilable Rust godbolt.org/z/crsWEGEKM

1 year ago 14 2 1 0
Preview
Why Amazon is Betting on ‘Automated Reasoning’ to Reduce AI’s Hallucinations Amazon is using math to help solve one of artificial intelligence’s most intractable problems: its tendency to make up answers, and to repeat them back to us with confidence.

Formal methods go great with AI www.wsj.com/articles/why...

1 year ago 5 0 0 0

I wrote about o3, the Frontier Math benchmark, and what it means if AI math keeps getting better

1 year ago 7 1 0 0

I do think a lot of people are in denial though!

1 year ago 2 0 0 0

I don’t think literally everyone should drop what they’re doing. But my sense is PL research as a whole is significantly under-reacting to AI. So I suppose I think *some more* PL people should bet on AI (but maybe not you!)

1 year ago 1 0 1 0

Happy to mail you a couple. Email me, my address is on my website

1 year ago 0 0 2 0

I think you’ve put your finger on the exact worldview mismatch because 5-10 years seems like an insanely long time horizon to me

1 year ago 1 0 1 0

Why constrain the grammar - just pull more samples and keep the ones that pass :p

1 year ago 1 0 1 0

Hot take for POPL: the PL community is still mostly in denial about AI. This is bad because PL+AI go great together

- PL can solve the hardest problem with AI - trusting the output it produces

- AI can solve the hardest problem with PL - finding enough engineers who can even use the tools

1 year ago 14 1 2 0
Post image

I’m bringing these cute Galois stickers to POPL so if you want one, come find me

1 year ago 11 0 1 0
Advertisement
Preview
Vomiting Emoji

8 years on, the future is here! xkcd.com/1813/

1 year ago 4 0 0 0
Preview
Emoji Kitchen - Browse Google's unique emoji combinations Unique illustrations of combined emoji, cooked up in Google's Emoji Kitchen, and comprehensively available on the web

emojikitchen.dev

1 year ago 7 3 2 1

If I understand right, the private test set is only used during evaluation of the model - not available to the team doing the training

1 year ago 2 0 1 0
Preview
OpenAI o3 Breakthrough High Score on ARC-AGI-Pub OpenAI o3 scores 75.7% on ARC-AGI public leaderboard.

Seems almost certain it’s deliberately trained on math reasoning. The way the o-series models seem to work is by long CoT, with reinforcement learning to impose correct reasoning. Not much public about how o3 works internally, but Chollet has some speculation: arcprize.org/blog/oai-o3-...

1 year ago 2 0 1 0
Post image

A big jump on coding skill as well:

1 year ago 1 0 0 0