(0) Obligation:

Runtime Complexity TRS:
The TRS R consists of the following rules:

h(e(x), y) → h(d(x, y), s(y))
d(g(g(0, x), y), s(z)) → g(e(x), d(g(g(0, x), y), z))
d(g(g(0, x), y), 0) → e(y)
d(g(0, x), y) → e(x)
d(g(x, y), z) → g(d(x, z), e(y))
g(e(x), e(y)) → e(g(x, y))

Rewrite Strategy: INNERMOST

(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)

Converted CpxTRS to CDT

(2) Obligation:

Complexity Dependency Tuples Problem
Rules:

h(e(z0), z1) → h(d(z0, z1), s(z1))
d(g(g(0, z0), z1), s(z2)) → g(e(z0), d(g(g(0, z0), z1), z2))
d(g(g(0, z0), z1), 0) → e(z1)
d(g(0, z0), z1) → e(z0)
d(g(z0, z1), z2) → g(d(z0, z2), e(z1))
g(e(z0), e(z1)) → e(g(z0, z1))
Tuples:

H(e(z0), z1) → c(H(d(z0, z1), s(z1)), D(z0, z1))
D(g(g(0, z0), z1), s(z2)) → c1(G(e(z0), d(g(g(0, z0), z1), z2)), D(g(g(0, z0), z1), z2), G(g(0, z0), z1), G(0, z0))
D(g(z0, z1), z2) → c4(G(d(z0, z2), e(z1)), D(z0, z2))
G(e(z0), e(z1)) → c5(G(z0, z1))
S tuples:

H(e(z0), z1) → c(H(d(z0, z1), s(z1)), D(z0, z1))
D(g(g(0, z0), z1), s(z2)) → c1(G(e(z0), d(g(g(0, z0), z1), z2)), D(g(g(0, z0), z1), z2), G(g(0, z0), z1), G(0, z0))
D(g(z0, z1), z2) → c4(G(d(z0, z2), e(z1)), D(z0, z2))
G(e(z0), e(z1)) → c5(G(z0, z1))
K tuples:none
Defined Rule Symbols:

h, d, g

Defined Pair Symbols:

H, D, G

Compound Symbols:

c, c1, c4, c5

(3) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 2 trailing tuple parts

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

h(e(z0), z1) → h(d(z0, z1), s(z1))
d(g(g(0, z0), z1), s(z2)) → g(e(z0), d(g(g(0, z0), z1), z2))
d(g(g(0, z0), z1), 0) → e(z1)
d(g(0, z0), z1) → e(z0)
d(g(z0, z1), z2) → g(d(z0, z2), e(z1))
g(e(z0), e(z1)) → e(g(z0, z1))
Tuples:

H(e(z0), z1) → c(H(d(z0, z1), s(z1)), D(z0, z1))
D(g(z0, z1), z2) → c4(G(d(z0, z2), e(z1)), D(z0, z2))
G(e(z0), e(z1)) → c5(G(z0, z1))
D(g(g(0, z0), z1), s(z2)) → c1(G(e(z0), d(g(g(0, z0), z1), z2)), D(g(g(0, z0), z1), z2))
S tuples:

H(e(z0), z1) → c(H(d(z0, z1), s(z1)), D(z0, z1))
D(g(z0, z1), z2) → c4(G(d(z0, z2), e(z1)), D(z0, z2))
G(e(z0), e(z1)) → c5(G(z0, z1))
D(g(g(0, z0), z1), s(z2)) → c1(G(e(z0), d(g(g(0, z0), z1), z2)), D(g(g(0, z0), z1), z2))
K tuples:none
Defined Rule Symbols:

h, d, g

Defined Pair Symbols:

H, D, G

Compound Symbols:

c, c4, c5, c1

(5) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace H(e(z0), z1) → c(H(d(z0, z1), s(z1)), D(z0, z1)) by

H(e(g(g(0, z0), z1)), s(z2)) → c(H(g(e(z0), d(g(g(0, z0), z1), z2)), s(s(z2))), D(g(g(0, z0), z1), s(z2)))
H(e(g(g(0, z0), z1)), 0) → c(H(e(z1), s(0)), D(g(g(0, z0), z1), 0))
H(e(g(0, z0)), z1) → c(H(e(z0), s(z1)), D(g(0, z0), z1))
H(e(g(z0, z1)), z2) → c(H(g(d(z0, z2), e(z1)), s(z2)), D(g(z0, z1), z2))
H(e(x0), x1) → c

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

h(e(z0), z1) → h(d(z0, z1), s(z1))
d(g(g(0, z0), z1), s(z2)) → g(e(z0), d(g(g(0, z0), z1), z2))
d(g(g(0, z0), z1), 0) → e(z1)
d(g(0, z0), z1) → e(z0)
d(g(z0, z1), z2) → g(d(z0, z2), e(z1))
g(e(z0), e(z1)) → e(g(z0, z1))
Tuples:

