Results 1 
8 of
8
Monotone Inductive and Coinductive Constructors of Rank 2
 Proceedings of CSL 2001
, 2001
"... A generalization of positive inductive and coinductive types to monotone inductive and coinductive constructors of rank 1 and rank 2 is described. The motivation is taken from initial algebras and nal coalgebras in a functor category and the CurryHowardcorrespondence. The denition of the system as ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
A generalization of positive inductive and coinductive types to monotone inductive and coinductive constructors of rank 1 and rank 2 is described. The motivation is taken from initial algebras and nal coalgebras in a functor category and the CurryHowardcorrespondence. The denition of the system as a calculus requires an appropriate denition of monotonicity to overcome subtle problems, most notably to ensure that the (co)inductive constructors introduced via monotonicity of the underlying constructor of rank 2 are also monotone as constructors of rank 1. The problem is solved, strong normalization shown, and the notion proven to be wide enough to cover even highly complex datatypes. 1
A Cube of Proof Systems for the Intuitionistic Predicate mu,nuLogic
 Dept. of Informatics, Univ. of Oslo
, 1997
"... This paper is an attempt at a systematizing study of the proof theory of the intuitionistic predicate ¯; logic (conventional intuitionistic predicate logic extended with logical constants ¯ and for the least and greatest fixpoint operators on positive predicate transformers). We identify eight pr ..."
Abstract

Cited by 6 (5 self)
 Add to MetaCart
