Results 1  10
of
22
An observationally complete program logic for imperative higherorder functions
 In Proc. LICS’05
, 2005
"... Abstract. We propose a simple compositional program logic for an imperative extension of callbyvalue PCF, built on Hoare logic and our preceding work on program logics for pure higherorder functions. A systematic use of names and operations on them allows precise and general description of comple ..."
Abstract

Cited by 39 (11 self)
 Add to MetaCart
Abstract. We propose a simple compositional program logic for an imperative extension of callbyvalue PCF, built on Hoare logic and our preceding work on program logics for pure higherorder functions. A systematic use of names and operations on them allows precise and general description of complex higherorder imperative behaviour. The proof rules of the logic exactly follow the syntax of the language and can cleanly embed, justify and extend the standard proof rules for total correctness of Hoare logic. The logic offers a foundation for general treatment of aliasing and local state on its basis, with minimal extensions. After establishing soundness, we prove that valid assertions for programs completely characterise their behaviour up to observational congruence, which is proved using a variant of finite canonical forms. The use of the logic is illustrated through reasoning examples which are hard to assert and infer using existing program logics.
Sequentiality vs. Concurrency in Games and Logic
 Math. Structures Comput. Sci
, 2001
"... Connections between the sequentiality/concurrency distinction and the semantics of proofs are investigated, with particular reference to games and Linear Logic. ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
Connections between the sequentiality/concurrency distinction and the semantics of proofs are investigated, with particular reference to games and Linear Logic.
Notions of computability at higher types I
 In Logic Colloquium 2000
, 2005
"... We discuss the conceptual problem of identifying the natural notions of computability at higher types (over the natural numbers). We argue for an eclectic approach, in which one considers a wide range of possible approaches to defining higher type computability and then looks for regularities. As a ..."
Abstract

Cited by 12 (5 self)
 Add to MetaCart
We discuss the conceptual problem of identifying the natural notions of computability at higher types (over the natural numbers). We argue for an eclectic approach, in which one considers a wide range of possible approaches to defining higher type computability and then looks for regularities. As a first step in this programme, we give an extended survey of the di#erent strands of research on higher type computability to date, bringing together material from recursion theory, constructive logic and computer science. The paper thus serves as a reasonably complete overview of the literature on higher type computability. Two sequel papers will be devoted to developing a more systematic account of the material reviewed here.
Operational domain theory and topology of a sequential language
 In Proceedings of the 20th Annual IEEE Symposium on Logic In Computer Science
, 2005
"... A number of authors have exported domaintheoretic techniques from denotational semantics to the operational study of contextual equivalence and order. We further develop this, and, moreover, we additionally export topological techniques. In particular, we work with an operational notion of compact ..."
Abstract

Cited by 11 (6 self)
 Add to MetaCart
A number of authors have exported domaintheoretic techniques from denotational semantics to the operational study of contextual equivalence and order. We further develop this, and, moreover, we additionally export topological techniques. In particular, we work with an operational notion of compact set and show that total programs with values on certain types are uniformly continuous on compact sets of total elements. We apply this and other conclusions to prove the correctness of nontrivial programs that manipulate infinite data. What is interesting is that the development applies to sequential programming languages, in addition to languages with parallel features. 1
Observational equivalence of 3rdorder Idealized Algol is decidable
 In Proceedings of LICS’02. IEEE
, 2002
"... We prove that observational equivalence of 3rdorder finitary Idealized Algol (IA) is decidable using Game Semantics. By modelling state explicitly in our games, we show that the denotation of a term M of this fragment of IA (built up from finite base types) is a compactly innocent strategywithst ..."
Abstract

Cited by 11 (2 self)
 Add to MetaCart
We prove that observational equivalence of 3rdorder finitary Idealized Algol (IA) is decidable using Game Semantics. By modelling state explicitly in our games, we show that the denotation of a term M of this fragment of IA (built up from finite base types) is a compactly innocent strategywithstate i.e. the strategy is generated by a finite view function fM . Given any such fM , we construct a realtime deterministic pushdown automata (DPDA) that recognizes the complete plays of the knowingstrategy denotation of M . Since such plays characterize observational equivalence, and there is an algorithm for deciding whether any two DPDAs recognize the same language, we obtain a procedure for deciding observational equivalence of 3rdorder finitary IA. This algorithmic representation of program meanings, which is compositional, provides a foundation for modelchecking a wide range of behavioural properties of IA and other cognate programming languages. Another result concerns 2ndorder IA with recursion: we show that observational equivalence for this fragment is undecidable. 1
Bistructures, Bidomains and Linear Logic
 in Proc. 21st ICALP
, 1997
"... Bistructures are a generalisation of event structures which allow a representation of spaces of functions at higher types in an orderextensional setting. The partial order of causal dependency is replaced by two orders, one associated with input and the other with output in the behaviour of func ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
Bistructures are a generalisation of event structures which allow a representation of spaces of functions at higher types in an orderextensional setting. The partial order of causal dependency is replaced by two orders, one associated with input and the other with output in the behaviour of functions. Bistructures form a categorical model of Girard's classical linear logic in which the involution of linear logic is modelled, roughly speaking, by a reversal of the roles of input and output. The comonad of the model has an associated coKleisli category which is closely related to that of Berry's bidomains (both have equivalent nontrivial full subcartesian closed categories).
A Fully Abstract Model for Sequential Computation
, 1998
"... In 1977, G. Plotkin pointed out the problem of finding a fully abstract model for the sequential programming language PCF [16], which had been originally developed by D. Scott [19]. This question turned out to be one of the most enduring problems of semantics. A very nice description of the differen ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
In 1977, G. Plotkin pointed out the problem of finding a fully abstract model for the sequential programming language PCF [16], which had been originally developed by D. Scott [19]. This question turned out to be one of the most enduring problems of semantics. A very nice description of the different approaches
An approach to deciding observational equivalence of Algollike languages
 Annals of Pure and Applied Logic
"... We prove that observational equivalence of thirdorder nitary (i.e. recursionfree) Idealized Algol (IA) is decidable using Game Semantics. By modelling state explicitly in our games, we show that the denotation of a term M of this fragment of IA is a compactly innocent strategywithstate i.e. the ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
We prove that observational equivalence of thirdorder nitary (i.e. recursionfree) Idealized Algol (IA) is decidable using Game Semantics. By modelling state explicitly in our games, we show that the denotation of a term M of this fragment of IA is a compactly innocent strategywithstate i.e. the strategy is generated by a nite view function f M . Given any such f M , we construct a realtime deterministic pushdown automaton (DPDA) that recognizes the complete plays of the knowingstrategy denotation of M . Since such plays characterize observational equivalence, and there is an algorithm for deciding whether any two DPDAs recognize the same language, we obtain a procedure for deciding observational equivalence of thirdorder nitary IA. Restricted to secondorder terms, the DPDA representation cuts down to a deterministic nite automaton; thus our approach gives a new proof of Ghica and McCusker's regularexpression characterization for this fragment. Our algorithmic representation of program meanings, which is compositional, provides a foundation for modelchecking a wide range of behavioural properties of IA and other cognate programming languages. Another result concerns secondorder IA with full recursion: we show that observational equivalence for this fragment is undecidable. Key words: Algorithmic Game Semantics, Algollike Languages, Automata Theory, Software Model Checking.
Bistable biorders: a sequential domain theory
 Oura) Physics of Snow and Ice
, 2005
"... 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
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.