Write a Blog >>
Mon 20 Jan 2020 15:35 - 15:56 at Maurepas - Decidability and complexity Chair(s): Kathrin Stark

We present a framework for the verified programming of multi-tape Turing machines in Coq. Improving on prior work by Asperti and Ricciotti in Matita, we implement multiple layers of abstraction. The highest layer allows a user to implement nontrivial algorithms as Turing machines and verify their correctness, as well as time and space complexity compositionally. The user can do so without ever mentioning states, symbols on tapes or transition functions: They write programs in an imperative language with registers containing values of encodable data types, and our framework constructs corresponding Turing machines.

As case studies, we verify a translation from multi-tape to single-tape machines as well as a universal Turing machine, both with polynomial time overhead and constant factor space overhead.

Mon 20 Jan

Displayed time zone: Saskatchewan, Central America change

15:35 - 16:40
Decidability and complexityCPP at Maurepas
Chair(s): Kathrin Stark Princeton University, USA
15:35
21m
Talk
Verified Programming of Turing Machines in Coq
CPP
Yannick Forster Saarland University, Fabian Kunze Saarland University, Maximilian Wuttke Saarland University
DOI Pre-print Media Attached
15:56
21m
Talk
A Functional Proof Pearl: Inverting the Ackermann Hierarchy
CPP
Linh Tran National University of Singapore, Anshuman Mohan National University of Singapore, Aquinas Hobor National University of Singapore
DOI Pre-print Media Attached
16:18
21m
Talk
Undecidability of Higher-Order Unification Formalised in Coq
CPP
Simon Spies Saarland University, Yannick Forster Saarland University
DOI Pre-print Media Attached