MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { add(true(), x, xs) -> add(and(isNat(x), isList(xs)), x, Cons(x, xs)) , and(x, false()) -> false() , and(true(), true()) -> true() , and(false(), x) -> false() , isNat(s(x)) -> isNat(x) , isNat(0()) -> true() , isList(Cons(x, xs)) -> isList(xs) , isList(nil()) -> true() , if(true(), x, y) -> x , if(false(), x, y) -> y } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { add^#(true(), x, xs) -> c_1(add^#(and(isNat(x), isList(xs)), x, Cons(x, xs)), and^#(isNat(x), isList(xs)), isNat^#(x), isList^#(xs)) , and^#(x, false()) -> c_2() , and^#(true(), true()) -> c_3() , and^#(false(), x) -> c_4() , isNat^#(s(x)) -> c_5(isNat^#(x)) , isNat^#(0()) -> c_6() , isList^#(Cons(x, xs)) -> c_7(isList^#(xs)) , isList^#(nil()) -> c_8() , if^#(true(), x, y) -> c_9() , if^#(false(), x, y) -> c_10() } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { add^#(true(), x, xs) -> c_1(add^#(and(isNat(x), isList(xs)), x, Cons(x, xs)), and^#(isNat(x), isList(xs)), isNat^#(x), isList^#(xs)) , and^#(x, false()) -> c_2() , and^#(true(), true()) -> c_3() , and^#(false(), x) -> c_4() , isNat^#(s(x)) -> c_5(isNat^#(x)) , isNat^#(0()) -> c_6() , isList^#(Cons(x, xs)) -> c_7(isList^#(xs)) , isList^#(nil()) -> c_8() , if^#(true(), x, y) -> c_9() , if^#(false(), x, y) -> c_10() } Weak Trs: { add(true(), x, xs) -> add(and(isNat(x), isList(xs)), x, Cons(x, xs)) , and(x, false()) -> false() , and(true(), true()) -> true() , and(false(), x) -> false() , isNat(s(x)) -> isNat(x) , isNat(0()) -> true() , isList(Cons(x, xs)) -> isList(xs) , isList(nil()) -> true() , if(true(), x, y) -> x , if(false(), x, y) -> y } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {2,3,4,6,8,9,10} by applications of Pre({2,3,4,6,8,9,10}) = {1,5,7}. Here rules are labeled as follows: DPs: { 1: add^#(true(), x, xs) -> c_1(add^#(and(isNat(x), isList(xs)), x, Cons(x, xs)), and^#(isNat(x), isList(xs)), isNat^#(x), isList^#(xs)) , 2: and^#(x, false()) -> c_2() , 3: and^#(true(), true()) -> c_3() , 4: and^#(false(), x) -> c_4() , 5: isNat^#(s(x)) -> c_5(isNat^#(x)) , 6: isNat^#(0()) -> c_6() , 7: isList^#(Cons(x, xs)) -> c_7(isList^#(xs)) , 8: isList^#(nil()) -> c_8() , 9: if^#(true(), x, y) -> c_9() , 10: if^#(false(), x, y) -> c_10() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { add^#(true(), x, xs) -> c_1(add^#(and(isNat(x), isList(xs)), x, Cons(x, xs)), and^#(isNat(x), isList(xs)), isNat^#(x), isList^#(xs)) , isNat^#(s(x)) -> c_5(isNat^#(x)) , isList^#(Cons(x, xs)) -> c_7(isList^#(xs)) } Weak DPs: { and^#(x, false()) -> c_2() , and^#(true(), true()) -> c_3() , and^#(false(), x) -> c_4() , isNat^#(0()) -> c_6() , isList^#(nil()) -> c_8() , if^#(true(), x, y) -> c_9() , if^#(false(), x, y) -> c_10() } Weak Trs: { add(true(), x, xs) -> add(and(isNat(x), isList(xs)), x, Cons(x, xs)) , and(x, false()) -> false() , and(true(), true()) -> true() , and(false(), x) -> false() , isNat(s(x)) -> isNat(x) , isNat(0()) -> true() , isList(Cons(x, xs)) -> isList(xs) , isList(nil()) -> true() , if(true(), x, y) -> x , if(false(), x, y) -> y } 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. { and^#(x, false()) -> c_2() , and^#(true(), true()) -> c_3() , and^#(false(), x) -> c_4() , isNat^#(0()) -> c_6() , isList^#(nil()) -> c_8() , if^#(true(), x, y) -> c_9() , if^#(false(), x, y) -> c_10() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { add^#(true(), x, xs) -> c_1(add^#(and(isNat(x), isList(xs)), x, Cons(x, xs)), and^#(isNat(x), isList(xs)), isNat^#(x), isList^#(xs)) , isNat^#(s(x)) -> c_5(isNat^#(x)) , isList^#(Cons(x, xs)) -> c_7(isList^#(xs)) } Weak Trs: { add(true(), x, xs) -> add(and(isNat(x), isList(xs)), x, Cons(x, xs)) , and(x, false()) -> false() , and(true(), true()) -> true() , and(false(), x) -> false() , isNat(s(x)) -> isNat(x) , isNat(0()) -> true() , isList(Cons(x, xs)) -> isList(xs) , isList(nil()) -> true() , if(true(), x, y) -> x , if(false(), x, y) -> y } Obligation: innermost runtime complexity Answer: MAYBE Due to missing edges in the dependency-graph, the right-hand sides of following rules could be simplified: { add^#(true(), x, xs) -> c_1(add^#(and(isNat(x), isList(xs)), x, Cons(x, xs)), and^#(isNat(x), isList(xs)), isNat^#(x), isList^#(xs)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { add^#(true(), x, xs) -> c_1(add^#(and(isNat(x), isList(xs)), x, Cons(x, xs)), isNat^#(x), isList^#(xs)) , isNat^#(s(x)) -> c_2(isNat^#(x)) , isList^#(Cons(x, xs)) -> c_3(isList^#(xs)) } Weak Trs: { add(true(), x, xs) -> add(and(isNat(x), isList(xs)), x, Cons(x, xs)) , and(x, false()) -> false() , and(true(), true()) -> true() , and(false(), x) -> false() , isNat(s(x)) -> isNat(x) , isNat(0()) -> true() , isList(Cons(x, xs)) -> isList(xs) , isList(nil()) -> true() , if(true(), x, y) -> x , if(false(), x, y) -> y } Obligation: innermost runtime complexity Answer: MAYBE We replace rewrite rules by usable rules: Weak Usable Rules: { and(x, false()) -> false() , and(true(), true()) -> true() , and(false(), x) -> false() , isNat(s(x)) -> isNat(x) , isNat(0()) -> true() , isList(Cons(x, xs)) -> isList(xs) , isList(nil()) -> true() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { add^#(true(), x, xs) -> c_1(add^#(and(isNat(x), isList(xs)), x, Cons(x, xs)), isNat^#(x), isList^#(xs)) , isNat^#(s(x)) -> c_2(isNat^#(x)) , isList^#(Cons(x, xs)) -> c_3(isList^#(xs)) } Weak Trs: { and(x, false()) -> false() , and(true(), true()) -> true() , and(false(), x) -> false() , isNat(s(x)) -> isNat(x) , isNat(0()) -> true() , isList(Cons(x, xs)) -> isList(xs) , isList(nil()) -> true() } 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..