Lambda-calculus and Reversible Automatic Combinators

by   Alberto Ciaffaglione, et al.

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.


Linear lambda-calculus and Reversible Automatic Combinators

In 2005, Abramsky introduced various linear/affine combinatory algebras ...

Truly Concurrent Process Algebra Is Reversible

Based on our previous process algebra for concurrency APTC, we prove tha...

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...

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

The elementary affine lambda-calculus was introduced as a polyvalent set...

Local structure of idempotent algebras I

We refine and advance the study of the local structure of idempotent fin...

Monads, partial evaluations, and rewriting

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

A Graphical Calculus for Lagrangian Relations

Symplectic vector spaces are the phase space of linear mechanical system...

Please sign up or login with your details

Forgot password? Click here to reset