2004
DOI: 10.1017/s0960129503004122
|View full text |Cite
|
Sign up to set email alerts
|

Type-based termination of recursive definitions

Abstract: This paper introduces λ , a simply typed lambda calculus supporting inductive types and recursive function definitions with termination ensured by types. The system is shown to enjoy subject reduction, strong normalisation of typable terms and to be stronger than a related system λ G in which termination is ensured by a syntactic guard condition. The system can, at will, be extended to support coinductive types and corecursive function definitions also.Type-based termination of recursive definitions 103 2 ι-re… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
114
0

Year Published

2005
2005
2006
2006

Publication Types

Select...
5

Relationship

0
5

Authors

Journals

citations
Cited by 85 publications
(116 citation statements)
references
References 35 publications
1
114
0
Order By: Relevance
“…Any Haskell-program (without type classes and built-in data structures) 2 can automatically be transformed into a program from this subset [15]. 3 For example, in our implementation lambda abstractions are removed by replacing every Haskell-term "\ t 1 ...t n → t" with the free variables x 1 , ..., x m by "f x 1 . .…”
Section: Haskellmentioning
confidence: 99%
See 2 more Smart Citations
“…Any Haskell-program (without type classes and built-in data structures) 2 can automatically be transformed into a program from this subset [15]. 3 For example, in our implementation lambda abstractions are removed by replacing every Haskell-term "\ t 1 ...t n → t" with the free variables x 1 , ..., x m by "f x 1 . .…”
Section: Haskellmentioning
confidence: 99%
“…Methods for first-order languages with strict evaluation strategy were developed in [5,11,17]. For higher-order languages, [1,3,18] study how to ensure termination by typing and [16] defines a restricted language where all evaluations terminate. A successful approach for automated termination proofs for a small Haskell-like language was developed in [12].…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Another approach is to increase the class of recursive functions that are accepted by Coq's termination criterion by introducing increasingly powerful syntactic schemes [8], or more semantical schemes based on size information [4] (the latter also bears some resemblance with work of Xi [25] on enforcing termination using restricted dependent types). In fact, the implementation of the ad-hoc predicate approach could be significantly simplified by abandoning the guard predicate in favor of type-based termination methods, especially for inversion lemmas.…”
Section: Yet Another Approach: Extending Coqmentioning
confidence: 99%
“…We automatically generate a proof script for this definition 4 . During the proof, applications of the induction hypothesis are justified using compatibility properties previously discharged by the user.…”
Section: Automated Generation Of the Functionmentioning
confidence: 99%