(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
p(a(a(x0)), p(x1, p(a(x2), x3))) → p(x2, p(a(a(b(x1))), p(a(a(x0)), x3)))
Rewrite Strategy: INNERMOST
(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)
Converted CpxTRS to CDT
(2) Obligation:
Complexity Dependency Tuples Problem
Rules:
p(a(a(z0)), p(z1, p(a(z2), z3))) → p(z2, p(a(a(b(z1))), p(a(a(z0)), z3)))
Tuples:
P(a(a(z0)), p(z1, p(a(z2), z3))) → c(P(z2, p(a(a(b(z1))), p(a(a(z0)), z3))), P(a(a(b(z1))), p(a(a(z0)), z3)), P(a(a(z0)), z3))
S tuples:
P(a(a(z0)), p(z1, p(a(z2), z3))) → c(P(z2, p(a(a(b(z1))), p(a(a(z0)), z3))), P(a(a(b(z1))), p(a(a(z0)), z3)), P(a(a(z0)), z3))
K tuples:none
Defined Rule Symbols:
p
Defined Pair Symbols:
P
Compound Symbols:
c
(3) CpxTrsMatchBoundsTAProof (EQUIVALENT transformation)
A linear upper bound on the runtime complexity of the TRS R could be shown with a Match-Bound[TAB_LEFTLINEAR,TAB_NONLEFTLINEAR] (for contructor-based start-terms) of 0.
The compatible tree automaton used to show the Match-Boundedness (for constructor-based start-terms) is represented by:
final states : [1]
transitions:
a0(0) → 0
b0(0) → 0
p0(0, 0) → 1
(4) BOUNDS(O(1), O(n^1))