Results 1  10
of
95
Towards a Mathematical Operational Semantics
 In Proc. 12 th LICS Conf
, 1997
"... We present a categorical theory of `wellbehaved' operational semantics which aims at complementing the established theory of domains and denotational semantics to form a coherent whole. It is shown that, if the operational rules of a programming language can be modelled as a natural transforma ..."
Abstract

Cited by 142 (9 self)
 Add to MetaCart
(Show Context)
We present a categorical theory of `wellbehaved' operational semantics which aims at complementing the established theory of domains and denotational semantics to form a coherent whole. It is shown that, if the operational rules of a programming language can be modelled as a natural transformation of a suitable general form, depending on functorial notions of syntax and behaviour, then one gets both an operational model and a canonical, internally fully abstract denotational model for free; moreover, both models satisfy the operational rules. The theory is based on distributive laws and bialgebras; it specialises to the known classes of wellbehaved rules for structural operational semantics, such as GSOS.
On the Observable Properties of Higher Order Functions that Dynamically Create Local Names (preliminary report)
 IN MATHEMATICAL FOUNDATIONS OF COMPUTER SCIENCE, PROC. 18TH INT. SYMP
, 1993
"... The research reported in this paper is concerned with the problem of reasoning about properties of higher order functions involving state. It is motivated by the desire to identify what, if any, are the difficulties created purely by locality of state, independent of other properties such as sideef ..."
Abstract

Cited by 121 (13 self)
 Add to MetaCart
The research reported in this paper is concerned with the problem of reasoning about properties of higher order functions involving state. It is motivated by the desire to identify what, if any, are the difficulties created purely by locality of state, independent of other properties such as sideeffects, exceptional termination and nontermination due to recursion. We consider a simple language (equivalent to a fragment of Standard ML) of typed, higher order functions that can dynamically create fresh names. Names are created with local scope, can be tested for equality and can be passed around via function application, but that is all. we demonstrate
The ProofTheory and Semantics of Intuitionistic Modal Logic
, 1994
"... Possible world semantics underlies many of the applications of modal logic in computer science and philosophy. The standard theory arises from interpreting the semantic definitions in the ordinary metatheory of informal classical mathematics. If, however, the same semantic definitions are interpret ..."
Abstract

Cited by 109 (0 self)
 Add to MetaCart
(Show Context)
Possible world semantics underlies many of the applications of modal logic in computer science and philosophy. The standard theory arises from interpreting the semantic definitions in the ordinary metatheory of informal classical mathematics. If, however, the same semantic definitions are interpreted in an intuitionistic metatheory then the induced modal logics no longer satisfy certain intuitionistically invalid principles. This thesis investigates the intuitionistic modal logics that arise in this way. Natural deduction systems for various intuitionistic modal logics are presented. From one point of view, these systems are selfjustifying in that a possible world interpretation of the modalities can be read off directly from the inference rules. A technical justification is given by the faithfulness of translations into intuitionistic firstorder logic. It is also established that, in many cases, the natural deduction systems induce wellknown intuitionistic modal logics, previously given by Hilbertstyle axiomatizations. The main benefit of the natural deduction systems over axiomatizations is their
Type Classes and Overloading in HigherOrder Logic
 Theorem Proving in Higher Order Logics: TPHOLs ’97, LNCS 1275
, 1997
"... Type classes and overloading are shown to be independent concepts that can both be added to simple higherorder logics in the tradition of Church and Gordon, without demanding more logical expressiveness. In particular, modeltheoretic issues are not affected. Our metalogical results may serve as a ..."
Abstract

Cited by 74 (7 self)
 Add to MetaCart
Type classes and overloading are shown to be independent concepts that can both be added to simple higherorder logics in the tradition of Church and Gordon, without demanding more logical expressiveness. In particular, modeltheoretic issues are not affected. Our metalogical results may serve as a foundation of systems like Isabelle/Pure that offer the user Haskellstyle ordersorted polymorphism as an extended syntactic feature. The latter can be used to describe simple abstract theories with a single carrier type and a fixed signature of operations.
Bi hyperdoctrines, higherorder separation logic, and abstraction
 IN ESOP’05, LNCS
, 2005
"... We present a precise correspondence between separation logic and a simple notion of predicate BI, extending the earlier correspondence given between part of separation logic and propositional BI. Moreover, we introduce the notion of a BI hyperdoctrine and show that it soundly models classical and in ..."
Abstract

Cited by 58 (21 self)
 Add to MetaCart
(Show Context)
We present a precise correspondence between separation logic and a simple notion of predicate BI, extending the earlier correspondence given between part of separation logic and propositional BI. Moreover, we introduce the notion of a BI hyperdoctrine and show that it soundly models classical and intuitionistic first and higherorder predicate BI, and use it to show that we may easily extend separation logic to higherorder. We also demonstrate that this extension is important for program proving, since it provides sound reasoning principles for data abstraction in the presence of
Computational types from a logical perspective
 Journal of Functional Programming
, 1998
"... Moggi’s computational lambda calculus is a metalanguage for denotational semantics which arose from the observation that many different notions of computation have the categorical structure of a strong monad on a cartesian closed category. In this paper we show that the computational lambda calculus ..."
Abstract

Cited by 56 (6 self)
 Add to MetaCart
Moggi’s computational lambda calculus is a metalanguage for denotational semantics which arose from the observation that many different notions of computation have the categorical structure of a strong monad on a cartesian closed category. In this paper we show that the computational lambda calculus also arises naturally as the term calculus corresponding (by the CurryHoward correspondence) to a novel intuitionistic modal propositional logic. We give natural deduction, sequent calculus and Hilbertstyle presentations of this logic and prove strong normalisation and confluence results. 1
Monads and Effects
 IN INTERNATIONAL SUMMER SCHOOL ON APPLIED SEMANTICS APPSEM’2000
, 2000
"... A tension in language design has been between simple semantics on the one hand, and rich possibilities for sideeffects, exception handling and so on on the other. The introduction of monads has made a large step towards reconciling these alternatives. First proposed by Moggi as a way of structu ..."
Abstract

Cited by 54 (6 self)
 Add to MetaCart
A tension in language design has been between simple semantics on the one hand, and rich possibilities for sideeffects, exception handling and so on on the other. The introduction of monads has made a large step towards reconciling these alternatives. First proposed by Moggi as a way of structuring semantic descriptions, they were adopted by Wadler to structure Haskell programs, and now offer a general technique for delimiting the scope of effects, thus reconciling referential transparency and imperative operations within one programming language. Monads have been used to solve longstanding problems such as adding pointers and assignment, interlanguage working, and exception handling to Haskell, without compromising its purely functional semantics. The course will introduce monads, effects and related notions, and exemplify their applications in programming (Haskell) and in compilation (MLj). The course will present typed metalanguages for monads and related categorica...
A Variable Typed Logic of Effects
 Information and Computation
, 1993
"... In this paper we introduce a variable typed logic of effects inspired by the variable type systems of Feferman for purely functional languages. VTLoE (Variable Typed Logic of Effects) is introduced in two stages. The first stage is the firstorder theory of individuals built on assertions of equalit ..."
Abstract

Cited by 50 (13 self)
 Add to MetaCart
(Show Context)
In this paper we introduce a variable typed logic of effects inspired by the variable type systems of Feferman for purely functional languages. VTLoE (Variable Typed Logic of Effects) is introduced in two stages. The first stage is the firstorder theory of individuals built on assertions of equality (operational equivalence `a la Plotkin), and contextual assertions. The second stage extends the logic to include classes and class membership. The logic we present provides an expressive language for defining and studying properties of programs including program equivalences, in a uniform framework. The logic combines the features and benefits of equational calculi as well as program and specification logics. In addition to the usual firstorder formula constructions, we add contextual assertions. Contextual assertions generalize Hoare's triples in that they can be nested, used as assumptions, and their free variables may be quantified. They are similar in spirit to program modalities in ...
New Foundations for Fixpoint Computations: FIXHyperdoctrines and the FIXLogic
"... This paper introduces a new higherorder typed constructive predicate logic for fixpoint computations, which exploits the categorical semantics of computations introduced by Moggi [Mog 89] and contains a version of Martin Löf’s ‘iteration type’ [MarL 83]. The type system enforces a separation of com ..."
Abstract

