Non determinism through type isomorphism
DD. Kesner and P. Viana (Eds.): LSFA 2012EPTCS 113, 2013, pp. 137–144, doi:10.4204/EPTCS.113.13 c (cid:13)
A. D´ıaz-Caro and G. DowekThis work is licensed under theCreative Commons Attribution License.
Non determinism through type isomorphism
Alejandro D´ıaz-Caro ∗ Universit´e Paris 13, Sorbonne Paris Cit´e, LIPNUniversit´e Paris-Ouest Nanterre La D´efenseINRIA
Gilles Dowek
INRIA23 avenue d’Italie, CS 81321,75214 Paris Cedex 13
We define an equivalence relation on propositions and a proof system where equivalent propositionshave the same proofs. The system obtained this way resembles several known non-deterministic andalgebraic lambda-calculi.
Several non-deterministic extensions to the l -calculus have been proposed, e.g. [6, 7, 10–12, 24]. Inthese approaches, the parallel composition (sometimes called the must-convergent parallel composition)is such that if r and s are two l -terms, the term r + s (also written r k s ) represents the computation thatruns either r or s non-deterministically. It is common to consider in these approaches the associativityand commutativity of the operator + . Indeed the interpretation “either r or s runs” shall not prioritise anyof them, and so “either s or r runs” must be represented by the same term. Moreover, ( r + s ) t can runeither rt or st , which is the same expressed by rt + st . Extra equivalences (or rewrite rules, dependingon the presentation) are set up to account for such an interpretation, e.g. ( r + s ) t ↔ rt + st . This rightdistributivity can alternatively be seen as the one of function sum: ( f + g )( x ) is defined pointwise as f ( x ) + g ( x ) . This is the approach of the algebraic lambda-calculi [3, 26], two independently introducedalgebraic extensions which resulted strongly related afterwards [4,15]. In these algebraic calculi, a scalarpondering each ‘choice’ is considered in addition to the sum of terms.Because of these equivalences between terms, it is natural to think that a typed version must allowsome equivalences at the type level. Definitely, if r and s are typed with types A and B respectively, it isnatural to expect that whatever connective tie these types in order to type r + s , it must be commutativeand associative.An independent stream of research is the study of isomorphisms between types for several languages(see [13] for a reference). For example, we know that the propositions A ∧ B and B ∧ A are equiprovable:one is provable if and only if the other is, but they do not have the same proofs. If r is a proof of A and s is a proof of B , then h r , s i is a proof of A ∧ B while h s , r i is a proof of B ∧ A . Despite that bothproofs can be derived from the same hypotheses, they are not the same. In this paper, we show howthe non-determinism arises naturally in a classic context only by introducing some equivalences betweentypes. These equivalences, nevertheless, will be chosen among valid, well-known isomorphisms. Inorder to consider these isomorphic types as equivalent, we need to design a proof system such that theyhave the same proofs, or conversely, in order to consider these terms to be equivalent, we need to makethese isomorphic types to be equivalent. Formally, two types A and B are isomorphic if there are twoconversion functions f of type A ⇒ B and g of type B ⇒ A , such that g ( f ( x )) = x for any x of type A and f ( g ( y )) = y for any y of type B . Hence, in this system the conversion functions f and g should becomeand identity function. In other words, we take the quotient of the set of propositions by the relation ∗ This work was supported by grants from DIGITEO and R´egion ˆIle-de-France.
38 Nondeterminism through type isomorphismgenerated by the isomorphisms of types and define proofs for elements in this quotient. In System Fwith products, which correspond to the propositional logic with universal quantifier, conjunction andimplication, the full list of isomorphisms is known [13], and it is summarised in Figure 1.1. A ∧ B ≡ B ∧ A A ∧ ( B ∧ C ) ≡ ( A ∧ B ) ∧ C A ⇒ ( B ∧ C ) ≡ ( A ⇒ B ) ∧ ( A ⇒ C ) ( A ∧ B ) ⇒ C ≡ A ⇒ ( B ⇒ C ) A ⇒ ( B ⇒ C ) ≡ B ⇒ ( A ⇒ C ) ∀ X . ∀ Y . A ≡ ∀ Y . ∀ X . A ∀ X . A ≡ ∀ Y . A [ Y / X ] ∀ X . ( A ⇒ B ) ≡ A ⇒ ∀ X . B if X / ∈ FV ( A ) ∀ X . ( A ∧ B ) ≡ ∀ X . A ∧ ∀ X . B ∀ X . ( A ∧ B ) ≡ ∀ X . ∀ Y . ( A ∧ ( B [ Y / X ])) Figure 1:
All the type isomorphisms in propositional logic with universal quantifier, non-idempotentconjunction and implicationIn this work, we consider only the three first isomorphisms of this list, because they are those thatarise naturally when studying non deterministic processes. The impact of the others is left for futurework.
A BA ∧ B Usually, for the deduction rule on the right if we call r the proof of A and s that of B , wewrite r , s or h r , s i the proof of A ∧ B . However if A ∧ B and B ∧ A are the same proposition,we get r , s and s , r to be the same term. Let us write “ + ” to the commutative comma andset the rule r : A s : B r + s : A ∧ B . In the same way, the associativity of ∧ induces that of + . Furthermore, the isomorphism (3) ofFigure 1 induces the following equivalence on proofs. If r is a proof of A ⇒ B , s one of A ⇒ C , and t one of A then r + s is a proof of A ⇒ ( B ∧ C ) and ( r + s ) t is a proof of B ∧ C . This proof is the same as rt + st . Summarising, from the equivalences between types we obtained a commutative and associative + , which is such that the application right-distributes over it.Several non-classical type systems have been already proposed for the non-deterministic and alge-braic calculi, e.g. [1, 2, 16]. In these systems there is already an equivalence relation on propositionssuch that if A ≡ B and A types a term, then also B types it. Such equivalence is reminiscent of typetheory [9,22] and deduction modulo [17,19]. But here we go further, introducing an equivalence relationthat equates types built with different connectives such as A ⇒ ( B ∧ C ) and ( A ⇒ B ) ∧ ( A ⇒ C ) , whichis not possible there. Moreover, there is no elimination rule for conjunction in [1, 2, 16]. Indeed, havingcommutativity and associativity properties in both, the sums of terms and the conjunctions of proposi-tions, leads to uncertainty on how to eliminate them. A rule like “ r : A ∧ B implies p ( r ) : A ”, would notbe consistent. If A and B are two arbitrary types, s a term of type A and t a term of type B , then s + t hasboth types A ∧ B and B ∧ A , thus p ( s + t ) would have both type A and type B . Hence, a naive rule wouldlead to inconsistency. The projection would project a random term of any of the types of its arguments,so not being a trustfully valid proof for any proposition.The approach we follow here is to consider explicitly typed terms (Church style), and hence makethe projection to depend on the type: if r : A ∧ B then p A ( r ) : A . This way, we recover consistency ofthe proof system. This new form of projection entails allowing some non-determinism directly in therewrite system. Indeed, if r and s have the same type A , p A ( r + s ) both reduces to r and to s . A priori We could chose another symbol, however + is the one used in most non-deterministic settings. .D´ıaz-Caro and G.Dowek 139this does not entail any problem; any of them is a valid proof of the same proposition A . This approachcan be summarised by the slogan “the subject reduction property is more important than the uniquenessof results” [18]. Therefore the projection turns the non-deterministic choice explicit.We formalise all of the previously discussed concepts in Section 2, where we present the calculus l + , and provide some examples. Section 3 The next section is devoted to prove that our system enjoysthe subject reduction property. In Section 4 we discuss the relation of this setting with respect to thealgebraic approach. Finally, Section 5 concludes the paper with suggestions for future research. In this section we present the calculus l + , an explicitly typed lambda-calculus extended with a + operatoras discussed in the introduction. We consider the following grammar of types A , B , C , . . . :: = X | A ⇒ B | A ∧ B | ∀ X . A , where the isomorphisms (1), (2) and (3) from Figure 1 are made explicit by an equivalence relationbetween types A ∧ B ≡ B ∧ A , ( A ∧ B ) ∧ C ≡ A ∧ ( B ∧ C ) and A ⇒ ( B ∧ C ) ≡ ( A ⇒ B ) ∧ ( A ⇒ C ) . The set of terms L is defined inductively by the grammar r , s , t :: = x A | l x A . r | rs | r + s | p A ( r ) | L X . r | r { A } . All our variable occurrences are explicitly typed, but we usually omit the superscript indicating thetype of variables when it is clear from the context. For example we write l x A . x instead of l x A . x A . The a -conversion and the sets FV ( r ) of free variables of r and FV ( A ) of free variables of A are definedas usual in the l -calculus (cf. [5, § FV ( x A y B ) = { x A , y B } . The same variable, withdifferent types, is treated as a different variable. For example, the term l x A . x B : A ⇒ B is typable in oursystem, and it is the constant function x B , since x B is free in the term l x A . x B . We say that a term r is closed whenever FV ( r ) = /0. Given two terms r and s we denote by r [ s / x ] the term obtained by simul-taneously substituting the term s for all the free occurrences of x in r , subject to the usual proviso aboutrenaming bound variables in r to avoid capture of the variables free in s . Analogously A [ B / X ] denotesthe substitution of the type B for all the free occurrences of X in A , and r [ B / X ] the substitution in r . Forexample, ( x A )[ B / Y ] = x ( A [ B / Y ]) , ( l x A . r )[ B / X ] = l x A [ B / X ] . r [ B / X ] and ( p A ( r ))[ B / X ] = p A [ B / X ] ( r [ B / X ]) .Simultaneous substitutions are defined in the same way. Finally, terms and types are considered up to a -conversion.Each term of the language has a main type associated, which can be obtained from the type anno-tations, and other types induced by the type equivalences. The type system for l + is given in Figure 2.If FV ( r ) = { x A , . . . , x A n n } , we write G ( r ) = { A , . . . , A n } . FV ( { A , . . . , A n } ) is defined by S ni = FV ( A i ) . Typing judgements are of the form r : A . A term r is typable if there exists a type A such that r : A .Lemma 2.1 states that the typing modulo equivalences is unique. Lemma 2.1. If r : A and r : B, then A ≡ B.Proof.
Without rule ≡ , the type system is syntax directed. The only rule able to modify the type of aterm without changing it is ≡ .40 Nondeterminism through type isomorphism axx A : A [ A ≡ B ] r : A ≡ r : B r : B ⇒ I l x A . r : A ⇒ B r : A ⇒ B s : A ⇒ E rs : B r : A s : B ∧ I r + s : A ∧ B r : A ∧ B ∧ E p A ( r ) : A [ X / ∈ FV ( G ( r ))] r : A ∀ I L X . r : ∀ X . A r : ∀ X . A ∀ E r { B } : A [ B / X ] Figure 2:
The type system for l + The operational semantics of the calculus is given in Figure 3, where there are two distinct relationsbetween terms: ֒ → and a symmetric relation ⇄ . We write ⇄ ∗ and ֒ → ∗ for the transitive and reflexiveclosures of ⇄ and ֒ → respectively. In particular, notice that ⇄ ∗ is an equivalence relation. Symmetric relation: r + s ⇄ s + r , ( r + s ) + t ⇄ r + ( s + t ) , ( r + s ) t ⇄ rt + st , l x A . ( r + s ) ⇄ l x A . r + l x A . s , If r : A ⇒ ( B ∧ C ) , then p A ⇒ B ( r ) s ⇄ p B ( rs ) . Reductions: ( l x A . r ) s ֒ → r [ s / x ] , ( L X . r ) { A } ֒ → r [ A / X ] , If r : A , then p A ( r + s ) ֒ → r . Figure 3:
Operational semantics of l + Example 2.2.
We have l x A ∧ B . x : ( A ∧ B ) ⇒ ( A ∧ B ) and so by rule ≡ , l x A ∧ B . x : (( A ∧ B ) ⇒ A ) ∧ (( A ∧ B ) ⇒ B ) , from which we can obtain p ( A ∧ B ) ⇒ A ( l x A ∧ B . x ) : ( A ∧ B ) ⇒ A . Let r : A ∧ B , then p ( A ∧ B ) ⇒ A ( l x A ∧ B . x ) r : A , and notice that p ( A ∧ B ) ⇒ A ( l x A ∧ B . x ) r ⇄ p A (( l x A ∧ B . x ) r ) ֒ → p A ( r ) . Example 2.3.
Let TF = l x A . l y B . ( x + y ) . It is easy to check that TF : A ⇒ B ⇒ ( A ∧ B ) , and by rule ≡ italso has the type ( A ⇒ B ⇒ A ) ∧ ( A ⇒ B ⇒ B ) . Therefore, p A ⇒ B ⇒ A ( TF ) : A ⇒ B ⇒ A is well typed. Inaddition, if r : A and s : B , we have p A ⇒ B ⇒ A ( TF ) rs : A .Notice that p A ⇒ B ⇒ A ( TF ) rs ⇄ p B ⇒ A ( TFr ) s ⇄ p A ( TFrs ) ֒ → p A (( l y B . ( r + y )) s ) ֒ → p A ( r + s ) ֒ → r ,which is coherent with such typing. Example 2.4.
Let T = l x A . l y B . x and F = l x A . l y B . y . Then T + F : ( A ⇒ B ⇒ A ) ∧ ( A ⇒ B ⇒ B ) , hence p ( A ⇒ B ⇒ A ) ∧ ( A ⇒ B ⇒ B ) ( T + F + TF ) reduces non-deterministically either to T + F or to TF . Moreover, noticethat T + F ⇄ ∗ TF , hence in this very particular case, the non-deterministic choice does not play any role. In this section we prove that the set of types assigned to a term is invariant under ⇄ and ֒ → . In otherwords, Theorem 3.2 states that if r is a proof of A , any reduction fired from r will still be a proof of A .The substitution lemma below will be the key ingredient in the proof of subject reduction. It ensuresthat when substituting types for type variables or terms for term variables, in an adequate manner, thetyping judgements remain valid. Lemma 3.1 (Substitution) . If r : B and s : A, then r [ s / x A ] : B. Also, If r : A, then r [ B / X ] : A [ B / X ] .Proof. By induction over r for the first result and over the type derivation for the second..D´ıaz-Caro and G.Dowek 141Now we can prove the subject reduction property, ensuring that the typing is preserved during reduction. Theorem 3.2 (Subject reduction) . If r → s and r : A, then s : A (where → is either ֒ → or ⇄ ).Proof. By induction over the reduction relation. We give only two interesting cases.
Rule p A ⇒ B ( r ) s ⇄ p B ( rs ) , with r : A ⇒ ( B ∧ C ) . Let p A ⇒ B ( r ) s : D , then p A ⇒ B ( r ) : E ⇒ D and s : E . Butthen E ≡ A and D ≡ B , because clearly, the main type for p A ⇒ B ( · ) is A ⇒ B , so r : ( A ⇒ B ) ∧ F , howeversince r : A ⇒ ( B ∧ C ) , we have F ≡ A ⇒ C . So, by rule ⇒ E , rs : B ∧ C . We conclude by rule ∧ E . Forthe inverse direction, let p B ( rs ) : D . Then D ≡ B and rs : B ∧ E , so r : F ⇒ ( B ∧ E ) and s : F . Hence,since r : A ⇒ ( B ∧ C ) , by Lemma 2.1, we have F ≡ A and E ≡ C , so p A ⇒ B ( r ) : A ⇒ B , from which, weconclude p A ⇒ B ( r ) s : B . We conclude by rule ≡ . Rule ( l x A . r ) s ֒ → r [ s / x ] . Let ( l x A . r ) s : B , then l x A . r : C ⇒ D and s : C , with D ≡ B . Then r : E , with A ⇒ E ≡ C ⇒ D . Notice that, since A ⇒ E ≡ C ⇒ D , it must be A ≡ C and E ≡ D . Then, by rule ≡ , s : A , and so, by Lemma 3.1, r [ s / x A ] : E , and since E ≡ D ≡ B , by rule ≡ , we obtain r [ s / x A ] : B . In [3] and [26] two algebraic extensions of the untyped lambda-calculus are introduced, which we call l lin and l alg respectively. In these settings, not only the + operator is present, but also a scalar ponderingeach choice. Hence, if r and s are two possible terms, so is the linear combination of them a . r + b . s ,with a , b some kind of scalars (taken from a generic ring in l lin or from R ≥ in l alg ). Both these calculiidentify the term ( r + s ) t with rt + st , either with a rewrite system or an equality, and + is associativeand commutative. Also, the scalars interact with the + , e.g. r + r ↔ . r . By restricting the scalars topositive real numbers, or even to natural numbers, one possible interpretation is that the scalars give theprobability of following one possible path (after ‘normalising’ the scalars, i.e. dividing over the totalamount in order to sum up to 1). In this way, the term 2 . r + s is twice more likely to run r than s .Indeed, in [1, §
6] the type system B for l lin is proposed, which can decide whether a superpositionis a probability distribution (i.e. it can check that the sum of terms is up to 1). Such a system includesscalars at the type level, reflecting those in the terms, so a . r has type a . A whenever r has type A . Thisprovides a powerful tool to account for the scalars within the terms, however it entails a ‘non-classical’extension of System F with scalars pondering the types. In such a formalism, there is no possibility to tieterms with different types: if r and s have both type A , then a . r + b . s have type ( a + b ) . A , however if thetypes of r and s differ, the previous term cannot be typed. That weakness is solved in [2], where a morepowerful system is introduced, with a type system also allowing for linear combination of types, just likefor terms. In both these systems, while powerful, it is hard to establish a connection with a well-knownlogic. That is precisely the goal of [8], where a more ‘classic’ system is developed, with no scalarsat the type level. However it carries some costs: first, it is only meant for positive real scalars (whichanyway is enough for a ‘probabilistic’ interpretation), and more importantly, the type system gives justan approximation, an upper bound, of the scalars in the terms.We could envisage extending l + with a more thorough projection where p A ( a . r + b . s ) would output p A ( r + p A ( s + t ) + t ) ~ ~ ⑤⑤⑤⑤⑤⑤⑤⑤⑤⑤⑤⑤⑤⑤⑤⑤⑤⑤ ❇❇❇❇❇❇❇❇❇❇❇❇❇❇❇❇❇❇ (cid:15) (cid:15) p A ( s + t ) (cid:15) (cid:15) ( ( ◗◗◗◗◗◗◗◗◗◗◗◗ r s t either r , with probability a , or s with probability b . However,even when the scalars are not explicitly written, the probabilitiesare present. The following example is clarifying.Let r : A , s : A and t : A . Then, the reductions depicted inthe diagram at right are possible. If we consider p A makingan equiprobable choice instead of a non-deterministic one, it is42 Nondeterminism through type isomorphismclear that t have more probability to be reached, followed by r ,and the less likely is s . p A ( r + p A ( s + t ) + t ) } } ③③③③③③③③③③③③③③③③③③ ! ! ❈❈❈❈❈❈❈❈❈❈❈❈❈❈❈❈❈❈❈ (cid:15) (cid:15) p A ( s + t ) (cid:15) (cid:15) ( ( ❘❘❘❘❘❘❘❘❘❘❘❘❘ r s t Indeed, we can calculate the global probability of reach-ing each possibility by labelling the reductions with its localprobability as shown in the diagram at left, from where justby summing up the labels reaching a term, and multiplyingthose in the same path, we can easily check that the term r hasprobability of being reached, the term s probability andthe term t probability . Hence, this term would be expressedwith scalars as r + s + t according to the previously dis-cussed interpretation. Therefore, l + could be seen as a sortof algebraic calculus, with implicit scalars taken from Q [ , ] , typed with a standard type system. Theseideas will be fully developed in a future research. In this paper we have introduced l + , a proof system for second order propositional logic with an associa-tive and commutative conjunction, and implication. In this system, isomorphic propositions get the sameproofs. At this first step we only consider three isomorphisms, namely commutativity and associativityof the conjunction, and distributivity of implication with respect to conjunction. We use the symbol + to put together the proofs of different propositions, so r + s becomes a proof of A ∧ B , if r is a proof of A and s a proof of B . Such a symbol is commutative and associative, and application is right-distributivewith respect to it, to account for the isomorphisms of propositions.This construction entails a non-deterministic projection where if a proposition has two possibleproofs, the projection of its conjunction can output any of them. For example, if r and s are two possibleproofs of A , then p A ( r + s ) will output either r or s .In several works (cf. [21, § + , and instead of distributing over application, it actually makes the non-deterministic choice. Hence ( r + s ) t reduces either to rt or to st [10]. The second one, denoted by k , doesnot make the choice, and therefore ( r k s ) t reduces to rt k st [12]. One way to interpret these operatorsis that the first one is a non-deterministic one, while the second is the parallel composition. Anothercommon interpretation is that + is a may-convergent non-deterministic operator, where type systemsensure that at least one branch converges, while k is a must-convergent non-deterministic operator, whereboth branches are meant to converge [7, 14]. In our setting, the + operator in l + behaves like k , and anextra operator ( p A ) induces the non-deterministic choice. The main point is that this construction arosenaturally just by considering some of the isomorphisms between types as an equivalence relation. Inorder to ensure that our system is must-convergent, we shall prove its strong normalisation, which is leftfor future research. As mentioned in Section 4, the calculus l + has implicit scalars on it, which can convert this non-deterministic setting into a probabilistic one. The original motivation behind l lin [3] and its vectorial type system [2] was to encode quantum computing on it. A projection depending on scalars could lead to.D´ıaz-Caro and G.Dowek 143a measurement operator in a future design—after other questions like deciding orthogonality [25] havebeen addressed in that setting. This is a promising future direction we are willing to take.In order to follow such direction, a first step is to move to a call-by-value calculus, where r ( s + t ) ⇄ rs + rt (because a non-deterministic choice yet to make, is not considered to be a value). Thereason to move to call-by-value is explained with the following example. Consider for instance the term d = l x . xx applied to a sum r + s . In call-by-name it reduces to ( r + s )( r + s ) while in a call-by-valuestrategy ( l lin ) the same term reduces to d r + d s first, and then to rr + ss . If seeking for a quantuminterpretation, reducing d ( r + s ) into ( r + s )( r + s ) is considered as the forbidden quantum operation of“cloning” [27], while the alternative reduction to rr + ss is seen as a “copy”, or CNOT, a fundamentalquantum operation [23].In order to account for such an equivalence, r ( s + t ) ⇄ rs + rs , we would need an equivalence atthe type level such as ( A ∧ B ) ⇒ C ≡ ( A ⇒ C ) ∧ ( B ⇒ C ) , however it is clearly false. A workaroundwhich have been used already in the vectorial type system [2] is to use the polymorphism instead ofan equivalence. If r have type ∀ X . X ⇒ C X , then we can specialise X to the needed argument. Indeed, ∀ X . X ⇒ C X entails both A ⇒ C A and B ⇒ C B , which can latter be tied by a conjunction.Another prominent future work is to determine what is needed for the remaining isomorphisms(cf. Figure 1). In a work by Garrigue and A¨ıt-Kaci [20], the isomorphism A ∧ B ≡ B ∧ A has beenindirectly treated by combining it with currying: ( A ∧ B ) ⇒ C ≡ A ⇒ B ⇒ C (cf. isomorphism (4) of Fig-ure 1), from which it can be deduced the isomorphism A ⇒ ( B ⇒ C ) ≡ B ⇒ ( A ⇒ C ) (cf. isomorphism (5)of Figure 1). Their proposal is the selective l -calculus, a calculus including labellings to identify whichargument is being used at each time. Moreover, by considering the Church encoding of pairs, isomor-phism (5) implies isomorphism (1) (commutativity of ∧ ). However their proposal is completely differentto ours, and the non-determinism cannot be inferred from the selective l -calculus. Acknowledgements.
We would like to thank Fr´ed´eric Blanqui, Michele Pagani and Giulio Manzonettofor enlightening discussions.
References [1] P. Arrighi & A. D´ıaz-Caro (2012):
A System F Accounting for Scalars . LogicalMethodsinComputerScience8(1:11), doi:10.2168/LMCS-8(1:11)2012.[2] P. Arrighi, A. D´ıaz-Caro & B. Valiron (2012):
A Type System for the Vectorial Aspects of the Linear-AlgebraicLambda-Calculus . In E. Kashefi, J. Krivine & F. van Raamsdonk, editors: Proceedings of DCM-2011,EPTCS 88, pp. 1–15, doi:10.4204/EPTCS.88.1.[3] P. Arrighi & G. Dowek (2008):
Linear-algebraic l -calculus: higher-order, encodings, and confluence . InA. Voronkov, editor: ProceedingsofRTA-2008, LNCS 5117, pp. 17–31, doi:10.1007/978-3-540-70590-1 2.Available at arXiv:quant-ph/0612199 .[4] A. Assaf & S. Perdrix (2012): Completeness of Algebraic CPS Simulations . In E. Kashefi, J. Krivine & F. vanRaamsdonk, editors: ProceedingsofDCM-2011, EPTCS 88, pp. 16–27, doi:10.4204/EPTCS.88.2.[5] H. Barendregt (1984):
The Lambda Calculus: Its Syntax and Semantics . North-Holland, Amsterdam.[6] G. Boudol (1994):
Lambda-Calculi for (Strict) Parallel Functions . InformationandComputation108(1), pp.51–127, doi:10.1006/inco.1994.1003.[7] A. Bucciarelli, T. Ehrhard & G. Manzonetto (2012):
A Relational Semantics for Parallelism andNon-Determinism in a Functional Setting . Annals of Pure and Applied Logic 163(7), pp. 918–934,doi:10.1016/j.apal.2011.09.008. Available at hal.inria.fr:inria-00628887 .
44 Nondeterminism through type isomorphism [8] P. Buiras, A. D´ıaz-Caro & M. Jaskelioff (2012):
Confluence via Strong Normalisation in an Algebraic l -Calculus with Rewriting . In S. Ronchi della Rocca & E. Pimentel, editors: Proceedings of LSFA-2011,EPTCS 81, pp. 16–29, doi:10.4204/EPTCS.81.2.[9] T. Coquand & G. Huet (1988): The Calculus of Constructions . Informationand Computation 76(2–3), pp.95–120, doi:10.1016/0890-5401(88)90005-3. Available at hal.inria.fr:inria-00076024 .[10] U. de’Liguoro & A. Piperno (1995):
Non Deterministic Extensions of Untyped l -calculus . InformationandComputation122(2), pp. 149–177, doi:10.1006/inco.1995.1145.[11] M. Dezani-Ciancaglini, U. de’Liguoro & A. Piperno (1996): Filter models for conjunctive-disjunctivelambda-calculi . TheoreticalComputerScience170(1–2), pp. 83–128, doi:10.1016/S0304-3975(96)80703-1.[12] M. Dezani-Ciancaglini, U. de’Liguoro & A. Piperno (1998):
A filter model for concurrent l -calculus . SIAMJournalonComputing27(5), pp. 1376–1419, doi:10.1137/S0097539794275860.[13] R. Di Cosmo (1995): Isomorphisms of types: from l -calculus to information retrieval and language design .Progress in Theoretical Computer Science, Birkhauser, doi:10.1007/978-1-4612-2572-0.[14] A. D´ıaz-Caro, G. Manzonetto & M. Pagani (2013): Call-by-value non-determinism in a linear logic typediscipline . In S. Artemov & A. Nerode, editors: Proceedings of LFCS’13, LNCS 7734, pp. 164–178,doi:10.1007/978-3-642-35722-0 12.[15] A. D´ıaz-Caro, S. Perdrix, C. Tasson & B. Valiron (2010):
Equivalence of Algebraic l -calculi . In: HOR-2010,pp. 6–11. Available at arXiv:1005.2897v1 .[16] A. D´ıaz-Caro & B. Petit (2012): Linearity in the non-deterministic call-by-value setting . InL. Ong & R. de Queiroz, editors: Proceedings of WoLLIC’12, LNCS 7456, pp. 216–231,doi:10.1007/978-3-642-32621-9 16. Available at arXiv:1011.3542 .[17] G. Dowek, T. Hardin & C. Kirchner (2003):
Theorem proving modulo . Journal of Automated Reasoning31(1), pp. 33–72, doi:10.1023/A:1027357912519.[18] G. Dowek & T. Jiang (2011):
On the expressive power of schemes . Informationand Computation 209, pp.1231–1245, doi:10.1016/j.ic.2011.06.003.[19] G. Dowek & B. Werner (2003):
Proof normalization modulo . The Journal of Symbolic Logic 68(4), pp.1289–1316, doi:10.2178/jsl/1067620188.[20] J. Garrigue & H. A¨ıt-Kaci (1994):
The typed polymorphic label-selective l -calculus . In: Proceedings ofPOPL’94, ACM SIGPLAN, pp. 35–47, doi:10.1145/174675.174434.[21] G. Manzonetto (2008): Models and theories of lambda calculus . Ph.D. thesis, Universit`a Ca’Foscari (Venice)and Universit´e Paris Diderot (Paris 7). Available at tel.archives-ouvertes.fr:tel-00715207 .[22] P. Martin-L¨of (1984):
Intuitionistic type theory . Studies in proof theory, Bibliopolis.[23] C. Monroe, D. Meekhof, B. King, W. Itano & D. Wineland (1995):
Demonstration of a Fundamental Quan-tum Logic Gate . PhysicalReviewLetters 75(25), pp. 4714–4717, doi:10.1103/PhysRevLett.75.4714.[24] M. Pagani & S. Ronchi Della Rocca (2010):
Linearity, non-determinism and solvability . FundamentalInfor-maticae 103(1–4), pp. 173–202, doi:10.3233/FI-2010-324.[25] B. Valiron (2010):
Orthogonality and Algebraic Lambda-Calculus . In B. Coecke, P. Panan-gaden & P. Selinger, editors: Proceedings of QPL-2010, pp. 169–175. Available at .[26] L. Vaux (2009):
The algebraic lambda calculus . Mathematical Structures in Computer Science 19(5), pp.1029–1059, doi:10.1017/S0960129509990089.[27] W.K. Wootters & W.H. Zurek (1982):