Results 1  10
of
11
Eager normal form bisimulation
 In Proc. 20th Annual IEEE Symposium on Logic in Computer Science
, 2005
"... Abstract. Normal form bisimulation is a powerful theory of program equivalence, originally developed to characterize LévyLongo tree equivalence and Boehm tree equivalence. It has been adapted to a range of untyped, higherorder calculi, but types have presented a difficulty. In this paper, we prese ..."
Abstract

Cited by 20 (8 self)
 Add to MetaCart
(Show Context)
Abstract. Normal form bisimulation is a powerful theory of program equivalence, originally developed to characterize LévyLongo tree equivalence and Boehm tree equivalence. It has been adapted to a range of untyped, higherorder calculi, but types have presented a difficulty. In this paper, we present an account of normal form bisimulation for types, including recursive types. We develop our theory for a continuationpassing style calculus, JumpWithArgument (JWA), where normal form bisimilarity takes a very simple form. We give a novel congruence proof, based on insights from game semantics. A notable feature is the seamless treatment of etaexpansion. We demonstrate the normal form bisimulation proof principle by using it to establish a syntactic minimal invariance result and the uniqueness of the fixed point operator at each type.
About Hoare logics for higherorder store
 In ICALP, volume 3580
, 2005
"... Abstract. We present a Hoare logic for a simple imperative whilelanguage with stored commands, ie. stored parameterless procedures. Stores that may contain procedures are called higherorder. Soundness of our logic is established by using denotational rather than operational semantics. The former is ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
(Show Context)
Abstract. We present a Hoare logic for a simple imperative whilelanguage with stored commands, ie. stored parameterless procedures. Stores that may contain procedures are called higherorder. Soundness of our logic is established by using denotational rather than operational semantics. The former is employed to elegantly account for an inherent difficulty of higherorder store, namely that assertions necessarily describe recursive predicates on a recursive domain. In order to obtain proof rules for mutually recursive procedures, assertions have to explicitly refer to the code of the procedures. 1
A game semantics of the asynchronous πcalculus
 In Proceedings of 16th CONCUR
, 2005
"... Abstract. This paper studies the denotational semantics of the typed asynchronous πcalculus. We describe a simple game semantics of this language, placing it within a rich hierarchy of games models for programming languages, A key element of our account is the identification of suitable categorical ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
(Show Context)
Abstract. This paper studies the denotational semantics of the typed asynchronous πcalculus. We describe a simple game semantics of this language, placing it within a rich hierarchy of games models for programming languages, A key element of our account is the identification of suitable categorical structures for describing the interpretation of types and terms at an abstract level. It is based on the notion of closed Freyd category, establishing a connection between our semantics, and that of the λcalculus. This structure is also used to define a trace operator, with which name binding is interpreted. We then show that our categorical characterization is sufficient to prove a weak soundness result. Another theme of the paper is the correspondence between justified sequences, on which our model is based, and traces in a labelled transition system in which only bound names are passed. We show that the denotations of processes are equivalent, via this correspondence, to their sets of traces. These results are used to show that the games model is fully abstract with respect to mayequivalence. 1
Bistable biorders: A sequential domain theory
 Logical Methods in Computer Science
