9 research outputs found
Formalizing Computability Theory via Partial Recursive Functions
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.Comment: 16 pages, accepted to ITP 201
Program algebra for Turing-machine programs
This paper presents an algebraic theory of instruction sequences with
instructions for Turing tapes as basic instructions, the behaviours produced by
the instruction sequences concerned under execution, and the interaction
between such behaviours and Turing tapes provided by an execution environment.
This theory provides a setting for the development of theory in areas such as
computability and computational complexity that distinguishes itself by
offering the possibility of equational reasoning and being more general than
the setting provided by a known version of the Turing-machine model of
computation. The theory is essentially an instantiation of a parameterized
algebraic theory which is the basis of a line of research in which issues
relating to a wide variety of subjects from computer science have been
rigorously investigated thinking in terms of instruction sequences.Comment: 19 pages, Sect. 2--4 are largely shortened versions of Sect. 2--4 of
arXiv:1808.04264, which, in turn, draw from preliminary sections of several
earlier papers; 21 pages, some remarks in Sect.1 and Sect.10 adde
The Speedup Theorem in a Primitive Recursive Framework
Blum’s speedup theorem is a major theorem in computational com-plexity, showing the existence of computable functions for which no optimal program can exist: for any speedup function r there ex-ists a function fr such that for any program computing fr we can find an alternative program computing it with the desired speedup r. The main corollary is that algorithmic problems do not have, in general, a inherent complexity. Traditional proofs of the speedup theorem make an essential use of Kleene’s fix point theorem to close a suitable diagonal argument. As a consequence, very little is known about its validity in subrecursive settings, where there is no universal machine, and no fixpoints. In this article we discuss an alternative, formal proof of the speedup theorem that allows us to spare the invocation of the fix point theorem and sheds more light on the actual complexity of the function fr
Program algebra for random access machine programs
This paper presents an algebraic theory of instruction sequences with
instructions for a random access machine (RAM) as basic instructions, the
behaviours produced by the instruction sequences concerned under execution, and
the interaction between such behaviours and RAM memories. This theory provides
a setting for the development of theory in areas such as computational
complexity and analysis of algorithm that distinguishes itself by offering the
possibility of equational reasoning to establish whether an instruction
sequence computes a given function and being more general than the setting
provided by any known version of the RAM model of computation. In this setting,
a semi-realistic version of the RAM model of computation and a bit-oriented
time complexity measure for this version are introduced.Comment: 25 pages, Sect. 2--4 are largely shortened versions of Sect. 2--4 of
arXiv:1808.04264, which, in turn, draw from preliminary sections of several
other papers. arXiv admin note: substantial text overlap with
arXiv:1901.0884
Construire les fonctions récursives totales en Coq
International audienceWe present a (relatively) short mechanized proof that Coq types any recursive function which is provably total in Coq. The well-founded (and terminating) induction scheme, which is the foundation of Coq recursion, is maximal. We implement an unbounded minimization scheme for decidable predicates. It can also be used to reify a whole category of undecidable predicates. This development is purely constructive and requires no axiom. Hence it can be integrated into any project that might assume additional axioms
Universal Turing Machine and Computability Theory in Isabelle/HOL
We formalise results from computability theory: recursive functions, undecidability of the halting problem, and the existence of a universal Turing machine. This formalisation is the AFP entry corresponding to the paper Mechanising Turing Machines and Computability Theory in Isabelle/HOL, ITP 2013
Hilbert's Tenth Problem in Coq (Extended Version)
We formalise the undecidability of solvability of Diophantine equations, i.e.
polynomial equations over natural numbers, in Coq's constructive type theory.
To do so, we give the first full mechanisation of the
Davis-Putnam-Robinson-Matiyasevich theorem, stating that every recursively
enumerable problem -- in our case by a Minsky machine -- is Diophantine. We
obtain an elegant and comprehensible proof by using a synthetic approach to
computability and by introducing Conway's FRACTRAN language as intermediate
layer. Additionally, we prove the reverse direction and show that every
Diophantine relation is recognisable by -recursive functions and give a
certified compiler from -recursive functions to Minsky machines.Comment: submitted to LMC