* Step 1: ToInnermost WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
a__f(X) -> f(X)
a__f(f(a())) -> a__f(g(f(a())))
mark(a()) -> a()
mark(f(X)) -> a__f(X)
mark(g(X)) -> g(mark(X))
- Signature:
{a__f/1,mark/1} / {a/0,f/1,g/1}
- Obligation:
runtime complexity wrt. defined symbols {a__f,mark} and constructors {a,f,g}
+ Applied Processor:
ToInnermost
+ Details:
switch to innermost, as the system is overlay and right linear and does not contain weak rules
* Step 2: Bounds WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
a__f(X) -> f(X)
a__f(f(a())) -> a__f(g(f(a())))
mark(a()) -> a()
mark(f(X)) -> a__f(X)
mark(g(X)) -> g(mark(X))
- Signature:
{a__f/1,mark/1} / {a/0,f/1,g/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {a__f,mark} and constructors {a,f,g}
+ Applied Processor:
Bounds {initialAutomaton = minimal, enrichment = match}
+ Details:
The problem is match-bounded by 2.
The enriched problem is compatible with follwoing automaton.
a_0() -> 2
a_1() -> 1
a_1() -> 5
a_1() -> 6
a__f_0(2) -> 1
a__f_1(2) -> 1
a__f_1(2) -> 6
a__f_1(3) -> 1
a__f_1(3) -> 6
f_0(2) -> 2
f_1(2) -> 1
f_1(5) -> 4
f_2(2) -> 1
f_2(2) -> 6
f_2(3) -> 1
f_2(3) -> 6
g_0(2) -> 2
g_1(4) -> 3
g_1(6) -> 1
g_1(6) -> 6
mark_0(2) -> 1
mark_1(2) -> 6
* Step 3: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Weak TRS:
a__f(X) -> f(X)
a__f(f(a())) -> a__f(g(f(a())))
mark(a()) -> a()
mark(f(X)) -> a__f(X)
mark(g(X)) -> g(mark(X))
- Signature:
{a__f/1,mark/1} / {a/0,f/1,g/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {a__f,mark} and constructors {a,f,g}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).
WORST_CASE(?,O(n^1))