MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { isLeaf(leaf()) -> true() , isLeaf(cons(u, v)) -> false() , left(cons(u, v)) -> u , right(cons(u, v)) -> v , concat(leaf(), y) -> y , concat(cons(u, v), y) -> cons(u, concat(v, y)) , less_leaves(u, v) -> if1(isLeaf(u), isLeaf(v), u, v) , if1(b, true(), u, v) -> false() , if1(b, false(), u, v) -> if2(b, u, v) , if2(true(), u, v) -> true() , if2(false(), u, v) -> less_leaves(concat(left(u), right(u)), concat(left(v), right(v))) } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { isLeaf^#(leaf()) -> c_1() , isLeaf^#(cons(u, v)) -> c_2() , left^#(cons(u, v)) -> c_3() , right^#(cons(u, v)) -> c_4() , concat^#(leaf(), y) -> c_5() , concat^#(cons(u, v), y) -> c_6(concat^#(v, y)) , less_leaves^#(u, v) -> c_7(if1^#(isLeaf(u), isLeaf(v), u, v), isLeaf^#(u), isLeaf^#(v)) , if1^#(b, true(), u, v) -> c_8() , if1^#(b, false(), u, v) -> c_9(if2^#(b, u, v)) , if2^#(true(), u, v) -> c_10() , if2^#(false(), u, v) -> c_11(less_leaves^#(concat(left(u), right(u)), concat(left(v), right(v))), concat^#(left(u), right(u)), left^#(u), right^#(u), concat^#(left(v), right(v)), left^#(v), right^#(v)) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { isLeaf^#(leaf()) -> c_1() , isLeaf^#(cons(u, v)) -> c_2() , left^#(cons(u, v)) -> c_3() , right^#(cons(u, v)) -> c_4() , concat^#(leaf(), y) -> c_5() , concat^#(cons(u, v), y) -> c_6(concat^#(v, y)) , less_leaves^#(u, v) -> c_7(if1^#(isLeaf(u), isLeaf(v), u, v), isLeaf^#(u), isLeaf^#(v)) , if1^#(b, true(), u, v) -> c_8() , if1^#(b, false(), u, v) -> c_9(if2^#(b, u, v)) , if2^#(true(), u, v) -> c_10() , if2^#(false(), u, v) -> c_11(less_leaves^#(concat(left(u), right(u)), concat(left(v), right(v))), concat^#(left(u), right(u)), left^#(u), right^#(u), concat^#(left(v), right(v)), left^#(v), right^#(v)) } Weak Trs: { isLeaf(leaf()) -> true() , isLeaf(cons(u, v)) -> false() , left(cons(u, v)) -> u , right(cons(u, v)) -> v , concat(leaf(), y) -> y , concat(cons(u, v), y) -> cons(u, concat(v, y)) , less_leaves(u, v) -> if1(isLeaf(u), isLeaf(v), u, v) , if1(b, true(), u, v) -> false() , if1(b, false(), u, v) -> if2(b, u, v) , if2(true(), u, v) -> true() , if2(false(), u, v) -> less_leaves(concat(left(u), right(u)), concat(left(v), right(v))) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,2,3,4,5,8,10} by applications of Pre({1,2,3,4,5,8,10}) = {6,7,9,11}. Here rules are labeled as follows: DPs: { 1: isLeaf^#(leaf()) -> c_1() , 2: isLeaf^#(cons(u, v)) -> c_2() , 3: left^#(cons(u, v)) -> c_3() , 4: right^#(cons(u, v)) -> c_4() , 5: concat^#(leaf(), y) -> c_5() , 6: concat^#(cons(u, v), y) -> c_6(concat^#(v, y)) , 7: less_leaves^#(u, v) -> c_7(if1^#(isLeaf(u), isLeaf(v), u, v), isLeaf^#(u), isLeaf^#(v)) , 8: if1^#(b, true(), u, v) -> c_8() , 9: if1^#(b, false(), u, v) -> c_9(if2^#(b, u, v)) , 10: if2^#(true(), u, v) -> c_10() , 11: if2^#(false(), u, v) -> c_11(less_leaves^#(concat(left(u), right(u)), concat(left(v), right(v))), concat^#(left(u), right(u)), left^#(u), right^#(u), concat^#(left(v), right(v)), left^#(v), right^#(v)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { concat^#(cons(u, v), y) -> c_6(concat^#(v, y)) , less_leaves^#(u, v) -> c_7(if1^#(isLeaf(u), isLeaf(v), u, v), isLeaf^#(u), isLeaf^#(v)) , if1^#(b, false(), u, v) -> c_9(if2^#(b, u, v)) , if2^#(false(), u, v) -> c_11(less_leaves^#(concat(left(u), right(u)), concat(left(v), right(v))), concat^#(left(u), right(u)), left^#(u), right^#(u), concat^#(left(v), right(v)), left^#(v), right^#(v)) } Weak DPs: { isLeaf^#(leaf()) -> c_1() , isLeaf^#(cons(u, v)) -> c_2() , left^#(cons(u, v)) -> c_3() , right^#(cons(u, v)) -> c_4() , concat^#(leaf(), y) -> c_5() , if1^#(b, true(), u, v) -> c_8() , if2^#(true(), u, v) -> c_10() } Weak Trs: { isLeaf(leaf()) -> true() , isLeaf(cons(u, v)) -> false() , left(cons(u, v)) -> u , right(cons(u, v)) -> v , concat(leaf(), y) -> y , concat(cons(u, v), y) -> cons(u, concat(v, y)) , less_leaves(u, v) -> if1(isLeaf(u), isLeaf(v), u, v) , if1(b, true(), u, v) -> false() , if1(b, false(), u, v) -> if2(b, u, v) , if2(true(), u, v) -> true() , if2(false(), u, v) -> less_leaves(concat(left(u), right(u)), concat(left(v), right(v))) } 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. { isLeaf^#(leaf()) -> c_1() , isLeaf^#(cons(u, v)) -> c_2() , left^#(cons(u, v)) -> c_3() , right^#(cons(u, v)) -> c_4() , concat^#(leaf(), y) -> c_5() , if1^#(b, true(), u, v) -> c_8() , if2^#(true(), u, v) -> c_10() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { concat^#(cons(u, v), y) -> c_6(concat^#(v, y)) , less_leaves^#(u, v) -> c_7(if1^#(isLeaf(u), isLeaf(v), u, v), isLeaf^#(u), isLeaf^#(v)) , if1^#(b, false(), u, v) -> c_9(if2^#(b, u, v)) , if2^#(false(), u, v) -> c_11(less_leaves^#(concat(left(u), right(u)), concat(left(v), right(v))), concat^#(left(u), right(u)), left^#(u), right^#(u), concat^#(left(v), right(v)), left^#(v), right^#(v)) } Weak Trs: { isLeaf(leaf()) -> true() , isLeaf(cons(u, v)) -> false() , left(cons(u, v)) -> u , right(cons(u, v)) -> v , concat(leaf(), y) -> y , concat(cons(u, v), y) -> cons(u, concat(v, y)) , less_leaves(u, v) -> if1(isLeaf(u), isLeaf(v), u, v) , if1(b, true(), u, v) -> false() , if1(b, false(), u, v) -> if2(b, u, v) , if2(true(), u, v) -> true() , if2(false(), u, v) -> less_leaves(concat(left(u), right(u)), concat(left(v), right(v))) } Obligation: innermost runtime complexity Answer: MAYBE Due to missing edges in the dependency-graph, the right-hand sides of following rules could be simplified: { less_leaves^#(u, v) -> c_7(if1^#(isLeaf(u), isLeaf(v), u, v), isLeaf^#(u), isLeaf^#(v)) , if2^#(false(), u, v) -> c_11(less_leaves^#(concat(left(u), right(u)), concat(left(v), right(v))), concat^#(left(u), right(u)), left^#(u), right^#(u), concat^#(left(v), right(v)), left^#(v), right^#(v)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { concat^#(cons(u, v), y) -> c_1(concat^#(v, y)) , less_leaves^#(u, v) -> c_2(if1^#(isLeaf(u), isLeaf(v), u, v)) , if1^#(b, false(), u, v) -> c_3(if2^#(b, u, v)) , if2^#(false(), u, v) -> c_4(less_leaves^#(concat(left(u), right(u)), concat(left(v), right(v))), concat^#(left(u), right(u)), concat^#(left(v), right(v))) } Weak Trs: { isLeaf(leaf()) -> true() , isLeaf(cons(u, v)) -> false() , left(cons(u, v)) -> u , right(cons(u, v)) -> v , concat(leaf(), y) -> y , concat(cons(u, v), y) -> cons(u, concat(v, y)) , less_leaves(u, v) -> if1(isLeaf(u), isLeaf(v), u, v) , if1(b, true(), u, v) -> false() , if1(b, false(), u, v) -> if2(b, u, v) , if2(true(), u, v) -> true() , if2(false(), u, v) -> less_leaves(concat(left(u), right(u)), concat(left(v), right(v))) } Obligation: innermost runtime complexity Answer: MAYBE We replace rewrite rules by usable rules: Weak Usable Rules: { isLeaf(leaf()) -> true() , isLeaf(cons(u, v)) -> false() , left(cons(u, v)) -> u , right(cons(u, v)) -> v , concat(leaf(), y) -> y , concat(cons(u, v), y) -> cons(u, concat(v, y)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { concat^#(cons(u, v), y) -> c_1(concat^#(v, y)) , less_leaves^#(u, v) -> c_2(if1^#(isLeaf(u), isLeaf(v), u, v)) , if1^#(b, false(), u, v) -> c_3(if2^#(b, u, v)) , if2^#(false(), u, v) -> c_4(less_leaves^#(concat(left(u), right(u)), concat(left(v), right(v))), concat^#(left(u), right(u)), concat^#(left(v), right(v))) } Weak Trs: { isLeaf(leaf()) -> true() , isLeaf(cons(u, v)) -> false() , left(cons(u, v)) -> u , right(cons(u, v)) -> v , concat(leaf(), y) -> y , concat(cons(u, v), y) -> cons(u, concat(v, y)) } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..