Semantics for a Turing-complete reversible programming language with inductive types

Kostia Chardonnet, Louis Lemonnier*, Benoît Valiron

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

This paper is concerned with the expressivity and denotational semantics of a functional higher-order reversible programming language based on Theseus. In this language, pattern-matching is used to ensure the reversibility of functions. We show how one can encode any Reversible Turing Machine in said language. We then build a sound and adequate categorical semantics based on join inverse categories, with additional structures to capture pattern-matching and to interpret inductive types and recursion. We then derive a notion of completeness in the sense that any computable, partial, first-order injective function is the image of a term in the language.
Original languageEnglish
Title of host publicationProceedings of the 9th International Conference on Formal Structures for Computation and Deduction
EditorsJakob Rehof
Place of PublicationTallinn, Estonia
PublisherSchloss Dagstuhl - Leibniz-Zentrum für Informatik
Number of pages19
ISBN (Electronic)9783959773232
DOIs
Publication statusPublished - 5 Jul 2024
Event9th International Conference on Formal Structures for Computation and Deduction - Tallinn University, Tallinn, Estonia
Duration: 10 Jul 202413 Jul 2024
https://cs.ioc.ee/fscd24/index.html

Publication series

Name Leibniz International Proceedings in Informatics
Publisher Schloss Dagstuhl - Leibniz-Zentrum für Informatik
Volume299
ISSN (Electronic)1868-8969

Conference

Conference9th International Conference on Formal Structures for Computation and Deduction
Abbreviated titleFSCD 2024
Country/TerritoryEstonia
CityTallinn
Period10/07/2413/07/24
Internet address

Keywords / Materials (for Non-textual outputs)

  • reversible programming
  • functional programming
  • computability
  • denotational semantics

Fingerprint

Dive into the research topics of 'Semantics for a Turing-complete reversible programming language with inductive types'. Together they form a unique fingerprint.

Cite this