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

10/11/2021
by   Vikraman Choudhury, et al.
0

The Π family of reversible programming languages for boolean circuits is presented as a syntax of combinators witnessing type isomorphisms of algebraic datatypes. In this paper, we give a denotational semantics for this language, using the language of weak groupoids à la Homotopy Type Theory, and show how to derive an equational theory for it, presented by 2-combinators witnessing equivalences of reversible circuits. We establish a correspondence between the syntactic groupoid of the language and a formally presented univalent subuniverse of finite types. The correspondence relates 1-combinators to 1-paths, and 2-combinators to 2-paths in the universe, which is shown to be sound and complete for both levels, establishing full abstraction and adequacy. We extend the already established Curry-Howard correspondence for Π to a Curry-Howard-Lambek correspondence between Reversible Logic, Reversible Programming Languages, and Symmetric Rig Groupoids, by showing that the syntax of Π is presented by the free symmetric rig groupoid, given by finite sets and permutations. Our proof uses techniques from the theory of group presentations and rewriting systems to solve the word problem for symmetric groups. Using the formalisation of our results, we show how to perform normalisation-by-evaluation, verification, and synthesis of reversible logic gates, motivated by examples from quantum computing.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/09/2017

From Reversible Programs to Univalent Universes and Back

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

A complete axiomatisation of reversible Kleene lattices

We consider algebras of languages over the signature of reversible Kleen...
research
06/19/2018

A Theory of Reversibility for Erlang

In a reversible language, any forward computation can be undone by a fin...
research
02/18/2021

Interleaving classical and reversible

Given a simple recursive function, we show how to extract two interactin...
research
02/24/2022

Strict universes for Grothendieck topoi

Hofmann and Streicher famously showed how to lift Grothendieck universes...
research
09/26/2020

Adaptive Non-reversible Stochastic Gradient Langevin Dynamics

It is well known that adding any skew symmetric matrix to the gradient o...
research
11/08/2018

Embracing the Laws of Physics: Three Reversible Models of Computation

Our main models of computation (the Turing Machine and the RAM) make fun...

Please sign up or login with your details

Forgot password? Click here to reset