June 2015. Our final, comprehensive Milawa/Jitawa paper is now available in the Journal of Automated Reasoning!

Jared Davis and Magnus O. Myreen. The reflective Milawa theorem prover is sound (down to the machine code that runs it). Journal of Automated Reasoning. June, 2015. Springer. (official version / pre-print version).

What is Milawa?

Milawa is a "self-verifying" theorem prover for an ACL2-like logic. We begin with a simple proof checker, call it A, which is short enough to verify by the "social process" of mathematics—and more recently with a theorem prover for a more expressive logic. We then develop a series of increasingly powerful proof checkers, call them B, C, D, and so on. We show each of these programs only accepts the same formulas as A, using A to verify B, and B to verify C, and so on. Then, since we trust A, and A says B is trustworthy, we can trust B. Then, since we trust B, and B says C is trustworthy, we can trust C. And so on for all the rest. Our final proof checker is really a theorem prover; it can carry out a goal-directed proof search using assumptions, calculation, rewrite rules, and so on. We use this theorem prover to discover the proofs of soundness for B, C, and so on, and to emit these proofs in a format that A can check. Hence, "self verifying."

When I wrote my dissertation, that was the story. Since then, Magnus Myreen has developed Jitawa, a verified Lisp runtime that is capable of hosting Milawa and running through its entire bootstrapping process. Magnus went on to prove, using HOL4, that Milawa is sound all the way down to the machine code when run on this Lisp. For more on this project (including source code), see the Magnus' Jitawa page and also my Milawa on Jitawa page.

Milawa is free software released under a permissive MIT/X11 style license.

Getting Milawa

The current version of Milawa is now distributed as part of the ACL2 Books project. See the books/projects/milawa directory and also see the Milawa XDOC documentation.

Milawa has changed since my dissertation; the links and instructions here lead to the most recent version. An archive of the "original" Milawa web site is also available, which for instance includes compressed versions of the original, pre-generated proofs, and full proof-checker output, logs, etc.

You can also browse the file listing from the web server without downloading anything. This listing does not include any of the proof files, certifications, logs, etc., which are available in the archived version, because I am no longer doing my development from this directory.

Recent Papers

Main Documentation

Older Papers

Older Talks


This material is based upon work supported by the National Science Foundation under Grant No 0429591. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

This material is based upon work supported by the Defense Advanced Research Projects Agency (DARPA) under Contract NBCH30390004.