Proof nets and the call-by-value lambda-calculus
DD. Kesner and P. Viana (Eds.): LSFA 2012EPTCS 113, 2013, pp. 11–26, doi:10.4204/EPTCS.113.5 c (cid:13)
B. AccattoliThis work is licensed under theCreative Commons Attribution License.
Proof nets and the call-by-value l -calculus Beniamino Accattoli
INRIA & ´Ecole Polytechnique (LIX), France
This paper gives a detailed account of the relationship between (a variant of) the call-by-value lambdacalculus and linear logic proof nets. The presentation is carefully tuned in order to realize a strongbisimulation between the two systems: every single rewriting step on the calculus maps to a singlestep on the nets, and viceversa. In this way, we obtain an algebraic reformulation of proof nets.Moreover, we provide a simple correctness criterion for our proof nets, which employ boxes in anunusual way.
A key feature of linear logic (LL) is that it is a refinement of intuitionistic logic, i.e. of l -calculus. Inparticular, one b -reduction step in the l -calculus corresponds to the sequence of two cut-eliminationsteps in linear logic, steps which are of a very different nature: the first is multiplicative and the secondis exponential. The Curry-Howard interpretation of this fact is that l -calculus can be refined addinga constructor t [ x / u ] for explicit substitutions , and decomposing a b -step ( l x . t ) u → b t { x / u } into thesequence ( l x . t ) u → m t [ x / u ] → e t { x / u } .Another insight due to linear logic is that proofs can be represented graphically—by the so-calledproof nets—and the reformulation of cut-elimination on proof netstakes a quite different flavour withrespect to cut-elimination in sequent calculus. The parallel nature of the graphical objects makes thecommutative cut-elimination steps, which are the annoying burden of every proof of cut-admissibility,(mostly) disappear.These two features of LL have influenced the theory of explicit substitutions in various ways [16, 7],culminating in the design of the structural l -calculus [4], a calculus isomorphic (more precisely stronglybisimilar ) to its representation in LL proof nets [3, 1]. Such a calculus can be seen as an algebraicreformulation of proof nets for l -calculus [8, 24], and turned out to be simpler and more useful thanprevious calculi with explicit substitutions.Girard’s seminal paper on linear logic [14] presents two translations of l -calculus into LL. The firstone follows the typed scheme ( A ⇒ B ) n = ! A n ⊸ B n , and it is the one to which the previous paragraphsrefer to. It represents the ordinary—or call-by-name (CBN)— l -calculus. The second one, identified by ( A ⇒ B ) v = ! ( A v ⊸ B v ) , was qualified as boring by Girard and received little attention in the literature[21, 23, 10, 11, 12, 20]. Usually, it is said to represent Plotkin’s call-by-value (CBV) l b v -calculus [22].These two representations concern typed terms only, but it is well-known that they can be extended torepresent the whole untyped calculi by considering linear recursive types ( o = ! o ⊸ o for call-by-nameand and o = ! ( o ⊸ o ) for call-by-value).Surprisingly, the extension of the CBV translation to the untyped calculus l b v -calculus introduces aviolent unexpected behavior: some normal terms in l b v map to (recursively typed) proof nets withoutnormal form (see [2] for concrete examples and extensive discussions). This fact is the evidence thatthere is something inherently wrong in the CBV translation.2 Proofnets and thecall-by-value l -calculusIn this paper we show how to refine the three actors of the play (the CBV l -calculus, the translationand the proof nets presentation) in order to get a perfect match between terms and proof nets. Techni-cally, we show that the new translation is a strong bisimulation , and since strong bisimulations preservereductions length (in both directions), the normalization mismatch vanishes.Interestingly, to obtain a strong bisimulation we have to make some radical changes to both thecalculus and the presentation of proof nets. The calculus, that we call the value substitution kernel l vker [2], is a subcalculus of the value substitution calculus l vsub studied in [5], which is a CBV l -calculuswith explicit substitutions. Such a kernel is as expressive as the full calculus, and can be thought as asort of CPS representation of l vsub .Here, however, we mostly take the calculus for granted (see [2] for more details) and rather focus onproof nets. Our two contributions are:1. Graphical syntax and algebraic formalism : it is far from easy to realize a strong bisimulationbetween terms and nets, as it is necessary to take care of many delicate details about weakenings,contractions, representation of variables, administrative reduction steps, and so on. The searchfor a strong bisimulation may seem a useless obsession, but it is not. Operational properties asconfluence and termination then transfer immediately from graphs to terms, and viceversa. Moregenerally, such a strong relationship turns the calculus into an algebraic language for proof nets,providing an handy tool to reason by structural induction over proof nets.2.
Correctness criterion : we provide a characterization of the proof nets representing l vker based ongraph-theoretical principles and which does not refer to l vker , that is, we present a correctness cri-terion . Surprisingly, the known criteria for the representation of the call-by-name l -calculus (withexplicit substitutions) fail to characterize the fragment encoding the call-by-value l -calculus. Herewe present a simple and non-standard solution to this problem. We hack the usual presentation ofproof nets so that Laurent’s criterion for polarized nets [17, 19, 18]—the simplest known correct-ness criterion—captures the fragment we are interested in. The hacking of the syntax consists inusing boxes for ` -links rather than for !-links. An interesting point is that the fragment we dealwith is not polarized in Laurent’s sense, despite it is polarized in the Lamarche/intuitionistic sense.The use of boxes for ` -links may look terribly ad-hoc. Section 6 tries to argue that it is not. More-over, Section 7 presents an account of the technical points concerning the representations of terms withproof nets, and how they have been treated in the literature. In this section we introduce the calculus which will be related to proof nets, called the value substitutionkernel l vker [2]. Its syntax is: t , s , u , r :: = x | l x . t | vs | t [ x / u ] v :: = x | l x . t where t [ x / u ] is an explicit substitution and values are noted v . Note that the left subterm of an applicationcan only be a value. The rules of l vker are: ( l x . t ) u m t [ x / u ] t [ x / v L ] e t { x / v } L A strong bisimulation between two rewriting systems S and R is a relation ≡ between S and R s.t. whenever s ≡ r then forevery step from s → S s ′ there is a step r → R r ′ s.t. s ′ ≡ r ′ , and viceversa (for s , s ′ ∈ S and r , r ′ ∈ R ). .Accattoli 13where L is a possibly empty list of explicit substitutions [ x / u ] . . . [ x k / u k ] (and the fact that in the lhs of e L appears inside [ ] while in the rhs it appears outside { } is not a typo). The calculus is confluent [2].The peculiarity of the value substitution kernel is that iterated applications as ( tu ) s are not part of thelanguage. The idea is that they are rather represented as ( xs )[ x / tu ] with x fresh. The calculus containingiterated applications is called the value substitution calculus l vsub , and it has been studied in [5, 2]. In [2]it is shown that l vsub can be represented inside l vker (mapping iterated applications ( tu ) s to ( xs )[ x / tu ] ,as before) and that a term t and its representation t k are equivalent from the point of view of termination(formally t is strongly (resp. weakly) normalizing iff t k is, and the same is true with respect to weak— i.e. not under lambda—reduction). If one is interested in observing termination (as it is usually the case)than l vsub and l vker are observationally equivalent (via · k ). As pointed out to us by Frank Pfenning, themap · k is reminiscent of the notion of A-reduction in the theory of CPS-translations [13, 25]. The ideais then that l vker (and thus proof nets) is essentially the language of A -normal forms associated to l vsub .However, the study of the precise relationship with A -normal forms is left to future work.The calculus l vsub has been related to Herbelin and Zimmermann’s l CBV [15] in [5]. In turn, l CBV is related to Plotkin’s l b v in [15], where it is shown that the equational theory of l b v is contained in thetheory of l CBV .The rest of the paper shows that l vker can be seen as an algebraic language for the proof nets used tointerpret the call-by-value l -calculus. Introduction . Our presentation of proof nets is non-standard in at least four points (we suggest to have aquick look to Figure 3):1.
Hypergraphs : we use hypergraphs (for which formulas are nodes and links— i.e. logical rules—are hyperedges) rather than the usual graphs with pending edges (for which formulas are edgesand links are nodes). We prefer hypergraphs because in this way contraction can be represented ina better way (providing commutativity, associativity, and permutation with box borders for free )and at the same time we can represent cut and axiom links implicitly (similarly to what happens ininteraction nets).2. ` -boxes : We put boxes on ` -links and not on !-links. This choice is discussed in Section 6, andit allows to use a very simple correctness criterion— i.e. Laurent’s criterion for polarized nets—without losing any property.3.
Polarity : we apply a polarized criterion to a setting which is not polarized in the usual sense.4.
Syntax tree : since we use proof nets to represent terms, we will dispose them on the plane accord-ing to the syntax tree of the corresponding terms, and not according to the corresponding sequentcalculus proof (also the orientation of the links does not reflect the usual premise-conclusion ori-entation of proof nets).
Nets . Nets are directed and labelled hyper-graphs G = ( V ( G ) , L ( G )) , i.e. , graphs where V ( G ) is a setof labelled nodes and L ( G ) is a set of labelled and directed hyperedges , called links , which are edgeswith 0,1 or more sources and 0,1 or more targets . Nodes are labelled with a type in { e , m } , where e stays for exponential and m for multiplicative , depicted in blue and brown, respectively. If a node u has An hyper-graph G can be understood as a bipartite graph B G , where V ( B G ) is V ( G ) and V ( B G ) is L ( G ) , and the edgesare determined by the relations being a source and being a target of an hyperedge. l -calculus ✛✚ ✘✙ ! m w m ! m d e = ! mm ! e em = e ⊥ ` e ⊗ m = e ⊥ ` eee ⊥ ` m ee ... (cid:3) Figure 1: links.type e (resp. m ) we say that it is a e -node (resp. m -node). We shall consider hyper-graphs whose linksare labelled from { ! , d , w , ` , ⊗} . The label of a link l forces the number and the type of the source andtarget nodes of l , as shown in Figure 1 (the types will be discussed later, and the figure also contains the (cid:3) -link, which is not used to define nets: it will be used later to define the correction graph). Note thatevery link (except (cid:3) ) has exactly one connection with a little circle: it denotes the principal node, i.e. thenode on which the link can interact. Remark the principal node for tensor and !, which is not misplaced.Moreover, every ` -link has an associated box , i.e. , a sub-hyper-graph of G (have a look to Figure 3).The sources (resp. targets ) of a net are the nodes without (resp. outgoing) incoming links; a node whichis not a source nor a target is internal . Formally: Definition 3.1 (net) . A net G is a quadruple ( | G | , B G , fv ( G ) , r G ) , where | G | = ( V ( G ) , L ( G )) is an hyper-graph whose nodes are labelled with either e or m and whose hyperedges are { ! , d , w , ` , ⊗} -links ands.t.: • Root : r G ∈ V ( G ) is a source e -node of G , called the root of G . • Conclusions : fv ( G ) is the set of targets of G , also called free variables of G , which are targets of { d , w } -links (and not of ⊗ -links). • Multiplicative : m -nodes have exactly one incoming and one outgoing link. • Exponential : an e -node has at most one outgoing link, and if it is the target of more than one linkthen they all are d -links. Moreover, an e -node cannot be isolated. • Boxes : For every ` -link l there is a net box ( l ) , called the box of l ( B G is the set of boxes of G and box ( l ) ∈ B G ), with a distinguished free variable x , called the variable of l , and s.t.: – Border : the root r box ( l ) and the free variable x are the e -nodes of l , and any free variable = x of box ( l ) is not the target of a weakening. – Nesting : for any two ` -boxes box ( l ) and box ( l ) if /0 = I : = box ( l ) ∩ box ( l ) , box ( l ) box ( l ) , and box ( l ) box ( l ) then all the nodes in I are free variables of both box ( l ) and box ( l ) . – Internal closure : any link l of G having as target an internal e -node of box ( l ) is in box ( l ) . – Subnet : the nodes and the links of box ( l ) belong to G and the ` -links in box ( l ) inherit theboxes from G . Some (technical) comments on the definition . In the border condition the fact that the free variables = x are not (the target) of a weakening means that weakenings are assumed to be pushed out of boxes asmuch as possible (of course the rewriting rules will have to preserve this invariant). The internal closurecondition is a by-product of collapsing contractions on nodes, which is also the reason of the unusualformulation of the nesting condition: two boxes that are morally disjoint can in our syntax share freevariables, because of an implicit contraction merging two of their conclusions..Accattoli 15 ✤✣ ✜✢ a) ... b) c) t ` → collapse ... (cid:3) Figure 2: various images.
Terminology about nets . The level of a node/link/box is the maximum number of nested boxes inwhich it is contained (a ` -link is not contained in its own box). Two links are contracted if theyshare an e -target. Note that the exponential condition states that only derelictions ( i.e. d -links) can becontracted. In particular, no link can be contracted with a weakening. A free weakening in a net G isa weakening whose node is a free variable of G . Sometimes, the figures show a link in a box having astarget a contracted e -node x which is outside the box: in those cases x is part of the box, it is outside ofthe box only in order to simplify the representation. Typing . Nets are typed using a recursive type o = ! ( o ⊸ o ) , that we rename e = ! ( e ⊸ e ) = ! ( e ⊥ ` e ) because e is a mnemonic for exponential . Let m = e ⊸ e = e ⊥ ` e , where m stays for multiplicative .Note that e = ! m and m = ! m ⊸ ! m . Links are typed using m and e , but the types are omitted by all figuresexcept Figure 1 because they are represented using colors and with different shapes ( m -nodes are brownand dot-like, e -nodes are white-filled cyan circles). Let us explain the types in Figure 1. They have to beread bottom-up, and thus negated (to match the usual typing for links) if the conclusion of the logical ruleis the bottom node of the link, as it is the case for the { w , d , ⊗} -links, while ! and ` have their logicalconclusion on the top node, and so their type does not need to be negated. Induced ! -boxes . Note that a !-link is always applied to something ( m -nodes cannot be conclusions),and there is not so much freedom for this something : either it is a dereliction link or a ` with its box. Notealso that in both cases we get (what would usually be) a valid content for a !-box. For the derelictioncase it is evident, and for the ` case it is guaranteed by the definition of net: the content of a ` -boxends on e -nodes. Hence, any !-link has an associated box, induced by ` -boxes, which needs not to berepresented explicitly. The translation . Nets representing terms have the general form in Figure 2.a, also schematized as inFigure 2.b. The translation · from terms to nets is in Figure 3 (the original boring translation is sketchedin Fig. 6, page 22). A net which is the translation of a term is a proof net . Note that in some cases thereare various connections entering an e -node, that is the way we represent contraction. In some cases the e -nodes have an incoming connection with a perpendicular little bar: it represents an arbitrary number( >
0) of incoming connections. The net corresponding to a variable is given by a ! on a derelictionand not by an (exponential) axiom, as it is sometimes the case. The reason is that an axiom (in ourcase a node, because axioms are collapsed on nodes) would not reflect on nets some term reductions, as x [ x / v ] → e v , for which both the redex and the reduct would be mapped on the same net.The translation · is refined to a translation · X , where X is a set of variables, in order to properly handleweakenings during cut-elimination. The reason is that an erasing step on terms simply erases a subterm,while on nets it also introduces some weakenings: without the refinement the translation would not bestable by reduction. The clause defining t X ∪{ y } when y / ∈ fv ( t ) is the first on the second line of Figure 3,the definition is then completed by the following two clauses: t /0 : = t and t X ∪{ y } : = t X if y ∈ fv ( t ) . Here the words maximum and nested are due to the fact that the conclusions of ` -boxes may belong to two not nestedboxes, because of the way we represent contraction. l -calculus ✬✫ ✩✪ x = if x ∈ fv ( t ) , l x . t = if x / ∈ fv ( t ) , l x . t = if x ∈ fv ( u ) , xu = if x / ∈ fv ( u ) , xu =! d ! t ` ! t w ` ⊗ u d ⊗ u d if y / ∈ fv ( t ) , if x ∈ fv ( t ) , ( l x . t ) u = if x / ∈ fv ( t ) , ( l x . t ) u = if x ∈ fv ( t ) , t [ x / u ] = if x / ∈ fv ( t ) , t [ x / u ] = t X ∪{ y } = t X w ⊗ ut ` ... { fv ( t ) ∩ fv ( u ) ⊗ ut w ` ... { fv ( t ) ∩ fv ( u ) tu ... { fv ( t ) ∩ fv ( u ) t w u ... { fv ( t ) ∩ fv ( u ) Figure 3: the translation from terms to nets. a -equivalence . To circumvent an explicit and formal treatment of a -equivalence we assume thatthe set of e -nodes and the set of variable names for terms coincide. This convention removes the needto label the targets of t X with the name of the corresponding free variables in t or X . Actually, beforetranslating a term t it is necessary to pick a well-named a -equivalent term t ′ , i.e. a term where any twodifferent variables (bound or free) have different names. Remark . The translation of terms to nets is not injective. By simply applying the translation it iseasily seen that the following pairs of terms have the same net: t [ x / s ][ y / u ] ∼ vo CS t [ y / u ][ x / s ] if x / ∈ fv ( u ) & y / ∈ fv ( s ) v u [ x / s ] ∼ vo ( v u )[ x / s ] if x / ∈ fv ( v ) t [ x / s [ y / u ]] ∼ vo t [ x / s ][ y / u ] if y / ∈ fv ( t ) (1)Let ≡ vo be the reflexive, transitive, and contextual closure of ∼ vo CS ∪ ∼ vo ∪ ∼ vo . In the proof of Lemma5.1, we will use the fact that if t ≡ vo s then t and s are mapped on the same net. We also claim—withoutproving it—that ≡ vo is exactly the quotient induced on terms by the translation to nets. Paths.
A path t of length k ∈ N from u to v , noted t : u → k v , is an alternated sequence u = u , l , . . . , l k , u k + = v of nodes and links s.t. the link l i has source u i and target u i + for i ∈ { , . . . , k } . Acycle is a path u → k u with k > Correctness . The correctness criterion is based on the notion of correction graph, which is—as usualfor nets with boxes—obtained by collapsing every box at level 0 into a generalized axiom link.
Definition 3.3 (correction graph) . Let G be a net. The correction graph G of G is the hyper-graphobtained from G by collapsing any ` -box at level 0 into a (cid:3) -link applying the rule in Fig. 2.c. Definition 3.4 (correctness) . A net G is correct if: • Source : G has exactly one e -source (the root of G )..Accattoli 17 • Acyclicity : G is acyclic. • Recursive correctness : the interior of every box is correct.As usual an easy induction on the translation shows that the translation of a term is correct, i.e. that:
Lemma 3.5.
Every proof net is correct.
In this section we show how to extract a term t from every correct net G in such a way that t translatesback to G , i.e. we show that every correct net is a proof net. The proof of this fact is based on the notionof kingdom , along the lines of the proof for polarized nets, see [18] (pp. 57-63). Definition 4.1 (Kingdom) . Let G be a correct net and x / ∈ fv ( G ) one of its e -nodes. The kingdom king ( x ) of x is the set of links defined by induction on the link l of source x : • l is a !-link: king ( x ) is given by l plus the d -link or the ` -box on the m -target of l . • l is a ⊗ -link: king ( x ) is given by l plus the d -link or the ` -box on the m -target of l plus king ( y ) ,where y is the e -target of l .The main property of king ( x ) is that it is the smallest subnet of root x , as we shall soon prove . Tostate this fact precisely we need the notion of subnet. Definition 4.2 (subnet) . Let G be a correct net. A subnet H of G is a subset of its links s.t. it is a correctnet and satisfying: • Internal closure : if x is an internal e -node of H then any link of G of target x belongs to H . • Box closure : – Root : if a ` -link l belongs to H then its box does it too. – Free variables : if a free variable of a box B of G is internal to H then B ⊆ H .The following lemma is essentially obvious, and usually omitted, but in fact it is used in the proof ofLemma 4.5. Lemma 4.3.
Let G be a correct net, H a subnet of G, x an internal e-node of H. Then there exists asubnet K of H having x as root and s.t. it is a subnet of G.Proof.
It is enough to show that there is a subnet of H of root x , since it is obvious that any subnet of K is a subnet of G . By induction on the length of the maximum path from x to a free variable of K .To properly describe kingdoms we need the following definition. Definition 4.4 ((free/ground) substitution) . Let G be a correct net. A substitution is an e -node which isthe target of a { w , d } -link (or, equivalently, which is not the target of a ⊗ -link) and the source of somelink. A substitution x is ground if it is a node of G ( i.e. it is not internal to any ` -box ), and it is free ifit is ground and there is no ground substitution of G to which x has a path (in G ). Lemma 4.5 (kingdom) . Let G be a correct net and x / ∈ fv ( G ) one of its e-nodes. king ( x ) is the kingdomof x, i.e. , the smallest subnet of G rooted at x. Moreover, it has no free substitutions, no free weakenings,and whenever y ∈ fv ( king ( x )) is internal to a subnet H of G then king ( x ) ⊆ H. We call kingdom of x the net in def. 4.1, but at this point nothing guarantees that it is the smallest subnet of root x . Note that our collapsed representation of contractions and cuts does not allow to simply say that x is a node at level 0:indeed the conclusion of a ` -box can have level > G . l -calculus Proof.
Let H be a correct subnet of G rooted at x . We show by induction on the length of the maximumpath from x to a free variable of G that king ( x ) ⊆ H and that king ( x ) is correct. Let l be the link of source x . Cases: • Base case : l is a !-link. By the conclusion condition H has to contain the d -link i or the ` -linkon the m -target of l . In the case of a ` -link the box closure condition implies that the whole box B is in H , hence king ( x ) ⊆ H . In the case of a d -link correctness is obvious, in the case of a ` -box it follows by the correctness of the interior of the box, guaranteed by the recursive correctnesscondition. Moreover, no free substitutions and no free weakenings belong to king ( x ) (boxes cannotclose on weakenings). Pick y ∈ fv ( king ( x )) , which in the d -link case is the target of i and in theother case is a free variable of the ` -box B . If y is internal to H then the conditions for a subnetguarantee that i or B are in H . Then clearly king ( x ) ⊆ H . • Inductive case : l is a ⊗ -link. As in the previous case H has to contain the d -link or the ` -boxon the m -target of l . Moreover, by lemma 4.3 H contains a subnet K rooted in the e -target y of l .By inductive hypothesis king ( y ) is the kingdom of y , therefore we get king ( y ) ⊆ K ⊆ H . Hence king ( x ) ⊆ H . By i.h. we also get that king ( y ) is correct, hence y is its only e -source and x is the only e -source of king ( x ) . Acyclicity follows by correctness of G . Recursive correctness follows fromthe box closure condition and correctness of G . Moreover, by i.h. king ( y ) —and so king ( x ) —hasno free substitutions and no free weakenings. The part about free variables uses the i.h. for thefree variables of king ( y ) and the conditions for a subnet as in the previous case for the other freevariables. Lemma 4.6 (substitution splitting) . Let G be a correct net with a free substitution x. Then1. The free variables of king ( x ) are free variables of G.2. G \ king ( x ) is a subnet of G.Proof.
1) Suppose not. Then there is a free variable y of king ( x ) which is not a free variable of G . Thereare two possible cases: • y is a substitution . Then x has a path to a substitution in G , against the definition of free substitu-tion, absurd. • y is the distinguished free variable of a ` -box B . Thus, y is internal to some ` -box B and so it isnot a node of G . By Lemma 4.5 we get that king ( x ) ⊆ B and so x is not a node of G , against thedefinition of free substitution, absurd.2) By point 1 the removal of king ( x ) cannot create new e -sources. Being a substitution, x is the target ofsome link. Therefore the removal of king ( x ) cannot remove the root of G . It is also clear that the removalcannot create cycles, and the box closure condition for subnets guarantees that the recursive correctnessof G implies the one of G \ king ( x ) . Lemma 4.7.
Let G be a correct net with a ground substitution. Then G has a free substitution.Proof.
Consider the following order on the elements of the set S g of ground substitutions of G : z ≤ y ifthere is a path from z to y in G . Acyclicity of G implies that S g contains maximal elements with respectto ≤ , if it is non-empty. Note that a maximal element of S g is a free substitution in G . Now, if G has aground substitution x then S g is non-empty. Thus, G has a free substitution.The next lemma is used in the proof of the sequentialization theorem..Accattoli 19 Lemma 4.8 (kingdom characterization) . Let G be a correct net. Then G = king ( r G ) iff G has no freesubstitutions nor free weakenings.Proof. ⇒ ) By Lemma 4.5. ⇐ ) By lemma 4.5 we get that king ( r G ) ⊆ G . If the two do not coincide thenby the internal closure condition for subnets, the multiplicative condition on nets, and the fact that theyshare the same root, we get that G contains a ground substitution x on a free variable of king ( r G ) . Bylemma 4.7 G contains a free substitution, absurd. Theorem 4.9 (sequentialization) . Let G be a correct net and X be the set of e-nodes of its free weaken-ings. Then there is a term t s.t. t X = G (and fv ( G ) = fv ( t ) ∪ X ).Proof.
By induction on the number of links. By the root and conclusion conditions the minimum numberof links is 2 and the two links are necessarily a !-link on top of a d -link. Let x be the e -node of the d -link.Then x = G . We now present each inductive case. After the first one we assume that the net has no freeweakening. • There is a free weakening l of e-node y . Then G ′ = G \ { l } is still a correct net and by i.h. thereexist t s.t. t X \{ y } = G ′ . Then t X = G . • There is a free substitution x . Then by Lemma 4.5 and Lemma 4.6 king ( x ) and G \ king ( x ) arecorrect subnets of G . By the i.h. there exist s and u s.t. s = king ( x ) and u { x } = G \ king ( x ) (notethat if x ∈ fv ( u ) then u { x } = u /0 = u ). Then u [ x / s ] = G . • No free substitution : by lemma 4.8 G = king ( r G ) . In case the root link l of G is: – a ! -link over a d -link : base case, already treated. – a ! -link over a ` -link : let H be the box of the ` -link and x its distinguished free variable.By definition of a net the set of free weakenings of H either is empty or it contains only x . If x is (resp. is not) the node of a free weakening then by i.h. there exists t s.t. t { x } = H (resp. t = H ). Then l x . t = G . – A ⊗ -link l : let x be its e -target and a its m -target. Note that G = king ( r G ) implies that G iscomposed by l , king ( x ) and either the d -link or the ` -link (plus its box) on a . By i.h. thereexists s s.t. s = king ( x ) . Now, if a is the source of a d -link of e -node y we conclude, since ys = G . Otherwise, s is the source of a ` of box H and the i.h. gives a term u and a set X s.t. u X = H . Let us prove that H and king ( x ) can only share free variables, as the translationprescribes: no link at level 0 of king ( x ) can be in H , and no box at level 0 of king ( x ) canintersect H other than on free variables, by the nesting condition. By reasoning about thedistinguished free variable of H as in the previous case we then get ( l y . u ) s = G . The rewriting rules are in Figure 4. Let us explain them. First of all, note that the notion of cut inour syntax is implicit, because cut-links are not represented explicitly. A cut is given by a node whoseincoming and outgoing connections are principal ( i.e. with a little square on the line).The rule → m is nothing but the usual elimination of a multiplicative cut, except that the step alsoopens the box associated with the ` -link.The two → e rules reduce the exponential redexes. Let us explain how to read them. For the graphnoted H in Figure 4 there are two possibilities: either it is simply a dereliction link (a d -link) or it is a ` with its box, so there is no ambiguity on what to duplicate/erase. Every pair of short gray lines denotes0 Proofnets and thecall-by-value l -calculus ✬✫ ✩✪ ⊗ ` → m w ! H ... m m k → e w w ... m m k ... x d d ! H ... m m k → e H H k ...... m m k Figure 4: proof nets cut-elimination rulesthe sequence (of length m i , with i ∈ { , . . . , k } ) of boxes closing on the corresponding links. The rule hastwo cases, one where ! is cut with k ∈ { , , . . . } derelictions and one where it is cut with a weakening. Inthe first case the sub-graph H is copied k times (if k = H , . . . H k and each copyenters in the m i boxes enclosing the corresponding (and removed) dereliction. Moreover, the k copies ofeach target of H are contracted together, i.e. the nodes are merged. In the case of a cut with a weakening, H is erased and replaced by a set of weakenings, one for every target of H . Note that the weakeningsare also pushed out of all boxes closing on the targets of H . This is done to preserve the invariant thatweakening are always pushed out of boxes as much as possible. Such invariant is also used in the rule:the weakening is at the same level of H . Last, if the weakenings created by the rule are contracted withany other link then they are removed on the fly (because by definition weakenings cannot be contracted).Now, we establish the relationship between terms and nets at the level of reduction. Essentially, thereis only one fact which is not immediate, namely that → e actually implements the → e rule on terms, as itis proved by the following lemma. Lemma 5.1 (substitution) . Let t = s [ x / v L ] then t X → e s { x / v } L X for any set of names X ⊇ fv ( t ) .Proof. First of all observe that t and s [ x / v ] L both reduce to s { x / v } L and by remark 3.2 both translate tothe same net. Hence it is enough to prove that s [ x / v ] L X → e s { x / v } L X . We prove it by induction on thenumber k of substitutions in L . If k = n of free occurrencesof x in s . Cases: • n =
0) In s [ x / v ] X the bang associated to v is cut with a weakening. The elimination of the cut getsa net G ′ without the !-link and the ` -box associated to v , leaving a free weakening for every freevariable of the box, i.e. of every free variable of v : then G ′ is exactly s { x / v } X ∪ fv ( v ) = s X ∪ fv ( v ) . • n >
1) Write s = C [ x ] for some occurrence of x . Now, consider u = C [ y ][ y / v ][ x / v ] and note that: Note that, for the sake of a simple representation, the figure of the weakening cut-elimination rule is slightly wrong: it isnot true that the links l ,..., l j having as target a given conclusion x i of H are all inside m i boxes, because each one can beinside a different number of boxes. .Accattoli 21 u → C [ v ][ x / v ] → C [ v ] { x / v } = s { x / v } The difference between G ′ = u X and G = s [ x / v ] X is that one of the occurrences of x in G has beenseparated from the others and cut with a copy of v . Consider the step G → H which reduces the cuton x in G and the sequence G ′ → H ′ y → H ′ y , x which first reduces the cut on y in G ′ and then reducesin H ′ the (unique) residual of the cut on x in G ′ . By the definition of reduction in nets H = H ′ y , x .Now by i.h. applied to u and y we get that C [ v ][ x / v ] X = H ′ y and by the i.h. applied to C [ v ][ x / v ] and x we get that C [ v ] { x / v } X = H ′ y , x . From H = H ′ y , x and C [ v ] { x / v } = s { x / v } we get s { x / v } X = H andconclude. • n =
1) By induction on s . Some cases: – If t = l y . u then by i.h. u [ x / v ] X ∪{ y } → e u { x / v } X ∪{ y } and so we get l y . ( u [ x / v ]) X ∪{ y } → e l y . ( u { x / v } ) X ∪{ y } . Now, observe that l y . ( u { x / v } ) = ( l y . u ) { x / v } = t { x / v } and that the twonets l y . ( u [ x / v ]) X ∪{ y } and ( l y . u )[ x / v ] X ∪{ y } have the same reduct after firing the exponentialcut on x , and so we get ( l y . u )[ x / v ] X ∪{ y } → e ( l y . u ) { x / v } ) X ∪{ y } . – If s = w [ y / u ] then either x ∈ u or x ∈ w . In the first case by remark 3.2 we get that s [ x / v ] X = w [ y / u ][ x / v ] X = w [ y / u [ x / v ]] X . Now by i.h. u [ x / v ] → e u { x / v } . Then we have s [ x / v ] X → e w [ y / u { x / v } ] X = w [ y / u ] { x / v } X = s { x / v } X . The second case is analogous. – If s = ( l y . w ) u . The case x ∈ u uses remark 3.2 and the i.h. as in the s = w [ y / u ] case. Thecase x ∈ w is slightly different. As before (( l y . w ) u )[ x / v ] and (( l y . w [ x / v ]) u ) have the samereduct. By i.h. hypothesis w [ x / v ] → e w { x / v } and thus ( l y . w [ x / v ]) u X → e ( l y . w { x / v } ) u X .We conclude since (( l y . w ) u )[ x / v ] X → e (( l y . w { x / v } ) u ) X = (( l y . w ) u ) { x / v } X .If k > L = L ′ [ y / r ] then we get by i.h. that s [ x / v ] L ′ X → e s { x / v } L ′ X . By definition of the translationand of graph reduction it follows that s [ x / v ] L ′ [ y / r ] X → e s { x / v } L ′ [ y / r ] X . Theorem 5.2 (strong bisimulation) . Let t be a term and X a set of variables containing fv ( t ) . Thetranslation is a strong bisimulation between t and t X , i.e. t → a t ′ if and only if t X → a t ′ X , for a ∈ { m , e } .Proof. By induction on the translation. If t = x there is nothing to prove, and if t = l x . s or t = xs itimmediately follows by the i.h. , since all the redexes of t are contained in s . If t = s [ x / u ] and the redexis in s or u then just apply the i.h. . If u = v L and the redex is s [ x / v L ] → e s { x / v } L then apply Lemma 5.1.If t = ( l x . s ) u and the redex is in s or u then just apply the i.h. . If t = ( l x . s ) u → m s [ x / u ] = t ′ then have alook at Figure 5.a: clearly t → m t ′ iff t X → m t ′ X .Strong bisimulations preserve reduction lengths, so they preserve divergent/normalizing reductions,and termination properties in general. Technical digression about confluence . For confluence the point is slightly more delicate, since ingeneral it is preserved only modulo the quotient induced by the strong bisimulation. But mild additionalhypothesis allow to transfer confluence. Given two rewriting systems ( S , → ) and ( S , ) and a strongbisimulation ≡ (defined on all terms of S and S ), to transfer confluence from S to S it is enough toask that if s ≡ s and s → s ′ then there is a unique s ′ s.t. s s ′ and s ≡ s ′ , see [1] (pp. 83-86) formore details. It is easily seen that in our case the translation enjoys this property in both directions.These observations (and confluence of l vker ) prove: Corollary 5.3.
Let t ∈ l vker and X a set of variables. Then t is weakly normalizing/strongly normalizing/anormal form/without a normal form iff t X is. Moreover, proof nets are confluent. l -calculus ✬✫ ✩✪ a) ( l x . t ) u → m t [ x / u ] ⊗ ut ` ... { fv ( t ) ∩ fv ( u ) → m tu ... { fv ( t ) ∩ fv ( u ) b) w ⊗ ! d w ⊗ ! d ` ` ! d c) ⊗ ! d ` Figure 5: a) A → m -step on terms and on nets. b-c) Counter-examples to correctness without ` -boxes ✬✫ ✩✪ x = l x . t = t u = t [ x / u ] =! t ! ` ⊗ u d t ... { fv ( t ) ∩ fv ( u ) tu ... { fv ( t ) ∩ fv ( u ) Figure 6: the ordinary CBV translation from terms to nets.Actually, the translation is more than a strong bisimulation: the reduction graphs of t and t are isomorphic , not just strongly bisimilar. An easy but tedious refinement of the proof of Theorem 5.2proves: Theorem 5.4 (dynamic isomorphism) . Let t be a term and X a set of variables containing fv ( t ) . Thetranslation induces a bijection f between the redexes of t and the redexes of t X s.t. R : t → a t ′ if and onlyif f ( R ) : t X → a t ′ X , where a ∈ { m , e } . A nice by-product of the strong bisimulation approach is that preservation of correctness by reduction comes for free , since any reduct of a proof-net is the translation of a term.
Corollary 5.5 (preservation of correctness) . Let G be a proof net and G → G ′ . Then G ′ is correct. The original boring translation.
For the sake of completeness, Figure 6 sketches the ordinary CBVtranslation from l -terms (possibly with iterated applications) to proof nets (including the case for explicitsubstitutions and using a traditional syntax with boxes on !). An easy computation shows that the term t = d ( yz ) d , where d = l x . xx maps to a net without normal form, while t is a l b v -normal form (see [2]for more details). This mismatch is the motivation behind our work. Reduction graphs , which are the graphs obtained considering all reductions starting from a given object, are not nets . .Accattoli 23 ` -boxes The two encodings of l -calculus can be seen as fragments of Intuitionistic Multiplicative and Exponen-tial Linear Logic (IMELL). Let us stress that in IMELL what we noted ⊗ and ` correspond to the rightand left rules for the linear implication ⊸ , and not to the left and right rules for ⊗ (the four rules for ⊗ and ⊸ are collapsed in LL but not in Intuitionistic LL, in particular our ` acts on the output of the term, i.e. on the right of the sequent, and corresponds to the right rule for ⊸ ).Our argument is that in IMELL there is no correctness criterion unless the syntax is extended withboxes for both ! and ⊸ (our ` ), as we shall explain in the next paragraphs. The fragment of IMELLencoding the CBN l -calculus is a special case where the box for ⊸ needs not to be represented. Thefragment encoding the CBV l -calculus is a special case where the box for ! needs not to be represented.So, the two encodings are dual with respect to the use of boxes, and then there is nothing exotic in ouruse of ` -boxes.The difficulty of designing a correctness criterion for IMELL is given by the presence of weakenings,which break connectedness. In most cases weakenings simply prevent the possibility of a correctnesscriterion. The fragment encoding the CBN l -calculus, and more generally Polarized Linear Logic, arenotable exceptions. For the encoding of the CBN l -calculus there exist two correctness criteria. Let usshow that none of them works for the CBV l -calculus.The first is the Danos-Regnier criterion, in the variant replacing connectedness with the requirementthat the number of connected components of every switching graph is 1 + w , where w is the numberof weakenings at level 0 (after the collapse of !-boxes) [24]. In our case this criterion does not work:the net in Fig. 5.b verifies the requirement while it does not represent any proof or term. The secondcriterion is Olivier Laurent’s polarized criterion, because the CBN encoding is polarized. In its originalformulation it cannot be applied to the encoding of the CBV l -calculus, because such a fragment is notpolarized (there can be a weakening as a premise of a tensor, which is forbidden in polarized logic). Ourre-formulation of Laurent’s criterion rejects the net in Figure 5.b (because the two ` -links form a cycle),but without using ` -boxes it would accept the net in Figure 5.c, which is not correct .Thus, the known criteria do not work and there is no criteria for IMELL. The usual way to circumventproblems about correctness is to add some information to the graphical representation, under the formof boxes (as we did) or jumps ( i.e. additional connections). It is well known that in these cases variouscriteria can be used, but this extra information either is not canonical or limits the degree of parallelism.Another possible solution is to modify the logical system adding the mix rules. However, such rules aredebatable, and also give rise to a bad notion of subnet (for details see [1], pp. 199-201).Let us stress that our counter-examples to the known criteria do not rely on the exponentials ( i.e. non-linearity): it is easy to reformulate them in Intuitionistic Multiplicative Linear Logic (IMLL) withunits , for which then there is no correctness criterion.In the case studied in this paper the use of ` -boxes does not affect the level of parallelism in asensible way. Indeed, in IMELL the parallelism given by proof nets concerns the left rules (of ⊗ and ⊸ ,plus contractions and weakenings) and cuts: in our case there is no ⊗ (remember our ⊗ and ` rathercorrespond to the rules for ⊸ ), our technical choices for variables keep the parallelism for contractionand weakenings, and the parallelism of the left rule for ⊸ (our ⊗ ) and cuts is preserved (it is given bythe equations in (1), page 16). The net in Figure 5.c would be rejected by the original version of the criterion, which is based on a different orientation.But the original orientation cannot be applied to our fragment. Just replace each sequence of a ! over a dereliction with an axiom, and the weakenings with ⊥ -links. l -calculus When relating l -terms and proof nets a number of technical choices are possible:1. Explicit substitutions : proof nets implement a b -step by two cut-elimination steps. This refinedevaluation can be seen on the calculus only if the syntax is extended with explicit substitutions.2. Variables : to properly represent variables it is necessary to work modulo associativity and com-mutativity of contractions, neutrality of weakening with respect to contraction, and permutationsof weakenings and contractions with box-borders. In the literature there are two approaches: toexplicitly state all these additional congruences or to use a syntax naturally quotienting with re-spect to them. Such a syntax uses n-ary ?-links collapsing weakening, dereliction and contractionsand delocalizing them out of boxes. It is sometimes called nouvelle syntaxe .3.
Axioms : various complications arise if proof nets are presented with explicit axiom and cut links.They can be avoided by working modulo cuts on axioms, which is usually done by employing aninteraction nets presentation of proof nets.4.
Exponential cut-elimination : the cut-elimination rules for the exponentials admit many presenta-tions. Essentially, either they are big-step, i.e. an exponential cut is eliminated in one shot (makingmany copies of the !-premise of the cut), or they are small-step, with a rule for each possible?-premise (weakening, dereliction, contraction, axiom, box auxiliary port).We now list the works in the literature which are closer in spirit to ours, i.e. focusing on the represen-tation of l -calculi into proof nets (and for space reasons we omit many other interesting works, as forinstance [20], which studies the representation of strategies , not of calculi ). The first such works were thePh.D. thesis of Vincent Danos [8] and Laurent Regnier [24], which focused on the call-by-name (CBN)translation. Danos and Regnier avoid explicit substitutions, use n-ary contractions, explicit axioms, andbig-step exponential rules, see also [9]. They characterize the image of the translation using the varianton the Danos-Regnier correcteness criterion which requires that any switching graph has w + w is the number of weakenings. In [10] Danos and Regnier use the CBVtranslation . Both translations are injective.In [19, 18] Olivier Laurent extends the CBN translation to represent (the CBN) lm -calculus. Hedoes not use explicit substitutions nor n-ary ?-links, while he employs explicit axiom links and small-step exponential rules. His work presents two peculiar points. First, the translation of lm -terms is notinjective, because—depending on the term—the m -construct may have no counterpart on proof nets. Thisinduces some mismatches at the dynamic level. Second, Laurent finds a simpler criterion, exploiting thefact that the fragment encoding (the CBN) lm -calculus is polarized. In [18] Laurent also show howto represent the CBV lm -calculus. However, such a representation does not use the same types of theboring translation, as A → B maps to ?! ( A ⊸ B ) , and not to ! ( A ⊸ B ) .Lionel Vaux [28] and Paolo Tranquilli [26, 27] study the relationship between the differential l -calculus and differential proof nets. Vaux also extends the relationship to the classical case (thus en-compassing a differential lm -calculus), while Tranquilli refines the differential calculus into a resurcecalculus which better matches proof nets. They do not use explicit substitutions, nor n-ary contractions,while they use interaction nets (so no explicit axioms and cut link) and small-step exponential rules. BothTranquilli and Vaux rely on the Danos-Regnier criterion, despite the fragment encoding their calculi is Let us point out that [10] presents an oddity that we believe deserves to be clarified. The authors show that an optimizedgeometry of interaction for the proof nets of the CBV-translation is isomorphic to Krivine’ s abstract machine (KAM): this isquite puzzling, because the KAM is CBN, while they use the CBV translation. .Accattoli 25polarized and can be captured using Laurent’s criterion by using boxes for coderelictions; in the contextof l -calculus such boxes do not reduce the parallelism of the representation.Delia Kesner and co-authors [6, 7, 16] study the relationship with explicit substitutions (in the CBNcase). The main idea here is that explicit substitutions correspond to exponential cuts. They use explicitaxiom links and small-step exponential rules, but they do not employ n-ary contractions (and so theyneed additional rules and congruences). Because of explicit substitutions the translation is not injective:now different terms may map to the same proof net, as in this paper. They do not deal with correctness.In none of these works the translation is a strong bisimulation. In [3] the author and Stefano Guerriniuse a syntax inspired by proof nets (and extended with jumps) to represent the CBN l -calculus withexplicit substitutions. That work is the only one employing (the equivalent of) n-ary ?-links and (theequivalent of) small-step exponential rules. In [3] the correctness criterion is a variation over Lamarche’scriterion for essential nets, which relies in an essential way on the use of jumps. A reformulation in thesyntactic style of this paper of both [3] and of Danos and Regnier’s proof nets for the CBN l -calculuscan be found in [1], together with a detailed account of the strong bisimulation.Here, hypergraphs allow us to use n-ary ?-links and collapse axioms and cut links (as if we wereusing interaction nets). More precisely, we represent n-ary ?-links by allowing e -nodes to have morethan one incoming link. This choice overcomes some technicalities about gluing and de-gluing of ?-links. Such technicalities are always omitted, but they are in fact necessary to properly define subnetsand cut-elimination. We also employ big-step exponential rules and explicit substitutions. Acknowledgements.
To Stefano Guerrini, for introducing me to proof nets, correctness and therepresentation of l -terms, and to Delia Kesner, for helping with the financial support of this work. References [1] Beniamino Accattoli (2011):
Jumping around the box: graphical and operational studies on l -calculus andLinear Logic . PhD thesis, La Sapienza
University of Rome.[2] Beniamino Accattoli (2012):
A linear analysis of call-by-value l -calculus . Available at the address https://sites.google.com/site/beniaminoaccattoli/cbv-analysis.pdf?attredirects=0 .[3] Beniamino Accattoli & Stefano Guerrini (2009): Jumping Boxes . In: CSL, pp. 55–70. Available at http://dx.doi.org/10.1007/978-3-642-04027-6_7 .[4] Beniamino Accattoli & Delia Kesner (2010):
The Structural l -Calculus . In: CSL, pp. 381–395. Availableat http://dx.doi.org/10.1007/978-3-642-15205-4_30 .[5] Beniamino Accattoli & Luca Paolini (2012): Call-by-Value Solvability, revisited . In: FLOPS, pp. 4–16.Available at http://dx.doi.org/10.1007/978-3-642-29822-6_4 .[6] Roberto Di Cosmo & Delia Kesner (1997):
Strong Normalization of Explicit Substitutions viaCut Elimination in Proof Nets (Extended Abstract) . In: LICS, pp. 35–46. Available at http://doi.ieeecomputersociety.org/10.1109/LICS.1997.614927 .[7] Roberto Di Cosmo, Delia Kesner & Emmanuel Polonovski (2003):
Proof Nets And Ex-plicit Substitutions . Math. Str. in Comput. Sci. 13(3), pp. 409–450. Available at http://dx.doi.org/10.1017/S0960129502003791 .[8] Vincent Danos (1990):
La Logique Lin´eaire appliqu´e `a l’´etude de divers processus de normalisation (princi-palment du l -calcul) . Phd thesis, Universit´e Paris 7.[9] Vincent Danos & Laurent Regnier (1995): Proof-nets and the Hilbert space . In: Ad-vances in Linear Logic, Cambridge University Press, pp. 307–328. Available at http://dx.doi.org/10.1017/CBO9780511629150.016 . l -calculus [10] Vincent Danos & Laurent Regnier (1999): Reversible, Irreversible and Opti-mal lambda-Machines . Theor. Comput. Sci. 227(1-2), pp. 79–97. Available at http://dx.doi.org/10.1016/S0304-3975(99)00049-3 .[11] Maribel Fern´andez & Ian Mackie (2002):
Call-by-Value lambda-Graph Rewriting Without Rewriting . In:ICGT, pp. 75–89. Available at http://dx.doi.org/10.1007/3-540-45832-8_8 .[12] Maribel Fern´andez & Nikolaos Siafakas (2009):
Labelled Lambda-calculi with Explicit Copy and Erase . In:LINEARITY, pp. 49–64. Available at http://dx.doi.org/10.4204/EPTCS.22.5 .[13] Cormac Flanagan, Amr Sabry, Bruce F. Duba & Matthias Felleisen (1993):
The Essence of Compiling withContinuations . In: PLDI, pp. 237–247. Available at http://doi.acm.org/10.1145/155090.155113 .[14] Jean-Yves Girard (1987):
Linear Logic . Theoretical Computer Science 50, pp. 1–102. Available at http://dx.doi.org/10.1016/0304-3975(87)90045-4 .[15] Hugo Herbelin & St´ephane Zimmermann (2009):
An Operational Account of Call-by-Value Minimaland Classical lambda-Calculus in ”Natural Deduction” Form . In: TLCA, pp. 142–156. Available at http://dx.doi.org/10.1007/978-3-642-02273-9_12 .[16] Delia Kesner & St´ephane Lengrand (2007):
Resource operators for lambda-calculus . Inf. Comput. 205(4),pp. 419–473. Available at http://dx.doi.org/10.1016/j.ic.2006.08.008 .[17] Olivier Laurent (1999):
Polarized Proof-Nets: Proof-Nets for LC . In: TLCA, pp. 213–227. Available at http://dx.doi.org/10.1007/3-540-48959-2_16 .[18] Olivier Laurent (2002): ´Etude de la polarisation en logique . Th`ese de doctorat, Universit´e Aix-Marseille II.[19] Olivier Laurent (2003):
Polarized proof-nets and lm -calculus . Theor. Comput. Sci. 290(1), pp. 161–188.Available at http://dx.doi.org/10.1016/S0304-3975(01)00297-3 .[20] Ian Mackie (2005): Encoding Strategies in the Lambda Calculus with Interaction Nets . In: IFL, pp. 19–36.Available at http://dx.doi.org/10.1007/11964681_2 .[21] John Maraist, Martin Odersky, David N. Turner & Philip Wadler (1999):
Call-by-name, Call-by-value,Call-by-need and the Linear lambda Calculus . Theor. Comput. Sci. 228(1-2), pp. 175–210. Available at http://dx.doi.org/10.1016/S0304-3975(98)00358-2 .[22] Gordon D. Plotkin (1975):
Call-by-Name, Call-by-Value and the lambda-Calculus . Theor.Comput.Sci.1(2),pp. 125–159. Available at http://dx.doi.org/10.1016/0304-3975(75)90017-1 .[23] Alberto Pravato, Simona Ronchi Della Rocca & Luca Roversi (1999):
The call-by-value l -calculus: a semantic investigation . Math. Str. in Comput. Sci. 9(5), pp. 617–650. Available at http://dx.doi.org/10.1017/S0960129598002722 .[24] Laurent Regnier (1992): Lambda-calcul et r´eseaux . PhD thesis, Univ. Paris VII.[25] Amr Sabry & Matthias Felleisen (1993):
Reasoning about Programs in Continuation-Passing Style . LispandSymbolicComputation6(3-4), pp. 289–360. Available at http://dx.doi.org/10.1007/BF01019462 .[26] Paolo Tranquilli (2009):
Nets Between Determinism and Nondeterminism . Ph.D. thesis, Universit`a degliStudi Roma Tre/Universit´e Paris Diderot (Paris 7).[27] Paolo Tranquilli (2011):
Intuitionistic differential nets and lambda-calculus . Theor. Comput. Sci. 412(20),pp. 1979–1997. Available at http://dx.doi.org/10.1016/j.tcs.2010.12.022 .[28] Lionel Vaux (2007): l -calcul diff´erentiel et logique classique: interactions calculatoires-calcul diff´erentiel et logique classique: interactions calculatoires