MAYBE 914.70/297.14 MAYBE 914.70/297.14 914.70/297.14 We are left with following problem, upon which TcT provides the 914.70/297.14 certificate MAYBE. 914.70/297.14 914.70/297.14 Strict Trs: 914.70/297.14 { zeros() -> cons(0(), n__zeros()) 914.70/297.14 , zeros() -> n__zeros() 914.70/297.14 , cons(X1, X2) -> n__cons(X1, X2) 914.70/297.14 , 0() -> n__0() 914.70/297.14 , U11(tt(), L) -> s(length(activate(L))) 914.70/297.14 , s(X) -> n__s(X) 914.70/297.14 , length(X) -> n__length(X) 914.70/297.14 , length(cons(N, L)) -> 914.70/297.14 U11(and(isNatList(activate(L)), n__isNat(N)), activate(L)) 914.70/297.14 , length(nil()) -> 0() 914.70/297.14 , activate(X) -> X 914.70/297.14 , activate(n__zeros()) -> zeros() 914.70/297.14 , activate(n__take(X1, X2)) -> take(activate(X1), activate(X2)) 914.70/297.14 , activate(n__0()) -> 0() 914.70/297.14 , activate(n__length(X)) -> length(activate(X)) 914.70/297.14 , activate(n__s(X)) -> s(activate(X)) 914.70/297.14 , activate(n__cons(X1, X2)) -> cons(activate(X1), X2) 914.70/297.14 , activate(n__isNatIList(X)) -> isNatIList(X) 914.70/297.14 , activate(n__nil()) -> nil() 914.70/297.14 , activate(n__isNatList(X)) -> isNatList(X) 914.70/297.14 , activate(n__isNat(X)) -> isNat(X) 914.70/297.14 , activate(n__and(X1, X2)) -> and(activate(X1), X2) 914.70/297.14 , U21(tt()) -> nil() 914.70/297.14 , nil() -> n__nil() 914.70/297.14 , U31(tt(), IL, M, N) -> 914.70/297.14 cons(activate(N), n__take(activate(M), activate(IL))) 914.70/297.14 , and(X1, X2) -> n__and(X1, X2) 914.70/297.14 , and(tt(), X) -> activate(X) 914.70/297.14 , isNat(X) -> n__isNat(X) 914.70/297.14 , isNat(n__0()) -> tt() 914.70/297.14 , isNat(n__length(V1)) -> isNatList(activate(V1)) 914.70/297.14 , isNat(n__s(V1)) -> isNat(activate(V1)) 914.70/297.14 , isNatList(X) -> n__isNatList(X) 914.70/297.14 , isNatList(n__take(V1, V2)) -> 914.70/297.14 and(isNat(activate(V1)), n__isNatIList(activate(V2))) 914.70/297.14 , isNatList(n__cons(V1, V2)) -> 914.70/297.14 and(isNat(activate(V1)), n__isNatList(activate(V2))) 914.70/297.14 , isNatList(n__nil()) -> tt() 914.70/297.14 , isNatIList(V) -> isNatList(activate(V)) 914.70/297.14 , isNatIList(X) -> n__isNatIList(X) 914.70/297.14 , isNatIList(n__zeros()) -> tt() 914.70/297.14 , isNatIList(n__cons(V1, V2)) -> 914.70/297.14 and(isNat(activate(V1)), n__isNatIList(activate(V2))) 914.70/297.14 , take(X1, X2) -> n__take(X1, X2) 914.70/297.14 , take(0(), IL) -> U21(isNatIList(IL)) 914.70/297.14 , take(s(M), cons(N, IL)) -> 914.70/297.14 U31(and(isNatIList(activate(IL)), 914.70/297.14 n__and(n__isNat(M), n__isNat(N))), 914.70/297.14 activate(IL), 914.70/297.14 M, 914.70/297.14 N) } 914.70/297.14 Obligation: 914.70/297.14 runtime complexity 914.70/297.14 Answer: 914.70/297.14 MAYBE 914.70/297.14 914.70/297.14 None of the processors succeeded. 914.70/297.14 914.70/297.14 Details of failed attempt(s): 914.70/297.14 ----------------------------- 914.70/297.14 1) 'With Problem ... (timeout of 297 seconds)' failed due to the 914.70/297.14 following reason: 914.70/297.14 914.70/297.14 Computation stopped due to timeout after 297.0 seconds. 914.70/297.14 914.70/297.14 2) 'Best' failed due to the following reason: 914.70/297.14 914.70/297.14 None of the processors succeeded. 914.70/297.14 914.70/297.14 Details of failed attempt(s): 914.70/297.14 ----------------------------- 914.70/297.14 1) 'With Problem ... (timeout of 148 seconds) (timeout of 297 914.70/297.14 seconds)' failed due to the following reason: 914.70/297.14 914.70/297.14 Computation stopped due to timeout after 148.0 seconds. 914.70/297.14 914.70/297.14 2) 'Best' failed due to the following reason: 914.70/297.14 914.70/297.14 None of the processors succeeded. 914.70/297.14 914.70/297.14 Details of failed attempt(s): 914.70/297.14 ----------------------------- 914.70/297.14 1) 'bsearch-popstar (timeout of 297 seconds)' failed due to the 914.70/297.14 following reason: 914.70/297.14 914.70/297.14 The processor is inapplicable, reason: 914.70/297.14 Processor only applicable for innermost runtime complexity analysis 914.70/297.14 914.70/297.14 2) 'Polynomial Path Order (PS) (timeout of 297 seconds)' failed due 914.70/297.14 to the following reason: 914.70/297.14 914.70/297.14 The processor is inapplicable, reason: 914.70/297.14 Processor only applicable for innermost runtime complexity analysis 914.70/297.14 914.70/297.14 914.70/297.14 3) 'Fastest (timeout of 24 seconds) (timeout of 297 seconds)' 914.70/297.14 failed due to the following reason: 914.70/297.14 914.70/297.14 None of the processors succeeded. 914.70/297.14 914.70/297.14 Details of failed attempt(s): 914.70/297.14 ----------------------------- 914.70/297.14 1) 'Bounds with minimal-enrichment and initial automaton 'match'' 914.70/297.14 failed due to the following reason: 914.70/297.14 914.70/297.14 match-boundness of the problem could not be verified. 914.70/297.14 914.70/297.14 2) 'Bounds with perSymbol-enrichment and initial automaton 'match'' 914.70/297.14 failed due to the following reason: 914.70/297.14 914.70/297.14 match-boundness of the problem could not be verified. 914.70/297.14 914.70/297.14 914.70/297.14 914.70/297.14 3) 'Weak Dependency Pairs (timeout of 297 seconds)' failed due to 914.70/297.14 the following reason: 914.70/297.14 914.70/297.14 We add the following weak dependency pairs: 914.70/297.14 914.70/297.14 Strict DPs: 914.70/297.14 { zeros^#() -> c_1(cons^#(0(), n__zeros())) 914.70/297.14 , zeros^#() -> c_2() 914.70/297.14 , cons^#(X1, X2) -> c_3(X1, X2) 914.70/297.14 , 0^#() -> c_4() 914.70/297.14 , U11^#(tt(), L) -> c_5(s^#(length(activate(L)))) 914.70/297.14 , s^#(X) -> c_6(X) 914.70/297.14 , length^#(X) -> c_7(X) 914.70/297.14 , length^#(cons(N, L)) -> 914.70/297.14 c_8(U11^#(and(isNatList(activate(L)), n__isNat(N)), activate(L))) 914.70/297.14 , length^#(nil()) -> c_9(0^#()) 914.70/297.14 , activate^#(X) -> c_10(X) 914.70/297.14 , activate^#(n__zeros()) -> c_11(zeros^#()) 914.70/297.14 , activate^#(n__take(X1, X2)) -> 914.70/297.14 c_12(take^#(activate(X1), activate(X2))) 914.70/297.14 , activate^#(n__0()) -> c_13(0^#()) 914.70/297.14 , activate^#(n__length(X)) -> c_14(length^#(activate(X))) 914.70/297.14 , activate^#(n__s(X)) -> c_15(s^#(activate(X))) 914.70/297.14 , activate^#(n__cons(X1, X2)) -> c_16(cons^#(activate(X1), X2)) 914.70/297.14 , activate^#(n__isNatIList(X)) -> c_17(isNatIList^#(X)) 914.70/297.14 , activate^#(n__nil()) -> c_18(nil^#()) 914.70/297.14 , activate^#(n__isNatList(X)) -> c_19(isNatList^#(X)) 914.70/297.14 , activate^#(n__isNat(X)) -> c_20(isNat^#(X)) 914.70/297.14 , activate^#(n__and(X1, X2)) -> c_21(and^#(activate(X1), X2)) 914.70/297.14 , take^#(X1, X2) -> c_39(X1, X2) 914.70/297.14 , take^#(0(), IL) -> c_40(U21^#(isNatIList(IL))) 914.70/297.14 , take^#(s(M), cons(N, IL)) -> 914.70/297.14 c_41(U31^#(and(isNatIList(activate(IL)), 914.70/297.14 n__and(n__isNat(M), n__isNat(N))), 914.70/297.14 activate(IL), 914.70/297.14 M, 914.70/297.14 N)) 914.70/297.14 , isNatIList^#(V) -> c_35(isNatList^#(activate(V))) 914.70/297.14 , isNatIList^#(X) -> c_36(X) 914.70/297.14 , isNatIList^#(n__zeros()) -> c_37() 914.70/297.14 , isNatIList^#(n__cons(V1, V2)) -> 914.70/297.14 c_38(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.14 , nil^#() -> c_23() 914.70/297.14 , isNatList^#(X) -> c_31(X) 914.70/297.14 , isNatList^#(n__take(V1, V2)) -> 914.70/297.14 c_32(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.14 , isNatList^#(n__cons(V1, V2)) -> 914.70/297.14 c_33(and^#(isNat(activate(V1)), n__isNatList(activate(V2)))) 914.70/297.14 , isNatList^#(n__nil()) -> c_34() 914.70/297.14 , isNat^#(X) -> c_27(X) 914.70/297.14 , isNat^#(n__0()) -> c_28() 914.70/297.14 , isNat^#(n__length(V1)) -> c_29(isNatList^#(activate(V1))) 914.70/297.14 , isNat^#(n__s(V1)) -> c_30(isNat^#(activate(V1))) 914.70/297.14 , and^#(X1, X2) -> c_25(X1, X2) 914.70/297.14 , and^#(tt(), X) -> c_26(activate^#(X)) 914.70/297.14 , U21^#(tt()) -> c_22(nil^#()) 914.70/297.14 , U31^#(tt(), IL, M, N) -> 914.70/297.14 c_24(cons^#(activate(N), n__take(activate(M), activate(IL)))) } 914.70/297.14 914.70/297.14 and mark the set of starting terms. 914.70/297.14 914.70/297.14 We are left with following problem, upon which TcT provides the 914.70/297.14 certificate MAYBE. 914.70/297.14 914.70/297.14 Strict DPs: 914.70/297.14 { zeros^#() -> c_1(cons^#(0(), n__zeros())) 914.70/297.14 , zeros^#() -> c_2() 914.70/297.14 , cons^#(X1, X2) -> c_3(X1, X2) 914.70/297.14 , 0^#() -> c_4() 914.70/297.14 , U11^#(tt(), L) -> c_5(s^#(length(activate(L)))) 914.70/297.14 , s^#(X) -> c_6(X) 914.70/297.14 , length^#(X) -> c_7(X) 914.70/297.14 , length^#(cons(N, L)) -> 914.70/297.14 c_8(U11^#(and(isNatList(activate(L)), n__isNat(N)), activate(L))) 914.70/297.14 , length^#(nil()) -> c_9(0^#()) 914.70/297.14 , activate^#(X) -> c_10(X) 914.70/297.14 , activate^#(n__zeros()) -> c_11(zeros^#()) 914.70/297.14 , activate^#(n__take(X1, X2)) -> 914.70/297.14 c_12(take^#(activate(X1), activate(X2))) 914.70/297.14 , activate^#(n__0()) -> c_13(0^#()) 914.70/297.14 , activate^#(n__length(X)) -> c_14(length^#(activate(X))) 914.70/297.14 , activate^#(n__s(X)) -> c_15(s^#(activate(X))) 914.70/297.14 , activate^#(n__cons(X1, X2)) -> c_16(cons^#(activate(X1), X2)) 914.70/297.14 , activate^#(n__isNatIList(X)) -> c_17(isNatIList^#(X)) 914.70/297.14 , activate^#(n__nil()) -> c_18(nil^#()) 914.70/297.14 , activate^#(n__isNatList(X)) -> c_19(isNatList^#(X)) 914.70/297.14 , activate^#(n__isNat(X)) -> c_20(isNat^#(X)) 914.70/297.14 , activate^#(n__and(X1, X2)) -> c_21(and^#(activate(X1), X2)) 914.70/297.14 , take^#(X1, X2) -> c_39(X1, X2) 914.70/297.14 , take^#(0(), IL) -> c_40(U21^#(isNatIList(IL))) 914.70/297.14 , take^#(s(M), cons(N, IL)) -> 914.70/297.14 c_41(U31^#(and(isNatIList(activate(IL)), 914.70/297.14 n__and(n__isNat(M), n__isNat(N))), 914.70/297.14 activate(IL), 914.70/297.14 M, 914.70/297.14 N)) 914.70/297.14 , isNatIList^#(V) -> c_35(isNatList^#(activate(V))) 914.70/297.14 , isNatIList^#(X) -> c_36(X) 914.70/297.14 , isNatIList^#(n__zeros()) -> c_37() 914.70/297.14 , isNatIList^#(n__cons(V1, V2)) -> 914.70/297.14 c_38(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.14 , nil^#() -> c_23() 914.70/297.14 , isNatList^#(X) -> c_31(X) 914.70/297.14 , isNatList^#(n__take(V1, V2)) -> 914.70/297.14 c_32(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.14 , isNatList^#(n__cons(V1, V2)) -> 914.70/297.14 c_33(and^#(isNat(activate(V1)), n__isNatList(activate(V2)))) 914.70/297.14 , isNatList^#(n__nil()) -> c_34() 914.70/297.14 , isNat^#(X) -> c_27(X) 914.70/297.14 , isNat^#(n__0()) -> c_28() 914.70/297.14 , isNat^#(n__length(V1)) -> c_29(isNatList^#(activate(V1))) 914.70/297.14 , isNat^#(n__s(V1)) -> c_30(isNat^#(activate(V1))) 914.70/297.14 , and^#(X1, X2) -> c_25(X1, X2) 914.70/297.14 , and^#(tt(), X) -> c_26(activate^#(X)) 914.70/297.14 , U21^#(tt()) -> c_22(nil^#()) 914.70/297.14 , U31^#(tt(), IL, M, N) -> 914.70/297.14 c_24(cons^#(activate(N), n__take(activate(M), activate(IL)))) } 914.70/297.14 Strict Trs: 914.70/297.14 { zeros() -> cons(0(), n__zeros()) 914.70/297.14 , zeros() -> n__zeros() 914.70/297.14 , cons(X1, X2) -> n__cons(X1, X2) 914.70/297.14 , 0() -> n__0() 914.70/297.14 , U11(tt(), L) -> s(length(activate(L))) 914.70/297.14 , s(X) -> n__s(X) 914.70/297.14 , length(X) -> n__length(X) 914.70/297.14 , length(cons(N, L)) -> 914.70/297.14 U11(and(isNatList(activate(L)), n__isNat(N)), activate(L)) 914.70/297.14 , length(nil()) -> 0() 914.70/297.14 , activate(X) -> X 914.70/297.14 , activate(n__zeros()) -> zeros() 914.70/297.14 , activate(n__take(X1, X2)) -> take(activate(X1), activate(X2)) 914.70/297.14 , activate(n__0()) -> 0() 914.70/297.14 , activate(n__length(X)) -> length(activate(X)) 914.70/297.14 , activate(n__s(X)) -> s(activate(X)) 914.70/297.14 , activate(n__cons(X1, X2)) -> cons(activate(X1), X2) 914.70/297.14 , activate(n__isNatIList(X)) -> isNatIList(X) 914.70/297.14 , activate(n__nil()) -> nil() 914.70/297.14 , activate(n__isNatList(X)) -> isNatList(X) 914.70/297.14 , activate(n__isNat(X)) -> isNat(X) 914.70/297.14 , activate(n__and(X1, X2)) -> and(activate(X1), X2) 914.70/297.14 , U21(tt()) -> nil() 914.70/297.14 , nil() -> n__nil() 914.70/297.14 , U31(tt(), IL, M, N) -> 914.70/297.14 cons(activate(N), n__take(activate(M), activate(IL))) 914.70/297.14 , and(X1, X2) -> n__and(X1, X2) 914.70/297.14 , and(tt(), X) -> activate(X) 914.70/297.14 , isNat(X) -> n__isNat(X) 914.70/297.14 , isNat(n__0()) -> tt() 914.70/297.14 , isNat(n__length(V1)) -> isNatList(activate(V1)) 914.70/297.14 , isNat(n__s(V1)) -> isNat(activate(V1)) 914.70/297.14 , isNatList(X) -> n__isNatList(X) 914.70/297.14 , isNatList(n__take(V1, V2)) -> 914.70/297.14 and(isNat(activate(V1)), n__isNatIList(activate(V2))) 914.70/297.14 , isNatList(n__cons(V1, V2)) -> 914.70/297.14 and(isNat(activate(V1)), n__isNatList(activate(V2))) 914.70/297.14 , isNatList(n__nil()) -> tt() 914.70/297.14 , isNatIList(V) -> isNatList(activate(V)) 914.70/297.14 , isNatIList(X) -> n__isNatIList(X) 914.70/297.14 , isNatIList(n__zeros()) -> tt() 914.70/297.14 , isNatIList(n__cons(V1, V2)) -> 914.70/297.14 and(isNat(activate(V1)), n__isNatIList(activate(V2))) 914.70/297.14 , take(X1, X2) -> n__take(X1, X2) 914.70/297.14 , take(0(), IL) -> U21(isNatIList(IL)) 914.70/297.14 , take(s(M), cons(N, IL)) -> 914.70/297.14 U31(and(isNatIList(activate(IL)), 914.70/297.14 n__and(n__isNat(M), n__isNat(N))), 914.70/297.14 activate(IL), 914.70/297.14 M, 914.70/297.14 N) } 914.70/297.14 Obligation: 914.70/297.14 runtime complexity 914.70/297.14 Answer: 914.70/297.14 MAYBE 914.70/297.14 914.70/297.14 We estimate the number of application of {2,4,27,29,33,35} by 914.70/297.14 applications of Pre({2,4,27,29,33,35}) = 914.70/297.14 {3,6,7,9,10,11,13,17,18,19,20,22,25,26,30,34,36,37,38,40}. Here 914.70/297.14 rules are labeled as follows: 914.70/297.14 914.70/297.14 DPs: 914.70/297.14 { 1: zeros^#() -> c_1(cons^#(0(), n__zeros())) 914.70/297.14 , 2: zeros^#() -> c_2() 914.70/297.14 , 3: cons^#(X1, X2) -> c_3(X1, X2) 914.70/297.14 , 4: 0^#() -> c_4() 914.70/297.14 , 5: U11^#(tt(), L) -> c_5(s^#(length(activate(L)))) 914.70/297.14 , 6: s^#(X) -> c_6(X) 914.70/297.14 , 7: length^#(X) -> c_7(X) 914.70/297.14 , 8: length^#(cons(N, L)) -> 914.70/297.14 c_8(U11^#(and(isNatList(activate(L)), n__isNat(N)), activate(L))) 914.70/297.14 , 9: length^#(nil()) -> c_9(0^#()) 914.70/297.14 , 10: activate^#(X) -> c_10(X) 914.70/297.14 , 11: activate^#(n__zeros()) -> c_11(zeros^#()) 914.70/297.14 , 12: activate^#(n__take(X1, X2)) -> 914.70/297.14 c_12(take^#(activate(X1), activate(X2))) 914.70/297.14 , 13: activate^#(n__0()) -> c_13(0^#()) 914.70/297.14 , 14: activate^#(n__length(X)) -> c_14(length^#(activate(X))) 914.70/297.14 , 15: activate^#(n__s(X)) -> c_15(s^#(activate(X))) 914.70/297.14 , 16: activate^#(n__cons(X1, X2)) -> c_16(cons^#(activate(X1), X2)) 914.70/297.14 , 17: activate^#(n__isNatIList(X)) -> c_17(isNatIList^#(X)) 914.70/297.14 , 18: activate^#(n__nil()) -> c_18(nil^#()) 914.70/297.14 , 19: activate^#(n__isNatList(X)) -> c_19(isNatList^#(X)) 914.70/297.14 , 20: activate^#(n__isNat(X)) -> c_20(isNat^#(X)) 914.70/297.14 , 21: activate^#(n__and(X1, X2)) -> c_21(and^#(activate(X1), X2)) 914.70/297.14 , 22: take^#(X1, X2) -> c_39(X1, X2) 914.70/297.14 , 23: take^#(0(), IL) -> c_40(U21^#(isNatIList(IL))) 914.70/297.14 , 24: take^#(s(M), cons(N, IL)) -> 914.70/297.14 c_41(U31^#(and(isNatIList(activate(IL)), 914.70/297.14 n__and(n__isNat(M), n__isNat(N))), 914.70/297.14 activate(IL), 914.70/297.14 M, 914.70/297.14 N)) 914.70/297.14 , 25: isNatIList^#(V) -> c_35(isNatList^#(activate(V))) 914.70/297.14 , 26: isNatIList^#(X) -> c_36(X) 914.70/297.14 , 27: isNatIList^#(n__zeros()) -> c_37() 914.70/297.14 , 28: isNatIList^#(n__cons(V1, V2)) -> 914.70/297.14 c_38(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.14 , 29: nil^#() -> c_23() 914.70/297.14 , 30: isNatList^#(X) -> c_31(X) 914.70/297.14 , 31: isNatList^#(n__take(V1, V2)) -> 914.70/297.14 c_32(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.14 , 32: isNatList^#(n__cons(V1, V2)) -> 914.70/297.14 c_33(and^#(isNat(activate(V1)), n__isNatList(activate(V2)))) 914.70/297.14 , 33: isNatList^#(n__nil()) -> c_34() 914.70/297.14 , 34: isNat^#(X) -> c_27(X) 914.70/297.14 , 35: isNat^#(n__0()) -> c_28() 914.70/297.14 , 36: isNat^#(n__length(V1)) -> c_29(isNatList^#(activate(V1))) 914.70/297.14 , 37: isNat^#(n__s(V1)) -> c_30(isNat^#(activate(V1))) 914.70/297.14 , 38: and^#(X1, X2) -> c_25(X1, X2) 914.70/297.14 , 39: and^#(tt(), X) -> c_26(activate^#(X)) 914.70/297.14 , 40: U21^#(tt()) -> c_22(nil^#()) 914.70/297.14 , 41: U31^#(tt(), IL, M, N) -> 914.70/297.14 c_24(cons^#(activate(N), n__take(activate(M), activate(IL)))) } 914.70/297.14 914.70/297.14 We are left with following problem, upon which TcT provides the 914.70/297.14 certificate MAYBE. 914.70/297.14 914.70/297.14 Strict DPs: 914.70/297.14 { zeros^#() -> c_1(cons^#(0(), n__zeros())) 914.70/297.14 , cons^#(X1, X2) -> c_3(X1, X2) 914.70/297.14 , U11^#(tt(), L) -> c_5(s^#(length(activate(L)))) 914.70/297.14 , s^#(X) -> c_6(X) 914.70/297.14 , length^#(X) -> c_7(X) 914.70/297.14 , length^#(cons(N, L)) -> 914.70/297.14 c_8(U11^#(and(isNatList(activate(L)), n__isNat(N)), activate(L))) 914.70/297.14 , length^#(nil()) -> c_9(0^#()) 914.70/297.14 , activate^#(X) -> c_10(X) 914.70/297.14 , activate^#(n__zeros()) -> c_11(zeros^#()) 914.70/297.14 , activate^#(n__take(X1, X2)) -> 914.70/297.14 c_12(take^#(activate(X1), activate(X2))) 914.70/297.14 , activate^#(n__0()) -> c_13(0^#()) 914.70/297.14 , activate^#(n__length(X)) -> c_14(length^#(activate(X))) 914.70/297.14 , activate^#(n__s(X)) -> c_15(s^#(activate(X))) 914.70/297.14 , activate^#(n__cons(X1, X2)) -> c_16(cons^#(activate(X1), X2)) 914.70/297.14 , activate^#(n__isNatIList(X)) -> c_17(isNatIList^#(X)) 914.70/297.14 , activate^#(n__nil()) -> c_18(nil^#()) 914.70/297.14 , activate^#(n__isNatList(X)) -> c_19(isNatList^#(X)) 914.70/297.14 , activate^#(n__isNat(X)) -> c_20(isNat^#(X)) 914.70/297.14 , activate^#(n__and(X1, X2)) -> c_21(and^#(activate(X1), X2)) 914.70/297.14 , take^#(X1, X2) -> c_39(X1, X2) 914.70/297.14 , take^#(0(), IL) -> c_40(U21^#(isNatIList(IL))) 914.70/297.14 , take^#(s(M), cons(N, IL)) -> 914.70/297.14 c_41(U31^#(and(isNatIList(activate(IL)), 914.70/297.14 n__and(n__isNat(M), n__isNat(N))), 914.70/297.14 activate(IL), 914.70/297.14 M, 914.70/297.14 N)) 914.70/297.14 , isNatIList^#(V) -> c_35(isNatList^#(activate(V))) 914.70/297.14 , isNatIList^#(X) -> c_36(X) 914.70/297.14 , isNatIList^#(n__cons(V1, V2)) -> 914.70/297.14 c_38(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.14 , isNatList^#(X) -> c_31(X) 914.70/297.14 , isNatList^#(n__take(V1, V2)) -> 914.70/297.14 c_32(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.14 , isNatList^#(n__cons(V1, V2)) -> 914.70/297.14 c_33(and^#(isNat(activate(V1)), n__isNatList(activate(V2)))) 914.70/297.14 , isNat^#(X) -> c_27(X) 914.70/297.14 , isNat^#(n__length(V1)) -> c_29(isNatList^#(activate(V1))) 914.70/297.14 , isNat^#(n__s(V1)) -> c_30(isNat^#(activate(V1))) 914.70/297.14 , and^#(X1, X2) -> c_25(X1, X2) 914.70/297.14 , and^#(tt(), X) -> c_26(activate^#(X)) 914.70/297.14 , U21^#(tt()) -> c_22(nil^#()) 914.70/297.14 , U31^#(tt(), IL, M, N) -> 914.70/297.14 c_24(cons^#(activate(N), n__take(activate(M), activate(IL)))) } 914.70/297.14 Strict Trs: 914.70/297.14 { zeros() -> cons(0(), n__zeros()) 914.70/297.14 , zeros() -> n__zeros() 914.70/297.14 , cons(X1, X2) -> n__cons(X1, X2) 914.70/297.14 , 0() -> n__0() 914.70/297.14 , U11(tt(), L) -> s(length(activate(L))) 914.70/297.14 , s(X) -> n__s(X) 914.70/297.14 , length(X) -> n__length(X) 914.70/297.14 , length(cons(N, L)) -> 914.70/297.14 U11(and(isNatList(activate(L)), n__isNat(N)), activate(L)) 914.70/297.14 , length(nil()) -> 0() 914.70/297.14 , activate(X) -> X 914.70/297.14 , activate(n__zeros()) -> zeros() 914.70/297.14 , activate(n__take(X1, X2)) -> take(activate(X1), activate(X2)) 914.70/297.14 , activate(n__0()) -> 0() 914.70/297.14 , activate(n__length(X)) -> length(activate(X)) 914.70/297.14 , activate(n__s(X)) -> s(activate(X)) 914.70/297.14 , activate(n__cons(X1, X2)) -> cons(activate(X1), X2) 914.70/297.14 , activate(n__isNatIList(X)) -> isNatIList(X) 914.70/297.14 , activate(n__nil()) -> nil() 914.70/297.14 , activate(n__isNatList(X)) -> isNatList(X) 914.70/297.14 , activate(n__isNat(X)) -> isNat(X) 914.70/297.14 , activate(n__and(X1, X2)) -> and(activate(X1), X2) 914.70/297.14 , U21(tt()) -> nil() 914.70/297.14 , nil() -> n__nil() 914.70/297.14 , U31(tt(), IL, M, N) -> 914.70/297.14 cons(activate(N), n__take(activate(M), activate(IL))) 914.70/297.14 , and(X1, X2) -> n__and(X1, X2) 914.70/297.14 , and(tt(), X) -> activate(X) 914.70/297.14 , isNat(X) -> n__isNat(X) 914.70/297.14 , isNat(n__0()) -> tt() 914.70/297.14 , isNat(n__length(V1)) -> isNatList(activate(V1)) 914.70/297.14 , isNat(n__s(V1)) -> isNat(activate(V1)) 914.70/297.14 , isNatList(X) -> n__isNatList(X) 914.70/297.14 , isNatList(n__take(V1, V2)) -> 914.70/297.14 and(isNat(activate(V1)), n__isNatIList(activate(V2))) 914.70/297.14 , isNatList(n__cons(V1, V2)) -> 914.70/297.14 and(isNat(activate(V1)), n__isNatList(activate(V2))) 914.70/297.14 , isNatList(n__nil()) -> tt() 914.70/297.14 , isNatIList(V) -> isNatList(activate(V)) 914.70/297.14 , isNatIList(X) -> n__isNatIList(X) 914.70/297.14 , isNatIList(n__zeros()) -> tt() 914.70/297.14 , isNatIList(n__cons(V1, V2)) -> 914.70/297.14 and(isNat(activate(V1)), n__isNatIList(activate(V2))) 914.70/297.14 , take(X1, X2) -> n__take(X1, X2) 914.70/297.14 , take(0(), IL) -> U21(isNatIList(IL)) 914.70/297.14 , take(s(M), cons(N, IL)) -> 914.70/297.14 U31(and(isNatIList(activate(IL)), 914.70/297.14 n__and(n__isNat(M), n__isNat(N))), 914.70/297.14 activate(IL), 914.70/297.14 M, 914.70/297.14 N) } 914.70/297.14 Weak DPs: 914.70/297.14 { zeros^#() -> c_2() 914.70/297.14 , 0^#() -> c_4() 914.70/297.14 , isNatIList^#(n__zeros()) -> c_37() 914.70/297.14 , nil^#() -> c_23() 914.70/297.14 , isNatList^#(n__nil()) -> c_34() 914.70/297.14 , isNat^#(n__0()) -> c_28() } 914.70/297.14 Obligation: 914.70/297.14 runtime complexity 914.70/297.14 Answer: 914.70/297.14 MAYBE 914.70/297.14 914.70/297.14 We estimate the number of application of {7,11,16,34} by 914.70/297.14 applications of Pre({7,11,16,34}) = 914.70/297.14 {2,4,5,8,12,20,21,24,26,29,32,33}. Here rules are labeled as 914.70/297.14 follows: 914.70/297.14 914.70/297.14 DPs: 914.70/297.14 { 1: zeros^#() -> c_1(cons^#(0(), n__zeros())) 914.70/297.14 , 2: cons^#(X1, X2) -> c_3(X1, X2) 914.70/297.14 , 3: U11^#(tt(), L) -> c_5(s^#(length(activate(L)))) 914.70/297.14 , 4: s^#(X) -> c_6(X) 914.70/297.14 , 5: length^#(X) -> c_7(X) 914.70/297.14 , 6: length^#(cons(N, L)) -> 914.70/297.14 c_8(U11^#(and(isNatList(activate(L)), n__isNat(N)), activate(L))) 914.70/297.14 , 7: length^#(nil()) -> c_9(0^#()) 914.70/297.14 , 8: activate^#(X) -> c_10(X) 914.70/297.14 , 9: activate^#(n__zeros()) -> c_11(zeros^#()) 914.70/297.14 , 10: activate^#(n__take(X1, X2)) -> 914.70/297.14 c_12(take^#(activate(X1), activate(X2))) 914.70/297.14 , 11: activate^#(n__0()) -> c_13(0^#()) 914.70/297.14 , 12: activate^#(n__length(X)) -> c_14(length^#(activate(X))) 914.70/297.14 , 13: activate^#(n__s(X)) -> c_15(s^#(activate(X))) 914.70/297.14 , 14: activate^#(n__cons(X1, X2)) -> c_16(cons^#(activate(X1), X2)) 914.70/297.14 , 15: activate^#(n__isNatIList(X)) -> c_17(isNatIList^#(X)) 914.70/297.14 , 16: activate^#(n__nil()) -> c_18(nil^#()) 914.70/297.14 , 17: activate^#(n__isNatList(X)) -> c_19(isNatList^#(X)) 914.70/297.14 , 18: activate^#(n__isNat(X)) -> c_20(isNat^#(X)) 914.70/297.14 , 19: activate^#(n__and(X1, X2)) -> c_21(and^#(activate(X1), X2)) 914.70/297.14 , 20: take^#(X1, X2) -> c_39(X1, X2) 914.70/297.14 , 21: take^#(0(), IL) -> c_40(U21^#(isNatIList(IL))) 914.70/297.14 , 22: take^#(s(M), cons(N, IL)) -> 914.70/297.14 c_41(U31^#(and(isNatIList(activate(IL)), 914.70/297.14 n__and(n__isNat(M), n__isNat(N))), 914.70/297.14 activate(IL), 914.70/297.14 M, 914.70/297.14 N)) 914.70/297.14 , 23: isNatIList^#(V) -> c_35(isNatList^#(activate(V))) 914.70/297.14 , 24: isNatIList^#(X) -> c_36(X) 914.70/297.14 , 25: isNatIList^#(n__cons(V1, V2)) -> 914.70/297.14 c_38(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.14 , 26: isNatList^#(X) -> c_31(X) 914.70/297.14 , 27: isNatList^#(n__take(V1, V2)) -> 914.70/297.14 c_32(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.14 , 28: isNatList^#(n__cons(V1, V2)) -> 914.70/297.14 c_33(and^#(isNat(activate(V1)), n__isNatList(activate(V2)))) 914.70/297.14 , 29: isNat^#(X) -> c_27(X) 914.70/297.14 , 30: isNat^#(n__length(V1)) -> c_29(isNatList^#(activate(V1))) 914.70/297.14 , 31: isNat^#(n__s(V1)) -> c_30(isNat^#(activate(V1))) 914.70/297.14 , 32: and^#(X1, X2) -> c_25(X1, X2) 914.70/297.14 , 33: and^#(tt(), X) -> c_26(activate^#(X)) 914.70/297.14 , 34: U21^#(tt()) -> c_22(nil^#()) 914.70/297.14 , 35: U31^#(tt(), IL, M, N) -> 914.70/297.14 c_24(cons^#(activate(N), n__take(activate(M), activate(IL)))) 914.70/297.14 , 36: zeros^#() -> c_2() 914.70/297.14 , 37: 0^#() -> c_4() 914.70/297.14 , 38: isNatIList^#(n__zeros()) -> c_37() 914.70/297.14 , 39: nil^#() -> c_23() 914.70/297.14 , 40: isNatList^#(n__nil()) -> c_34() 914.70/297.14 , 41: isNat^#(n__0()) -> c_28() } 914.70/297.14 914.70/297.14 We are left with following problem, upon which TcT provides the 914.70/297.14 certificate MAYBE. 914.70/297.14 914.70/297.14 Strict DPs: 914.70/297.14 { zeros^#() -> c_1(cons^#(0(), n__zeros())) 914.70/297.14 , cons^#(X1, X2) -> c_3(X1, X2) 914.70/297.14 , U11^#(tt(), L) -> c_5(s^#(length(activate(L)))) 914.70/297.14 , s^#(X) -> c_6(X) 914.70/297.14 , length^#(X) -> c_7(X) 914.70/297.14 , length^#(cons(N, L)) -> 914.70/297.14 c_8(U11^#(and(isNatList(activate(L)), n__isNat(N)), activate(L))) 914.70/297.14 , activate^#(X) -> c_10(X) 914.70/297.14 , activate^#(n__zeros()) -> c_11(zeros^#()) 914.70/297.14 , activate^#(n__take(X1, X2)) -> 914.70/297.14 c_12(take^#(activate(X1), activate(X2))) 914.70/297.14 , activate^#(n__length(X)) -> c_14(length^#(activate(X))) 914.70/297.14 , activate^#(n__s(X)) -> c_15(s^#(activate(X))) 914.70/297.14 , activate^#(n__cons(X1, X2)) -> c_16(cons^#(activate(X1), X2)) 914.70/297.14 , activate^#(n__isNatIList(X)) -> c_17(isNatIList^#(X)) 914.70/297.14 , activate^#(n__isNatList(X)) -> c_19(isNatList^#(X)) 914.70/297.14 , activate^#(n__isNat(X)) -> c_20(isNat^#(X)) 914.70/297.14 , activate^#(n__and(X1, X2)) -> c_21(and^#(activate(X1), X2)) 914.70/297.14 , take^#(X1, X2) -> c_39(X1, X2) 914.70/297.14 , take^#(0(), IL) -> c_40(U21^#(isNatIList(IL))) 914.70/297.14 , take^#(s(M), cons(N, IL)) -> 914.70/297.14 c_41(U31^#(and(isNatIList(activate(IL)), 914.70/297.14 n__and(n__isNat(M), n__isNat(N))), 914.70/297.14 activate(IL), 914.70/297.14 M, 914.70/297.14 N)) 914.70/297.14 , isNatIList^#(V) -> c_35(isNatList^#(activate(V))) 914.70/297.14 , isNatIList^#(X) -> c_36(X) 914.70/297.14 , isNatIList^#(n__cons(V1, V2)) -> 914.70/297.14 c_38(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.14 , isNatList^#(X) -> c_31(X) 914.70/297.14 , isNatList^#(n__take(V1, V2)) -> 914.70/297.14 c_32(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.14 , isNatList^#(n__cons(V1, V2)) -> 914.70/297.14 c_33(and^#(isNat(activate(V1)), n__isNatList(activate(V2)))) 914.70/297.14 , isNat^#(X) -> c_27(X) 914.70/297.14 , isNat^#(n__length(V1)) -> c_29(isNatList^#(activate(V1))) 914.70/297.14 , isNat^#(n__s(V1)) -> c_30(isNat^#(activate(V1))) 914.70/297.14 , and^#(X1, X2) -> c_25(X1, X2) 914.70/297.14 , and^#(tt(), X) -> c_26(activate^#(X)) 914.70/297.14 , U31^#(tt(), IL, M, N) -> 914.70/297.14 c_24(cons^#(activate(N), n__take(activate(M), activate(IL)))) } 914.70/297.14 Strict Trs: 914.70/297.14 { zeros() -> cons(0(), n__zeros()) 914.70/297.14 , zeros() -> n__zeros() 914.70/297.14 , cons(X1, X2) -> n__cons(X1, X2) 914.70/297.14 , 0() -> n__0() 914.70/297.14 , U11(tt(), L) -> s(length(activate(L))) 914.70/297.14 , s(X) -> n__s(X) 914.70/297.14 , length(X) -> n__length(X) 914.70/297.14 , length(cons(N, L)) -> 914.70/297.14 U11(and(isNatList(activate(L)), n__isNat(N)), activate(L)) 914.70/297.14 , length(nil()) -> 0() 914.70/297.14 , activate(X) -> X 914.70/297.14 , activate(n__zeros()) -> zeros() 914.70/297.14 , activate(n__take(X1, X2)) -> take(activate(X1), activate(X2)) 914.70/297.14 , activate(n__0()) -> 0() 914.70/297.14 , activate(n__length(X)) -> length(activate(X)) 914.70/297.14 , activate(n__s(X)) -> s(activate(X)) 914.70/297.14 , activate(n__cons(X1, X2)) -> cons(activate(X1), X2) 914.70/297.14 , activate(n__isNatIList(X)) -> isNatIList(X) 914.70/297.14 , activate(n__nil()) -> nil() 914.70/297.14 , activate(n__isNatList(X)) -> isNatList(X) 914.70/297.14 , activate(n__isNat(X)) -> isNat(X) 914.70/297.14 , activate(n__and(X1, X2)) -> and(activate(X1), X2) 914.70/297.14 , U21(tt()) -> nil() 914.70/297.15 , nil() -> n__nil() 914.70/297.15 , U31(tt(), IL, M, N) -> 914.70/297.15 cons(activate(N), n__take(activate(M), activate(IL))) 914.70/297.15 , and(X1, X2) -> n__and(X1, X2) 914.70/297.15 , and(tt(), X) -> activate(X) 914.70/297.15 , isNat(X) -> n__isNat(X) 914.70/297.15 , isNat(n__0()) -> tt() 914.70/297.15 , isNat(n__length(V1)) -> isNatList(activate(V1)) 914.70/297.15 , isNat(n__s(V1)) -> isNat(activate(V1)) 914.70/297.15 , isNatList(X) -> n__isNatList(X) 914.70/297.15 , isNatList(n__take(V1, V2)) -> 914.70/297.15 and(isNat(activate(V1)), n__isNatIList(activate(V2))) 914.70/297.15 , isNatList(n__cons(V1, V2)) -> 914.70/297.15 and(isNat(activate(V1)), n__isNatList(activate(V2))) 914.70/297.15 , isNatList(n__nil()) -> tt() 914.70/297.15 , isNatIList(V) -> isNatList(activate(V)) 914.70/297.15 , isNatIList(X) -> n__isNatIList(X) 914.70/297.15 , isNatIList(n__zeros()) -> tt() 914.70/297.15 , isNatIList(n__cons(V1, V2)) -> 914.70/297.15 and(isNat(activate(V1)), n__isNatIList(activate(V2))) 914.70/297.15 , take(X1, X2) -> n__take(X1, X2) 914.70/297.15 , take(0(), IL) -> U21(isNatIList(IL)) 914.70/297.15 , take(s(M), cons(N, IL)) -> 914.70/297.15 U31(and(isNatIList(activate(IL)), 914.70/297.15 n__and(n__isNat(M), n__isNat(N))), 914.70/297.15 activate(IL), 914.70/297.15 M, 914.70/297.15 N) } 914.70/297.15 Weak DPs: 914.70/297.15 { zeros^#() -> c_2() 914.70/297.15 , 0^#() -> c_4() 914.70/297.15 , length^#(nil()) -> c_9(0^#()) 914.70/297.15 , activate^#(n__0()) -> c_13(0^#()) 914.70/297.15 , activate^#(n__nil()) -> c_18(nil^#()) 914.70/297.15 , isNatIList^#(n__zeros()) -> c_37() 914.70/297.15 , nil^#() -> c_23() 914.70/297.15 , isNatList^#(n__nil()) -> c_34() 914.70/297.15 , isNat^#(n__0()) -> c_28() 914.70/297.15 , U21^#(tt()) -> c_22(nil^#()) } 914.70/297.15 Obligation: 914.70/297.15 runtime complexity 914.70/297.15 Answer: 914.70/297.15 MAYBE 914.70/297.15 914.70/297.15 We estimate the number of application of {18} by applications of 914.70/297.15 Pre({18}) = {2,4,5,7,9,17,21,23,26,29}. Here rules are labeled as 914.70/297.15 follows: 914.70/297.15 914.70/297.15 DPs: 914.70/297.15 { 1: zeros^#() -> c_1(cons^#(0(), n__zeros())) 914.70/297.15 , 2: cons^#(X1, X2) -> c_3(X1, X2) 914.70/297.15 , 3: U11^#(tt(), L) -> c_5(s^#(length(activate(L)))) 914.70/297.15 , 4: s^#(X) -> c_6(X) 914.70/297.15 , 5: length^#(X) -> c_7(X) 914.70/297.15 , 6: length^#(cons(N, L)) -> 914.70/297.15 c_8(U11^#(and(isNatList(activate(L)), n__isNat(N)), activate(L))) 914.70/297.15 , 7: activate^#(X) -> c_10(X) 914.70/297.15 , 8: activate^#(n__zeros()) -> c_11(zeros^#()) 914.70/297.15 , 9: activate^#(n__take(X1, X2)) -> 914.70/297.15 c_12(take^#(activate(X1), activate(X2))) 914.70/297.15 , 10: activate^#(n__length(X)) -> c_14(length^#(activate(X))) 914.70/297.15 , 11: activate^#(n__s(X)) -> c_15(s^#(activate(X))) 914.70/297.15 , 12: activate^#(n__cons(X1, X2)) -> c_16(cons^#(activate(X1), X2)) 914.70/297.15 , 13: activate^#(n__isNatIList(X)) -> c_17(isNatIList^#(X)) 914.70/297.15 , 14: activate^#(n__isNatList(X)) -> c_19(isNatList^#(X)) 914.70/297.15 , 15: activate^#(n__isNat(X)) -> c_20(isNat^#(X)) 914.70/297.15 , 16: activate^#(n__and(X1, X2)) -> c_21(and^#(activate(X1), X2)) 914.70/297.15 , 17: take^#(X1, X2) -> c_39(X1, X2) 914.70/297.15 , 18: take^#(0(), IL) -> c_40(U21^#(isNatIList(IL))) 914.70/297.15 , 19: take^#(s(M), cons(N, IL)) -> 914.70/297.15 c_41(U31^#(and(isNatIList(activate(IL)), 914.70/297.15 n__and(n__isNat(M), n__isNat(N))), 914.70/297.15 activate(IL), 914.70/297.15 M, 914.70/297.15 N)) 914.70/297.15 , 20: isNatIList^#(V) -> c_35(isNatList^#(activate(V))) 914.70/297.15 , 21: isNatIList^#(X) -> c_36(X) 914.70/297.15 , 22: isNatIList^#(n__cons(V1, V2)) -> 914.70/297.15 c_38(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.15 , 23: isNatList^#(X) -> c_31(X) 914.70/297.15 , 24: isNatList^#(n__take(V1, V2)) -> 914.70/297.15 c_32(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.15 , 25: isNatList^#(n__cons(V1, V2)) -> 914.70/297.15 c_33(and^#(isNat(activate(V1)), n__isNatList(activate(V2)))) 914.70/297.15 , 26: isNat^#(X) -> c_27(X) 914.70/297.15 , 27: isNat^#(n__length(V1)) -> c_29(isNatList^#(activate(V1))) 914.70/297.15 , 28: isNat^#(n__s(V1)) -> c_30(isNat^#(activate(V1))) 914.70/297.15 , 29: and^#(X1, X2) -> c_25(X1, X2) 914.70/297.15 , 30: and^#(tt(), X) -> c_26(activate^#(X)) 914.70/297.15 , 31: U31^#(tt(), IL, M, N) -> 914.70/297.15 c_24(cons^#(activate(N), n__take(activate(M), activate(IL)))) 914.70/297.15 , 32: zeros^#() -> c_2() 914.70/297.15 , 33: 0^#() -> c_4() 914.70/297.15 , 34: length^#(nil()) -> c_9(0^#()) 914.70/297.15 , 35: activate^#(n__0()) -> c_13(0^#()) 914.70/297.15 , 36: activate^#(n__nil()) -> c_18(nil^#()) 914.70/297.15 , 37: isNatIList^#(n__zeros()) -> c_37() 914.70/297.15 , 38: nil^#() -> c_23() 914.70/297.15 , 39: isNatList^#(n__nil()) -> c_34() 914.70/297.15 , 40: isNat^#(n__0()) -> c_28() 914.70/297.15 , 41: U21^#(tt()) -> c_22(nil^#()) } 914.70/297.15 914.70/297.15 We are left with following problem, upon which TcT provides the 914.70/297.15 certificate MAYBE. 914.70/297.15 914.70/297.15 Strict DPs: 914.70/297.15 { zeros^#() -> c_1(cons^#(0(), n__zeros())) 914.70/297.15 , cons^#(X1, X2) -> c_3(X1, X2) 914.70/297.15 , U11^#(tt(), L) -> c_5(s^#(length(activate(L)))) 914.70/297.15 , s^#(X) -> c_6(X) 914.70/297.15 , length^#(X) -> c_7(X) 914.70/297.15 , length^#(cons(N, L)) -> 914.70/297.15 c_8(U11^#(and(isNatList(activate(L)), n__isNat(N)), activate(L))) 914.70/297.15 , activate^#(X) -> c_10(X) 914.70/297.15 , activate^#(n__zeros()) -> c_11(zeros^#()) 914.70/297.15 , activate^#(n__take(X1, X2)) -> 914.70/297.15 c_12(take^#(activate(X1), activate(X2))) 914.70/297.15 , activate^#(n__length(X)) -> c_14(length^#(activate(X))) 914.70/297.15 , activate^#(n__s(X)) -> c_15(s^#(activate(X))) 914.70/297.15 , activate^#(n__cons(X1, X2)) -> c_16(cons^#(activate(X1), X2)) 914.70/297.15 , activate^#(n__isNatIList(X)) -> c_17(isNatIList^#(X)) 914.70/297.15 , activate^#(n__isNatList(X)) -> c_19(isNatList^#(X)) 914.70/297.15 , activate^#(n__isNat(X)) -> c_20(isNat^#(X)) 914.70/297.15 , activate^#(n__and(X1, X2)) -> c_21(and^#(activate(X1), X2)) 914.70/297.15 , take^#(X1, X2) -> c_39(X1, X2) 914.70/297.15 , take^#(s(M), cons(N, IL)) -> 914.70/297.15 c_41(U31^#(and(isNatIList(activate(IL)), 914.70/297.15 n__and(n__isNat(M), n__isNat(N))), 914.70/297.15 activate(IL), 914.70/297.15 M, 914.70/297.15 N)) 914.70/297.15 , isNatIList^#(V) -> c_35(isNatList^#(activate(V))) 914.70/297.15 , isNatIList^#(X) -> c_36(X) 914.70/297.15 , isNatIList^#(n__cons(V1, V2)) -> 914.70/297.15 c_38(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.15 , isNatList^#(X) -> c_31(X) 914.70/297.15 , isNatList^#(n__take(V1, V2)) -> 914.70/297.15 c_32(and^#(isNat(activate(V1)), n__isNatIList(activate(V2)))) 914.70/297.15 , isNatList^#(n__cons(V1, V2)) -> 914.70/297.15 c_33(and^#(isNat(activate(V1)), n__isNatList(activate(V2)))) 914.70/297.15 , isNat^#(X) -> c_27(X) 914.70/297.15 , isNat^#(n__length(V1)) -> c_29(isNatList^#(activate(V1))) 914.70/297.15 , isNat^#(n__s(V1)) -> c_30(isNat^#(activate(V1))) 914.70/297.15 , and^#(X1, X2) -> c_25(X1, X2) 914.70/297.15 , and^#(tt(), X) -> c_26(activate^#(X)) 914.70/297.15 , U31^#(tt(), IL, M, N) -> 914.70/297.15 c_24(cons^#(activate(N), n__take(activate(M), activate(IL)))) } 914.70/297.15 Strict Trs: 914.70/297.15 { zeros() -> cons(0(), n__zeros()) 914.70/297.15 , zeros() -> n__zeros() 914.70/297.15 , cons(X1, X2) -> n__cons(X1, X2) 914.70/297.15 , 0() -> n__0() 914.70/297.15 , U11(tt(), L) -> s(length(activate(L))) 914.70/297.15 , s(X) -> n__s(X) 914.70/297.15 , length(X) -> n__length(X) 914.70/297.15 , length(cons(N, L)) -> 914.70/297.15 U11(and(isNatList(activate(L)), n__isNat(N)), activate(L)) 914.70/297.15 , length(nil()) -> 0() 914.70/297.15 , activate(X) -> X 914.70/297.15 , activate(n__zeros()) -> zeros() 914.70/297.15 , activate(n__take(X1, X2)) -> take(activate(X1), activate(X2)) 914.70/297.15 , activate(n__0()) -> 0() 914.70/297.15 , activate(n__length(X)) -> length(activate(X)) 914.70/297.15 , activate(n__s(X)) -> s(activate(X)) 914.70/297.15 , activate(n__cons(X1, X2)) -> cons(activate(X1), X2) 914.70/297.15 , activate(n__isNatIList(X)) -> isNatIList(X) 914.70/297.15 , activate(n__nil()) -> nil() 914.70/297.15 , activate(n__isNatList(X)) -> isNatList(X) 914.70/297.15 , activate(n__isNat(X)) -> isNat(X) 914.70/297.15 , activate(n__and(X1, X2)) -> and(activate(X1), X2) 914.70/297.15 , U21(tt()) -> nil() 914.70/297.15 , nil() -> n__nil() 914.70/297.15 , U31(tt(), IL, M, N) -> 914.70/297.15 cons(activate(N), n__take(activate(M), activate(IL))) 914.70/297.15 , and(X1, X2) -> n__and(X1, X2) 914.70/297.15 , and(tt(), X) -> activate(X) 914.70/297.15 , isNat(X) -> n__isNat(X) 914.70/297.15 , isNat(n__0()) -> tt() 914.70/297.15 , isNat(n__length(V1)) -> isNatList(activate(V1)) 914.70/297.15 , isNat(n__s(V1)) -> isNat(activate(V1)) 914.70/297.15 , isNatList(X) -> n__isNatList(X) 914.70/297.15 , isNatList(n__take(V1, V2)) -> 914.70/297.15 and(isNat(activate(V1)), n__isNatIList(activate(V2))) 914.70/297.15 , isNatList(n__cons(V1, V2)) -> 914.70/297.15 and(isNat(activate(V1)), n__isNatList(activate(V2))) 914.70/297.15 , isNatList(n__nil()) -> tt() 914.70/297.15 , isNatIList(V) -> isNatList(activate(V)) 914.70/297.15 , isNatIList(X) -> n__isNatIList(X) 914.70/297.15 , isNatIList(n__zeros()) -> tt() 914.70/297.15 , isNatIList(n__cons(V1, V2)) -> 914.70/297.15 and(isNat(activate(V1)), n__isNatIList(activate(V2))) 914.70/297.15 , take(X1, X2) -> n__take(X1, X2) 914.70/297.15 , take(0(), IL) -> U21(isNatIList(IL)) 914.70/297.15 , take(s(M), cons(N, IL)) -> 914.70/297.15 U31(and(isNatIList(activate(IL)), 914.70/297.15 n__and(n__isNat(M), n__isNat(N))), 914.70/297.15 activate(IL), 914.70/297.15 M, 914.70/297.15 N) } 914.70/297.15 Weak DPs: 914.70/297.15 { zeros^#() -> c_2() 914.70/297.15 , 0^#() -> c_4() 914.70/297.15 , length^#(nil()) -> c_9(0^#()) 914.70/297.15 , activate^#(n__0()) -> c_13(0^#()) 914.70/297.15 , activate^#(n__nil()) -> c_18(nil^#()) 914.70/297.15 , take^#(0(), IL) -> c_40(U21^#(isNatIList(IL))) 914.70/297.15 , isNatIList^#(n__zeros()) -> c_37() 914.70/297.15 , nil^#() -> c_23() 914.70/297.15 , isNatList^#(n__nil()) -> c_34() 914.70/297.15 , isNat^#(n__0()) -> c_28() 914.70/297.15 , U21^#(tt()) -> c_22(nil^#()) } 914.70/297.15 Obligation: 914.70/297.15 runtime complexity 914.70/297.15 Answer: 914.70/297.15 MAYBE 914.70/297.15 914.70/297.15 Empty strict component of the problem is NOT empty. 914.70/297.15 914.70/297.15 914.70/297.15 Arrrr.. 914.85/297.20 EOF