D(g(z0, z1), z2) → c4(G(d(z0, z2), e(z1)), D(z0, z2))
G(e(z0), e(z1)) → c5(G(z0, z1))
D(g(g(0, z0), z1), s(z2)) → c1(G(e(z0), d(g(g(0, z0), z1), z2)), D(g(g(0, z0), z1), z2))
H(e(g(g(0, z0), z1)), s(z2)) → c(H(g(e(z0), d(g(g(0, z0), z1), z2)), s(s(z2))), D(g(g(0, z0), z1), s(z2)))
H(e(g(g(0, z0), z1)), 0) → c(H(e(z1), s(0)), D(g(g(0, z0), z1), 0))
H(e(g(0, z0)), z1) → c(H(e(z0), s(z1)), D(g(0, z0), z1))
H(e(g(z0, z1)), z2) → c(H(g(d(z0, z2), e(z1)), s(z2)), D(g(z0, z1), z2))
H(e(x0), x1) → c
S tuples:

D(g(z0, z1), z2) → c4(G(d(z0, z2), e(z1)), D(z0, z2))
G(e(z0), e(z1)) → c5(G(z0, z1))
D(g(g(0, z0), z1), s(z2)) → c1(G(e(z0), d(g(g(0, z0), z1), z2)), D(g(g(0, z0), z1), z2))
H(e(g(g(0, z0), z1)), s(z2)) → c(H(g(e(z0), d(g(g(0, z0), z1), z2)), s(s(z2))), D(g(g(0, z0), z1), s(z2)))
H(e(g(g(0, z0), z1)), 0) → c(H(e(z1), s(0)), D(g(g(0, z0), z1), 0))
H(e(g(0, z0)), z1) → c(H(e(z0), s(z1)), D(g(0, z0), z1))
H(e(g(z0, z1)), z2) → c(H(g(d(z0, z2), e(z1)), s(z2)), D(g(z0, z1), z2))
H(e(x0), x1) → c
K tuples:none
Defined Rule Symbols:

h, d, g

Defined Pair Symbols:

D, G, H

Compound Symbols:

c4, c5, c1, c, c

(7) CdtUnreachableProof (EQUIVALENT transformation)

The following tuples could be removed as they are not reachable from basic start terms:

D(g(z0, z1), z2) → c4(G(d(z0, z2), e(z1)), D(z0, z2))
D(g(g(0, z0), z1), s(z2)) → c1(G(e(z0), d(g(g(0, z0), z1), z2)), D(g(g(0, z0), z1), z2))
H(e(g(g(0, z0), z1)), s(z2)) → c(H(g(e(z0), d(g(g(0, z0), z1), z2)), s(s(z2))), D(g(g(0, z0), z1), s(z2)))
H(e(g(g(0, z0), z1)), 0) → c(H(e(z1), s(0)), D(g(g(0, z0), z1), 0))
H(e(g(0, z0)), z1) → c(H(e(z0), s(z1)), D(g(0, z0), z1))
H(e(g(z0, z1)), z2) → c(H(g(d(z0, z2), e(z1)), s(z2)), D(g(z0, z1), z2))

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

h(e(z0), z1) → h(d(z0, z1), s(z1))
d(g(g(0, z0), z1), s(z2)) → g(e(z0), d(g(g(0, z0), z1), z2))
d(g(g(0, z0), z1), 0) → e(z1)
d(g(0, z0), z1) → e(z0)
d(g(z0, z1), z2) → g(d(z0, z2), e(z1))
g(e(z0), e(z1)) → e(g(z0, z1))
Tuples:

G(e(z0), e(z1)) → c5(G(z0, z1))
H(e(x0), x1) → c
S tuples:

G(e(z0), e(z1)) → c5(G(z0, z1))
H(e(x0), x1) → c
K tuples:none
Defined Rule Symbols:

h, d, g

Defined Pair Symbols:

G, H

Compound Symbols:

c5, c

(9) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

H(e(x0), x1) → c

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

h(e(z0), z1) → h(d(z0, z1), s(z1))
d(g(g(0, z0), z1), s(z2)) → g(e(z0), d(g(g(0, z0), z1), z2))
d(g(g(0, z0), z1), 0) → e(z1)
d(g(0, z0), z1) → e(z0)
d(g(z0, z1), z2) → g(d(z0, z2), e(z1))
g(e(z0), e(z1)) → e(g(z0, z1))
Tuples:

G(e(z0), e(z1)) → c5(G(z0, z1))
S tuples:

G(e(z0), e(z1)) → c5(G(z0, z1))
K tuples:none
Defined Rule Symbols:

h, d, g

Defined Pair Symbols:

G

Compound Symbols:

c5

(11) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

G(e(z0), e(z1)) → c5(G(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

G(e(z0), e(z1)) → c5(G(z0, z1))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(G(x1, x2)) = [2]x1   
POL(c5(x1)) = x1   
POL(e(x1)) = [1] + x1   

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

h(e(z0), z1) → h(d(z0, z1), s(z1))
d(g(g(0, z0), z1), s(z2)) → g(e(z0), d(g(g(0, z0), z1), z2))
d(g(g(0, z0), z1), 0) → e(z1)
d(g(0, z0), z1) → e(z0)
d(g(z0, z1), z2) → g(d(z0, z2), e(z1))
g(e(z0), e(z1)) → e(g(z0, z1))
Tuples:

G(e(z0), e(z1)) → c5(G(z0, z1))
S tuples:none
K tuples:

G(e(z0), e(z1)) → c5(G(z0, z1))
Defined Rule Symbols:

h, d, g

Defined Pair Symbols:

G

Compound Symbols:

c5

(13) SIsEmptyProof (EQUIVALENT transformation)

The set S is empty

(14) BOUNDS(O(1), O(1))