Results 1 -
8 of
8
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 I-terms. However, if one goes further and uses bn-conversion to prove equivalence of programs, then a gross simplification is introduced (programs are identified with ..."
Abstract
-
Cited by 651 (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 I-terms. However, if one goes further and uses bn-conversion 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.
Evaluation Logic
, 1990
"... A new typed, higher-order logic is described which appears particularly well fitted to reasoning about forms of computation whose operational behaviour can be specified using the Natural Semantics style of structural operational semantics [5]. The logic's underlying type system is Moggi's computatio ..."
Abstract
-
Cited by 83 (2 self)
- Add to MetaCart
A new typed, higher-order logic is described which appears particularly well fitted to reasoning about forms of computation whose operational behaviour can be specified using the Natural Semantics style of structural operational semantics [5]. The logic's underlying type system is Moggi's computational metalanguage [11], which enforces a distinction between computations and values via the categorical structure of a strong monad. This is extended to a (constructive) predicate logic with modal formulas about evaluation of computations to values, called evaluation modalities. The categorical structure corresponding to this kind of logic is explained and a couple of examples of categorical models given. As a first example of the naturalness and applicability of this new logic to program semantics, we investigate the translation of a (tiny) fragment of Standard ML into a theory over the logic, which is proved computationally adequate for ML's Natural Semantics [10]. Whilst it is tiny, the M...
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. PCF-style 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 Curry-Howard 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 Curry-Howard 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 Curry-Howard 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 fixed-point object. This gives a general categorical setting in which it is possible to model recursive types involving the usual datatype constructors. ..."
Abstract
-
Cited by 7 (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 fixed-point 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 Martin-Lö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 Martin-Lö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.
New Foundations for Fixpoint Computations: FIX-Hyperdoctrines and the FIX-Logic
"... This paper introduces a new higher-order 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 co ..."
Abstract
- Add to MetaCart
This paper introduces a new higher-order 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 category-theoretic version of the ‘logical relations ’ method [Plo 85]. 2 1

