Proof Pearl: Proving a Simple Von Neumann Machine Turing Complete
Uložené v:
| Názov: | Proof Pearl: Proving a Simple Von Neumann Machine Turing Complete |
|---|---|
| Autori: | J Strother Moore |
| Prispievatelia: | The Pennsylvania State University CiteSeerX Archives |
| Zdroj: | http://www.cs.utexas.edu/users/moore/publications/turing-completeness.pdf. |
| Zbierka: | CiteSeerX |
| Predmety: | ACL2, Turing machine, Java Virtual Machine (JVM, ver- ifying |
| Popis: | 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. |
| Druh dokumentu: | text |
| Popis súboru: | application/pdf |
| Jazyk: | English |
| Relation: | http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.697.588 |
| Dostupnosť: | http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.697.588 http://www.cs.utexas.edu/users/moore/publications/turing-completeness.pdf |
| Rights: | Metadata may be used without restrictions as long as the oai identifier remains attached to it. |
| Prístupové číslo: | edsbas.77AFA28C |
| Databáza: | BASE |
| Abstrakt: | 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. |
|---|
Nájsť tento článok vo Web of Science