Embracing the Laws of Physics: Three Reversible Models of Computation

11/08/2018
by   Jacques Carette, et al.
0

Our main models of computation (the Turing Machine and the RAM) make fundamental assumptions about which primitive operations are realizable. The consensus is that these include logical operations like conjunction, disjunction and negation, as well as reading and writing to memory locations. This perspective conforms to a macro-level view of physics and indeed these operations are realizable using macro-level devices involving thousands of electrons. This point of view is however incompatible with quantum mechanics, or even elementary thermodynamics, as both imply that information is a conserved quantity of physical processes, and hence of primitive computational operations. Our aim is to re-develop foundational computational models that embraces the principle of conservation of information. We first define what conservation of information means in a computational setting. We emphasize that computations must be reversible transformations on data. One can think of data as modeled using topological spaces and programs as modeled by reversible deformations. We illustrate this idea using three notions of data. The first assumes unstructured finite data, i.e., discrete topological spaces. The corresponding notion of reversible computation is that of permutations. We then consider a structured notion of data based on the Curry-Howard correspondence; here reversible deformations, as a programming language for witnessing type isomorphisms, comes from proof terms for commutative semirings. We then "move up a level" to treat programs as data. The corresponding notion of reversible programs equivalences comes from the "higher dimensional" analog to commutative semirings: symmetric rig groupoids. The coherence laws for these are exactly the program equivalences we seek. We conclude with some generalizations inspired by homotopy type theory and survey directions for further research.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/08/2017

Reversible Computation in Term Rewriting

Essentially, in a reversible programming language, for each forward comp...
research
08/09/2017

From Reversible Programs to Univalent Universes and Back

We establish a close connection between a reversible programming languag...
research
02/14/2019

Introducing Yet Another REversible Language

Yarel is a core reversible programming language that implements a class ...
research
01/25/2022

Certifying algorithms and relevant properties of Reversible Primitive Permutations with Lean

Reversible Primitive Permutations (RPP) are recursively defined function...
research
10/11/2021

Symmetries in Reversible Programming: From Symmetric Rig Groupoids to Reversible Programming Languages

The Π family of reversible programming languages for boolean circuits is...
research
11/30/2020

The ℵ Calculus

Motivated by a need for a model of reversible computation appropriate fo...
research
05/22/2018

Reversible effects as inverse arrows

Reversible computing models settings in which all processes can be rever...

Please sign up or login with your details

Forgot password? Click here to reset