WORST_CASE(?,O(1)) * Step 1: Sum WORST_CASE(?,O(1)) + Considered Problem: - Strict TRS: f(x,x,y) -> x f(x,y,y) -> y f(x,y,g(y)) -> x f(f(x,y,z),u,f(x,y,v)) -> f(x,y,f(z,u,v)) f(g(x),x,y) -> y - Signature: {f/3} / {g/1} - Obligation: innermost runtime complexity wrt. defined symbols {f} and constructors {g} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () * Step 2: DependencyPairs WORST_CASE(?,O(1)) + Considered Problem: - Strict TRS: f(x,x,y) -> x f(x,y,y) -> y f(x,y,g(y)) -> x f(f(x,y,z),u,f(x,y,v)) -> f(x,y,f(z,u,v)) f(g(x),x,y) -> y - Signature: {f/3} / {g/1} - Obligation: innermost runtime complexity wrt. defined symbols {f} and constructors {g} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs f#(x,x,y) -> c_1() f#(x,y,y) -> c_2() f#(x,y,g(y)) -> c_3() f#(f(x,y,z),u,f(x,y,v)) -> c_4(f#(x,y,f(z,u,v)),f#(z,u,v)) f#(g(x),x,y) -> c_5() Weak DPs and mark the set of starting terms. * Step 3: PredecessorEstimation WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: f#(x,x,y) -> c_1() f#(x,y,y) -> c_2() f#(x,y,g(y)) -> c_3() f#(f(x,y,z),u,f(x,y,v)) -> c_4(f#(x,y,f(z,u,v)),f#(z,u,v)) f#(g(x),x,y) -> c_5() - Weak TRS: f(x,x,y) -> x f(x,y,y) -> y f(x,y,g(y)) -> x f(f(x,y,z),u,f(x,y,v)) -> f(x,y,f(z,u,v)) f(g(x),x,y) -> y - Signature: {f/3,f#/3} / {g/1,c_1/0,c_2/0,c_3/0,c_4/2,c_5/0} - Obligation: innermost runtime complexity wrt. defined symbols {f#} and constructors {g} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {1,2,3,5} by application of Pre({1,2,3,5}) = {4}. Here rules are labelled as follows: 1: f#(x,x,y) -> c_1() 2: f#(x,y,y) -> c_2() 3: f#(x,y,g(y)) -> c_3() 4: f#(f(x,y,z),u,f(x,y,v)) -> c_4(f#(x,y,f(z,u,v)),f#(z,u,v)) 5: f#(g(x),x,y) -> c_5() * Step 4: RemoveWeakSuffixes WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: f#(f(x,y,z),u,f(x,y,v)) -> c_4(f#(x,y,f(z,u,v)),f#(z,u,v)) - Weak DPs: f#(x,x,y) -> c_1() f#(x,y,y) -> c_2() f#(x,y,g(y)) -> c_3() f#(g(x),x,y) -> c_5() - Weak TRS: f(x,x,y) -> x f(x,y,y) -> y f(x,y,g(y)) -> x f(f(x,y,z),u,f(x,y,v)) -> f(x,y,f(z,u,v)) f(g(x),x,y) -> y - Signature: {f/3,f#/3} / {g/1,c_1/0,c_2/0,c_3/0,c_4/2,c_5/0} - Obligation: innermost runtime complexity wrt. defined symbols {f#} and constructors {g} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:f#(f(x,y,z),u,f(x,y,v)) -> c_4(f#(x,y,f(z,u,v)),f#(z,u,v)) -->_2 f#(g(x),x,y) -> c_5():5 -->_1 f#(g(x),x,y) -> c_5():5 -->_2 f#(x,y,g(y)) -> c_3():4 -->_1 f#(x,y,g(y)) -> c_3():4 -->_2 f#(x,y,y) -> c_2():3 -->_1 f#(x,y,y) -> c_2():3 -->_2 f#(x,x,y) -> c_1():2 -->_1 f#(x,x,y) -> c_1():2 -->_2 f#(f(x,y,z),u,f(x,y,v)) -> c_4(f#(x,y,f(z,u,v)),f#(z,u,v)):1 -->_1 f#(f(x,y,z),u,f(x,y,v)) -> c_4(f#(x,y,f(z,u,v)),f#(z,u,v)):1 2:W:f#(x,x,y) -> c_1() 3:W:f#(x,y,y) -> c_2() 4:W:f#(x,y,g(y)) -> c_3() 5:W:f#(g(x),x,y) -> c_5() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 2: f#(x,x,y) -> c_1() 3: f#(x,y,y) -> c_2() 4: f#(x,y,g(y)) -> c_3() 5: f#(g(x),x,y) -> c_5() * Step 5: RemoveInapplicable WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: f#(f(x,y,z),u,f(x,y,v)) -> c_4(f#(x,y,f(z,u,v)),f#(z,u,v)) - Weak TRS: f(x,x,y) -> x f(x,y,y) -> y f(x,y,g(y)) -> x f(f(x,y,z),u,f(x,y,v)) -> f(x,y,f(z,u,v)) f(g(x),x,y) -> y - Signature: {f/3,f#/3} / {g/1,c_1/0,c_2/0,c_3/0,c_4/2,c_5/0} - Obligation: innermost runtime complexity wrt. defined symbols {f#} and constructors {g} + Applied Processor: RemoveInapplicable + Details: Only the nodes {} are reachable from nodes {} that start derivation from marked basic terms. The nodes not reachable are removed from the problem. * Step 6: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: f(x,x,y) -> x f(x,y,y) -> y f(x,y,g(y)) -> x f(f(x,y,z),u,f(x,y,v)) -> f(x,y,f(z,u,v)) f(g(x),x,y) -> y - Signature: {f/3,f#/3} / {g/1,c_1/0,c_2/0,c_3/0,c_4/2,c_5/0} - Obligation: innermost runtime complexity wrt. defined symbols {f#} and constructors {g} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(?,O(1))