Axiomatic Synthesis of Computer Programs and Computability Theorems
Charlie Volkstorf
Abstract
We introduce a set of eight universal Rules of Inference by which computer programs with known properties (axioms) are transformed into new programs with known properties (theorems). Axioms are presented to formalize a segment of Number Theory, DataBase retrieval and Computability Theory. The resulting Program Calculus is used to generate programs to (1) Determine if one number is a factor of another. (2) List all employees who earn more than their manager. (3) List the set of programs that halt no on themselves, thus proving that it is recursively enumerable. The well-known fact that the set of programs that do not halt yes on themselves is not recursively enumerable is formalized as a program requirement that has no solution, an Incompleteness Axiom. Thus, any axioms (programs) which could be used to generate this program are themselves unattainable. Such proofs are presented to formally generate several additional theorems, including (4) The halting problem is unsolvable. Open problems and future research is discussed, including the use of temporary sort files, programs that calculate statistics (such as counts and sums), the synthesis of programs to solve other well-known problems from Number Theory, Logic, DataBase retrieval and Computability Theory, application to Programming Language Semantics, and the formalization of incompleteness results from Logic and the semantic paradoxes.
Create a lesson
Related papers
Compact Quantitative Equational Theories as Monad Restrictions
Matteo Mio, Colin Riba
Universal Construction and Exact Self-Reproduction in Ternary McCulloch-Pitts Networks
Charles C. Norton
Formally Certifying the Vertex Set of a Polyhedron Faster than Informal Enumeration
Xavier Allamigeon, Yazid Id-Sahra, Pierre-Yves Strub
Antichains for Concurrent Parameterized Games
Nathalie Bertrand, Patricia Bouyer, Gaëtan Staquet
An explicit shuffle construction of the homotopy span model of differential linear logic
Paul-André Melliès, Federico Olimpieri, Lionel Vaux Auclair
Modal Extensions of Generalised Nelson Logics
Igor Sedlár, Pietro Vigiani