MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Termination Checking with Types (1999) [17 citations — 6 self]

by Andreas Abel
Add To MetaCart

Abstract:

The paradigm of type-based termination is explored for functional programming with recursive data types. The article introduces , a lambda-calculus 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.

Citations

806 A Theory of Type Polymorphism in Programming – Milner - 1978
415 A syntactic approach to type soundness – Wright, Felleisen - 1994
389 Types and Programming Languages – Pierce - 2002
215 System description: Twelf — A meta-logical framework for deductive systems – Pfenning, Schürmann - 1999
209 Lambda-mu-calculus: an algorithmic interpretation of classical natural deduction – Parigot - 1992
125 Termination of term rewriting using dependency pairs – Arts, Giesl - 2000
115 Local Type Inference – Pierce, Turner - 1998
105 The size-change principle for program termination – Lee, Jones, et al. - 2001
90 Proving the correctness of reactive systems using sized types – Hughes, Pareto, et al. - 1996
73 An Extended Calculus of Constructions – Luo - 1990
70 P.: Inductive types and type constraints in the second-order lambda calculus – Mendler - 1991
52 Infinite objects in type theory – Coquand - 1993
52 Recursion and dynamic data-structures in bounded space: Towards embedded ML programming – Hughes, Pareto - 1999
49 Dependently Typed Functional Programs and their Proofs – McBride - 1999
44 A typed lambda calculus with categorical type constructors – Hagino - 1987
41 Inductive data type systems – Blanqui, Jouannaud, et al. - 2001
36 Termination of Nested and Mutually Recursive Algorithms – Giesl
34 Calculating sized types – Chin, Khoo - 2000
34 Type error slicing in implicitly typed higher-order languages – Haack, Wells
32 A predicative analysis of structural recursion – Abel, Altenkirch - 2002
29 An algorithm for type-checking dependent types – Coquand - 1996
24 Constructions, Inductive Types and Strong Normalization – Altenkirch - 1993
23 Extensions of System F by Iteration and Primitive Recursion on Monotone Inductive Types – Matthes - 1998
21 The Theory of LEGO – Pollack - 1994
18 Tridirectional typechecking – Dunfield, Pfenning - 2000
15 Resource bound certi – Crary, Weirich - 2000
13 Argument-Bounded Algorithms as a Basis for Automated Termination Proofs – Walther - 1988
12 Types for crash prevention – Pareto - 2000
11 Termination and reduction checking for higher-order logic programs – Pientka - 2001
10 Termination Analysis for Partial Functions – Brauburger - 1996
10 The Coq Proof Assistant Reference Manual, version 7.0 edition – INRIA - 2004
9 A Computational Interpretation of the -calculus – Bierman - 1998
9 Structural recursive de in type theory – Gimenez - 1998
9 Primitive (co)recursion and course-of-values (co)iteration, categorically – Uustalu, Vene - 1999
8 A type-based termination criterion for dependently-typed higher-order rewrite systems – Blanqui
8 Ensuring Termination in ESFP – Telford, Turner - 2000
6 Termination and guardedness checking with continuous types – Abel - 2003
6 Type Theory and Rewriting – Blanqui - 2001
5 Type Iteration vs. recursion – lawski, Z, et al. - 1999
5 Explaining polymorphic types – YANG, Michaelson, et al. - 2002
4 Speci and veri of a formal system for structurally recursive functions – Abel - 2000
4 Analysis of a guard condition in type theory – Amadio, Coupet-Grimal - 1998
4 Intersection types and computational eects – Davies, Pfenning - 2000
4 Dependent types for program termination veri – Xi - 2002
3 A third-order representation of the -calculus – Abel - 2001
3 Type-based termination of recursive de – Barthe, Frade, et al. - 2004
3 Ensuring streams – Telford, Turner - 1997
1 Soundness of a bidirectional typing algorithm. Twelf code, available on the author's homepage – Abel - 2004
1 Alfa home – Hallgren - 2003