Linear lambda-calculus and Reversible Automatic Combinators

06/18/2018
by   Alberto Ciaffaglione, et al.
0

In 2005, Abramsky introduced various linear/affine combinatory algebras of partial involutions over a suitable formal language, to discuss reversible computation in a game-theoretic setting. These algebras arise as instances of the general paradigm explored by Haghverdi (Abramsky's Programme), which amounts to defining a lambda-algebra starting from a GoI Situation in a traced symmetric monoidal category. We investigate this construction from the point of view of the model theory of lambda-calculus. We focus on the strictly linear and affine parts of Abramsky's Affine Combinatory Algebras, sketching how to encompass the full algebra. The gist of our approach is that the GoI interpretation of a term based on involutions is dual to the principal type of the term, w.r.t. the type discipline for a linear/affine lambda-calculus. In the general case the type discipline and the calculus need to be extended, resp., with intersection, !-types, and !-abstractions. Our analysis unveils three conceptually independent, but ultimately equivalent, accounts of application in the lambda-calculus: beta-reduction, the GoI application of involutions based on symmetric feedback (Girard's Execution Formula), and unification of principal types. Thus we provide an answer, in the strictly affine case, to the question raised in [1] of characterising the partial involutions arising from bi-orthogonal pattern matching automata, which are denotations of affine combinators, and we point to the answer to the full question. Furthermore, we prove that the strictly linear combinatory algebra of partial involutions is a strictly linear lambda-algebra, albeit not a combinatory model, while both the strictly affine combinatory algebra and the full affine combinatory algebra are not. To check all the equations involved in the definition of affine lambda-algebra, we implement in Erlang application of involutions.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/18/2018

Lambda-calculus and Reversible Automatic Combinators

In 2005, Abramsky introduced various linear/affine combinatory algebras ...
research
04/23/2019

Towards a Semantic Measure of the Execution Time in Call-by-Value lambda-Calculus

We investigate the possibility of a semantic account of the execution ti...
research
08/14/2019

On the Elementary Affine Lambda-Calculus with and Without Fixed Points

The elementary affine lambda-calculus was introduced as a polyvalent set...
research
07/16/2020

A Type Theory for Strictly Unital ∞-Categories

We present a type theory for strictly unital ∞-categories, in which a te...
research
06/17/2020

Local structure of idempotent algebras I

We refine and advance the study of the local structure of idempotent fin...
research
05/13/2021

A Graphical Calculus for Lagrangian Relations

Symplectic vector spaces are the phase space of linear mechanical system...
research
10/14/2018

Monads, partial evaluations, and rewriting

Monads can be interpreted as encoding formal expressions, or formal oper...

Please sign up or login with your details

Forgot password? Click here to reset