(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
h(x, x) → h(a, b)
g(g(x, a), y) → g(g(a, y), g(a, x))
f(g(x, y)) → g(g(f(f(y)), h(a, a)), x)
h(h(f(f(x)), y), h(z, v)) → h(h(f(z), f(f(f(y)))), h(v, x))
Rewrite Strategy: INNERMOST
(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)
Converted CpxTRS to CDT
(2) Obligation:
Complexity Dependency Tuples Problem
Rules:
h(z0, z0) → h(a, b)
h(h(f(f(z0)), z1), h(z2, z3)) → h(h(f(z2), f(f(f(z1)))), h(z3, z0))
g(g(z0, a), z1) → g(g(a, z1), g(a, z0))
f(g(z0, z1)) → g(g(f(f(z1)), h(a, a)), z0)
Tuples:
H(z0, z0) → c(H(a, b))
H(h(f(f(z0)), z1), h(z2, z3)) → c1(H(h(f(z2), f(f(f(z1)))), h(z3, z0)), H(f(z2), f(f(f(z1)))), F(z2), F(f(f(z1))), F(f(z1)), F(z1), H(z3, z0))
G(g(z0, a), z1) → c2(G(g(a, z1), g(a, z0)), G(a, z1), G(a, z0))
F(g(z0, z1)) → c3(G(g(f(f(z1)), h(a, a)), z0), G(f(f(z1)), h(a, a)), F(f(z1)), F(z1), H(a, a))
S tuples:
H(z0, z0) → c(H(a, b))
H(h(f(f(z0)), z1), h(z2, z3)) → c1(H(h(f(z2), f(f(f(z1)))), h(z3, z0)), H(f(z2), f(f(f(z1)))), F(z2), F(f(f(z1))), F(f(z1)), F(z1), H(z3, z0))
G(g(z0, a), z1) → c2(G(g(a, z1), g(a, z0)), G(a, z1), G(a, z0))
F(g(z0, z1)) → c3(G(g(f(f(z1)), h(a, a)), z0), G(f(f(z1)), h(a, a)), F(f(z1)), F(z1), H(a, a))
K tuples:none
Defined Rule Symbols:
h, g, f
Defined Pair Symbols:
H, G, F
Compound Symbols:
c, c1, c2, c3
(3) CdtUnreachableProof (EQUIVALENT transformation)
The following tuples could be removed as they are not reachable from basic start terms:
H(h(f(f(z0)), z1), h(z2, z3)) → c1(H(h(f(z2), f(f(f(z1)))), h(z3, z0)), H(f(z2), f(f(f(z1)))), F(z2), F(f(f(z1))), F(f(z1)), F(z1), H(z3, z0))
G(g(z0, a), z1) → c2(G(g(a, z1), g(a, z0)), G(a, z1), G(a, z0))
F(g(z0, z1)) → c3(G(g(f(f(z1)), h(a, a)), z0), G(f(f(z1)), h(a, a)), F(f(z1)), F(z1), H(a, a))
(4) Obligation:
Complexity Dependency Tuples Problem
Rules:
h(z0, z0) → h(a, b)
h(h(f(f(z0)), z1), h(z2, z3)) → h(h(f(z2), f(f(f(z1)))), h(z3, z0))
g(g(z0, a), z1) → g(g(a, z1), g(a, z0))
f(g(z0, z1)) → g(g(f(f(z1)), h(a, a)), z0)
Tuples:
H(z0, z0) → c(H(a, b))
S tuples:
H(z0, z0) → c(H(a, b))
K tuples:none
Defined Rule Symbols:
h, g, f
Defined Pair Symbols:
H
Compound Symbols:
c
(5) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)
Removed 1 trailing nodes:
H(z0, z0) → c(H(a, b))
(6) Obligation:
Complexity Dependency Tuples Problem
Rules:
h(z0, z0) → h(a, b)
h(h(f(f(z0)), z1), h(z2, z3)) → h(h(f(z2), f(f(f(z1)))), h(z3, z0))
g(g(z0, a), z1) → g(g(a, z1), g(a, z0))
f(g(z0, z1)) → g(g(f(f(z1)), h(a, a)), z0)
Tuples:none
S tuples:none
K tuples:none
Defined Rule Symbols:
h, g, f
Defined Pair Symbols:none
Compound Symbols:none
(7) SIsEmptyProof (EQUIVALENT transformation)
The set S is empty
(8) BOUNDS(O(1), O(1))