Combining typing and size constraints for checking the termination of higher-order conditional rewrite systems
Fr\'ed\'eric Blanqui (INRIA Lorraine - LORIA), Colin Riba (INRIA, Lorraine - LORIA)

TL;DR
This paper extends size-based termination techniques to higher-order conditional rewrite systems, incorporating constraints and conditions to more precisely analyze and verify termination of complex functions.
Contribution
It introduces a novel type-checking algorithm with constraint solving and a new termination criterion that accounts for conditions in higher-order rewriting.
Findings
First to incorporate conditions into higher-order termination analysis
Developed a type-checking algorithm based on Presburger arithmetic constraints
Enabled more precise termination checking for complex higher-order functions
Abstract
In a previous work, the first author extended to higher-order rewriting and dependent types the use of size annotations in types, a termination proof technique called type or size based termination and initially developed for ML-like programs. Here, we go one step further by considering conditional rewriting and explicit quantifications and constraints on size annotations. This allows to describe more precisely how the size of the output of a function depends on the size of its inputs. Hence, we can check the termination of more functions. We first give a general type-checking algorithm based on constraint solving. Then, we give a termination criterion with constraints in Presburger arithmetic. To our knowledge, this is the first termination criterion for higher-order conditional rewriting taking into account the conditions in termination.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
