Formalizing computability theory via partial recursive functions
Logic in Computer Science
2019-07-19 v3 Logic
Abstract
We present an extension to the 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.
Cite
@article{arxiv.1810.08380,
title = {Formalizing computability theory via partial recursive functions},
author = {Mario Carneiro},
journal= {arXiv preprint arXiv:1810.08380},
year = {2019}
}
Comments
16 pages, accepted to ITP 2019