Symmetries in reversible programming: from symmetric rig groupoids to reversible programming languages

@article{Choudhury2021SymmetriesIR,
  title={Symmetries in reversible programming: from symmetric rig groupoids to reversible programming languages},
  author={Vikraman Choudhury and Jacek Karwowski and Amr Sabry},
  journal={Proceedings of the ACM on Programming Languages},
  year={2021},
  volume={6},
  pages={1 - 32}
}
The Pi family of reversible programming languages for boolean circuits is presented as a syntax of combinators witnessing type isomorphisms of algebraic data types. In this paper, we give a denotational semantics for this language, using weak groupoids à la Homotopy Type Theory, and show how to derive an equational theory for it, presented by 2-combinators witnessing equivalences of type isomorphisms. We establish a correspondence between the syntactic groupoid of the language and a formally… 

Figures from this paper

Free Commutative Monoids in Homotopy Type Theory

We develop a constructive theory of finite multisets in Homotopy Type Theory, defining them as free commutative monoids. After recalling basic structural properties of the free commutative-monoid

Qunity: A Unified Language for Quantum and Classical Computing

Qunity is introduced, a new quantum programming language designed to treat quantum computing as a natural generalization of classical computing, and its syntax, type system, and denotational semantics are presented, showing how it can cleanly express several quantum algorithms.

The Quantum Effect: A Recipe for QuantumPi

Free categorical constructions characterise quantum computing as the combination of two copies of a reversible classical model, glued by the complementarity equations of classical structures. This

References

SHOWING 1-10 OF 103 REFERENCES

Computing with Semirings and Weak Rig Groupoids

This work proposes a variant of the Curry---Howard correspondence which is inspired by conservation of information and recent homotopy theoretic approaches to type theory, and naturally relates semirings to reversible programming languages.

Remarks on isomorphisms in typed lambda calculi with empty and sum types

This paper closes an open problem by establishing that the theory of type isomorphisms in the presence of product, arrow, and sum types (with or without the unit type) is not finitely axiomatisable.

Theseus : A High Level Language for Reversible Computing

A high level language for reversible programming, called Theseus, that meshes naturally with conventional programming language abstractions and has the look and feel of a conventional functional language while maintaining a close correspondence with the low-level family of languages Π based on type isomorphisms.

Free Commutative Monoids in Homotopy Type Theory

We develop a constructive theory of finite multisets in Homotopy Type Theory, defining them as free commutative monoids. After recalling basic structural properties of the free commutative-monoid

Combinatorial species and labelled structures

This dissertation lays the theoretical groundwork for a precise—and, hopefully, useful—bridge bewteen the two theories of combinatorial species and algebraic data types.

Internalizing representation independence with univalence

This paper develops techniques for establishing internal relational representation independence results in dependent type theory, by using higher inductive types to simultaneously quotient two related implementation types by a heterogeneous correspondence between them.

Coherence via Well-Foundedness: Taming Set-Quotients in Homotopy Type Theory

A principle reminiscent of induction for cycles is derived for cycles for the case that the graph is given as the symmetric closure of a locally confluent and (co-)well-founded relation and it is shown that, assuming the property in question is sufficiently nice, it is enough to prove it for the empty cycle and for cycles given by local confluence.

A computational interpretation of compact closed categories: reversible programming with negative and fractional types

This work extends a first-order reversible language of type isomorphisms with negative and fractional types, specifies an operational semantics for each extension, and proves that each extension forms a compact closed category.

Towards an algebraic theory of Boolean circuits

...