On bunched typing

We study a typing scheme derived from a semantic situation where a single category possesses several closed structures, corresponding to different varieties of function type. In this scheme typing contexts are trees built from two (or more) binary combining operations, or in short, bunches. Bunched typing and its logical counterpart, bunched implications, have arisen in joint work of the author and David Pym. The present paper gives a basic account of the type system, and then focusses on concrete models that illustrate how it may be understood in terms of resource access and sharing. The most basic system has two context-combining operations, and the structural rules of Weakening and Contraction are allowed for one but not the other. This system includes a multiplicative, or substructural, function type −∗ alongside the usual (additive) function type $\rightarrow$; it is dubbed the $\alpha\lambda$-calculus after its binders, $\alpha$ for the $\alpha$dditive binder and $\lambda$ for the multiplicative, or $\lambda$inear, binder. We show that the features of this system are, in a sense, complementary to calculi based on linear logic; it is incompatible with an interpretation where a multiplicative function uses its argument once, but perfectly compatible with a reading based on sharing of resources. This sharing interpretation is derived from syntactic control of interference, a type-theoretic method of controlling sharing of storage, and we show how bunch-based management of Contraction can be used to provide a more flexible type system for interference control.

[1]  WadlerPhilip Is there a use for linear logic , 1991 .

[2]  Peter W. O'Hearn,et al.  The Logic of Bunched Implications , 1999, Bulletin of Symbolic Logic.

[3]  Peter W. O'Hearn,et al.  From Algol to polymorphic linear lambda-calculus , 2000, JACM.

[4]  Peter W. O'Hearn,et al.  BI as an assertion language for mutable data structures , 2001, POPL '01.

[5]  Andrew Barber,et al.  Dual Intuitionistic Linear Logic , 1996 .

[6]  Yves Lafont,et al.  The Linear Abstract Machine , 1988, Theor. Comput. Sci..

[7]  Christian Retoré,et al.  Pomset Logic: A Non-commutative Extension of Classical Linear Logic , 1997, TLCA.

[8]  P. Schroeder-Heister Structural frameworks, substructural logics, and the role of elimination inferences , 1991 .

[9]  John C. Reynolds,et al.  Intuitionistic reasoning about shared mutable data structure , 1999 .

[10]  François Fages,et al.  Concurrent Constraint Programming and Non-commutative Logic , 1997, CSL.

[11]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[12]  Nick Benton,et al.  A Mixed Linear and Non-Linear Logic: Proofs, Terms and Models (Extended Abstract) , 1994, CSL.

[13]  Samson Abramsky,et al.  Computational Interpretations of Linear Logic , 1993, Theor. Comput. Sci..

[14]  B. Day On closed categories of functors , 1970 .

[15]  R. D. Tennent,et al.  Applications of Categories in Computer Science: Semantics of local variables , 1992 .

[16]  Peter W. O'Hearn,et al.  Objects, interference and the Yoneda embedding , 1995, MFPS.

[17]  Peter W. O'Hearn,et al.  Algol-Like Languages: v. 2 , 1996 .

[18]  David J. Pym,et al.  The semantics and proof theory of the logic of bunched implications , 2002, Applied logic series.

[19]  Per Brinch Hansen,et al.  Operating System Principles , 1973 .

[20]  Peter W. O'Hearn,et al.  Local Reasoning about Programs that Alter Data Structures , 2001, CSL.

[21]  David J. Pym,et al.  A Relevant Analysis of Natural Deduction , 1998, J. Log. Comput..

[22]  David K. Gifford,et al.  Polymorphic effect systems , 1988, POPL '88.

[23]  Peter W. O'Hearn,et al.  Linear Continuation-Passing , 2002, High. Order Symb. Comput..

[24]  John W. Gray,et al.  Formal category theory: adjointness for 2-categories , 1974 .

[25]  Luca Cardelli,et al.  A Spatial Logic for Querying Graphs , 2002, ICALP.

[26]  Alan Weir,et al.  Relevant Logic: A Philosophical Examination of Inference , 1990 .

[27]  Peter W. O'Hearn Linear Logic and Interference Control , 1991, Category Theory and Computer Science.

[28]  Uday S. Reddy,et al.  A linear logic model of state , 1993 .

[29]  John C. Reynolds,et al.  The essence of ALGOL , 1997 .

[30]  G. M. Kelly,et al.  Algebraic categories with few monoidal biclosed structures or none , 1980 .

[31]  Peter W. O'Hearn,et al.  Algol-like Languages , 1997, Progress in Theoretical Computer Science.

[32]  J. Michael Dunn,et al.  Relevance Logic and Entailment , 1986 .

[33]  Gavin M. Bierman What is a Categorical Model of Intuitionistic Linear Logic? , 1995, TLCA.

[34]  Peter W. O'Hearn A Model for Syntactic Control of Interference , 1993, Math. Struct. Comput. Sci..

[35]  Peter W. O'Hearn Semantics of noninterference: a natural approach , 1992 .

[36]  John C. Reynolds,et al.  Syntactic control of interference , 1978, POPL.

[37]  Frank Pfenning,et al.  Natural Deduction for Intuitionistic Non-communicative Linear Logic , 1999, TLCA.

[38]  David Walker,et al.  Alias Types for Recursive Data Structures , 2000, Types in Compilation.

[39]  Frank J. Oles,et al.  A category-theoretic approach to the semantics of programming languages , 1982 .

[40]  Peter W. O'Hearn,et al.  Syntactic Control of Interference Revisited , 1999, Theor. Comput. Sci..

[41]  P. W. O'hearn Resource interpretations, bunched implications and the αλ-calculus , 1999 .

[42]  Luca Cardelli,et al.  Anytime, anywhere: modal logics for mobile ambients , 2000, POPL '00.

[43]  R. A. G. Seely,et al.  Linear Logic, -Autonomous Categories and Cofree Coalgebras , 1989 .

[44]  Nuel Belnap,et al.  Display logic , 1982, J. Philos. Log..

[45]  Philip Wadler Is there a use for linear logic , 1991 .

[46]  John C. Reynolds,et al.  Syntactic Control of Inference, Part 2 , 1989, ICALP.

[47]  Peter W. O'Hearn,et al.  Resource Interpretations, Bunched Implications and the alpha lambda-Calculus , 1999, TLCA.