Formalizing computability theory via partial recursive functions

Mario Carneiro
DOI: https://doi.org/10.48550/arXiv.1810.08380
2018-10-19
Logic in Computer Science
Abstract:We present an extension to the $\mathtt{mathlib}$ library of the Lean theorem prover formalizing the foundations of computability theory. We use primitive recursive functions and partial recursive functions as the main objects of study, and we use a constructive encoding of partial functions such that they are executable when the programs in question provably halt. Main theorems include the construction of a universal partial recursive function and a proof of the undecidability of the halting problem. Type class inference provides a transparent way to supply G\"{o}del numberings where needed and encapsulate the encoding details.
What problem does this paper attempt to address?