Difference between revisions of "TRS Derivational Complexity"

From Termination-Portal.org
Jump to navigationJump to search
(Added TRS Derivational Complexity)
 
m (Small fixes)
 
Line 4: Line 4:
  
 
Analyzing the time complexity of a rewrite system is interesting because it reveals how its performance scales as input size grows.  
 
Analyzing the time complexity of a rewrite system is interesting because it reveals how its performance scales as input size grows.  
his helps to detect rewrite systems that seem fine for small inputs but become impractical for large problems.
+
This helps to detect rewrite systems that seem fine for small inputs but become impractical for large problems.
  
 
== Syntax & Semantic ==
 
== Syntax & Semantic ==
Line 14: Line 14:
 
Let |t| be the size of the term t, i.e., the number of its positions.  
 
Let |t| be the size of the term t, i.e., the number of its positions.  
 
Then the <i>derivation height</i> dh(t) of a term t is the supremum over all &rarr;<sub>R</sub>-rewrite sequences starting with t.
 
Then the <i>derivation height</i> dh(t) of a term t is the supremum over all &rarr;<sub>R</sub>-rewrite sequences starting with t.
The <i>derivational complexity</i> of an ARS is a function that maps every natural number n
+
The <i>derivational complexity</i> 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., dc<sub>&rarr;<sub>R</sub> </sub>(n) = sup{m | |t| <= n, t &rarr;<sub>R</sub><sup>n</sup> s}.
+
to the greatest derivation height of all objects of size at most n, i.e., dc<sub>&rarr;<sub>R</sub> </sub>(n) = sup{m | |t| <= n, dh(t) >= m}.
  
The goal is to find an asymptotic upper bound and lower bound on the derivational complexity of a given TRS R.
+
The goal is to find an asymptotic upper bound and lower bound on the derivational complexity dc<sub>&rarr;<sub>R</sub> </sub>(n) of a given TRS R.
Possible complexity classes are O(1), O(n), O(n<sup>2</sup>), ..., O(EXP), O(2-EXP).
 
The '?' indicates that no bound was found.
 
  
 
== Problem ==
 
== Problem ==
Line 30: Line 28:
 
* "<b>WORST_CASE(f(n),g(n))</b>" 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.
 
* "<b>WORST_CASE(f(n),g(n))</b>" 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.
 
* "<b>MAYBE</b>" (indicating that the solver cannot prove any complexity bound).
 
* "<b>MAYBE</b>" (indicating that the solver cannot prove any complexity bound).
 
 
== References ==
 
  
  
 
[[Category:Categories]]
 
[[Category:Categories]]

Latest revision as of 12:16, 9 June 2026

The TRS 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".

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.

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 derivation height dh(t) of a term t is the supremum over all →R-rewrite sequences starting with t. The 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., dcR (n) = sup{m | |t| <= n, dh(t) >= m}.

The goal is to find an asymptotic upper bound and lower bound on the derivational complexity dcR (n) of a given TRS R.

Problem

Input: A term rewrite system R.

Question: What is the asymptotic 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).