Results 1  10
of
10
Notions of Computation and Monads
, 1991
"... The i.calculus is considered a useful mathematical tool in the study of programming languages, since programs can be identified with Iterms. However, if one goes further and uses bnconversion to prove equivalence of programs, then a gross simplification is introduced (programs are identified with ..."
Abstract

Cited by 863 (16 self)
 Add to MetaCart
The i.calculus is considered a useful mathematical tool in the study of programming languages, since programs can be identified with Iterms. However, if one goes further and uses bnconversion to prove equivalence of programs, then a gross simplification is introduced (programs are identified with total functions from calues to values) that may jeopardise the applicability of theoretical results, In this paper we introduce calculi. based on a categorical semantics for computations, that provide a correct basis for proving equivalence of programs for a wide range of notions of computation.
Computational LambdaCalculus and Monads
, 1988
"... The calculus is considered an useful mathematical tool in the study of programming languages, since programs can be identified with terms. However, if one goes further and uses fijconversion to prove equivalence of programs, then a gross simplification 1 is introduced, that may jeopardise the ..."
Abstract

Cited by 491 (7 self)
 Add to MetaCart
The calculus is considered an useful mathematical tool in the study of programming languages, since programs can be identified with terms. However, if one goes further and uses fijconversion to prove equivalence of programs, then a gross simplification 1 is introduced, that may jeopardise the applicability of theoretical results to real situations. In this paper we introduce a new calculus based on a categorical semantics for computations. This calculus provides a correct basis for proving equivalence of programs, independent from any specific computational model. 1 Introduction This paper is about logics for reasoning about programs, in particular for proving equivalence of programs. Following a consolidated tradition in theoretical computer science we identify programs with the closed terms, possibly containing extra constants, corresponding to some features of the programming language under consideration. There are three approaches to proving equivalence of programs: ffl T...
A Coinduction Principle for Recursive Data Types Based on Bisimulation
, 1996
"... This paper provides foundations for a reasoning principle (coinduction) for establishing the equality of potentially infinite elements of selfreferencing (or circular) data types. As it is wellknown, such data types not only form the core of the denotational approach to the semantics of programmin ..."
Abstract

Cited by 37 (3 self)
 Add to MetaCart
This paper provides foundations for a reasoning principle (coinduction) for establishing the equality of potentially infinite elements of selfreferencing (or circular) data types. As it is wellknown, such data types not only form the core of the denotational approach to the semantics of programming languages [SS71], but also arise explicitly as recursive data types in functional programming languages like Standard ML [MTH90] or Haskell [HPJW92]. In the latter context, the coinduction principle provides a powerful technique for establishing the equality of programs with values in recursive data types (see examples herein and in [Pit94]).
Syntactic considerations on recursive types
 In Proceedings of the 11th Annual Symposium on Logic in Computer Science
, 1996
"... Abstract We study recursive types from a syntactic perspective. In particular, we compare the formulations of recursive types that are used in programming languages and formal systems. Our main tool is a new syntactic explanation of type expressions as functors. We also introduce a simple logic for ..."
Abstract

Cited by 33 (0 self)
 Add to MetaCart
(Show Context)
Abstract We study recursive types from a syntactic perspective. In particular, we compare the formulations of recursive types that are used in programming languages and formal systems. Our main tool is a new syntactic explanation of type expressions as functors. We also introduce a simple logic for programs with recursive types in which we carry out our proofs. 1 Introduction Recursive types are common in both programming languages and formal systems. By now, there is a deep and welldeveloped semantic theory of recursive types. The syntactic aspects of recursive types are also well understood in some special cases. In particular, there is an important body of knowledge about covariant recursive types, which include datatypes like natural numbers, lists, and trees. Beyond the covariant case, however, the syntactic understanding of recursive types becomes rather spotty. Consequently, the relations between various alternative formulations of recursive types are generally unclear. Furthermore, the syntactic counterparts to some of the most basic semantic results are unknown.
A Simple Adequate Categorical Model for PCF
 In Proceedings of Third International Conference on Typed Lambda Calculi and Applications
, 1997
"... Usually types of PCF are interpreted as cpos and terms as continuous functions. It is then the case that nontermination of a closed term of ground type corresponds to the interpretation being bottom; we say that the semantics is adequate. We shall here present an axiomatic approach to adequacy for ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Usually types of PCF are interpreted as cpos and terms as continuous functions. It is then the case that nontermination of a closed term of ground type corresponds to the interpretation being bottom; we say that the semantics is adequate. We shall here present an axiomatic approach to adequacy for PCF in the sense that we will introduce categorical axioms enabling an adequate semantics to be given. We assume the presence of certain "bottom" maps with the role of being the interpretation of nonterminating terms, but the orderstructure is left out. This is different from previous approaches where some kind of ordertheoretic structure has been considered as part of an adequate categorical model for PCF. We take the point of view that partiality is the fundamental notion from which orderstructure should be derived, which is corroborated by the observation that our categorical model induces an ordertheoretic model for PCF in a canonical way.
Recursive Types in Games: Axiomatics and Process Representation (Extended Abstract)
 IN PROCEEDINGS O.F LICS'98. IEEE COMPUTER
