Static DP Framework for LCSTRSs
- The framework is a method that transforms termination analysis of LCSTRSs into verifying the absence of infinite chains in a logic-enriched dependency graph.
- It integrates built-in theories with simply-typed rewriting by extracting marked dependency pairs to capture potential recursive calls under logical constraints.
- The approach employs reduction pairs, graph decomposition, and DP processors to modularly prove termination and ensure computational soundness.
The static dependency pair (DP) framework for Logically Constrained Simply-Typed Rewriting Systems (LCSTRSs) is a foundational methodology for analyzing termination in higher-order term rewriting systems equipped with logical constraints. LCSTRSs generalize simply-typed rewriting by integrating built-in theories (such as integers, booleans, and user-specified background theories) and allowing constraints at the level of rewrite rules. The static DP framework adapts and extends classical dependency pair techniques, enabling termination and computability proofs for these expressive systems by systematically transforming the termination problem into the absence of infinite chains in a transition graph enriched by logical constraints and higher-order considerations.
1. LCSTRSs: Syntax, Semantics, and Constraints
An LCSTRS is specified by a finite set of rewrite rules over curried (partially applied) function signatures. Types are constructed over a set of base sorts via the grammar , where . The signature is partitioned:
- Theory signature (): symbols interpreted in an external theory (e.g., integers, booleans) serving as values and whose ground subterms never rewrite.
- Defined signature (): symbols whose behavior is given by rewrite rules.
Rewriting occurs via constrained rules of the form , where and are terms of the same type and is a logical constraint—a conjunction of background-theory atoms, with variables from . A rewrite step applies when, under a ground substitution , the instantiated constraint holds in the theory and the pattern matches at the root of a subterm.
2. Static Dependency Pair Extraction
For each defined symbol of type , a marked symbol of identical type is introduced. From each rule :
- Traverse to identify subterms whose head is defined.
- Emit a static dependency pair:
The set of all such pairs forms the collection .
In static DPs, every potential recursive call in rule right-hand sides is recorded, each with its side constraint. Notably, static DPs do not analyze the calling context—contrast with dynamic DPs, which would only include those pairs feasible under actual execution and the constraints. In the unconstrained (classical) case, all are trivial (true), and the theory layer is absent (Kop, 2024, Kop, 2016, Kusakari et al., 2011).
3. Computability and Reduction Pairs: Orderings for Termination
The framework requires a reduction pair on terms:
- is a reflexive, monotonic quasi-order.
- is a well-founded strict order, also substitution-closed.
- They satisfy: .
- Weak monotonicity: If , then for any context not duplicating or deleting filtered positions, .
A key instance is the weakly monotonic HORPO-variant, parameterized by a precedence on defined symbols, a filter selecting monotonic positions, and defined recursively in RPO style:
- Theory terms: of base sort, with and yield .
- Arguments: Structural comparison of filtered positions under the order.
- Higher-order descent: Allows drop in type structure.
The reduction pair is shown to be well-founded using Tait–Girard computability, with all ground terms strongly normalizing in the computability model whenever no infinite -chain exists (Kop, 2024).
4. Dependency Graphs and Infinite Chains
The set is represented as a directed dependency graph:
- Nodes: The marked pairs from static DP extraction.
- Edges: There is an edge from
if and unify under some substitution with .
The core reduction is that termination is equivalent to the absence of infinite chains in this graph: If there does not exist an infinite sequence of pairs such that the corresponding relation is infinitely often, then the LCSTRS is terminating (Kop, 2024, Kop, 2016, Guo et al., 2024).
Strongly Connected Components (SCCs) are then used to decompose the problem, with chain-freeness of each SCC equivalent to global chain-freeness.
5. Processors, Simplification, and Practical Framework
To show the absence of infinite chains, the dependency graph undergoes transformation by DP processors:
- Graph decomposition: Decompose into SCCs.
- Subterm criterion: Project (via mappings) argument positions to yield a decrease under a well-founded order, removing DPs that decrease a chosen component.
- Theory or value criterion: Use reduction on theory or value arguments to orient pairs.
- Reduction pair processor: Attempt to orient pairs under the chosen order (), possibly via polynomial interpretations or higher-order path orderings.
Each processor is shown to be sound: removing pairs that cannot appear infinitely often in any computable chain preserves the equivalence between chain-freeness and termination. This modular approach allows flexible, scalable proofs (Kop, 2016, Guo et al., 2024).
6. Open-World Termination and Universal Computability
While classical DP frameworks reason about closed systems, the static DP framework for LCSTRSs can be extended to open-world settings:
- Public computability: Termination is preserved under any extension not redefining certain hidden symbols.
- Universal computability: Termination is preserved under arbitrary extensions introducing only new symbols.
The same DP chain-freeness criterion applies when restricting attention to public chains, i.e., chains whose first SDP is public. This enables modular, library-style reasoning where LCSTRS termination is shown independently of possible future extensions (Guo et al., 2024).
7. Illustrative Examples and Application
For instance, analyzing a curried, constraint-rich definition such as bounded sum or a fold-based GCD list computation involves the following steps:
- Extract all static dependency pairs with logical constraints from every rule.
- Construct the dependency graph, encode constraint propagation, and perform satisfiability checks.
- Decompose the graph into SCCs.
- Apply appropriate DP processors to orient (strictly or weakly) each pair under the reduction pair.
- Demonstrate that every SCC is chain-free by removing strictly oriented arcs or applying value, theory, or subterm criteria.
Such systematic application reconstructs a full termination proof for highly expressive, constrained higher-order rewrite systems (Kop, 2024, Kop, 2016, Guo et al., 2024).