Results 1  10
of
12
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 766 (15 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.
Categorical Logic
 A CHAPTER IN THE FORTHCOMING VOLUME VI OF HANDBOOK OF LOGIC IN COMPUTER SCIENCE
, 1995
"... ..."
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].
Programming Metalogics with a Fixpoint Type
, 1992
"... A programming metalogic is a formal system into which programming languages can be translated and given meaning. The translation should both reflect the structure of the language and make it easy to prove properties of programs. This thesis develops certain metalogics using techniques of category th ..."
Abstract

Cited by 12 (6 self)
 Add to MetaCart
A programming metalogic is a formal system into which programming languages can be translated and given meaning. The translation should both reflect the structure of the language and make it easy to prove properties of programs. This thesis develops certain metalogics using techniques of category theory and treats recursion in a new way. The notion of a category with fixpoint object is defined. Corresponding to this categorical structure there are type theoretic equational rules which will be present in all of the metalogics considered. These rules define the fixpoint type which will allow the interpretation of recursive declarations. With these core notions FIX categories are defined. These are the categorical equivalent of an equational logic which can be viewed as a very basic programming metalogic. Recursion is treated both syntactically and categorically. The expressive power of the equational logic is increased by embedding it in an intuitionistic predicate calculus, giving rise to the FIX logic. This contains propositions about the evaluation of computations to values and an induction principle which is derived from the definition of a fixpoint object as an initial algebra. The categorical structure which accompanies the FIX logic is defined, called a FIX hyperdoctrine, and certain existence and disjunction properties of FIX are stated. A particular FIX hyperdoctrine is constructed and used in the proof of the same properties. PCFstyle languages are translated into the FIX logic and computational adequacy reaulta are proved. Two languages are studied: Both are similar to PCF except one has call by value recursive function declararations and the other higher order conditionals. ...
The Girard Translation Extended with Recursion
 In Proceedings of Computer Science Logic
, 1995
"... This paper extends CurryHoward interpretations of Intuitionistic Logic (IL) and Intuitionistic Linear Logic (ILL) with rules for recursion. The resulting term languages, the rec calculus and the linear rec calculus respectively, are given sound categorical interpretations. The embedding of ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
This paper extends CurryHoward interpretations of Intuitionistic Logic (IL) and Intuitionistic Linear Logic (ILL) with rules for recursion. The resulting term languages, the rec calculus and the linear rec calculus respectively, are given sound categorical interpretations. The embedding of proofs of IL into proofs of ILL given by the Girard Translation is extended with the rules for recursion, such that an embedding of terms of the rec calculus into terms of the linear rec calculus is induced via the extended CurryHoward isomorphisms. This embedding is shown to be sound with respect to the categorical interpretations. Full version of paper to appear in Proceedings of CSL '94, LNCS 933, 1995. y Basic Research in Computer Science, Centre of the Danish National Research Foundation. Contents 1 Introduction 4 2 The Categorical Picture 6 2.1 Previous Work and Related Results : : : : : : : : : : : : : : : : : : : : : : 6 2.2 How to deal with parameters : : : : : : : ...
Recursive Types in Kleisli Categories
 Preprint 2004. MFPS Tutorial, April 2007 Classical Domain Theory 75/75
, 1992
"... We show that an enriched version of Freyd's principle of versality holds in the Kleisli category of a commutative strong monad with fixedpoint object. This gives a general categorical setting in which it is possible to model recursive types involving the usual datatype constructors. ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
We show that an enriched version of Freyd's principle of versality holds in the Kleisli category of a commutative strong monad with fixedpoint object. This gives a general categorical setting in which it is possible to model recursive types involving the usual datatype constructors.
Partial computations in constructive type theory
 JOURNAL OF LOGIC AND COMPUTATION
, 1991
"... Constructive type theory as conceived by Per MartinLöf has a very rich type system, but partial functions cannot be typed. This also makes it impossible to directly write recursive programs. In this paper a constructive type theory Red is defined which includes a partial type constructor A; objects ..."
Abstract

Cited by 7 (5 self)
 Add to MetaCart
Constructive type theory as conceived by Per MartinLöf has a very rich type system, but partial functions cannot be typed. This also makes it impossible to directly write recursive programs. In this paper a constructive type theory Red is defined which includes a partial type constructor A; objects in the type A may diverge, but if they converge, they must be members of A. A fixed point typing principle is given to allow typing of recursive functions. The extraction paradigm of type theory, whereby programs are automatically extracted from constructive proofs, is extended to allow extraction of fixed points. There is a Scott fixed point induction principle for reasoning about these functions. Soundness of the theory is proven. Type theory becomes a more expressive programming logic as a result.
CC+: An extension of the Calculus of Constructions with fixpoints
, 1993
"... We follow an original idea suggested by Constable and Smith [6, 7] providing a way for reasoning about non terminating computations in a typed framework. A former study has been worked out within NuPrl by Smith [21]. We investigate how these ideas can be developed within the Calculus of Construct ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We follow an original idea suggested by Constable and Smith [6, 7] providing a way for reasoning about non terminating computations in a typed framework. A former study has been worked out within NuPrl by Smith [21]. We investigate how these ideas can be developed within the Calculus of Constructions (CC). The adaptation provides an conservative extension, denoted CC+. Strong normalisation for fireductions is preserved. We recover the alternate "recursive" coding for integers introduced in AF2 by Parigot [12, 13]. Thus, the computational behaviour for terms coding integers is improved. Moreover, as expected, all partial recursive functions are now definable. Relationships with primitive coding through "Church" integers within the pure Calculus is studied, giving some insights into logical expressiveness issue. All these results easily generalize to all the usual data structures.
Fixpoint Computations and Coiteration (Extended Abstract)
"... ) Brian T. Howard Department of Computer and Information Sciences Kansas State University bhoward@cis.ksu.edu Abstract An extension of the simplytyped lambda calculus is presented which contains both wellstructured inductive and coinductive types, and which also identifies a class of types for wh ..."
Abstract
 Add to MetaCart
) Brian T. Howard Department of Computer and Information Sciences Kansas State University bhoward@cis.ksu.edu Abstract An extension of the simplytyped lambda calculus is presented which contains both wellstructured inductive and coinductive types, and which also identifies a class of types for which general recursion is possible. The motivations for this work are certain natural constructions in category theory, in particular the notion of an algebraically bounded functor, due to Freyd. We propose that this is a particularly elegant language in which to work with recursive objects, since the potential for general recursion is contained in a single operator which interacts well with the facilities for bounded iteration and coiteration. 1 Introduction In designing typed languages that include recursion, there has long been a tension between the structure provided by types based on wellfounded induction and the freedom permitted by types based on general recursion. Very few languages...