Results 1 
8 of
8
TypeBased Termination of Recursive Definitions
, 2002
"... This article The purpose of this paper is to introduce b, a simply typed calculus that supports typebased recursive definitions. Although heavily inspired from previous work by Giménez (Giménez 1998) and closely related to recent work by Amadio and Coupet (Amadio and CoupetGrimal 1998), the techn ..."
Abstract

Cited by 39 (3 self)
 Add to MetaCart
This article The purpose of this paper is to introduce b, a simply typed calculus that supports typebased recursive definitions. Although heavily inspired from previous work by Giménez (Giménez 1998) and closely related to recent work by Amadio and Coupet (Amadio and CoupetGrimal 1998), the technical machinery behind our system puts a slightly different emphasis on the interpretation of types. More precisely, we formalize the notion of typebased termination using a restricted form of type dependency (a.k.a. indexed types), as popularized by (Xi and Pfenning 1998; Xi and Pfenning 1999). This leads to a simple and intuitive system which is robust under several extensions, such as mutually inductive datatypes and mutually recursive function definitions; however, such extensions are not treated in the paper
Termination Checking with Types
, 1999
"... The paradigm of typebased termination is explored for functional programming with recursive data types. The article introduces , a lambdacalculus with recursion, inductive types, subtyping and bounded quanti cation. Decorated type variables representing approximations of inductive types ..."
Abstract

Cited by 28 (6 self)
 Add to MetaCart
The paradigm of typebased termination is explored for functional programming with recursive data types. The article introduces , a lambdacalculus with recursion, inductive types, subtyping and bounded quanti cation. Decorated type variables representing approximations of inductive types are used to track the size of function arguments and return values. The system is shown to be type safe and strongly normalizing. The main novelty is a bidirectional type checking algorithm whose soundness is established formally.
Generalized Iteration and Coiteration for HigherOrder Nested Datatypes
 PROC. OF FOSSACS 2003
, 2003
"... We solve the problem of extending Bird and Paterson's generalized folds for nested datatypes and its dual to inductive and coinductive constructors of arbitrarily high ranks by appropriately generalizing Mendlerstyle (co)iteration. Characteristically to Mendlerstyle schemes of disciplined (co)recu ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
We solve the problem of extending Bird and Paterson's generalized folds for nested datatypes and its dual to inductive and coinductive constructors of arbitrarily high ranks by appropriately generalizing Mendlerstyle (co)iteration. Characteristically to Mendlerstyle schemes of disciplined (co)recursion, the schemes we propose do not rest on notions like positivity or monotonicity of a constructor and facilitate programming in a natural and elegant style close to programming with the customary letrec construct, where the typings of the schemes, however, guarantee termination. For rank 2, a smoothened version of Bird and Paterson's generalized folds and its dual are achieved; for rank 1, the schemes instantiate to Mendler's original (re)formulation of iteration and coiteration. Several examples demonstrate the power of the approach. Strong normalization of our proposed extension of system F of higherorder parametric polymorphism is proven by a reductionpreserving embedding into pure F .
Termination and Guardedness Checking with Continuous Types  Ordinal Indices for (Co)Inductive Types
 Typed Lambda Calculi and Applications (TLCA 2003
, 2001
"... Introduction 2. Recursion plus Examples 3. Corecursion plus Examples 4. Continuous Types 5. Strong Normalization 6. Further and Related Work Work supported by: PhD Programme Logic in Computer Science, Munich (DFG) Strong Normalization for General Recursion 1. Interactive theorem proving: Coq, Isab ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
Introduction 2. Recursion plus Examples 3. Corecursion plus Examples 4. Continuous Types 5. Strong Normalization 6. Further and Related Work Work supported by: PhD Programme Logic in Computer Science, Munich (DFG) Strong Normalization for General Recursion 1. Interactive theorem proving: Coq, Isabelle, Nuprl, PVS, Twelf Primitive recursion: typing easy, but uncomfortable to use. Programsasproofs: Induction proofs via recursive functions. Coinduction proofs via guarded corecursion. 2. Functional programming: Haskell, ML (a) Termination as a static property: error detection at compiletime. (b) For embedded systems: productivity of processes is safety requirement. 3. Resource boundedness: similar to termination, but stronger requirements. The Basic Concept I: CourseofValue Recursion Inductive types (Nat, List, trees ...) are approximated from below. Example: [[List]] denotes integer lists of length < n. ; = [[List]] [[List]] ! = <! [[List]] A recur
Modular Causality in a Synchronous Stream Language
, 2001
"... This article presents a causality analysis for a synchronous stream language with higherorder functions. This analysis takes the shape of a type system with rows. Rows were originally designed to add extensible records to the ML type system (Didier Remy, Mitchell Wand). We also restate briey the co ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
This article presents a causality analysis for a synchronous stream language with higherorder functions. This analysis takes the shape of a type system with rows. Rows were originally designed to add extensible records to the ML type system (Didier Remy, Mitchell Wand). We also restate briey the coiterative semantics for synchronous streams (Paul Caspi, Marc Pouzet), and prove the correctness of our analysis with respect to this semantics.
Coding Recursion a la Mendler (Extended Abstract)
 Department of Computer Science, Utrecht University
, 2000
"... Abstract We advocate the Mendler style of coding terminating recursion schemes as combinators by showing on the example of two simple and much used schemes (courseofvalue iteration and simultaneous iteration) that choosing the Mendler style can sometimes lead to handier constructions than followin ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Abstract We advocate the Mendler style of coding terminating recursion schemes as combinators by showing on the example of two simple and much used schemes (courseofvalue iteration and simultaneous iteration) that choosing the Mendler style can sometimes lead to handier constructions than following the construction style of cata and para like combinators. 1 Introduction This paper is intended as an advert for something we call the Mendler style. This is a not too widely known style of coding terminating recursion schemes by combinators that di ers from the construction style of the famous cata and para combinators (for iteration and primitiverecursion, respectively) [Mal90,Mee92], here called the conventional style. The paper ar...
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.
Termination Checking = Type Checking: Structural Recursion beyond Subterm Ordering
, 2001
"... Introduction 2. Informal Description 3. Properties 4. Applications and Further Work Work supported by: Oce for Technology in Education (Carnegie Mellon, Pittsburgh), PhD Programme Logic in Computer Science (GKLI, Munich) Slide 2 Termination Checking Special case: Structural recursion (examples fol ..."
Abstract
 Add to MetaCart
Introduction 2. Informal Description 3. Properties 4. Applications and Further Work Work supported by: Oce for Technology in Education (Carnegie Mellon, Pittsburgh), PhD Programme Logic in Computer Science (GKLI, Munich) Slide 2 Termination Checking Special case: Structural recursion (examples follow!) Applications: { Functional and logic programming { Theorem proving: proof as recursive function (LEGO, Coq, Twelf, . . . ) Methods: { Subterm ordering { Types (New!) 1 Slide 3 Example: Binary Logarithm half : nat ! nat half 0 Y + = 0 Y + half (s 0) Y + = (s 0) Y + half (s (s<F11.6