Results 1 
9 of
9
A Predicative Analysis of Structural Recursion
, 1999
"... We introduce a language based upon lambda calculus with products, coproducts and strictly positive inductive types that allows the definition of recursive terms. We present the implementation (foetus) of a syntactical check that ensures that all such terms are structurally recursive, i.e., recursive ..."
Abstract

Cited by 41 (20 self)
 Add to MetaCart
We introduce a language based upon lambda calculus with products, coproducts and strictly positive inductive types that allows the definition of recursive terms. We present the implementation (foetus) of a syntactical check that ensures that all such terms are structurally recursive, i.e., recursive calls appear only with arguments structurally smaller than the input parameters of terms considered. To ensure the correctness of the termination checker, we show that all structurally recursive terms are normalizing with respect to a given operational semantics. To this end, we define a semantics on all types and a structural ordering on the values in this semantics and prove that all values are accessible with regard to this ordering. Finally, we point out how to do this proof predicatively using set based operators.
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
Specification and Verification of a Formal System for Structurally Recursive Functions
 Types for Proof and Programs, International Workshop, TYPES ’99, volume 1956 of Lecture Notes in Computer Science
, 2000
"... A type theoretic programming language is introduced that is based on lambda calculus with coproducts, products and inductive types, and additionally allows the definition of recursive functions in the way that is common in most functional programming languages. A formal system is presented that chec ..."
Abstract

Cited by 7 (5 self)
 Add to MetaCart
A type theoretic programming language is introduced that is based on lambda calculus with coproducts, products and inductive types, and additionally allows the definition of recursive functions in the way that is common in most functional programming languages. A formal system is presented that checks whether such a definition is structurally recursive and a soundness theorem is shown for this system. Thus all functions passing this check are ensured to terminate on all inputs. For the moment only nonmutual recursive functions are considered. 1
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...
Certified and Portable Mathematical Documents from Formal Contexts
, 2001
"... This paper deals with the problem of generating interactive natural language documents based on formal mathematics. It describes how formal mathematical developments, carried out in the type theoretical theorem prover Coq, can be transformed to readable and interactive documents viewable using s ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
This paper deals with the problem of generating interactive natural language documents based on formal mathematics. It describes how formal mathematical developments, carried out in the type theoretical theorem prover Coq, can be transformed to readable and interactive documents viewable using standard Web browser technology. The transformation process produces documents encoded in an xml application called omdoc, suited for describing mathematical documents.
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.
A PVS Proof Obligation Generator for Lustre Programs
 Universite ParisSud
, 2000
"... . This paper presents a tool for proving safety properties of ..."
A clocked denotational semantics for LucidSynchrone in COQ
, 2001
"... Synchronous languages [Hal93] have been designed to help in the conception of reactive systems, especially critical reactive systems (planes, power plants control...). Synchrony is a program property which ensures bounded reactiontime and memory at execution. Synchronous languages statically che ..."
Abstract
 Add to MetaCart
Synchronous languages [Hal93] have been designed to help in the conception of reactive systems, especially critical reactive systems (planes, power plants control...). Synchrony is a program property which ensures bounded reactiontime and memory at execution. Synchronous languages statically check this property. However, in a critical context, it may be needed to have it formally proved, or more generally to prove program properties. In this work we are interested in LucidSynchrone [PCCH01] (LS for short), a dataow synchronous language. We present here a natural and shallow embedding of LS into the Coq proof assistant. This embedding concerns both the dynamic and the static semantics of the language, such that synchrony analysis is obtained for free. Moreover, it gives us a denotational semantics of LS in Coq and is thus a good starting point for designing a prover for LS programs in Coq, following [Fil99, Par95] approach. This semantics can also be used to experiment with the language: we have used it here to propose a notion of recursive functions for LS, as a generalization of recursive streams. The main originality of this work is to apply the \clocks as types" paradigm (see [Cas92]) in the design of a formal semantics for a synchronous language. This paradigm consists in expressing static synchronization constraints with a restricted form of dependent types. We show here that such a type system is a subsystem of Coq type system. This paper is an extended version of [BH01]. 2 CONTENTS Contents 1
Standardization for the Coinductive LambdaCalculus
, 2002
"... In the calculus of possibly nonwellfounded terms, standardization is proved for a parallel notion of reduction. For this system confluence has recently been established by means of a bounding argument for the number of reductions provoked by the joining function which witnesses the conflue ..."
Abstract
 Add to MetaCart
In the calculus of possibly nonwellfounded terms, standardization is proved for a parallel notion of reduction. For this system confluence has recently been established by means of a bounding argument for the number of reductions provoked by the joining function which witnesses the confluence statement. Similarly,