(0) Obligation:

The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, n^1).


The TRS R consists of the following rules:

f(a) → g(h(a))
h(g(x)) → g(h(f(x)))
k(x, h(x), a) → h(x)
k(f(x), y, x) → f(x)

Rewrite Strategy: INNERMOST

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

The following rules are not reachable from basic terms in the dependency graph and can be removed:
k(x, h(x), a) → h(x)
k(f(x), y, x) → f(x)

(2) Obligation:

The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, n^1).


The TRS R consists of the following rules:

h(g(x)) → g(h(f(x)))
f(a) → g(h(a))

Rewrite Strategy: INNERMOST

(3) CpxTrsMatchBoundsProof (EQUIVALENT transformation)

A linear upper bound on the runtime complexity of the TRS R could be shown with a Match Bound [MATCHBOUNDS1,MATCHBOUNDS2] of 2.
The certificate found is represented by the following graph.
Start state: 1
Accept states: [2]
Transitions:
1→2[h_1|0, f_1|0]
1→3[g_1|1]
1→5[g_1|1]
2→2[g_1|0, a|0]
3→4[h_1|1]
3→7[g_1|2]
4→2[f_1|1]
4→5[g_1|1]
5→6[h_1|1]
6→2[a|1]
7→8[h_1|2]
8→5[f_1|2]

(4) BOUNDS(1, n^1)