"... Abstract. We give a simple ordertheoretic construction of a Cartesian closed category of sequential functions. It is based on bistable biorders, which are sets with a partial order — the extensional order — and a bistable coherence, which captures equivalence of program behaviour, up to permutation ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
Abstract. We give a simple ordertheoretic construction of a Cartesian closed category of sequential functions. It is based on bistable biorders, which are sets with a partial order — the extensional order — and a bistable coherence, which captures equivalence of program behaviour, up to permutation of top (error) and bottom (divergence). We show that monotone and bistable functions (which are required to preserve bistably bounded meets and joins) are strongly sequential, and use this fact to prove universality results for the bistable biorder semantics of the simplytyped lambdacalculus (with atomic constants), and an extension with arithmetic and recursion. We also construct a bistable model of SPCF, a higherorder functional programming language with nonlocal control. We use our universality result for the lambdacalculus to show that the semantics of SPCF is fully abstract. We then establish a direct correspondence between bistable functions and sequential algorithms by showing that sequential data structures give rise to bistable biorders, and that each bistable function between such biorders is computed by a sequential algorithm. 1.
A Calculus of Coroutines
"... We describe a simple but expressive calculus of sequential processes, represented as coroutines. We show that this calculus can be used to express a variety of programming language features including procedure calls, labelled jumps, integer references and stacks. We describe the operational properti ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We describe a simple but expressive calculus of sequential processes, represented as coroutines. We show that this calculus can be used to express a variety of programming language features including procedure calls, labelled jumps, integer references and stacks. We describe the operational properties of the calculus using reduction rules and equational axioms. We describe a notion of categorical model for our calculus, and give a simple example of such a model based on a category of games and strategies. We prove full abstraction results showing that equivalence in the categorical model corresponds to observational equivalence in the calculus, and also to equivalence of evaluation trees, which are infinitary normal forms for the calculus. We show that our categorical model can be used to interpret the untyped λcalculus and use this fact to extract a sound translation of the latter into our calculus of coroutines.
A Typed Semantics of HigherOrder Store and
"... Abstract. We consider a callbyvalue language, with higherorder functions, records, references to values of arbitrary type, and subtyping. We adapt an intrinsic denotational model for a similar language based on a possibleworld semantics, recently given by Levy [14], and relate it to an untyped m ..."
Abstract
 Add to MetaCart
Abstract. We consider a callbyvalue language, with higherorder functions, records, references to values of arbitrary type, and subtyping. We adapt an intrinsic denotational model for a similar language based on a possibleworld semantics, recently given by Levy [14], and relate it to an untyped model by a logical relation. Following the methodology of Reynolds [22], this relation is used to establish coherence of the typed semantics, with a coercion interpretation of subtyping. We obtain a typed denotational semantics of (imperative) objectbased languages.
MFPS 2008 Global State Considered Helpful
"... Reynolds ’ view of a storage cell as an expressionacceptor pair has been widely used by researchers. We present a different way of organizing semantics of state, and in particular game semantics, by adding to typing contexts a zone for global state. This has the following advantages. Firstly, it ca ..."
Abstract
 Add to MetaCart
(Show Context)
Reynolds ’ view of a storage cell as an expressionacceptor pair has been widely used by researchers. We present a different way of organizing semantics of state, and in particular game semantics, by adding to typing contexts a zone for global state. This has the following advantages. Firstly, it causes the “good variable ” equations for references to be validated, and also the noninterference equations between distinct references, as enumerated by Plotkin and Power. Secondly, it gives a cleaner categorical structure based on the configurations (state + program) used to describe operational semantics. Thirdly, it leads to a simpler proof that the game semantics is sound and adequate with respect to the operational semantics.
A Trace Semantics for HigherOrder References
"... Abstract. We describe a trace semantics for a simple calculus based on for terms which do not write to externally acessible parts of the store. The trace semantics is based on a labelled transition system in which states alternate between programs and environments, and labels simply carry reference ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. We describe a trace semantics for a simple calculus based on for terms which do not write to externally acessible parts of the store. The trace semantics is based on a labelled transition system in which states alternate between programs and environments, and labels simply carry reference names between them. The tracesets of programs and contexts may be viewed as deterministic strategies and counterstrategies in the sense of game semantics: we show that the composition of a program and a context corresponds to the “parallel composition plus hiding ” of the corresponding strategies, provided that they do not write to the same locations. We use this result to prove soundness of traceequivalence with respect to such “noninterfering ” contextual equivalence. (Completeness holds with respect to all observing contexts.) We show that every finitary deterministic strategy is definable as a canonical program. From the proof of definability, we derive a notion of “evaluation tree ” for programs, and use full abstraction to prove a separation result: two programs which do not write to the (visible) store are equivalent if and only if they have the same evaluation trees. 1