The involutions-as-principal types/application-as-unification analogy.

*(English)*Zbl 1416.03009
Barthe, Gilles (ed.) et al., LPAR-22. 22nd international conference on logic for programming, artificial intelligence and reasoning, Awassa, Ethiopia, November 17–21, 2018. Selected papers. Manchester: EasyChair. EPiC Ser. Comput. 57, 254-270 (2018).

Summary: In [Theor. Comput. Sci. 347, No. 3, 441–464 (2005; Zbl 1081.68019)], S. Abramsky introduced various universal models of computation based on affine combinatory logic, consisting of partial involutions over a suitable formal language of moves, in order to discuss reversible computation in a game-theoretic setting. We investigate Abramsky’ models from the point of view of the model theory of \(\lambda\)-calculus, focusing on the purely linear and affine fragments of Abramsky’s combinatory algebras.

Our approach stems from realizing a structural analogy, which had not been hitherto pointed out in the literature, between the partial involution interpreting a combinator and the principal type of that term, with respect to a simple types discipline for \(\lambda\)-calculus. This analogy allows for explaining as unification between principal types the somewhat awkward linear application of involutions arising from geometry of interaction (GoI).

Our approach provides immediately an answer to the open problem, raised by Abramsky, of characterising those finitely describable partial involutions which are denotations of combinators, in the purely affine fragment. We prove also that the (purely) linear combinatory algebra of partial involutions is a (purely) linear \(\lambda\)-algebra, albeit not a combinatory model, while the (purely) affine combinatory algebra is not. In order to check the complex equations involved in the definition of affine \(\lambda\)-algebra, we implement in Erlang the compilation of \(\lambda\)-terms as involutions, and their execution.

For the entire collection see [Zbl 1407.68021].

Our approach stems from realizing a structural analogy, which had not been hitherto pointed out in the literature, between the partial involution interpreting a combinator and the principal type of that term, with respect to a simple types discipline for \(\lambda\)-calculus. This analogy allows for explaining as unification between principal types the somewhat awkward linear application of involutions arising from geometry of interaction (GoI).

Our approach provides immediately an answer to the open problem, raised by Abramsky, of characterising those finitely describable partial involutions which are denotations of combinators, in the purely affine fragment. We prove also that the (purely) linear combinatory algebra of partial involutions is a (purely) linear \(\lambda\)-algebra, albeit not a combinatory model, while the (purely) affine combinatory algebra is not. In order to check the complex equations involved in the definition of affine \(\lambda\)-algebra, we implement in Erlang the compilation of \(\lambda\)-terms as involutions, and their execution.

For the entire collection see [Zbl 1407.68021].

##### MSC:

03B40 | Combinatory logic and lambda calculus |

68Q05 | Models of computation (Turing machines, etc.) (MSC2010) |