Cited by 43 (8 self)
 Add to MetaCart
This paper introduces a new higherorder typed constructive predicate logic for fixpoint computations, which exploits the categorical semantics of computations introduced by Moggi [Mog 89] and contains a version of Martin Löf’s ‘iteration type’ [MarL 83]. The type system enforces a separation of computations from values. The logic contains a novel form of fixpoint induction and can express partial and total correctness statements about evaluation of computations to values. The constructive nature of the logic is witnessed by strong metalogical properties which are proved using a categorytheoretic version of the ‘logical relations’ method [Plo 85].
Categorical Models for Local Names
 LISP AND SYMBOLIC COMPUTATION
, 1996
"... This paper describes the construction of categorical models for the nucalculus, a language that combines higherorder functions with dynamically created names. Names are created with local scope, they can be compared with each other and passed around through function application, but that is all. T ..."
Abstract

Cited by 42 (2 self)
 Add to MetaCart
This paper describes the construction of categorical models for the nucalculus, a language that combines higherorder functions with dynamically created names. Names are created with local scope, they can be compared with each other and passed around through function application, but that is all. The intent behind this language is to examine one aspect of the imperative character of Standard ML: the use of local state by dynamic creation of references. The nucalculus is equivalent to a certain fragment of ML, omitting side effects, exceptions, datatypes and recursion. Even without all these features, the interaction of name creation with higherorder functions can be complex and subtle; it is particularly difficult to characterise the observable behaviour of expressions. Categorical monads, in the style of Moggi, are used to build denotational models for the nucalculus. An intermediate stage is the use of a computational metalanguage, which distinguishes in the type system between values and computations. The general requirements for a categorical model are presented, and two specific examples described in detail. These provide a sound denotational semantics for the nucalculus, and can be used to reason about observable equivalence in the language. In particular a model using logical relations is fully abstract for firstorder expressions.