* 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))