# Geometry of interaction

The *geometry of interaction*, GoI in short, was defined in the early nineties by Girard as an interpretation of linear logic into operators algebra: formulae were interpreted by Hilbert spaces and proofs by partial isometries.

This was a striking novelty as it was the first time that a mathematical model of logic (lambda-calculus) didn't interpret a proof of as a morphism *from* *A* *to* *B* and proof composition (cut rule) as the composition of morphisms. Rather the proof was interpreted as an operator acting *on* , that is a morphism from to . For proof composition the problem was then, given an operator on and another one on to construct a new operator on . This problem was solved by the *execution formula* that bares some formal analogies with Kleene's formula for recursive functions. For this reason GoI was claimed to be an *operational semantics*, as opposed to traditionnal denotational semantics.

The first instance of the GoI was restricted to the *M**E**L**L* fragment of linear logic (Multiplicative and Exponential fragment) which is enough to encode lambda-calculus. Since then Girard proposed several improvements: firstly the extension to the additive connectives known as *Geometry of Interaction 3* and more recently a complete reformulation using Von Neumann algebras that allows to deal with some aspects of implicit complexity

The GoI has been a source of inspiration for various authors. Danos and Regnier have reformulated the original model exhibiting its combinatorial nature using a theory of reduction of paths in proof-nets and showing the link with abstract machines; the execution formula appears as the composition of two automata interacting through a common interface. Also the execution formula has rapidly been understood as expressing the composition of strategies in game semantics. It has been used in the theory of sharing reduction for lambda-calculus in the Abadi-Gonthier-Lévy reformulation and simplification of Lamping's representation of sharing. Finally the original GoI for the *M**E**L**L* fragment has been reformulated in the framework of traced monoidal categories following an idea originally proposed by Joyal.

## Contents |

# The Geometry of Interaction as operators

The original construction of GoI by Girard follows a general pattern already mentionned in the section on coherent semantics under the name *symmetric reducibility* and that was first put to use in phase semantics. First set a general space *P* called the *proof space* because this is where the interpretations of proofs will live. Make sure that *P* is a (not necessarily commutative) monoid. In the case of GoI, the proof space is a subset of the space of bounded operators on .

Second define a particular subset of *P* that will be denoted by ; then derive a duality on *P*: for , *u* and *v* are dual^{[1]}iff .

For the GoI, two dualities have proved to work; we will consider the first one: nilpotency, *ie*, is the set of nilpotent operators in *P*. Let us explicit this: two operators *u* and *v* are dual if there is a nonegative integer *n* such that (*u**v*)^{n} = 0. This duality is symmetric: if *u**v* is nilpotent then *v**u* is nilpotent also.

When *X* is a subset of *P* define as the set of elements of *P* that are dual to all elements of *X*:

- .

This construction has a few properties that we will use without mention in the sequel. Given two subsets *X* and *Y* of *P* we have:

- if then ;
- ;
- .

Last define a *type* as a subset *T* of the proof space that is equal to its bidual: . This means that iff for all operator , that is such that for all , we have .

The real work^{[2]}is now to interpret logical operations, that is to associate a type to each formula, an object to each proof and show the *adequacy lemma*: if *u* is the interpretation of a proof of the formula *A* then *u* belongs to the type associated to *A*.

## Partial isometries

The first step is to build the proof space. This is constructed as a special set of partial isometries on a separable Hilbert space *H* which turns out to be generated by partial permutations on the canonical basis of *H*.

These so-called *p*-isometries enjoy some nice properties, the most important one being that a *p*-isometry is a sum of *p*-isometries iff all the terms of the sum have disjoint domains and disjoint codomains. As a consequence we get that a sum of *p*-isometries is null iff each term of the sum is null.

A second important property is that operators on *H* can be *externalized* using *p*-isometries into operators acting on , and conversely operators on may be *internalized* into operators on *H*. This is widely used in the sequel.

## The *-autonomous structure

The second step is to interpret the linear logic multiplicative operations, most importantly the cut rule.

Internalization/externalization is the key for this: typically the type is interpreted by a set of *p*-isometries which are internalizations of operators acting on .

The (interpretation of) the cut-rule is defined in two steps: firstly we use nilpotency to define an operation corresponding to lambda-calculus application which given two *p*-isometries in respectively and *A* produces an operator in *B*. From this we deduce the composition and finally obtain a structure of *-autonomous category, that is a model of multiplicative linear logic.