TRS Innermost Derivational Complexity
The TRS Innermost Derivational Complexity category is concerned with the question "What is the time complexity of a given TRS with relation to the size of the initial term if we only consider innermost rewriting".
Category Motivation
Analyzing the time complexity of a rewrite system is interesting because it reveals how its performance scales as input size grows. This helps to detect rewrite systems that seem fine for small inputs but become impractical for large problems.
Moreover, since innermost rewriting (call-by-value) is one of the most important evaluation strategies, it is an interesting restriction to find bounds on the innermost time complexity.
Syntax & Semantic
The syntax and the semantics of term rewrite systems are described here and here.
Formally, a term rewrite system R = {l1 → r1,...,ln → rn} is a finite set of rewrite rules.
Let |t| be the size of the term t, i.e., the number of its positions. Then the innermost derivation height idh(t) of a term t is the supremum over all innermost →iR-rewrite sequences starting with t. The innermost derivational complexity of an TRS is a function that maps every natural number n to the greatest derivation height of all objects of size at most n, i.e., idc→R (n) = sup{m | |t| <= n, idh(t) >= m}.
The goal is to find an asymptotic upper bound and lower bound on the innermost derivational complexity idc→R (n) of a given TRS R.
Problem
Input: A term rewrite system R.
Question: What is the asymptotic innermost derivational complexity of R?
Possible Outputs:
- "WORST_CASE(f(n),g(n))" where f(n) and g(n) are lower and upper complexity bounds, respectively, or '?', followed by a proof of these bounds, e.g., a ranking function proving termination of R.
- "MAYBE" (indicating that the solver cannot prove any complexity bound).