Proof Pearl: Proving a Simple Von Neumann Machine Turing Complete
Author: J Strother Moore
Paper Information
| Title: | Proof Pearl: Proving a Simple Von Neumann Machine Turing Complete |
| Authors: | J Strother Moore |
| Proceedings: | ITP 2014 LNCS Proceedings |
| Editors: | Gerwin Klein and Ruben Gamboa |
| Keywords: | ACL2, Turing machine, Java Virtual Machine (JVM), verifying compiler |
| Abstract: | ABSTRACT. In this paper we sketch an ACL2-checked proof that a simple but unbounded Von Neumann machine model is Turing Complete, i.e., can do anything a Turing machine can do. The project formally revisits the roots of computer science. It requires re-familiarizing oneself with the definitive model of computation from the 1930s, dealing with a simple ``modern'' machine model, thinking carefully about the formal statement of an important theorem and the specification of both total and partial programs, writing a verifying compiler, including implementing an X86-like call/return protocol and implementing computed jumps, codifying a code proof strategy, and a little ``creative'' reasoning about the non-termination of two machines. |
| Pages: | 15 |
| Talk: | Jul 14 12:15 |
| Paper: | ![]() |
