Argument filterings and usable rules in higher-order rewrite systems
The static dependency pair method is a method for proving the termination of higher-order rewrite systems a la Nipkow. It combines the dependency pair method introduced for first-order rewrite systems with the notion of strong computability introduced for typed lambda-calculi. Argument filterings and usable rules are two important methods of the dependency pair framework used by current state-of-the-art first-order automated termination provers. In this paper, we extend the class of higher-order systems on which the static dependency pair method can be applied. Then, we extend argument filterings and usable rules to higher-order rewriting, hence providing the basis for a powerful automated termination prover for higher-order rewrite systems.
💡 Research Summary
The paper addresses the problem of automatically proving termination for higher‑order rewrite systems (HRSs), which are rewrite systems operating on simply‑typed λ‑terms equipped with higher‑order matching. The authors build on the static dependency pair (SDP) method, originally devised for first‑order term rewriting, and combine it with the notion of strong computability from typed λ‑calculus. While the SDP method had previously been limited to plain function‑passing (PFP) HRSs, the paper makes three major contributions that broaden its applicability and bring powerful first‑order techniques—argument filtering and usable rules—into the higher‑order setting.
-
Extending the class of admissible HRSs
The authors observe that the original PFP restriction stems from the fact that strong computability is not closed under the subterm relation. To overcome this, they adopt the concept of accessibility (originally used for higher‑order path orderings) and redefine the set of safe subterms. The new definition (called “safe(l)”) includes not only the direct arguments of a left‑hand side but also λ‑abstractions, variables applied to arguments, and higher‑order patterns that were previously excluded. This enlarged safe set is proved to preserve strong computability (Lemma 3.5), thereby extending the SDP method to a much larger class of HRSs. Concrete examples such as a fold‑like higher‑order function, a rule involving sin ∘ F, and a logical conjunction rule illustrate the increased expressive power. -
Argument filtering for HRSs
In first‑order termination provers, argument filtering removes selected arguments of function symbols to simplify the reduction order. The paper generalizes this idea to HRSs by defining a filtering mapping that respects types and η‑long forms. After filtering, the authors show that the filtered terms remain strongly computable, and that a well‑founded reduction pair can be constructed on the filtered system. This enables the use of sophisticated orderings (e.g., higher‑order recursive path ordering) on a simplified representation of the original higher‑order problem. -
Usable rules in the higher‑order context
Usable rules are a technique to restrict the set of rewrite rules that need to be considered when proving non‑loopingness of a static recursion component. The paper extends the notion to HRSs by taking into account higher‑order matching and β‑reduction. A usable‑rules set is defined for each component, and it is proved that proving termination using only these rules suffices for the whole system. This dramatically reduces the number of constraints that must be solved by a termination prover.
The authors integrate these three extensions into a coherent framework. They present a detailed example HRS (named Rave) that combines list‑processing functions (sum, len, foldl) with arithmetic operations. The static dependency graph of Rave contains eleven static dependency pairs. By applying the new safe‑subterm definition, argument filtering, and usable‑rules analysis, each static recursion component is shown to be non‑looping, and consequently the whole system is terminating (Proposition 3.9 and 3.11).
The paper is organized as follows: Section 2 reviews HRS preliminaries; Section 3 introduces the improved SDP method and the new PFP definition; Section 4 develops argument filtering for HRSs; Section 5 extends usable rules; Section 6 concludes with remarks on implementation prospects. Throughout, the authors provide rigorous lemmas and propositions that guarantee the soundness of each extension.
In summary, this work provides the first comprehensive theoretical foundation for bringing the most effective first‑order termination techniques—argument filtering and usable rules—into the realm of higher‑order rewriting. By enlarging the class of HRSs that can be handled via static dependency pairs, the paper paves the way for the development of powerful automated termination provers for higher‑order languages, potentially matching or surpassing the capabilities of current state‑of‑the‑art first‑order tools.
Comments & Academic Discussion
Loading comments...
Leave a Comment