, 1998
"... This paper presents two basic results on gamebased semantics of FPC, a metalanguage with sums, products, exponentials and recursive types. First we give an axiomatic account of the category of games G introduced in [15], offering a fundamental structural analysis of the category as well as a transp ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
This paper presents two basic results on gamebased semantics of FPC, a metalanguage with sums, products, exponentials and recursive types. First we give an axiomatic account of the category of games G introduced in [15], offering a fundamental structural analysis of the category as well as a transparent way to prove computational adequacy. As a consequence we obtain an intensional fullabstraction result through a standard definability argument. Next we extend the category G by introducing a category of games G i with optimised strategies; we show that the denotational semantics in G i gives a compilation of FPC terms into core Pict codes (the asynchronous polyadic calculus without summation). The process representation follows a pioneering idea of Hyland and Ong [18]. However, we advance their representation by introducing semantically wellfounded optimisation techniques; we also exte...
Lifting as a KZdoctrine
 Proceedings of the 6 th International Conference, CTCS'95, volume 953 of Lecture Notes in Computer Science
, 1995
"... this paper, is the analysis of notions of approximation aiming at explaining and justifying (ordertheoretic) properties of categories of domains. For example, in [Fio94c, Fio94a], while studying the interaction between partiality and orderenrichment we considered contextual approximation which, in ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
this paper, is the analysis of notions of approximation aiming at explaining and justifying (ordertheoretic) properties of categories of domains. For example, in [Fio94c, Fio94a], while studying the interaction between partiality and orderenrichment we considered contextual approximation which, in the framework we were working in, coincided with the specialisation preorder . But in the applications carried out in [FP94, Fio94a] we had to work with an axiomatised notion of approximation, instead of the aforementioned one, for the following two reasons: first, the specialisation preorder is not appropriate in categories of domains and stable functions (see [Fio94c]) and, second, we do not know of nonordertheoretic axioms making the specialisation preorder !complete. To overcome these drawbacks another notion of approximation was to be considered. And, it was the second problem that motivated the intensional notion of approximation provided by the path relation. In fact, it is shown in [Fio94b] that under suitable axioms the path relation can be equipped with a canonical passagetothelimit operator appropriate for fixedpoint computations; stronger axioms make this operator be given by lubs of !chains
OrderEnrichment for Categories of Partial Maps
, 1993
"... Introduction In (Plotkin 1985) a revitalised approach to domain theory was initiated. Roughly, the idea was to eliminate the bottom from the domains and to keep the functions partially defined. Thus replacing Cppo (the category of small cppos posets with a least element and closed under lubs of ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Introduction In (Plotkin 1985) a revitalised approach to domain theory was initiated. Roughly, the idea was to eliminate the bottom from the domains and to keep the functions partially defined. Thus replacing Cppo (the category of small cppos posets with a least element and closed under lubs of !chains and continuous functions) with pCpo (the category of small cpos posets closed under lubs of !chains and partial continuous functions  see Subsection 3.1). One important point in the reformulation is the recognition of pCpo Research partially supported by Fundaci'on Antorchas and The British Council grant ARG 2281/14/6, and SERC grant RR30735. as a category of partial maps as, for example, such presentation fits better with standard formulations of recursion theory and it allows a categorical description of data types (via partial cartesian closed categories (Longo and Moggi 1984) with finite coproducts) in the presence of fixedpoint operators. Following the main moti
Partial Morphisms in Categories of Effective Objects
, 1996
"... This paper is divided in two parts. In the rst one we analyse in great generality data types in relation to partial morphisms. We introduce partial function spaces, partial cartesian closed categories and complete objects, motivate their introduction and show some of their properties. In the seco ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
This paper is divided in two parts. In the rst one we analyse in great generality data types in relation to partial morphisms. We introduce partial function spaces, partial cartesian closed categories and complete objects, motivate their introduction and show some of their properties. In the second part we dene the (partial) cartesian closed category GEN of generalized numbered sets, prove that it is a good extension of the category of numbered sets and show how it is related to the recursive topos. Introduction By data type one usually means a set of objects of the same kind, suitable for manipulation by a computer program. Of course, computers actually manipulate formal representations of objects. The purpose of the mathematical semantics of programming languages, however, is to characterize data types (and functions on them) in a way which is independent of any specic representation mechanism. So the objects one deals with are mostly elements of structures borrowed fro...
A workplan for De Stijl
, 1996
"... This document extends the project proposal of De Stijl with further detail upon the research to be done and presents a (tentative) workplan for the period from March '96 to February '97. 1 Scientific objectives of De Stijl A detailed description of De Stijl can be found in the project pro ..."
Abstract
 Add to MetaCart
(Show Context)
This document extends the project proposal of De Stijl with further detail upon the research to be done and presents a (tentative) workplan for the period from March '96 to February '97. 1 Scientific objectives of De Stijl A detailed description of De Stijl can be found in the project proposal [des95]. Below we briefly survey the main objectives of the project. Objectives. The aim of De Stijl is to relate features of existing languages for formal software specification and design. The proposed research is set in the foundations of a theory of formal language engineering. The scientific results should be applicable in the integration and improvement of formal specification and design methods. Examples of features to be considered are: modularity, processes, types, partiality, temporal specification, formalization of design decisions, inheritance, parametrization, algebraic specification, statebased specification and executability of sublanguages. De Stijl should investigate whether an...