Proving the correctness of reactive systems using sized types
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Higher-Order and Symbolic Computation
Dependent Types for Program Termination Verification
Higher-Order and Symbolic Computation
Type-based termination of recursive definitions
Mathematical Structures in Computer Science
Simple saturated sets for disjunction and second-order existential quantification
TLCA'07 Proceedings of the 8th international conference on Typed lambda calculi and applications
LPAR'06 Proceedings of the 13th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Practical inference for type-based termination in a polymorphic setting
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Linear dependent types in a call-by-value scenario
Proceedings of the 14th symposium on Principles and practice of declarative programming
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Wellfounded recursion with copatterns: a unified approach to termination and productivity
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
Type-based termination is a semantically intuitive method that ensures termination of recursive definitions by tracking the size of datatype elements, and by checking that recursive calls operate on smaller arguments. However, many systems using type-based termination rely on a semantical anomaly to guarantee strong normalization; namely, they impose that non-recursive elements of a datatype, e.g. the empty list, have size 1 instead of 0. This semantical anomaly also prevents functions such as quicksortto be given a precise typing.The main contribution of this paper is a type system that remedies this anomaly, and still ensures termination. In addition, our type system features prenex stage polymorphism, a weakening of existential quantification over stages, and is precise enough to type quicksortas a non-size increasing function. Moreover, our system accomodate stage addition with all positive inductive types.