Results 1 - 10
of
26
Nominal Logic: A First Order Theory of Names and Binding
- Information and Computation
, 2001
"... This paper formalises within first-order logic some common practices in computer science to do with representing and reasoning about syntactical structures involving named bound variables (as opposed to nameless terms, explicit substitutions, or higher order abstract syntax). It introduces Nominal L ..."
Abstract
-
Cited by 142 (15 self)
- Add to MetaCart
This paper formalises within first-order logic some common practices in computer science to do with representing and reasoning about syntactical structures involving named bound variables (as opposed to nameless terms, explicit substitutions, or higher order abstract syntax). It introduces Nominal Logic, a version of first-order many-sorted logic with equality containing primitives for renaming via name-swapping and for freshness of names, from which a notion of binding can be derived. Its axioms express...
Separation and Information Hiding
, 2004
"... We investigate proof rules for information hiding, using the recent formalism of separation logic. In essence, we use the separating conjunction to partition the internal resources of a module from those accessed by the module's clients. The use of a logical connective gives rise to a form of dynami ..."
Abstract
-
Cited by 141 (18 self)
- Add to MetaCart
We investigate proof rules for information hiding, using the recent formalism of separation logic. In essence, we use the separating conjunction to partition the internal resources of a module from those accessed by the module's clients. The use of a logical connective gives rise to a form of dynamic partitioning, where we track the transfer of ownership of portions of heap storage between program components. It also enables us to enforce separation in the presence of mutable data structures with embedded addresses that may be aliased.
Resources, Concurrency and Local Reasoning
- THEORETICAL COMPUTER SCIENCE
, 2004
"... In this paper we show how a resource-oriented logic, separation logic, can be used to reason about the usage of resources in concurrent programs. ..."
Abstract
-
Cited by 124 (5 self)
- Add to MetaCart
In this paper we show how a resource-oriented logic, separation logic, can be used to reason about the usage of resources in concurrent programs.
A Context Logic for Tree Update
- In Proceedings of Workshop on Logics for Resources, Processes and Programs (LRPP’04
, 2004
"... Spatial logics have been used to describe properties of tree-like structures (Ambient Logic) and in a Hoare style to reason about dynamic updates of heap-like structures (Separation Logic). We integrate this work by analyzing dynamic updates to tree structures with pointers (such as XML with identif ..."
Abstract
-
Cited by 40 (10 self)
- Add to MetaCart
Spatial logics have been used to describe properties of tree-like structures (Ambient Logic) and in a Hoare style to reason about dynamic updates of heap-like structures (Separation Logic). We integrate this work by analyzing dynamic updates to tree structures with pointers (such as XML with identifiers and idrefs). Na ve adaptations of the previous logics are not expressive enough to capture such local updates. Instead we must explicitly reason about arbitrary tree contexts --- not just horizontal composition and vertical branching --- in order to capture updates throughout the tree. To illustrate the point, we introduce a small imperative programming language for updating our trees, small Hoare-style axioms for the commands in the style of O'Hearn, Reynolds and Yang, and show how weakest preconditions are derivable from the small axioms with a generalized frame rule. We demonstrate the generality of our approach by showing that it collapses to Separation Logic for a heap model. 1.
Manipulating Trees with Hidden Labels
- FOSSACS'03
, 2003
"... We define an operational semantics and a type system for manipulating semistructured data that contains hidden information. The data model is simple labeled trees with a hiding operator. Data manipulation is based on pattern matching, with types that track the use of hidden labels. ..."
Abstract
-
Cited by 30 (4 self)
- Add to MetaCart
We define an operational semantics and a type system for manipulating semistructured data that contains hidden information. The data model is simple labeled trees with a hiding operator. Data manipulation is based on pattern matching, with types that track the use of hidden labels.
Separation Logic Semantics of Communicating Processes
- In FICS
, 2008
"... This paper explores a unification of the ideas of Concurrent Separation Logic with those of Communicating Sequential Processes. It extends separation logic by an operator for separation in time as well as separation in space. It extends CSP in the direction of the pi-calculus: dynamic change of alph ..."
Abstract
-
Cited by 15 (0 self)
- Add to MetaCart
This paper explores a unification of the ideas of Concurrent Separation Logic with those of Communicating Sequential Processes. It extends separation logic by an operator for separation in time as well as separation in space. It extends CSP in the direction of the pi-calculus: dynamic change of alphabet is achieved by communication of channel names. Separation is exploited to ensure that each channel still has only two ends. For purposes of exploration, the model is the simplest possible, confined to traces without refusals. The treatment is sufficiently general to facilitate extensions by standard techniques for sharing multiplexed channels and heap state. 1
Spatial-Behavioral Types, Distributed Services, and Resources
- Proceedings of the Second International Symposium on Trustworthy Global Computing, Lecture Notes in Computer Science
, 2006
"... Abstract. We develop a notion of spatial-behavioral typing suitable to discipline interactions in service-based systems modeled in a distributed object calculus. Our type structure reflects a resource aware model of behavior, where a parallel composition type operator expresses resource independence ..."
Abstract
-
Cited by 10 (6 self)
- Add to MetaCart
Abstract. We develop a notion of spatial-behavioral typing suitable to discipline interactions in service-based systems modeled in a distributed object calculus. Our type structure reflects a resource aware model of behavior, where a parallel composition type operator expresses resource independence, a sequential composition type operator expresses implicit synchronization, and a modal operator expresses resource ownership. Soundness of our type system is established using a logical relations technique, building on a interpretation of types as properties expressible in a spatial logic. 1
Logical reasoning for higher-order functions with local state
- of Lecture Notes in Computer Science
, 2006
"... Abstract. We introduce an extension of Hoare logic for call-by-value higherorder functions with ML-like local reference generation. Local references may be generated dynamically and exported outside their scope, may store higherorder functions and may be used to construct complex mutable data struct ..."
Abstract
-
Cited by 10 (4 self)
- Add to MetaCart
Abstract. We introduce an extension of Hoare logic for call-by-value higherorder functions with ML-like local reference generation. Local references may be generated dynamically and exported outside their scope, may store higherorder functions and may be used to construct complex mutable data structures. This primitive is captured logically using a predicate asserting reachability of a reference name from a possibly higher-order datum and quantifiers over hidden references. The logic enjoys three completeness properties: relative completeness, a logical characterisation of the contextual congruence and derivability of characteristic formulae. We explore the logic’s descriptive and reasoning power with non-trivial programming examples combining higher-order procedures and dynamically generated local state. Axioms for reachability and local invariant play a central role for reasoning about the examples. 1
Spatial-Behavioral Types for Concurrency and Resource Control in Distributed Systems
, 2007
"... We develop a notion of spatial-behavioral typing suitable to discipline concurrent interactions and resource usage in distributed object systems. Our type structure reflects a resource sensitive model, where a parallel composition type operator expresses resource independence, a sequential compositi ..."
Abstract
-
Cited by 9 (4 self)
- Add to MetaCart
We develop a notion of spatial-behavioral typing suitable to discipline concurrent interactions and resource usage in distributed object systems. Our type structure reflects a resource sensitive model, where a parallel composition type operator expresses resource independence, a sequential composition type operator expresses resource synchronization, and a type modality expresses resource ownership. We model the intended computational systems using a concurrent object calculus. Soundness of our type system is established using a logical relations technique, building on a interpretation of types as properties expressible in a spatial logic. 1
Logical Semantics of Types for Concurrency
, 2007
"... Abstract. We motivate and present a logical semantic approach to types for concurrency and to the soundness of related systems. The approach is illustrated by the development of a generic type system for the π-calculus, which may be instantiated for specific notions of typing by extension with adequ ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
Abstract. We motivate and present a logical semantic approach to types for concurrency and to the soundness of related systems. The approach is illustrated by the development of a generic type system for the π-calculus, which may be instantiated for specific notions of typing by extension with adequate subtyping principles. Soundness of our type system is established using a logical predicate technique, based on a compositional spatial logic interpretation of types. 1

