Proving the correctness of reactive systems using sized types
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Structural Recursive Definitions in Type Theory
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
Analysis of a Guard Condition in Type Theory (Extended Abstract)
FoSSaCS '98 Proceedings of the First International Conference on Foundations of Software Science and Computation Structure
Dependent Types for Program Termination Verification
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
Type-based termination of recursive definitions
Mathematical Structures in Computer Science
Termination and productivity checking with continuous types
TLCA'03 Proceedings of the 6th international conference on Typed lambda calculi and applications
Polarized subtyping for sized types
CSR'06 Proceedings of the First international computer science conference on Theory and Applications
Practical inference for type-based termination in a polymorphic setting
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Decidability of type-checking in the calculus of algebraic constructions with size annotations
CSL'05 Proceedings of the 19th international conference on Computer Science Logic
Resource bound analysis for database queries
Proceedings of the third ACM SIGPLAN workshop on Programming languages and analysis for security
Union of Reducibility Candidates for Orthogonal Constructor Rewriting
CiE '08 Proceedings of the 4th conference on Computability in Europe: Logic and Theory of Algorithms
Type-based termination of generic programs
Science of Computer Programming
Implementing a normalizer using sized heterogeneous types
Journal of Functional Programming
Strong normalization and equi-(co)inductive types
TLCA'07 Proceedings of the 8th international conference on Typed lambda calculi and applications
Mixed inductive/coinductive types and strong normalization
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
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.01 |
A type-based approach to termination uses sized types: an ordinal bound for the size of a data structure is stored in its type. A recursive function over a sized type is accepted if it is visible in the type system that recursive calls occur just at a smaller size. This approach is only sound if the type of the recursive function is admissible, i.e., depends on the size index in a certain way. To explore the space of admissible functions in the presence of higher-kinded data types and impredicative polymorphism, a semantics is developed where sized types are interpreted as functions from ordinals into sets of strongly normalizing terms. It is shown that upper semi-continuity of such functions is a sufficient semantical criterion for admissibility. To provide a syntactical criterion, a calculus for semi-continuous function is developed.