Results 1  10
of
22
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 881 (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.
Mechanizing Programming Logics in Higher Order Logic
 in Current Trends in Hardware Verification and Automated Theorem Proving, ed. P.A. Subrahmanyam and Graham Birtwistle
, 1989
"... Formal reasoning about computer programs can be based directly on the semantics of the programming language, or done in a special purpose logic like Hoare logic. The advantage of the first approach is that it guarantees that the formal reasoning applies to the language being used (it is well known, ..."
Abstract

Cited by 64 (3 self)
 Add to MetaCart
Formal reasoning about computer programs can be based directly on the semantics of the programming language, or done in a special purpose logic like Hoare logic. The advantage of the first approach is that it guarantees that the formal reasoning applies to the language being used (it is well known, for example, that Hoare’s assignment axiom fails to hold for most programming languages). The advantage of the second approach is that the proofs can be more direct and natural. In this paper, an attempt to get the advantages of both approaches is described. The rules of Hoare logic are mechanically derived from the semantics of a simple imperative programming language (using the HOL system). These rules form the basis for a simple program verifier in which verification conditions are generated by LCFstyle tactics whose validations use the derived Hoare rules. Because Hoare logic is derived, rather than postulated, it is straightforward to mix semantic and axiomatic reasoning. It is also straightforward to combine the constructs of Hoare logic with other applicationspecific notations. This is briefly illustrated for various logical constructs, including termination statements, VDMstyle ‘relational’ correctness specifications, weakest precondition statements and dynamic logic formulae. The theory underlying the work presented here is well known. Our contribution is to propose a way of mechanizing this theory in a way that makes certain practical details work out smoothly.
KripkeStyle Models for Typed Lambda Calculus
 Annals of Pure and Applied Logic
, 1996
"... The semantics of typed lambda calculus is usually described using Henkin models, consisting of functions over some collection of sets, or concrete cartesian closed categories, which are essentially equivalent. We describe a more general class of Kripkestyle models. In categorical terms, our Kripke ..."
Abstract

Cited by 50 (3 self)
 Add to MetaCart
(Show Context)
The semantics of typed lambda calculus is usually described using Henkin models, consisting of functions over some collection of sets, or concrete cartesian closed categories, which are essentially equivalent. We describe a more general class of Kripkestyle models. In categorical terms, our Kripke lambda models are cartesian closed subcategories of the presheaves over a poset. To those familiar with Kripke models of modal or intuitionistic logics, Kripke lambda models are likely to seem adequately \semantic." However, when viewed as cartesian closed categories, they do not have the property variously referred to as concreteness, wellpointedness, or having enough points. While the traditional lambda calculus proof system is not complete for Henkin models that may have empty types, we prove strong completeness for Kripke models. In fact, every set of equations that is closed under implication is the theory of a single Kripke model. We also develop some properties of logical relations ...
The fixed point property in synthetic domain theory
 Logic in Computer Science 6
, 1991
"... We present an elementary axiomatisation of synthetic domain theory and show that it is sufficient to deduce the fixed point property and solve domain equations. Models of these axioms based on partial equivalence relations have received much attention, but there are also very simple sheaf models bas ..."
Abstract

Cited by 41 (8 self)
 Add to MetaCart
We present an elementary axiomatisation of synthetic domain theory and show that it is sufficient to deduce the fixed point property and solve domain equations. Models of these axioms based on partial equivalence relations have received much attention, but there are also very simple sheaf models based on classical domain theory. In any case the aim of this paper is to show that an important theorem can be derived from an abstract axiomatisation, rather than from a particular model. Also, by providing a common framework in which both PER and classical models can be expressed, this work builds a bridge between the two. 1
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.
Solving Recursive Domain Equations with Enriched Categories
, 1994
"... Both preorders and metric spaces have been used at various times as a foundation for the solution of recursive domain equations in the area of denotational semantics. In both cases the central theorem states that a `converging' sequence of `complete' domains/spaces with `continuous' ..."
Abstract

Cited by 27 (0 self)
 Add to MetaCart
Both preorders and metric spaces have been used at various times as a foundation for the solution of recursive domain equations in the area of denotational semantics. In both cases the central theorem states that a `converging' sequence of `complete' domains/spaces with `continuous' retraction pairs between them has a limit in the category of complete domains/spaces with retraction pairs as morphisms. The preorder version was discovered first by Scott in 1969, and is referred to as Scott's inverse limit theorem. The metric version was mainly developed by de Bakker and Zucker and refined and generalized by America and Rutten. The theorem in both its versions provides the main tool for solving recursive domain equations. The proofs of the two versions of the theorem look astonishingly similar, but until now the preconditions for the preorder and the metric versions have seemed to be fundamentally different. In this thesis we establish a more general theory of domains based on the noti...
Does category theory provide a framework for mathematical structuralism?
 PHILOSOPHIA MATHEMATICA
, 2003
"... Category theory and topos theory have been seen as providing a structuralist framework for mathematics autonomous vis à vis set theory. It is argued here that these theories require a background logic of relations and substantive assumptions addressing mathematical existence of categories themselves ..."
Abstract

Cited by 17 (3 self)
 Add to MetaCart
Category theory and topos theory have been seen as providing a structuralist framework for mathematics autonomous vis à vis set theory. It is argued here that these theories require a background logic of relations and substantive assumptions addressing mathematical existence of categories themselves. We propose a synthesis of Bell’s “manytopoi” view and modalstructuralism. Surprisingly, a combination of mereology and plural quantification suffices to describe hypothetical large domains, recovering the Grothendieck method of universes. Both topos theory and set theory can be carried out relative to such domains; puzzles about “large categories ” and “proper classes ” are handled in a
Seven trees in one
 J. Pure Appl. Algebra
, 1995
"... Abstract. Following a remark of Lawvere, we explicitly exhibit a particularly elementary bijection between the set T of finite binary trees and the set T 7 of seventuples of such trees. “Particularly elementary ” means that the application of the bijection to a seventuple of trees involves case dis ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
(Show Context)
Abstract. Following a remark of Lawvere, we explicitly exhibit a particularly elementary bijection between the set T of finite binary trees and the set T 7 of seventuples of such trees. “Particularly elementary ” means that the application of the bijection to a seventuple of trees involves case distinctions only down to a fixed depth (namely four) in the given seventuple. We clarify how this and similar bijections are related to the free commutative semiring on one generator X subject to X = 1 + X 2. Finally, our main theorem is that the existence of particularly elementary bijections can be deduced from the provable existence, in intuitionistic type theory, of any bijections at all.
Logic in topoi: Functorial Semantics for HigherOrder Logic
, 1997
"... Steven Awodey The University of Chicago Winter 1997 This dissertation investigates what may be termed the model theory of higherorder logic using the methods of category theory. Of course, there is no such field of logic as "higherorder model theory," and so our first concern in chapt ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
Steven Awodey The University of Chicago Winter 1997 This dissertation investigates what may be termed the model theory of higherorder logic using the methods of category theory. Of course, there is no such field of logic as "higherorder model theory," and so our first concern in chapter I will be to specify the basic objects under investigation, viz. higherorder logical theories and their models. This is a fairly straightforward generalizationin two different directionsof the familiar corresponding notions for firstorder logic: the notion of a logical theory is generalized from first to higherorder logic, and the notion of a model is generalized both from first to higherorder logic, and from the category Sets to arbitrary topoi.