MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { merge(x, nil()) -> x , merge(nil(), y) -> y , merge(.(x, y), .(u, v)) -> if(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v))) , if(true(), x, y) -> x , if(false(), x, y) -> x , ++(nil(), y) -> y , ++(.(x, y), z) -> .(x, ++(y, z)) } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { merge^#(x, nil()) -> c_1() , merge^#(nil(), y) -> c_2() , merge^#(.(x, y), .(u, v)) -> c_3(if^#(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v))), merge^#(y, .(u, v)), merge^#(.(x, y), v)) , if^#(true(), x, y) -> c_4() , if^#(false(), x, y) -> c_5() , ++^#(nil(), y) -> c_6() , ++^#(.(x, y), z) -> c_7(++^#(y, z)) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { merge^#(x, nil()) -> c_1() , merge^#(nil(), y) -> c_2() , merge^#(.(x, y), .(u, v)) -> c_3(if^#(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v))), merge^#(y, .(u, v)), merge^#(.(x, y), v)) , if^#(true(), x, y) -> c_4() , if^#(false(), x, y) -> c_5() , ++^#(nil(), y) -> c_6() , ++^#(.(x, y), z) -> c_7(++^#(y, z)) } Weak Trs: { merge(x, nil()) -> x , merge(nil(), y) -> y , merge(.(x, y), .(u, v)) -> if(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v))) , if(true(), x, y) -> x , if(false(), x, y) -> x , ++(nil(), y) -> y , ++(.(x, y), z) -> .(x, ++(y, z)) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,2,4,5,6} by applications of Pre({1,2,4,5,6}) = {3,7}. Here rules are labeled as follows: DPs: { 1: merge^#(x, nil()) -> c_1() , 2: merge^#(nil(), y) -> c_2() , 3: merge^#(.(x, y), .(u, v)) -> c_3(if^#(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v))), merge^#(y, .(u, v)), merge^#(.(x, y), v)) , 4: if^#(true(), x, y) -> c_4() , 5: if^#(false(), x, y) -> c_5() , 6: ++^#(nil(), y) -> c_6() , 7: ++^#(.(x, y), z) -> c_7(++^#(y, z)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { merge^#(.(x, y), .(u, v)) -> c_3(if^#(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v))), merge^#(y, .(u, v)), merge^#(.(x, y), v)) , ++^#(.(x, y), z) -> c_7(++^#(y, z)) } Weak DPs: { merge^#(x, nil()) -> c_1() , merge^#(nil(), y) -> c_2() , if^#(true(), x, y) -> c_4() , if^#(false(), x, y) -> c_5() , ++^#(nil(), y) -> c_6() } Weak Trs: { merge(x, nil()) -> x , merge(nil(), y) -> y , merge(.(x, y), .(u, v)) -> if(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v))) , if(true(), x, y) -> x , if(false(), x, y) -> x , ++(nil(), y) -> y , ++(.(x, y), z) -> .(x, ++(y, z)) } Obligation: innermost runtime complexity Answer: MAYBE The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. { merge^#(x, nil()) -> c_1() , merge^#(nil(), y) -> c_2() , if^#(true(), x, y) -> c_4() , if^#(false(), x, y) -> c_5() , ++^#(nil(), y) -> c_6() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { merge^#(.(x, y), .(u, v)) -> c_3(if^#(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v))), merge^#(y, .(u, v)), merge^#(.(x, y), v)) , ++^#(.(x, y), z) -> c_7(++^#(y, z)) } Weak Trs: { merge(x, nil()) -> x , merge(nil(), y) -> y , merge(.(x, y), .(u, v)) -> if(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v))) , if(true(), x, y) -> x , if(false(), x, y) -> x , ++(nil(), y) -> y , ++(.(x, y), z) -> .(x, ++(y, z)) } Obligation: innermost runtime complexity Answer: MAYBE Due to missing edges in the dependency-graph, the right-hand sides of following rules could be simplified: { merge^#(.(x, y), .(u, v)) -> c_3(if^#(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v))), merge^#(y, .(u, v)), merge^#(.(x, y), v)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { merge^#(.(x, y), .(u, v)) -> c_1(merge^#(y, .(u, v)), merge^#(.(x, y), v)) , ++^#(.(x, y), z) -> c_2(++^#(y, z)) } Weak Trs: { merge(x, nil()) -> x , merge(nil(), y) -> y , merge(.(x, y), .(u, v)) -> if(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v))) , if(true(), x, y) -> x , if(false(), x, y) -> x , ++(nil(), y) -> y , ++(.(x, y), z) -> .(x, ++(y, z)) } Obligation: innermost runtime complexity Answer: MAYBE No rule is usable, rules are removed from the input problem. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { merge^#(.(x, y), .(u, v)) -> c_1(merge^#(y, .(u, v)), merge^#(.(x, y), v)) , ++^#(.(x, y), z) -> c_2(++^#(y, z)) } Obligation: innermost runtime complexity Answer: MAYBE None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'matrices' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'matrix interpretation of dimension 4' failed due to the following reason: The input cannot be shown compatible 2) 'matrix interpretation of dimension 3' failed due to the following reason: The input cannot be shown compatible 3) 'matrix interpretation of dimension 3' failed due to the following reason: The input cannot be shown compatible 4) 'matrix interpretation of dimension 2' failed due to the following reason: The input cannot be shown compatible 5) 'matrix interpretation of dimension 2' failed due to the following reason: The input cannot be shown compatible 6) 'matrix interpretation of dimension 1' failed due to the following reason: The input cannot be shown compatible 2) 'empty' failed due to the following reason: Empty strict component of the problem is NOT empty. Arrrr..