This paper is an attempt at a systematizing study of the proof theory of the intuitionistic predicate ¯; logic (conventional intuitionistic predicate logic extended with logical constants ¯ and for the least and greatest fixpoint operators on positive predicate transformers). We identify eight prooftheoretically interesting naturaldeduction calculi for this logic and propose a classification of these into a cube on the basis of the embeddibility relationships between these. 1 Introduction ¯,logics, i.e. logics with logical constants ¯ and for the least and greatest fixpoint operators on positive predicate transformers, have turned out to be a useful formalism in a number of computer science areas. The classical 1storder predicate ¯,logic can been used as a logic of (nondeterministic) imperative programs and as a database query language. It is also one of the relation description languages studied in descriptive complexity theory (finite model theory) (for a survey on this hi...
A Calculational Approach to Strong Datatypes
 Department of Informatics, University of Oslo
, 1997
"... This paper describes calculational properties of fold, a recursive functional on inductive types that extends the standard catamorphism [MFP91] to global parameters. As described by Cockett and Spencer [CS91] fold is definable for those inductive types that are strong in the sense of being given by ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
This paper describes calculational properties of fold, a recursive functional on inductive types that extends the standard catamorphism [MFP91] to global parameters. As described by Cockett and Spencer [CS91] fold is definable for those inductive types that are strong in the sense of being given by an algebra that happens to be initial with parameters. The laws for fold are presented in two groups. The first one corresponds to standard laws for catamorphisms now adapted to folds when these are regarded as catamorphisms in a category of socalled Xactions (for X an object of parameters). The second group contains laws that describe the combination of folds and the interaction between folds and catamorphisms. 1 Introduction In programming semantics, a recursive type is understood as a solution of a recursive type equation. Least fixpoints of covariant recursive type equations correspond to the socalled inductive types which contain only finite elements, like natural numbers, lists o...
Reasoning about Layered, Wildcard and Product Patterns
 ALP '94, volume 850 of LNCS
, 1994
"... We study the extensional version of the simply typed calculus with product types and fixpoints enriched with layered, wildcard and product patterns. Extensionality is expressed by the surjective pairing axiom and a generalization of the jconversion to patterns. We obtain a confluent reduction syst ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
We study the extensional version of the simply typed calculus with product types and fixpoints enriched with layered, wildcard and product patterns. Extensionality is expressed by the surjective pairing axiom and a generalization of the jconversion to patterns. We obtain a confluent reduction system by turning the extensional axioms as expansion rules, and then adding some restrictions to these expansions in order to avoid reduction loops. Confluence is proved by composition of modular properties of the extensional and nonextensional subsystems of the reduction calculus. 1 Introduction Patternmatching function definitions is one of the most popular features of functional languages, allowing to specify the behavior of functions by cases, according to the form of their arguments. Lefthand sides of function definitions are usually expressed using Layered, Wildcard and Product Patterns (LWPP), as for example the following Caml Light [ea93] program where the function cons new pair ta...
Inductive, Projective, and Retractive Types
, 1993
"... We give an analysis of classes of recursive types by presenting two extensions of the simplytyped lambda calculus. The first language only allows recursive types with builtin principles of wellfounded induction, while the second allows more general recursive types which permit nonterminating com ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We give an analysis of classes of recursive types by presenting two extensions of the simplytyped lambda calculus. The first language only allows recursive types with builtin principles of wellfounded induction, while the second allows more general recursive types which permit nonterminating computations. We discuss the expressive power of the languages, examine the properties of reductionbased operational semantics for them, and give examples of their use in expressing iteration over large ordinals and in simulating both callbyname and callbyvalue versions of the untyped lambda calculus. The motivations for this work come from category theoretic models. 1 Introduction An examination of the common uses of recursion in defining types reveals that there are two distinct classes of operations being performed. The first class of recursive type contains what are generally known as the "inductive" types, as well as their duals, the "coinductive" or "projective" types. The distingui...
Reasoning about Redundant Patterns
, 1997
"... The extensional version of the simply typed calculus with product types enriched with layered, wildcard, and product patterns is studied. Extensionality is expressed by the surjective pairing axiom and a generalization of the jconversion to patterns. Two different confluent reduction systems, ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
The extensional version of the simply typed calculus with product types enriched with layered, wildcard, and product patterns is studied. Extensionality is expressed by the surjective pairing axiom and a generalization of the jconversion to patterns. Two different confluent reduction systems, called lwp \Gamma! and lw \Gamma! respectively, are obtained by turning the extensional axioms as expansion rules, and then adding some restrictions to these expansions to avoid reduction loops. It is shown that only layered and wildcard patterns are redundant in lw \Gamma!, while product patterns are unnecessary in lwp \Gamma!. Confluence of both reduction systems is proven by the composition of modular properties of the systems' extensional and nonextensional parts. Recursion is also added to both systems by keeping the modularity of the confluence property. 1 Introduction Patternmatching in function definitions is one of the most popular features of functional languages...
Another Iteration on Darlington's "A Synthesis of Several Sorting Algorithms"
, 1994
"... this paper was presented at California State University, Northridge. This work was partially supported by a grant from the Office of Naval Research. References ..."
Abstract
 Add to MetaCart
this paper was presented at California State University, Northridge. This work was partially supported by a grant from the Office of Naval Research. References
Least and Greatest Fixed Points in Intuitionistic Natural Deduction
, 2002
"... This paper is a comparative study of a number of (intensionalsemantically distinct) least and greatest fixed point operators that naturaldeduction proof systems for intuitionistic logics can be extended with in a prooftheoretically defendable way. Eight pairs of such operators are analysed. The e ..."
Abstract
 Add to MetaCart
This paper is a comparative study of a number of (intensionalsemantically distinct) least and greatest fixed point operators that naturaldeduction proof systems for intuitionistic logics can be extended with in a prooftheoretically defendable way. Eight pairs of such operators are analysed. The exposition is centered around a cubeshaped classification where each node stands for an axiomatization of one pair of operators as logical constants by intended proof and reduction rules and each arc for a proof and reductionpreserving encoding of one pair in terms of another. The three dimensions of the cube reflect three orthogonal binary options: conventionalstyle vs. Mendlerstyle, basic (``[co]iterative'') vs. enhanced (``primitive[co]recursive''), simple vs. courseofvalue [co]induction. Some of the axiomatizations and encodings are wellknown; others, however, are novel; the classification into a cube is also new. The differences between the least fixed point operators considered are illustrated on the example of the corresponding natural number types.