Termination checking with types
Department of Computer Science, Chalmers University of Technology, Rännvägen 6, 41296 Göteborg, Sweden; firstname.lastname@example.org.
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 quantification. 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.
Mathematics Subject Classification: 68N15 / 68N18 / 68Q42
Key words: Type-based termination / sized types / inductive types / course-of-value recursion / bidirectional type checking / strong normalization
© EDP Sciences, 2004