Formalizing computability theory via partial recursive functions
We present a formalization of the foundations of computability theory in the Lean theorem prover. We use primitive recursive functions and partial recursive functions as the main objects of study, including 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.
READ FULL TEXT