Document Open Access Logo

Formalizing Computability Theory via Partial Recursive Functions

Author Mario Carneiro



PDF
Thumbnail PDF

File

LIPIcs.ITP.2019.12.pdf
  • Filesize: 481 kB
  • 17 pages

Document Identifiers

Author Details

Mario Carneiro
  • Carnegie Mellon University, Pittsburgh, PA, USA

Acknowledgements

I would like to thank my advisor Jeremy Avigad for his support and encouragement, and for his reviews of early drafts of this work, as well as Yannick Forster, Rob Y. Lewis, and the anonymous reviewers for their many helpful comments.

Cite AsGet BibTex

Mario Carneiro. Formalizing Computability Theory via Partial Recursive Functions. In 10th International Conference on Interactive Theorem Proving (ITP 2019). Leibniz International Proceedings in Informatics (LIPIcs), Volume 141, pp. 12:1-12:17, Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2019)
https://doi.org/10.4230/LIPIcs.ITP.2019.12

Abstract

We present an extension to the 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ödel numberings where needed and encapsulate the encoding details.

Subject Classification

ACM Subject Classification
  • Theory of computation → Recursive functions
  • Theory of computation → Interactive proof systems
Keywords
  • Lean
  • computability
  • halting problem
  • primitive recursion

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail