English

Formalizing computability theory via partial recursive functions

Logic in Computer Science 2019-07-19 v3 Logic

Abstract

We present an extension to the mathlib\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.

Keywords

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