MAYBE 915.79/297.15 MAYBE 915.79/297.15 915.79/297.15 We are left with following problem, upon which TcT provides the 915.79/297.15 certificate MAYBE. 915.79/297.15 915.79/297.15 Strict Trs: 915.79/297.15 { zeros() -> cons(0(), n__zeros()) 915.79/297.15 , zeros() -> n__zeros() 915.79/297.15 , cons(X1, X2) -> n__cons(X1, X2) 915.79/297.15 , 0() -> n__0() 915.79/297.15 , U11(tt(), V1) -> U12(isNatList(activate(V1))) 915.79/297.15 , U12(tt()) -> tt() 915.79/297.15 , isNatList(n__take(V1, V2)) -> 915.79/297.15 U61(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2)) 915.79/297.15 , isNatList(n__cons(V1, V2)) -> 915.79/297.15 U51(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2)) 915.79/297.15 , isNatList(n__nil()) -> tt() 915.79/297.15 , activate(X) -> X 915.79/297.15 , activate(n__zeros()) -> zeros() 915.79/297.15 , activate(n__take(X1, X2)) -> take(X1, X2) 915.79/297.15 , activate(n__0()) -> 0() 915.79/297.15 , activate(n__length(X)) -> length(X) 915.79/297.15 , activate(n__s(X)) -> s(X) 915.79/297.15 , activate(n__cons(X1, X2)) -> cons(X1, X2) 915.79/297.15 , activate(n__isNatIListKind(X)) -> isNatIListKind(X) 915.79/297.15 , activate(n__nil()) -> nil() 915.79/297.15 , activate(n__and(X1, X2)) -> and(X1, X2) 915.79/297.15 , activate(n__isNatKind(X)) -> isNatKind(X) 915.79/297.15 , U21(tt(), V1) -> U22(isNat(activate(V1))) 915.79/297.15 , U22(tt()) -> tt() 915.79/297.15 , isNat(n__0()) -> tt() 915.79/297.15 , isNat(n__length(V1)) -> 915.79/297.15 U11(isNatIListKind(activate(V1)), activate(V1)) 915.79/297.15 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 915.79/297.15 , U31(tt(), V) -> U32(isNatList(activate(V))) 915.79/297.15 , U32(tt()) -> tt() 915.79/297.15 , U41(tt(), V1, V2) -> U42(isNat(activate(V1)), activate(V2)) 915.79/297.15 , U42(tt(), V2) -> U43(isNatIList(activate(V2))) 915.79/297.15 , U43(tt()) -> tt() 915.79/297.15 , isNatIList(V) -> U31(isNatIListKind(activate(V)), activate(V)) 915.79/297.15 , isNatIList(n__zeros()) -> tt() 915.79/297.15 , isNatIList(n__cons(V1, V2)) -> 915.79/297.15 U41(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2)) 915.79/297.15 , U51(tt(), V1, V2) -> U52(isNat(activate(V1)), activate(V2)) 915.79/297.15 , U52(tt(), V2) -> U53(isNatList(activate(V2))) 915.79/297.15 , U53(tt()) -> tt() 915.79/297.15 , U61(tt(), V1, V2) -> U62(isNat(activate(V1)), activate(V2)) 915.79/297.15 , U62(tt(), V2) -> U63(isNatIList(activate(V2))) 915.79/297.15 , U63(tt()) -> tt() 915.79/297.15 , U71(tt(), L) -> s(length(activate(L))) 915.79/297.15 , s(X) -> n__s(X) 915.79/297.15 , length(X) -> n__length(X) 915.79/297.15 , length(cons(N, L)) -> 915.79/297.15 U71(and(and(isNatList(activate(L)), 915.79/297.15 n__isNatIListKind(activate(L))), 915.79/297.15 n__and(isNat(N), n__isNatKind(N))), 915.79/297.15 activate(L)) 915.79/297.15 , length(nil()) -> 0() 915.79/297.15 , U81(tt()) -> nil() 915.79/297.15 , nil() -> n__nil() 915.79/297.15 , U91(tt(), IL, M, N) -> 915.79/297.15 cons(activate(N), n__take(activate(M), activate(IL))) 915.79/297.15 , and(X1, X2) -> n__and(X1, X2) 915.79/297.15 , and(tt(), X) -> activate(X) 915.79/297.15 , isNatIListKind(X) -> n__isNatIListKind(X) 915.79/297.15 , isNatIListKind(n__zeros()) -> tt() 915.79/297.15 , isNatIListKind(n__take(V1, V2)) -> 915.79/297.15 and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))) 915.79/297.15 , isNatIListKind(n__cons(V1, V2)) -> 915.79/297.15 and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))) 915.79/297.15 , isNatIListKind(n__nil()) -> tt() 915.79/297.15 , isNatKind(X) -> n__isNatKind(X) 915.79/297.15 , isNatKind(n__0()) -> tt() 915.79/297.15 , isNatKind(n__length(V1)) -> isNatIListKind(activate(V1)) 915.79/297.15 , isNatKind(n__s(V1)) -> isNatKind(activate(V1)) 915.79/297.15 , take(X1, X2) -> n__take(X1, X2) 915.79/297.15 , take(0(), IL) -> U81(and(isNatIList(IL), n__isNatIListKind(IL))) 915.79/297.15 , take(s(M), cons(N, IL)) -> 915.79/297.15 U91(and(and(isNatIList(activate(IL)), 915.79/297.15 n__isNatIListKind(activate(IL))), 915.79/297.15 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.15 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.15 activate(IL), 915.79/297.15 M, 915.79/297.15 N) } 915.79/297.15 Obligation: 915.79/297.15 runtime complexity 915.79/297.15 Answer: 915.79/297.15 MAYBE 915.79/297.15 915.79/297.15 None of the processors succeeded. 915.79/297.15 915.79/297.15 Details of failed attempt(s): 915.79/297.15 ----------------------------- 915.79/297.15 1) 'With Problem ... (timeout of 297 seconds)' failed due to the 915.79/297.15 following reason: 915.79/297.15 915.79/297.15 Computation stopped due to timeout after 297.0 seconds. 915.79/297.15 915.79/297.15 2) 'Best' failed due to the following reason: 915.79/297.15 915.79/297.15 None of the processors succeeded. 915.79/297.15 915.79/297.15 Details of failed attempt(s): 915.79/297.15 ----------------------------- 915.79/297.15 1) 'With Problem ... (timeout of 148 seconds) (timeout of 297 915.79/297.15 seconds)' failed due to the following reason: 915.79/297.15 915.79/297.15 Computation stopped due to timeout after 148.0 seconds. 915.79/297.15 915.79/297.15 2) 'Fastest (timeout of 24 seconds) (timeout of 297 seconds)' 915.79/297.15 failed due to the following reason: 915.79/297.15 915.79/297.15 None of the processors succeeded. 915.79/297.15 915.79/297.15 Details of failed attempt(s): 915.79/297.15 ----------------------------- 915.79/297.15 1) 'Bounds with minimal-enrichment and initial automaton 'match'' 915.79/297.15 failed due to the following reason: 915.79/297.15 915.79/297.15 match-boundness of the problem could not be verified. 915.79/297.15 915.79/297.15 2) 'Bounds with perSymbol-enrichment and initial automaton 'match'' 915.79/297.15 failed due to the following reason: 915.79/297.15 915.79/297.15 match-boundness of the problem could not be verified. 915.79/297.15 915.79/297.15 915.79/297.15 3) 'Best' failed due to the following reason: 915.79/297.15 915.79/297.15 None of the processors succeeded. 915.79/297.15 915.79/297.15 Details of failed attempt(s): 915.79/297.15 ----------------------------- 915.79/297.15 1) 'bsearch-popstar (timeout of 297 seconds)' failed due to the 915.79/297.15 following reason: 915.79/297.15 915.79/297.15 The processor is inapplicable, reason: 915.79/297.15 Processor only applicable for innermost runtime complexity analysis 915.79/297.15 915.79/297.15 2) 'Polynomial Path Order (PS) (timeout of 297 seconds)' failed due 915.79/297.15 to the following reason: 915.79/297.15 915.79/297.15 The processor is inapplicable, reason: 915.79/297.15 Processor only applicable for innermost runtime complexity analysis 915.79/297.15 915.79/297.15 915.79/297.15 915.79/297.15 3) 'Weak Dependency Pairs (timeout of 297 seconds)' failed due to 915.79/297.15 the following reason: 915.79/297.15 915.79/297.15 We add the following weak dependency pairs: 915.79/297.15 915.79/297.15 Strict DPs: 915.79/297.15 { zeros^#() -> c_1(cons^#(0(), n__zeros())) 915.79/297.15 , zeros^#() -> c_2() 915.79/297.15 , cons^#(X1, X2) -> c_3(X1, X2) 915.79/297.15 , 0^#() -> c_4() 915.79/297.15 , U11^#(tt(), V1) -> c_5(U12^#(isNatList(activate(V1)))) 915.79/297.15 , U12^#(tt()) -> c_6() 915.79/297.15 , isNatList^#(n__take(V1, V2)) -> 915.79/297.15 c_7(U61^#(and(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2))) 915.79/297.15 , isNatList^#(n__cons(V1, V2)) -> 915.79/297.15 c_8(U51^#(and(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2))) 915.79/297.15 , isNatList^#(n__nil()) -> c_9() 915.79/297.15 , U61^#(tt(), V1, V2) -> 915.79/297.15 c_37(U62^#(isNat(activate(V1)), activate(V2))) 915.79/297.15 , U51^#(tt(), V1, V2) -> 915.79/297.15 c_34(U52^#(isNat(activate(V1)), activate(V2))) 915.79/297.15 , activate^#(X) -> c_10(X) 915.79/297.15 , activate^#(n__zeros()) -> c_11(zeros^#()) 915.79/297.15 , activate^#(n__take(X1, X2)) -> c_12(take^#(X1, X2)) 915.79/297.15 , activate^#(n__0()) -> c_13(0^#()) 915.79/297.15 , activate^#(n__length(X)) -> c_14(length^#(X)) 915.79/297.15 , activate^#(n__s(X)) -> c_15(s^#(X)) 915.79/297.15 , activate^#(n__cons(X1, X2)) -> c_16(cons^#(X1, X2)) 915.79/297.15 , activate^#(n__isNatIListKind(X)) -> c_17(isNatIListKind^#(X)) 915.79/297.15 , activate^#(n__nil()) -> c_18(nil^#()) 915.79/297.15 , activate^#(n__and(X1, X2)) -> c_19(and^#(X1, X2)) 915.79/297.15 , activate^#(n__isNatKind(X)) -> c_20(isNatKind^#(X)) 915.79/297.15 , take^#(X1, X2) -> c_59(X1, X2) 915.79/297.15 , take^#(0(), IL) -> 915.79/297.15 c_60(U81^#(and(isNatIList(IL), n__isNatIListKind(IL)))) 915.79/297.15 , take^#(s(M), cons(N, IL)) -> 915.79/297.15 c_61(U91^#(and(and(isNatIList(activate(IL)), 915.79/297.15 n__isNatIListKind(activate(IL))), 915.79/297.15 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.15 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.15 activate(IL), 915.79/297.15 M, 915.79/297.15 N)) 915.79/297.15 , length^#(X) -> c_42(X) 915.79/297.15 , length^#(cons(N, L)) -> 915.79/297.15 c_43(U71^#(and(and(isNatList(activate(L)), 915.79/297.15 n__isNatIListKind(activate(L))), 915.79/297.15 n__and(isNat(N), n__isNatKind(N))), 915.79/297.15 activate(L))) 915.79/297.15 , length^#(nil()) -> c_44(0^#()) 915.79/297.15 , s^#(X) -> c_41(X) 915.79/297.15 , isNatIListKind^#(X) -> c_50(X) 915.79/297.15 , isNatIListKind^#(n__zeros()) -> c_51() 915.79/297.15 , isNatIListKind^#(n__take(V1, V2)) -> 915.79/297.15 c_52(and^#(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2)))) 915.79/297.15 , isNatIListKind^#(n__cons(V1, V2)) -> 915.79/297.15 c_53(and^#(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2)))) 915.79/297.15 , isNatIListKind^#(n__nil()) -> c_54() 915.79/297.15 , nil^#() -> c_46() 915.79/297.15 , and^#(X1, X2) -> c_48(X1, X2) 915.79/297.15 , and^#(tt(), X) -> c_49(activate^#(X)) 915.79/297.15 , isNatKind^#(X) -> c_55(X) 915.79/297.15 , isNatKind^#(n__0()) -> c_56() 915.79/297.15 , isNatKind^#(n__length(V1)) -> 915.79/297.15 c_57(isNatIListKind^#(activate(V1))) 915.79/297.15 , isNatKind^#(n__s(V1)) -> c_58(isNatKind^#(activate(V1))) 915.79/297.15 , U21^#(tt(), V1) -> c_21(U22^#(isNat(activate(V1)))) 915.79/297.15 , U22^#(tt()) -> c_22() 915.79/297.15 , isNat^#(n__0()) -> c_23() 915.79/297.15 , isNat^#(n__length(V1)) -> 915.79/297.15 c_24(U11^#(isNatIListKind(activate(V1)), activate(V1))) 915.79/297.15 , isNat^#(n__s(V1)) -> 915.79/297.15 c_25(U21^#(isNatKind(activate(V1)), activate(V1))) 915.79/297.15 , U31^#(tt(), V) -> c_26(U32^#(isNatList(activate(V)))) 915.79/297.15 , U32^#(tt()) -> c_27() 915.79/297.15 , U41^#(tt(), V1, V2) -> 915.79/297.15 c_28(U42^#(isNat(activate(V1)), activate(V2))) 915.79/297.15 , U42^#(tt(), V2) -> c_29(U43^#(isNatIList(activate(V2)))) 915.79/297.15 , U43^#(tt()) -> c_30() 915.79/297.15 , isNatIList^#(V) -> 915.79/297.15 c_31(U31^#(isNatIListKind(activate(V)), activate(V))) 915.79/297.15 , isNatIList^#(n__zeros()) -> c_32() 915.79/297.15 , isNatIList^#(n__cons(V1, V2)) -> 915.79/297.15 c_33(U41^#(and(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2))) 915.79/297.15 , U52^#(tt(), V2) -> c_35(U53^#(isNatList(activate(V2)))) 915.79/297.15 , U53^#(tt()) -> c_36() 915.79/297.15 , U62^#(tt(), V2) -> c_38(U63^#(isNatIList(activate(V2)))) 915.79/297.15 , U63^#(tt()) -> c_39() 915.79/297.15 , U71^#(tt(), L) -> c_40(s^#(length(activate(L)))) 915.79/297.15 , U81^#(tt()) -> c_45(nil^#()) 915.79/297.15 , U91^#(tt(), IL, M, N) -> 915.79/297.15 c_47(cons^#(activate(N), n__take(activate(M), activate(IL)))) } 915.79/297.15 915.79/297.15 and mark the set of starting terms. 915.79/297.15 915.79/297.15 We are left with following problem, upon which TcT provides the 915.79/297.15 certificate MAYBE. 915.79/297.15 915.79/297.15 Strict DPs: 915.79/297.15 { zeros^#() -> c_1(cons^#(0(), n__zeros())) 915.79/297.15 , zeros^#() -> c_2() 915.79/297.15 , cons^#(X1, X2) -> c_3(X1, X2) 915.79/297.15 , 0^#() -> c_4() 915.79/297.15 , U11^#(tt(), V1) -> c_5(U12^#(isNatList(activate(V1)))) 915.79/297.15 , U12^#(tt()) -> c_6() 915.79/297.15 , isNatList^#(n__take(V1, V2)) -> 915.79/297.15 c_7(U61^#(and(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2))) 915.79/297.15 , isNatList^#(n__cons(V1, V2)) -> 915.79/297.15 c_8(U51^#(and(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2))) 915.79/297.15 , isNatList^#(n__nil()) -> c_9() 915.79/297.15 , U61^#(tt(), V1, V2) -> 915.79/297.15 c_37(U62^#(isNat(activate(V1)), activate(V2))) 915.79/297.15 , U51^#(tt(), V1, V2) -> 915.79/297.15 c_34(U52^#(isNat(activate(V1)), activate(V2))) 915.79/297.15 , activate^#(X) -> c_10(X) 915.79/297.15 , activate^#(n__zeros()) -> c_11(zeros^#()) 915.79/297.15 , activate^#(n__take(X1, X2)) -> c_12(take^#(X1, X2)) 915.79/297.15 , activate^#(n__0()) -> c_13(0^#()) 915.79/297.15 , activate^#(n__length(X)) -> c_14(length^#(X)) 915.79/297.15 , activate^#(n__s(X)) -> c_15(s^#(X)) 915.79/297.15 , activate^#(n__cons(X1, X2)) -> c_16(cons^#(X1, X2)) 915.79/297.15 , activate^#(n__isNatIListKind(X)) -> c_17(isNatIListKind^#(X)) 915.79/297.15 , activate^#(n__nil()) -> c_18(nil^#()) 915.79/297.15 , activate^#(n__and(X1, X2)) -> c_19(and^#(X1, X2)) 915.79/297.15 , activate^#(n__isNatKind(X)) -> c_20(isNatKind^#(X)) 915.79/297.15 , take^#(X1, X2) -> c_59(X1, X2) 915.79/297.15 , take^#(0(), IL) -> 915.79/297.15 c_60(U81^#(and(isNatIList(IL), n__isNatIListKind(IL)))) 915.79/297.15 , take^#(s(M), cons(N, IL)) -> 915.79/297.15 c_61(U91^#(and(and(isNatIList(activate(IL)), 915.79/297.15 n__isNatIListKind(activate(IL))), 915.79/297.15 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.15 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.15 activate(IL), 915.79/297.15 M, 915.79/297.15 N)) 915.79/297.15 , length^#(X) -> c_42(X) 915.79/297.15 , length^#(cons(N, L)) -> 915.79/297.15 c_43(U71^#(and(and(isNatList(activate(L)), 915.79/297.15 n__isNatIListKind(activate(L))), 915.79/297.15 n__and(isNat(N), n__isNatKind(N))), 915.79/297.15 activate(L))) 915.79/297.15 , length^#(nil()) -> c_44(0^#()) 915.79/297.15 , s^#(X) -> c_41(X) 915.79/297.15 , isNatIListKind^#(X) -> c_50(X) 915.79/297.15 , isNatIListKind^#(n__zeros()) -> c_51() 915.79/297.15 , isNatIListKind^#(n__take(V1, V2)) -> 915.79/297.15 c_52(and^#(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2)))) 915.79/297.15 , isNatIListKind^#(n__cons(V1, V2)) -> 915.79/297.15 c_53(and^#(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2)))) 915.79/297.15 , isNatIListKind^#(n__nil()) -> c_54() 915.79/297.15 , nil^#() -> c_46() 915.79/297.15 , and^#(X1, X2) -> c_48(X1, X2) 915.79/297.15 , and^#(tt(), X) -> c_49(activate^#(X)) 915.79/297.15 , isNatKind^#(X) -> c_55(X) 915.79/297.15 , isNatKind^#(n__0()) -> c_56() 915.79/297.15 , isNatKind^#(n__length(V1)) -> 915.79/297.15 c_57(isNatIListKind^#(activate(V1))) 915.79/297.15 , isNatKind^#(n__s(V1)) -> c_58(isNatKind^#(activate(V1))) 915.79/297.15 , U21^#(tt(), V1) -> c_21(U22^#(isNat(activate(V1)))) 915.79/297.15 , U22^#(tt()) -> c_22() 915.79/297.15 , isNat^#(n__0()) -> c_23() 915.79/297.15 , isNat^#(n__length(V1)) -> 915.79/297.15 c_24(U11^#(isNatIListKind(activate(V1)), activate(V1))) 915.79/297.15 , isNat^#(n__s(V1)) -> 915.79/297.15 c_25(U21^#(isNatKind(activate(V1)), activate(V1))) 915.79/297.15 , U31^#(tt(), V) -> c_26(U32^#(isNatList(activate(V)))) 915.79/297.15 , U32^#(tt()) -> c_27() 915.79/297.15 , U41^#(tt(), V1, V2) -> 915.79/297.15 c_28(U42^#(isNat(activate(V1)), activate(V2))) 915.79/297.15 , U42^#(tt(), V2) -> c_29(U43^#(isNatIList(activate(V2)))) 915.79/297.15 , U43^#(tt()) -> c_30() 915.79/297.15 , isNatIList^#(V) -> 915.79/297.15 c_31(U31^#(isNatIListKind(activate(V)), activate(V))) 915.79/297.15 , isNatIList^#(n__zeros()) -> c_32() 915.79/297.15 , isNatIList^#(n__cons(V1, V2)) -> 915.79/297.15 c_33(U41^#(and(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2))) 915.79/297.15 , U52^#(tt(), V2) -> c_35(U53^#(isNatList(activate(V2)))) 915.79/297.15 , U53^#(tt()) -> c_36() 915.79/297.15 , U62^#(tt(), V2) -> c_38(U63^#(isNatIList(activate(V2)))) 915.79/297.15 , U63^#(tt()) -> c_39() 915.79/297.15 , U71^#(tt(), L) -> c_40(s^#(length(activate(L)))) 915.79/297.15 , U81^#(tt()) -> c_45(nil^#()) 915.79/297.15 , U91^#(tt(), IL, M, N) -> 915.79/297.15 c_47(cons^#(activate(N), n__take(activate(M), activate(IL)))) } 915.79/297.15 Strict Trs: 915.79/297.15 { zeros() -> cons(0(), n__zeros()) 915.79/297.15 , zeros() -> n__zeros() 915.79/297.15 , cons(X1, X2) -> n__cons(X1, X2) 915.79/297.15 , 0() -> n__0() 915.79/297.15 , U11(tt(), V1) -> U12(isNatList(activate(V1))) 915.79/297.15 , U12(tt()) -> tt() 915.79/297.15 , isNatList(n__take(V1, V2)) -> 915.79/297.15 U61(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2)) 915.79/297.15 , isNatList(n__cons(V1, V2)) -> 915.79/297.15 U51(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2)) 915.79/297.15 , isNatList(n__nil()) -> tt() 915.79/297.15 , activate(X) -> X 915.79/297.15 , activate(n__zeros()) -> zeros() 915.79/297.15 , activate(n__take(X1, X2)) -> take(X1, X2) 915.79/297.15 , activate(n__0()) -> 0() 915.79/297.15 , activate(n__length(X)) -> length(X) 915.79/297.15 , activate(n__s(X)) -> s(X) 915.79/297.15 , activate(n__cons(X1, X2)) -> cons(X1, X2) 915.79/297.15 , activate(n__isNatIListKind(X)) -> isNatIListKind(X) 915.79/297.15 , activate(n__nil()) -> nil() 915.79/297.15 , activate(n__and(X1, X2)) -> and(X1, X2) 915.79/297.15 , activate(n__isNatKind(X)) -> isNatKind(X) 915.79/297.15 , U21(tt(), V1) -> U22(isNat(activate(V1))) 915.79/297.15 , U22(tt()) -> tt() 915.79/297.15 , isNat(n__0()) -> tt() 915.79/297.15 , isNat(n__length(V1)) -> 915.79/297.15 U11(isNatIListKind(activate(V1)), activate(V1)) 915.79/297.15 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 915.79/297.15 , U31(tt(), V) -> U32(isNatList(activate(V))) 915.79/297.15 , U32(tt()) -> tt() 915.79/297.15 , U41(tt(), V1, V2) -> U42(isNat(activate(V1)), activate(V2)) 915.79/297.15 , U42(tt(), V2) -> U43(isNatIList(activate(V2))) 915.79/297.15 , U43(tt()) -> tt() 915.79/297.15 , isNatIList(V) -> U31(isNatIListKind(activate(V)), activate(V)) 915.79/297.15 , isNatIList(n__zeros()) -> tt() 915.79/297.15 , isNatIList(n__cons(V1, V2)) -> 915.79/297.15 U41(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2)) 915.79/297.15 , U51(tt(), V1, V2) -> U52(isNat(activate(V1)), activate(V2)) 915.79/297.15 , U52(tt(), V2) -> U53(isNatList(activate(V2))) 915.79/297.15 , U53(tt()) -> tt() 915.79/297.15 , U61(tt(), V1, V2) -> U62(isNat(activate(V1)), activate(V2)) 915.79/297.15 , U62(tt(), V2) -> U63(isNatIList(activate(V2))) 915.79/297.15 , U63(tt()) -> tt() 915.79/297.15 , U71(tt(), L) -> s(length(activate(L))) 915.79/297.15 , s(X) -> n__s(X) 915.79/297.15 , length(X) -> n__length(X) 915.79/297.15 , length(cons(N, L)) -> 915.79/297.15 U71(and(and(isNatList(activate(L)), 915.79/297.15 n__isNatIListKind(activate(L))), 915.79/297.15 n__and(isNat(N), n__isNatKind(N))), 915.79/297.15 activate(L)) 915.79/297.15 , length(nil()) -> 0() 915.79/297.15 , U81(tt()) -> nil() 915.79/297.15 , nil() -> n__nil() 915.79/297.15 , U91(tt(), IL, M, N) -> 915.79/297.15 cons(activate(N), n__take(activate(M), activate(IL))) 915.79/297.15 , and(X1, X2) -> n__and(X1, X2) 915.79/297.15 , and(tt(), X) -> activate(X) 915.79/297.15 , isNatIListKind(X) -> n__isNatIListKind(X) 915.79/297.15 , isNatIListKind(n__zeros()) -> tt() 915.79/297.15 , isNatIListKind(n__take(V1, V2)) -> 915.79/297.15 and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))) 915.79/297.15 , isNatIListKind(n__cons(V1, V2)) -> 915.79/297.15 and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))) 915.79/297.15 , isNatIListKind(n__nil()) -> tt() 915.79/297.15 , isNatKind(X) -> n__isNatKind(X) 915.79/297.15 , isNatKind(n__0()) -> tt() 915.79/297.15 , isNatKind(n__length(V1)) -> isNatIListKind(activate(V1)) 915.79/297.15 , isNatKind(n__s(V1)) -> isNatKind(activate(V1)) 915.79/297.15 , take(X1, X2) -> n__take(X1, X2) 915.79/297.15 , take(0(), IL) -> U81(and(isNatIList(IL), n__isNatIListKind(IL))) 915.79/297.15 , take(s(M), cons(N, IL)) -> 915.79/297.15 U91(and(and(isNatIList(activate(IL)), 915.79/297.15 n__isNatIListKind(activate(IL))), 915.79/297.15 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.15 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.15 activate(IL), 915.79/297.15 M, 915.79/297.15 N) } 915.79/297.15 Obligation: 915.79/297.15 runtime complexity 915.79/297.15 Answer: 915.79/297.15 MAYBE 915.79/297.15 915.79/297.15 We estimate the number of application of 915.79/297.15 {2,4,6,9,31,34,35,39,43,44,48,51,53,56,58} by applications of 915.79/297.15 Pre({2,4,6,9,31,34,35,39,43,44,48,51,53,56,58}) = 915.79/297.15 {3,5,12,13,15,19,20,22,23,26,28,29,30,36,38,40,41,42,47,50,55,57,60}. 915.79/297.15 Here rules are labeled as follows: 915.79/297.15 915.79/297.15 DPs: 915.79/297.15 { 1: zeros^#() -> c_1(cons^#(0(), n__zeros())) 915.79/297.15 , 2: zeros^#() -> c_2() 915.79/297.15 , 3: cons^#(X1, X2) -> c_3(X1, X2) 915.79/297.15 , 4: 0^#() -> c_4() 915.79/297.15 , 5: U11^#(tt(), V1) -> c_5(U12^#(isNatList(activate(V1)))) 915.79/297.15 , 6: U12^#(tt()) -> c_6() 915.79/297.15 , 7: isNatList^#(n__take(V1, V2)) -> 915.79/297.15 c_7(U61^#(and(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2))) 915.79/297.15 , 8: isNatList^#(n__cons(V1, V2)) -> 915.79/297.15 c_8(U51^#(and(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2))) 915.79/297.15 , 9: isNatList^#(n__nil()) -> c_9() 915.79/297.15 , 10: U61^#(tt(), V1, V2) -> 915.79/297.15 c_37(U62^#(isNat(activate(V1)), activate(V2))) 915.79/297.15 , 11: U51^#(tt(), V1, V2) -> 915.79/297.15 c_34(U52^#(isNat(activate(V1)), activate(V2))) 915.79/297.15 , 12: activate^#(X) -> c_10(X) 915.79/297.15 , 13: activate^#(n__zeros()) -> c_11(zeros^#()) 915.79/297.15 , 14: activate^#(n__take(X1, X2)) -> c_12(take^#(X1, X2)) 915.79/297.15 , 15: activate^#(n__0()) -> c_13(0^#()) 915.79/297.15 , 16: activate^#(n__length(X)) -> c_14(length^#(X)) 915.79/297.15 , 17: activate^#(n__s(X)) -> c_15(s^#(X)) 915.79/297.15 , 18: activate^#(n__cons(X1, X2)) -> c_16(cons^#(X1, X2)) 915.79/297.15 , 19: activate^#(n__isNatIListKind(X)) -> c_17(isNatIListKind^#(X)) 915.79/297.15 , 20: activate^#(n__nil()) -> c_18(nil^#()) 915.79/297.15 , 21: activate^#(n__and(X1, X2)) -> c_19(and^#(X1, X2)) 915.79/297.15 , 22: activate^#(n__isNatKind(X)) -> c_20(isNatKind^#(X)) 915.79/297.15 , 23: take^#(X1, X2) -> c_59(X1, X2) 915.79/297.15 , 24: take^#(0(), IL) -> 915.79/297.15 c_60(U81^#(and(isNatIList(IL), n__isNatIListKind(IL)))) 915.79/297.15 , 25: take^#(s(M), cons(N, IL)) -> 915.79/297.15 c_61(U91^#(and(and(isNatIList(activate(IL)), 915.79/297.15 n__isNatIListKind(activate(IL))), 915.79/297.15 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.15 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.15 activate(IL), 915.79/297.15 M, 915.79/297.15 N)) 915.79/297.15 , 26: length^#(X) -> c_42(X) 915.79/297.15 , 27: length^#(cons(N, L)) -> 915.79/297.15 c_43(U71^#(and(and(isNatList(activate(L)), 915.79/297.15 n__isNatIListKind(activate(L))), 915.79/297.15 n__and(isNat(N), n__isNatKind(N))), 915.79/297.15 activate(L))) 915.79/297.15 , 28: length^#(nil()) -> c_44(0^#()) 915.79/297.15 , 29: s^#(X) -> c_41(X) 915.79/297.15 , 30: isNatIListKind^#(X) -> c_50(X) 915.79/297.15 , 31: isNatIListKind^#(n__zeros()) -> c_51() 915.79/297.15 , 32: isNatIListKind^#(n__take(V1, V2)) -> 915.79/297.15 c_52(and^#(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2)))) 915.79/297.15 , 33: isNatIListKind^#(n__cons(V1, V2)) -> 915.79/297.15 c_53(and^#(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2)))) 915.79/297.15 , 34: isNatIListKind^#(n__nil()) -> c_54() 915.79/297.15 , 35: nil^#() -> c_46() 915.79/297.15 , 36: and^#(X1, X2) -> c_48(X1, X2) 915.79/297.15 , 37: and^#(tt(), X) -> c_49(activate^#(X)) 915.79/297.15 , 38: isNatKind^#(X) -> c_55(X) 915.79/297.15 , 39: isNatKind^#(n__0()) -> c_56() 915.79/297.15 , 40: isNatKind^#(n__length(V1)) -> 915.79/297.15 c_57(isNatIListKind^#(activate(V1))) 915.79/297.15 , 41: isNatKind^#(n__s(V1)) -> c_58(isNatKind^#(activate(V1))) 915.79/297.15 , 42: U21^#(tt(), V1) -> c_21(U22^#(isNat(activate(V1)))) 915.79/297.15 , 43: U22^#(tt()) -> c_22() 915.79/297.15 , 44: isNat^#(n__0()) -> c_23() 915.79/297.15 , 45: isNat^#(n__length(V1)) -> 915.79/297.15 c_24(U11^#(isNatIListKind(activate(V1)), activate(V1))) 915.79/297.15 , 46: isNat^#(n__s(V1)) -> 915.79/297.15 c_25(U21^#(isNatKind(activate(V1)), activate(V1))) 915.79/297.15 , 47: U31^#(tt(), V) -> c_26(U32^#(isNatList(activate(V)))) 915.79/297.15 , 48: U32^#(tt()) -> c_27() 915.79/297.15 , 49: U41^#(tt(), V1, V2) -> 915.79/297.15 c_28(U42^#(isNat(activate(V1)), activate(V2))) 915.79/297.15 , 50: U42^#(tt(), V2) -> c_29(U43^#(isNatIList(activate(V2)))) 915.79/297.15 , 51: U43^#(tt()) -> c_30() 915.79/297.15 , 52: isNatIList^#(V) -> 915.79/297.15 c_31(U31^#(isNatIListKind(activate(V)), activate(V))) 915.79/297.15 , 53: isNatIList^#(n__zeros()) -> c_32() 915.79/297.15 , 54: isNatIList^#(n__cons(V1, V2)) -> 915.79/297.15 c_33(U41^#(and(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2))) 915.79/297.15 , 55: U52^#(tt(), V2) -> c_35(U53^#(isNatList(activate(V2)))) 915.79/297.15 , 56: U53^#(tt()) -> c_36() 915.79/297.15 , 57: U62^#(tt(), V2) -> c_38(U63^#(isNatIList(activate(V2)))) 915.79/297.15 , 58: U63^#(tt()) -> c_39() 915.79/297.15 , 59: U71^#(tt(), L) -> c_40(s^#(length(activate(L)))) 915.79/297.15 , 60: U81^#(tt()) -> c_45(nil^#()) 915.79/297.15 , 61: U91^#(tt(), IL, M, N) -> 915.79/297.15 c_47(cons^#(activate(N), n__take(activate(M), activate(IL)))) } 915.79/297.15 915.79/297.15 We are left with following problem, upon which TcT provides the 915.79/297.15 certificate MAYBE. 915.79/297.15 915.79/297.15 Strict DPs: 915.79/297.15 { zeros^#() -> c_1(cons^#(0(), n__zeros())) 915.79/297.15 , cons^#(X1, X2) -> c_3(X1, X2) 915.79/297.15 , U11^#(tt(), V1) -> c_5(U12^#(isNatList(activate(V1)))) 915.79/297.15 , isNatList^#(n__take(V1, V2)) -> 915.79/297.15 c_7(U61^#(and(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2))) 915.79/297.15 , isNatList^#(n__cons(V1, V2)) -> 915.79/297.15 c_8(U51^#(and(isNatKind(activate(V1)), 915.79/297.15 n__isNatIListKind(activate(V2))), 915.79/297.15 activate(V1), 915.79/297.15 activate(V2))) 915.79/297.15 , U61^#(tt(), V1, V2) -> 915.79/297.15 c_37(U62^#(isNat(activate(V1)), activate(V2))) 915.79/297.15 , U51^#(tt(), V1, V2) -> 915.79/297.15 c_34(U52^#(isNat(activate(V1)), activate(V2))) 915.79/297.15 , activate^#(X) -> c_10(X) 915.79/297.15 , activate^#(n__zeros()) -> c_11(zeros^#()) 915.79/297.15 , activate^#(n__take(X1, X2)) -> c_12(take^#(X1, X2)) 915.79/297.15 , activate^#(n__0()) -> c_13(0^#()) 915.79/297.15 , activate^#(n__length(X)) -> c_14(length^#(X)) 915.79/297.15 , activate^#(n__s(X)) -> c_15(s^#(X)) 915.79/297.15 , activate^#(n__cons(X1, X2)) -> c_16(cons^#(X1, X2)) 915.79/297.15 , activate^#(n__isNatIListKind(X)) -> c_17(isNatIListKind^#(X)) 915.79/297.15 , activate^#(n__nil()) -> c_18(nil^#()) 915.79/297.15 , activate^#(n__and(X1, X2)) -> c_19(and^#(X1, X2)) 915.79/297.15 , activate^#(n__isNatKind(X)) -> c_20(isNatKind^#(X)) 915.79/297.15 , take^#(X1, X2) -> c_59(X1, X2) 915.79/297.15 , take^#(0(), IL) -> 915.79/297.15 c_60(U81^#(and(isNatIList(IL), n__isNatIListKind(IL)))) 915.79/297.16 , take^#(s(M), cons(N, IL)) -> 915.79/297.16 c_61(U91^#(and(and(isNatIList(activate(IL)), 915.79/297.16 n__isNatIListKind(activate(IL))), 915.79/297.16 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.16 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.16 activate(IL), 915.79/297.16 M, 915.79/297.16 N)) 915.79/297.16 , length^#(X) -> c_42(X) 915.79/297.16 , length^#(cons(N, L)) -> 915.79/297.16 c_43(U71^#(and(and(isNatList(activate(L)), 915.79/297.16 n__isNatIListKind(activate(L))), 915.79/297.16 n__and(isNat(N), n__isNatKind(N))), 915.79/297.16 activate(L))) 915.79/297.16 , length^#(nil()) -> c_44(0^#()) 915.79/297.16 , s^#(X) -> c_41(X) 915.79/297.16 , isNatIListKind^#(X) -> c_50(X) 915.79/297.16 , isNatIListKind^#(n__take(V1, V2)) -> 915.79/297.16 c_52(and^#(isNatKind(activate(V1)), 915.79/297.16 n__isNatIListKind(activate(V2)))) 915.79/297.16 , isNatIListKind^#(n__cons(V1, V2)) -> 915.79/297.16 c_53(and^#(isNatKind(activate(V1)), 915.79/297.16 n__isNatIListKind(activate(V2)))) 915.79/297.16 , and^#(X1, X2) -> c_48(X1, X2) 915.79/297.16 , and^#(tt(), X) -> c_49(activate^#(X)) 915.79/297.16 , isNatKind^#(X) -> c_55(X) 915.79/297.16 , isNatKind^#(n__length(V1)) -> 915.79/297.16 c_57(isNatIListKind^#(activate(V1))) 915.79/297.16 , isNatKind^#(n__s(V1)) -> c_58(isNatKind^#(activate(V1))) 915.79/297.16 , U21^#(tt(), V1) -> c_21(U22^#(isNat(activate(V1)))) 915.79/297.16 , isNat^#(n__length(V1)) -> 915.79/297.16 c_24(U11^#(isNatIListKind(activate(V1)), activate(V1))) 915.79/297.16 , isNat^#(n__s(V1)) -> 915.79/297.16 c_25(U21^#(isNatKind(activate(V1)), activate(V1))) 915.79/297.16 , U31^#(tt(), V) -> c_26(U32^#(isNatList(activate(V)))) 915.79/297.16 , U41^#(tt(), V1, V2) -> 915.79/297.16 c_28(U42^#(isNat(activate(V1)), activate(V2))) 915.79/297.16 , U42^#(tt(), V2) -> c_29(U43^#(isNatIList(activate(V2)))) 915.79/297.16 , isNatIList^#(V) -> 915.79/297.16 c_31(U31^#(isNatIListKind(activate(V)), activate(V))) 915.79/297.16 , isNatIList^#(n__cons(V1, V2)) -> 915.79/297.16 c_33(U41^#(and(isNatKind(activate(V1)), 915.79/297.16 n__isNatIListKind(activate(V2))), 915.79/297.16 activate(V1), 915.79/297.16 activate(V2))) 915.79/297.16 , U52^#(tt(), V2) -> c_35(U53^#(isNatList(activate(V2)))) 915.79/297.16 , U62^#(tt(), V2) -> c_38(U63^#(isNatIList(activate(V2)))) 915.79/297.16 , U71^#(tt(), L) -> c_40(s^#(length(activate(L)))) 915.79/297.16 , U81^#(tt()) -> c_45(nil^#()) 915.79/297.16 , U91^#(tt(), IL, M, N) -> 915.79/297.16 c_47(cons^#(activate(N), n__take(activate(M), activate(IL)))) } 915.79/297.16 Strict Trs: 915.79/297.16 { zeros() -> cons(0(), n__zeros()) 915.79/297.16 , zeros() -> n__zeros() 915.79/297.16 , cons(X1, X2) -> n__cons(X1, X2) 915.79/297.16 , 0() -> n__0() 915.79/297.16 , U11(tt(), V1) -> U12(isNatList(activate(V1))) 915.79/297.16 , U12(tt()) -> tt() 915.79/297.16 , isNatList(n__take(V1, V2)) -> 915.79/297.16 U61(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.16 activate(V1), 915.79/297.16 activate(V2)) 915.79/297.16 , isNatList(n__cons(V1, V2)) -> 915.79/297.16 U51(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.16 activate(V1), 915.79/297.16 activate(V2)) 915.79/297.16 , isNatList(n__nil()) -> tt() 915.79/297.16 , activate(X) -> X 915.79/297.16 , activate(n__zeros()) -> zeros() 915.79/297.16 , activate(n__take(X1, X2)) -> take(X1, X2) 915.79/297.16 , activate(n__0()) -> 0() 915.79/297.16 , activate(n__length(X)) -> length(X) 915.79/297.16 , activate(n__s(X)) -> s(X) 915.79/297.16 , activate(n__cons(X1, X2)) -> cons(X1, X2) 915.79/297.16 , activate(n__isNatIListKind(X)) -> isNatIListKind(X) 915.79/297.16 , activate(n__nil()) -> nil() 915.79/297.16 , activate(n__and(X1, X2)) -> and(X1, X2) 915.79/297.16 , activate(n__isNatKind(X)) -> isNatKind(X) 915.79/297.16 , U21(tt(), V1) -> U22(isNat(activate(V1))) 915.79/297.16 , U22(tt()) -> tt() 915.79/297.16 , isNat(n__0()) -> tt() 915.79/297.16 , isNat(n__length(V1)) -> 915.79/297.16 U11(isNatIListKind(activate(V1)), activate(V1)) 915.79/297.16 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 915.79/297.16 , U31(tt(), V) -> U32(isNatList(activate(V))) 915.79/297.16 , U32(tt()) -> tt() 915.79/297.16 , U41(tt(), V1, V2) -> U42(isNat(activate(V1)), activate(V2)) 915.79/297.16 , U42(tt(), V2) -> U43(isNatIList(activate(V2))) 915.79/297.16 , U43(tt()) -> tt() 915.79/297.16 , isNatIList(V) -> U31(isNatIListKind(activate(V)), activate(V)) 915.79/297.16 , isNatIList(n__zeros()) -> tt() 915.79/297.16 , isNatIList(n__cons(V1, V2)) -> 915.79/297.16 U41(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.16 activate(V1), 915.79/297.16 activate(V2)) 915.79/297.16 , U51(tt(), V1, V2) -> U52(isNat(activate(V1)), activate(V2)) 915.79/297.16 , U52(tt(), V2) -> U53(isNatList(activate(V2))) 915.79/297.16 , U53(tt()) -> tt() 915.79/297.16 , U61(tt(), V1, V2) -> U62(isNat(activate(V1)), activate(V2)) 915.79/297.16 , U62(tt(), V2) -> U63(isNatIList(activate(V2))) 915.79/297.16 , U63(tt()) -> tt() 915.79/297.16 , U71(tt(), L) -> s(length(activate(L))) 915.79/297.16 , s(X) -> n__s(X) 915.79/297.16 , length(X) -> n__length(X) 915.79/297.16 , length(cons(N, L)) -> 915.79/297.16 U71(and(and(isNatList(activate(L)), 915.79/297.16 n__isNatIListKind(activate(L))), 915.79/297.16 n__and(isNat(N), n__isNatKind(N))), 915.79/297.16 activate(L)) 915.79/297.16 , length(nil()) -> 0() 915.79/297.16 , U81(tt()) -> nil() 915.79/297.16 , nil() -> n__nil() 915.79/297.16 , U91(tt(), IL, M, N) -> 915.79/297.16 cons(activate(N), n__take(activate(M), activate(IL))) 915.79/297.16 , and(X1, X2) -> n__and(X1, X2) 915.79/297.16 , and(tt(), X) -> activate(X) 915.79/297.16 , isNatIListKind(X) -> n__isNatIListKind(X) 915.79/297.16 , isNatIListKind(n__zeros()) -> tt() 915.79/297.16 , isNatIListKind(n__take(V1, V2)) -> 915.79/297.16 and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))) 915.79/297.16 , isNatIListKind(n__cons(V1, V2)) -> 915.79/297.16 and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))) 915.79/297.16 , isNatIListKind(n__nil()) -> tt() 915.79/297.16 , isNatKind(X) -> n__isNatKind(X) 915.79/297.16 , isNatKind(n__0()) -> tt() 915.79/297.16 , isNatKind(n__length(V1)) -> isNatIListKind(activate(V1)) 915.79/297.16 , isNatKind(n__s(V1)) -> isNatKind(activate(V1)) 915.79/297.16 , take(X1, X2) -> n__take(X1, X2) 915.79/297.16 , take(0(), IL) -> U81(and(isNatIList(IL), n__isNatIListKind(IL))) 915.79/297.16 , take(s(M), cons(N, IL)) -> 915.79/297.16 U91(and(and(isNatIList(activate(IL)), 915.79/297.16 n__isNatIListKind(activate(IL))), 915.79/297.16 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.16 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.16 activate(IL), 915.79/297.16 M, 915.79/297.16 N) } 915.79/297.16 Weak DPs: 915.79/297.16 { zeros^#() -> c_2() 915.79/297.16 , 0^#() -> c_4() 915.79/297.16 , U12^#(tt()) -> c_6() 915.79/297.16 , isNatList^#(n__nil()) -> c_9() 915.79/297.16 , isNatIListKind^#(n__zeros()) -> c_51() 915.79/297.16 , isNatIListKind^#(n__nil()) -> c_54() 915.79/297.16 , nil^#() -> c_46() 915.79/297.16 , isNatKind^#(n__0()) -> c_56() 915.79/297.16 , U22^#(tt()) -> c_22() 915.79/297.16 , isNat^#(n__0()) -> c_23() 915.79/297.16 , U32^#(tt()) -> c_27() 915.79/297.16 , U43^#(tt()) -> c_30() 915.79/297.16 , isNatIList^#(n__zeros()) -> c_32() 915.79/297.16 , U53^#(tt()) -> c_36() 915.79/297.16 , U63^#(tt()) -> c_39() } 915.79/297.16 Obligation: 915.79/297.16 runtime complexity 915.79/297.16 Answer: 915.79/297.16 MAYBE 915.79/297.16 915.79/297.16 We estimate the number of application of 915.79/297.16 {3,11,16,24,34,37,39,42,43,45} by applications of 915.79/297.16 Pre({3,11,16,24,34,37,39,42,43,45}) = 915.79/297.16 {2,6,7,8,12,19,20,22,25,26,29,30,31,35,36,38,40}. Here rules are 915.79/297.16 labeled as follows: 915.79/297.16 915.79/297.16 DPs: 915.79/297.16 { 1: zeros^#() -> c_1(cons^#(0(), n__zeros())) 915.79/297.16 , 2: cons^#(X1, X2) -> c_3(X1, X2) 915.79/297.16 , 3: U11^#(tt(), V1) -> c_5(U12^#(isNatList(activate(V1)))) 915.79/297.16 , 4: isNatList^#(n__take(V1, V2)) -> 915.79/297.16 c_7(U61^#(and(isNatKind(activate(V1)), 915.79/297.16 n__isNatIListKind(activate(V2))), 915.79/297.16 activate(V1), 915.79/297.16 activate(V2))) 915.79/297.16 , 5: isNatList^#(n__cons(V1, V2)) -> 915.79/297.16 c_8(U51^#(and(isNatKind(activate(V1)), 915.79/297.16 n__isNatIListKind(activate(V2))), 915.79/297.16 activate(V1), 915.79/297.16 activate(V2))) 915.79/297.16 , 6: U61^#(tt(), V1, V2) -> 915.79/297.16 c_37(U62^#(isNat(activate(V1)), activate(V2))) 915.79/297.16 , 7: U51^#(tt(), V1, V2) -> 915.79/297.16 c_34(U52^#(isNat(activate(V1)), activate(V2))) 915.79/297.16 , 8: activate^#(X) -> c_10(X) 915.79/297.16 , 9: activate^#(n__zeros()) -> c_11(zeros^#()) 915.79/297.16 , 10: activate^#(n__take(X1, X2)) -> c_12(take^#(X1, X2)) 915.79/297.16 , 11: activate^#(n__0()) -> c_13(0^#()) 915.79/297.16 , 12: activate^#(n__length(X)) -> c_14(length^#(X)) 915.79/297.16 , 13: activate^#(n__s(X)) -> c_15(s^#(X)) 915.79/297.16 , 14: activate^#(n__cons(X1, X2)) -> c_16(cons^#(X1, X2)) 915.79/297.16 , 15: activate^#(n__isNatIListKind(X)) -> c_17(isNatIListKind^#(X)) 915.79/297.16 , 16: activate^#(n__nil()) -> c_18(nil^#()) 915.79/297.16 , 17: activate^#(n__and(X1, X2)) -> c_19(and^#(X1, X2)) 915.79/297.16 , 18: activate^#(n__isNatKind(X)) -> c_20(isNatKind^#(X)) 915.79/297.16 , 19: take^#(X1, X2) -> c_59(X1, X2) 915.79/297.16 , 20: take^#(0(), IL) -> 915.79/297.16 c_60(U81^#(and(isNatIList(IL), n__isNatIListKind(IL)))) 915.79/297.16 , 21: take^#(s(M), cons(N, IL)) -> 915.79/297.16 c_61(U91^#(and(and(isNatIList(activate(IL)), 915.79/297.16 n__isNatIListKind(activate(IL))), 915.79/297.16 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.16 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.16 activate(IL), 915.79/297.16 M, 915.79/297.16 N)) 915.79/297.16 , 22: length^#(X) -> c_42(X) 915.79/297.16 , 23: length^#(cons(N, L)) -> 915.79/297.16 c_43(U71^#(and(and(isNatList(activate(L)), 915.79/297.16 n__isNatIListKind(activate(L))), 915.79/297.16 n__and(isNat(N), n__isNatKind(N))), 915.79/297.16 activate(L))) 915.79/297.16 , 24: length^#(nil()) -> c_44(0^#()) 915.79/297.16 , 25: s^#(X) -> c_41(X) 915.79/297.16 , 26: isNatIListKind^#(X) -> c_50(X) 915.79/297.16 , 27: isNatIListKind^#(n__take(V1, V2)) -> 915.79/297.16 c_52(and^#(isNatKind(activate(V1)), 915.79/297.16 n__isNatIListKind(activate(V2)))) 915.79/297.16 , 28: isNatIListKind^#(n__cons(V1, V2)) -> 915.79/297.16 c_53(and^#(isNatKind(activate(V1)), 915.79/297.16 n__isNatIListKind(activate(V2)))) 915.79/297.16 , 29: and^#(X1, X2) -> c_48(X1, X2) 915.79/297.16 , 30: and^#(tt(), X) -> c_49(activate^#(X)) 915.79/297.16 , 31: isNatKind^#(X) -> c_55(X) 915.79/297.16 , 32: isNatKind^#(n__length(V1)) -> 915.79/297.16 c_57(isNatIListKind^#(activate(V1))) 915.79/297.16 , 33: isNatKind^#(n__s(V1)) -> c_58(isNatKind^#(activate(V1))) 915.79/297.16 , 34: U21^#(tt(), V1) -> c_21(U22^#(isNat(activate(V1)))) 915.79/297.16 , 35: isNat^#(n__length(V1)) -> 915.79/297.16 c_24(U11^#(isNatIListKind(activate(V1)), activate(V1))) 915.79/297.16 , 36: isNat^#(n__s(V1)) -> 915.79/297.16 c_25(U21^#(isNatKind(activate(V1)), activate(V1))) 915.79/297.16 , 37: U31^#(tt(), V) -> c_26(U32^#(isNatList(activate(V)))) 915.79/297.16 , 38: U41^#(tt(), V1, V2) -> 915.79/297.16 c_28(U42^#(isNat(activate(V1)), activate(V2))) 915.79/297.16 , 39: U42^#(tt(), V2) -> c_29(U43^#(isNatIList(activate(V2)))) 915.79/297.16 , 40: isNatIList^#(V) -> 915.79/297.16 c_31(U31^#(isNatIListKind(activate(V)), activate(V))) 915.79/297.16 , 41: isNatIList^#(n__cons(V1, V2)) -> 915.79/297.16 c_33(U41^#(and(isNatKind(activate(V1)), 915.79/297.16 n__isNatIListKind(activate(V2))), 915.79/297.16 activate(V1), 915.79/297.16 activate(V2))) 915.79/297.16 , 42: U52^#(tt(), V2) -> c_35(U53^#(isNatList(activate(V2)))) 915.79/297.16 , 43: U62^#(tt(), V2) -> c_38(U63^#(isNatIList(activate(V2)))) 915.79/297.16 , 44: U71^#(tt(), L) -> c_40(s^#(length(activate(L)))) 915.79/297.16 , 45: U81^#(tt()) -> c_45(nil^#()) 915.79/297.16 , 46: U91^#(tt(), IL, M, N) -> 915.79/297.16 c_47(cons^#(activate(N), n__take(activate(M), activate(IL)))) 915.79/297.16 , 47: zeros^#() -> c_2() 915.79/297.16 , 48: 0^#() -> c_4() 915.79/297.16 , 49: U12^#(tt()) -> c_6() 915.79/297.16 , 50: isNatList^#(n__nil()) -> c_9() 915.79/297.16 , 51: isNatIListKind^#(n__zeros()) -> c_51() 915.79/297.16 , 52: isNatIListKind^#(n__nil()) -> c_54() 915.79/297.16 , 53: nil^#() -> c_46() 915.79/297.16 , 54: isNatKind^#(n__0()) -> c_56() 915.79/297.16 , 55: U22^#(tt()) -> c_22() 915.79/297.16 , 56: isNat^#(n__0()) -> c_23() 915.79/297.16 , 57: U32^#(tt()) -> c_27() 915.79/297.16 , 58: U43^#(tt()) -> c_30() 915.79/297.16 , 59: isNatIList^#(n__zeros()) -> c_32() 915.79/297.16 , 60: U53^#(tt()) -> c_36() 915.79/297.16 , 61: U63^#(tt()) -> c_39() } 915.79/297.16 915.79/297.16 We are left with following problem, upon which TcT provides the 915.79/297.16 certificate MAYBE. 915.79/297.16 915.79/297.16 Strict DPs: 915.79/297.16 { zeros^#() -> c_1(cons^#(0(), n__zeros())) 915.79/297.16 , cons^#(X1, X2) -> c_3(X1, X2) 915.79/297.16 , isNatList^#(n__take(V1, V2)) -> 915.79/297.16 c_7(U61^#(and(isNatKind(activate(V1)), 915.79/297.16 n__isNatIListKind(activate(V2))), 915.79/297.16 activate(V1), 915.79/297.16 activate(V2))) 915.79/297.16 , isNatList^#(n__cons(V1, V2)) -> 915.79/297.16 c_8(U51^#(and(isNatKind(activate(V1)), 915.79/297.16 n__isNatIListKind(activate(V2))), 915.79/297.16 activate(V1), 915.79/297.16 activate(V2))) 915.79/297.16 , U61^#(tt(), V1, V2) -> 915.79/297.16 c_37(U62^#(isNat(activate(V1)), activate(V2))) 915.79/297.16 , U51^#(tt(), V1, V2) -> 915.79/297.16 c_34(U52^#(isNat(activate(V1)), activate(V2))) 915.79/297.16 , activate^#(X) -> c_10(X) 915.79/297.16 , activate^#(n__zeros()) -> c_11(zeros^#()) 915.79/297.16 , activate^#(n__take(X1, X2)) -> c_12(take^#(X1, X2)) 915.79/297.16 , activate^#(n__length(X)) -> c_14(length^#(X)) 915.79/297.16 , activate^#(n__s(X)) -> c_15(s^#(X)) 915.79/297.16 , activate^#(n__cons(X1, X2)) -> c_16(cons^#(X1, X2)) 915.79/297.16 , activate^#(n__isNatIListKind(X)) -> c_17(isNatIListKind^#(X)) 915.79/297.16 , activate^#(n__and(X1, X2)) -> c_19(and^#(X1, X2)) 915.79/297.16 , activate^#(n__isNatKind(X)) -> c_20(isNatKind^#(X)) 915.79/297.16 , take^#(X1, X2) -> c_59(X1, X2) 915.79/297.16 , take^#(0(), IL) -> 915.79/297.16 c_60(U81^#(and(isNatIList(IL), n__isNatIListKind(IL)))) 915.79/297.16 , take^#(s(M), cons(N, IL)) -> 915.79/297.16 c_61(U91^#(and(and(isNatIList(activate(IL)), 915.79/297.16 n__isNatIListKind(activate(IL))), 915.79/297.16 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.16 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.16 activate(IL), 915.79/297.16 M, 915.79/297.16 N)) 915.79/297.16 , length^#(X) -> c_42(X) 915.79/297.16 , length^#(cons(N, L)) -> 915.79/297.16 c_43(U71^#(and(and(isNatList(activate(L)), 915.79/297.16 n__isNatIListKind(activate(L))), 915.79/297.16 n__and(isNat(N), n__isNatKind(N))), 915.79/297.16 activate(L))) 915.79/297.16 , s^#(X) -> c_41(X) 915.79/297.16 , isNatIListKind^#(X) -> c_50(X) 915.79/297.16 , isNatIListKind^#(n__take(V1, V2)) -> 915.79/297.16 c_52(and^#(isNatKind(activate(V1)), 915.79/297.16 n__isNatIListKind(activate(V2)))) 915.79/297.16 , isNatIListKind^#(n__cons(V1, V2)) -> 915.79/297.16 c_53(and^#(isNatKind(activate(V1)), 915.79/297.16 n__isNatIListKind(activate(V2)))) 915.79/297.16 , and^#(X1, X2) -> c_48(X1, X2) 915.79/297.16 , and^#(tt(), X) -> c_49(activate^#(X)) 915.79/297.16 , isNatKind^#(X) -> c_55(X) 915.79/297.16 , isNatKind^#(n__length(V1)) -> 915.79/297.16 c_57(isNatIListKind^#(activate(V1))) 915.79/297.16 , isNatKind^#(n__s(V1)) -> c_58(isNatKind^#(activate(V1))) 915.79/297.16 , isNat^#(n__length(V1)) -> 915.79/297.16 c_24(U11^#(isNatIListKind(activate(V1)), activate(V1))) 915.79/297.16 , isNat^#(n__s(V1)) -> 915.79/297.16 c_25(U21^#(isNatKind(activate(V1)), activate(V1))) 915.79/297.16 , U41^#(tt(), V1, V2) -> 915.79/297.16 c_28(U42^#(isNat(activate(V1)), activate(V2))) 915.79/297.16 , isNatIList^#(V) -> 915.79/297.16 c_31(U31^#(isNatIListKind(activate(V)), activate(V))) 915.79/297.16 , isNatIList^#(n__cons(V1, V2)) -> 915.79/297.16 c_33(U41^#(and(isNatKind(activate(V1)), 915.79/297.16 n__isNatIListKind(activate(V2))), 915.79/297.16 activate(V1), 915.79/297.16 activate(V2))) 915.79/297.16 , U71^#(tt(), L) -> c_40(s^#(length(activate(L)))) 915.79/297.16 , U91^#(tt(), IL, M, N) -> 915.79/297.16 c_47(cons^#(activate(N), n__take(activate(M), activate(IL)))) } 915.79/297.16 Strict Trs: 915.79/297.16 { zeros() -> cons(0(), n__zeros()) 915.79/297.16 , zeros() -> n__zeros() 915.79/297.16 , cons(X1, X2) -> n__cons(X1, X2) 915.79/297.16 , 0() -> n__0() 915.79/297.16 , U11(tt(), V1) -> U12(isNatList(activate(V1))) 915.79/297.16 , U12(tt()) -> tt() 915.79/297.16 , isNatList(n__take(V1, V2)) -> 915.79/297.16 U61(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.16 activate(V1), 915.79/297.16 activate(V2)) 915.79/297.16 , isNatList(n__cons(V1, V2)) -> 915.79/297.16 U51(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.16 activate(V1), 915.79/297.16 activate(V2)) 915.79/297.16 , isNatList(n__nil()) -> tt() 915.79/297.16 , activate(X) -> X 915.79/297.16 , activate(n__zeros()) -> zeros() 915.79/297.16 , activate(n__take(X1, X2)) -> take(X1, X2) 915.79/297.16 , activate(n__0()) -> 0() 915.79/297.16 , activate(n__length(X)) -> length(X) 915.79/297.16 , activate(n__s(X)) -> s(X) 915.79/297.16 , activate(n__cons(X1, X2)) -> cons(X1, X2) 915.79/297.16 , activate(n__isNatIListKind(X)) -> isNatIListKind(X) 915.79/297.16 , activate(n__nil()) -> nil() 915.79/297.16 , activate(n__and(X1, X2)) -> and(X1, X2) 915.79/297.16 , activate(n__isNatKind(X)) -> isNatKind(X) 915.79/297.16 , U21(tt(), V1) -> U22(isNat(activate(V1))) 915.79/297.16 , U22(tt()) -> tt() 915.79/297.16 , isNat(n__0()) -> tt() 915.79/297.16 , isNat(n__length(V1)) -> 915.79/297.16 U11(isNatIListKind(activate(V1)), activate(V1)) 915.79/297.16 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 915.79/297.16 , U31(tt(), V) -> U32(isNatList(activate(V))) 915.79/297.16 , U32(tt()) -> tt() 915.79/297.17 , U41(tt(), V1, V2) -> U42(isNat(activate(V1)), activate(V2)) 915.79/297.17 , U42(tt(), V2) -> U43(isNatIList(activate(V2))) 915.79/297.17 , U43(tt()) -> tt() 915.79/297.17 , isNatIList(V) -> U31(isNatIListKind(activate(V)), activate(V)) 915.79/297.17 , isNatIList(n__zeros()) -> tt() 915.79/297.17 , isNatIList(n__cons(V1, V2)) -> 915.79/297.17 U41(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2)) 915.79/297.17 , U51(tt(), V1, V2) -> U52(isNat(activate(V1)), activate(V2)) 915.79/297.17 , U52(tt(), V2) -> U53(isNatList(activate(V2))) 915.79/297.17 , U53(tt()) -> tt() 915.79/297.17 , U61(tt(), V1, V2) -> U62(isNat(activate(V1)), activate(V2)) 915.79/297.17 , U62(tt(), V2) -> U63(isNatIList(activate(V2))) 915.79/297.17 , U63(tt()) -> tt() 915.79/297.17 , U71(tt(), L) -> s(length(activate(L))) 915.79/297.17 , s(X) -> n__s(X) 915.79/297.17 , length(X) -> n__length(X) 915.79/297.17 , length(cons(N, L)) -> 915.79/297.17 U71(and(and(isNatList(activate(L)), 915.79/297.17 n__isNatIListKind(activate(L))), 915.79/297.17 n__and(isNat(N), n__isNatKind(N))), 915.79/297.17 activate(L)) 915.79/297.17 , length(nil()) -> 0() 915.79/297.17 , U81(tt()) -> nil() 915.79/297.17 , nil() -> n__nil() 915.79/297.17 , U91(tt(), IL, M, N) -> 915.79/297.17 cons(activate(N), n__take(activate(M), activate(IL))) 915.79/297.17 , and(X1, X2) -> n__and(X1, X2) 915.79/297.17 , and(tt(), X) -> activate(X) 915.79/297.17 , isNatIListKind(X) -> n__isNatIListKind(X) 915.79/297.17 , isNatIListKind(n__zeros()) -> tt() 915.79/297.17 , isNatIListKind(n__take(V1, V2)) -> 915.79/297.17 and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))) 915.79/297.17 , isNatIListKind(n__cons(V1, V2)) -> 915.79/297.17 and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))) 915.79/297.17 , isNatIListKind(n__nil()) -> tt() 915.79/297.17 , isNatKind(X) -> n__isNatKind(X) 915.79/297.17 , isNatKind(n__0()) -> tt() 915.79/297.17 , isNatKind(n__length(V1)) -> isNatIListKind(activate(V1)) 915.79/297.17 , isNatKind(n__s(V1)) -> isNatKind(activate(V1)) 915.79/297.17 , take(X1, X2) -> n__take(X1, X2) 915.79/297.17 , take(0(), IL) -> U81(and(isNatIList(IL), n__isNatIListKind(IL))) 915.79/297.17 , take(s(M), cons(N, IL)) -> 915.79/297.17 U91(and(and(isNatIList(activate(IL)), 915.79/297.17 n__isNatIListKind(activate(IL))), 915.79/297.17 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.17 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.17 activate(IL), 915.79/297.17 M, 915.79/297.17 N) } 915.79/297.17 Weak DPs: 915.79/297.17 { zeros^#() -> c_2() 915.79/297.17 , 0^#() -> c_4() 915.79/297.17 , U11^#(tt(), V1) -> c_5(U12^#(isNatList(activate(V1)))) 915.79/297.17 , U12^#(tt()) -> c_6() 915.79/297.17 , isNatList^#(n__nil()) -> c_9() 915.79/297.17 , activate^#(n__0()) -> c_13(0^#()) 915.79/297.17 , activate^#(n__nil()) -> c_18(nil^#()) 915.79/297.17 , length^#(nil()) -> c_44(0^#()) 915.79/297.17 , isNatIListKind^#(n__zeros()) -> c_51() 915.79/297.17 , isNatIListKind^#(n__nil()) -> c_54() 915.79/297.17 , nil^#() -> c_46() 915.79/297.17 , isNatKind^#(n__0()) -> c_56() 915.79/297.17 , U21^#(tt(), V1) -> c_21(U22^#(isNat(activate(V1)))) 915.79/297.17 , U22^#(tt()) -> c_22() 915.79/297.17 , isNat^#(n__0()) -> c_23() 915.79/297.17 , U31^#(tt(), V) -> c_26(U32^#(isNatList(activate(V)))) 915.79/297.17 , U32^#(tt()) -> c_27() 915.79/297.17 , U42^#(tt(), V2) -> c_29(U43^#(isNatIList(activate(V2)))) 915.79/297.17 , U43^#(tt()) -> c_30() 915.79/297.17 , isNatIList^#(n__zeros()) -> c_32() 915.79/297.17 , U52^#(tt(), V2) -> c_35(U53^#(isNatList(activate(V2)))) 915.79/297.17 , U53^#(tt()) -> c_36() 915.79/297.17 , U62^#(tt(), V2) -> c_38(U63^#(isNatIList(activate(V2)))) 915.79/297.17 , U63^#(tt()) -> c_39() 915.79/297.17 , U81^#(tt()) -> c_45(nil^#()) } 915.79/297.17 Obligation: 915.79/297.17 runtime complexity 915.79/297.17 Answer: 915.79/297.17 MAYBE 915.79/297.17 915.79/297.17 We estimate the number of application of {5,6,17,30,31,32,33} by 915.79/297.17 applications of Pre({5,6,17,30,31,32,33}) = 915.79/297.17 {2,3,4,7,9,16,19,21,22,25,27,34}. Here rules are labeled as 915.79/297.17 follows: 915.79/297.17 915.79/297.17 DPs: 915.79/297.17 { 1: zeros^#() -> c_1(cons^#(0(), n__zeros())) 915.79/297.17 , 2: cons^#(X1, X2) -> c_3(X1, X2) 915.79/297.17 , 3: isNatList^#(n__take(V1, V2)) -> 915.79/297.17 c_7(U61^#(and(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2))) 915.79/297.17 , 4: isNatList^#(n__cons(V1, V2)) -> 915.79/297.17 c_8(U51^#(and(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2))) 915.79/297.17 , 5: U61^#(tt(), V1, V2) -> 915.79/297.17 c_37(U62^#(isNat(activate(V1)), activate(V2))) 915.79/297.17 , 6: U51^#(tt(), V1, V2) -> 915.79/297.17 c_34(U52^#(isNat(activate(V1)), activate(V2))) 915.79/297.17 , 7: activate^#(X) -> c_10(X) 915.79/297.17 , 8: activate^#(n__zeros()) -> c_11(zeros^#()) 915.79/297.17 , 9: activate^#(n__take(X1, X2)) -> c_12(take^#(X1, X2)) 915.79/297.17 , 10: activate^#(n__length(X)) -> c_14(length^#(X)) 915.79/297.17 , 11: activate^#(n__s(X)) -> c_15(s^#(X)) 915.79/297.17 , 12: activate^#(n__cons(X1, X2)) -> c_16(cons^#(X1, X2)) 915.79/297.17 , 13: activate^#(n__isNatIListKind(X)) -> c_17(isNatIListKind^#(X)) 915.79/297.17 , 14: activate^#(n__and(X1, X2)) -> c_19(and^#(X1, X2)) 915.79/297.17 , 15: activate^#(n__isNatKind(X)) -> c_20(isNatKind^#(X)) 915.79/297.17 , 16: take^#(X1, X2) -> c_59(X1, X2) 915.79/297.17 , 17: take^#(0(), IL) -> 915.79/297.17 c_60(U81^#(and(isNatIList(IL), n__isNatIListKind(IL)))) 915.79/297.17 , 18: take^#(s(M), cons(N, IL)) -> 915.79/297.17 c_61(U91^#(and(and(isNatIList(activate(IL)), 915.79/297.17 n__isNatIListKind(activate(IL))), 915.79/297.17 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.17 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.17 activate(IL), 915.79/297.17 M, 915.79/297.17 N)) 915.79/297.17 , 19: length^#(X) -> c_42(X) 915.79/297.17 , 20: length^#(cons(N, L)) -> 915.79/297.17 c_43(U71^#(and(and(isNatList(activate(L)), 915.79/297.17 n__isNatIListKind(activate(L))), 915.79/297.17 n__and(isNat(N), n__isNatKind(N))), 915.79/297.17 activate(L))) 915.79/297.17 , 21: s^#(X) -> c_41(X) 915.79/297.17 , 22: isNatIListKind^#(X) -> c_50(X) 915.79/297.17 , 23: isNatIListKind^#(n__take(V1, V2)) -> 915.79/297.17 c_52(and^#(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2)))) 915.79/297.17 , 24: isNatIListKind^#(n__cons(V1, V2)) -> 915.79/297.17 c_53(and^#(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2)))) 915.79/297.17 , 25: and^#(X1, X2) -> c_48(X1, X2) 915.79/297.17 , 26: and^#(tt(), X) -> c_49(activate^#(X)) 915.79/297.17 , 27: isNatKind^#(X) -> c_55(X) 915.79/297.17 , 28: isNatKind^#(n__length(V1)) -> 915.79/297.17 c_57(isNatIListKind^#(activate(V1))) 915.79/297.17 , 29: isNatKind^#(n__s(V1)) -> c_58(isNatKind^#(activate(V1))) 915.79/297.17 , 30: isNat^#(n__length(V1)) -> 915.79/297.17 c_24(U11^#(isNatIListKind(activate(V1)), activate(V1))) 915.79/297.17 , 31: isNat^#(n__s(V1)) -> 915.79/297.17 c_25(U21^#(isNatKind(activate(V1)), activate(V1))) 915.79/297.17 , 32: U41^#(tt(), V1, V2) -> 915.79/297.17 c_28(U42^#(isNat(activate(V1)), activate(V2))) 915.79/297.17 , 33: isNatIList^#(V) -> 915.79/297.17 c_31(U31^#(isNatIListKind(activate(V)), activate(V))) 915.79/297.17 , 34: isNatIList^#(n__cons(V1, V2)) -> 915.79/297.17 c_33(U41^#(and(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2))) 915.79/297.17 , 35: U71^#(tt(), L) -> c_40(s^#(length(activate(L)))) 915.79/297.17 , 36: U91^#(tt(), IL, M, N) -> 915.79/297.17 c_47(cons^#(activate(N), n__take(activate(M), activate(IL)))) 915.79/297.17 , 37: zeros^#() -> c_2() 915.79/297.17 , 38: 0^#() -> c_4() 915.79/297.17 , 39: U11^#(tt(), V1) -> c_5(U12^#(isNatList(activate(V1)))) 915.79/297.17 , 40: U12^#(tt()) -> c_6() 915.79/297.17 , 41: isNatList^#(n__nil()) -> c_9() 915.79/297.17 , 42: activate^#(n__0()) -> c_13(0^#()) 915.79/297.17 , 43: activate^#(n__nil()) -> c_18(nil^#()) 915.79/297.17 , 44: length^#(nil()) -> c_44(0^#()) 915.79/297.17 , 45: isNatIListKind^#(n__zeros()) -> c_51() 915.79/297.17 , 46: isNatIListKind^#(n__nil()) -> c_54() 915.79/297.17 , 47: nil^#() -> c_46() 915.79/297.17 , 48: isNatKind^#(n__0()) -> c_56() 915.79/297.17 , 49: U21^#(tt(), V1) -> c_21(U22^#(isNat(activate(V1)))) 915.79/297.17 , 50: U22^#(tt()) -> c_22() 915.79/297.17 , 51: isNat^#(n__0()) -> c_23() 915.79/297.17 , 52: U31^#(tt(), V) -> c_26(U32^#(isNatList(activate(V)))) 915.79/297.17 , 53: U32^#(tt()) -> c_27() 915.79/297.17 , 54: U42^#(tt(), V2) -> c_29(U43^#(isNatIList(activate(V2)))) 915.79/297.17 , 55: U43^#(tt()) -> c_30() 915.79/297.17 , 56: isNatIList^#(n__zeros()) -> c_32() 915.79/297.17 , 57: U52^#(tt(), V2) -> c_35(U53^#(isNatList(activate(V2)))) 915.79/297.17 , 58: U53^#(tt()) -> c_36() 915.79/297.17 , 59: U62^#(tt(), V2) -> c_38(U63^#(isNatIList(activate(V2)))) 915.79/297.17 , 60: U63^#(tt()) -> c_39() 915.79/297.17 , 61: U81^#(tt()) -> c_45(nil^#()) } 915.79/297.17 915.79/297.17 We are left with following problem, upon which TcT provides the 915.79/297.17 certificate MAYBE. 915.79/297.17 915.79/297.17 Strict DPs: 915.79/297.17 { zeros^#() -> c_1(cons^#(0(), n__zeros())) 915.79/297.17 , cons^#(X1, X2) -> c_3(X1, X2) 915.79/297.17 , isNatList^#(n__take(V1, V2)) -> 915.79/297.17 c_7(U61^#(and(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2))) 915.79/297.17 , isNatList^#(n__cons(V1, V2)) -> 915.79/297.17 c_8(U51^#(and(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2))) 915.79/297.17 , activate^#(X) -> c_10(X) 915.79/297.17 , activate^#(n__zeros()) -> c_11(zeros^#()) 915.79/297.17 , activate^#(n__take(X1, X2)) -> c_12(take^#(X1, X2)) 915.79/297.17 , activate^#(n__length(X)) -> c_14(length^#(X)) 915.79/297.17 , activate^#(n__s(X)) -> c_15(s^#(X)) 915.79/297.17 , activate^#(n__cons(X1, X2)) -> c_16(cons^#(X1, X2)) 915.79/297.17 , activate^#(n__isNatIListKind(X)) -> c_17(isNatIListKind^#(X)) 915.79/297.17 , activate^#(n__and(X1, X2)) -> c_19(and^#(X1, X2)) 915.79/297.17 , activate^#(n__isNatKind(X)) -> c_20(isNatKind^#(X)) 915.79/297.17 , take^#(X1, X2) -> c_59(X1, X2) 915.79/297.17 , take^#(s(M), cons(N, IL)) -> 915.79/297.17 c_61(U91^#(and(and(isNatIList(activate(IL)), 915.79/297.17 n__isNatIListKind(activate(IL))), 915.79/297.17 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.17 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.17 activate(IL), 915.79/297.17 M, 915.79/297.17 N)) 915.79/297.17 , length^#(X) -> c_42(X) 915.79/297.17 , length^#(cons(N, L)) -> 915.79/297.17 c_43(U71^#(and(and(isNatList(activate(L)), 915.79/297.17 n__isNatIListKind(activate(L))), 915.79/297.17 n__and(isNat(N), n__isNatKind(N))), 915.79/297.17 activate(L))) 915.79/297.17 , s^#(X) -> c_41(X) 915.79/297.17 , isNatIListKind^#(X) -> c_50(X) 915.79/297.17 , isNatIListKind^#(n__take(V1, V2)) -> 915.79/297.17 c_52(and^#(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2)))) 915.79/297.17 , isNatIListKind^#(n__cons(V1, V2)) -> 915.79/297.17 c_53(and^#(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2)))) 915.79/297.17 , and^#(X1, X2) -> c_48(X1, X2) 915.79/297.17 , and^#(tt(), X) -> c_49(activate^#(X)) 915.79/297.17 , isNatKind^#(X) -> c_55(X) 915.79/297.17 , isNatKind^#(n__length(V1)) -> 915.79/297.17 c_57(isNatIListKind^#(activate(V1))) 915.79/297.17 , isNatKind^#(n__s(V1)) -> c_58(isNatKind^#(activate(V1))) 915.79/297.17 , isNatIList^#(n__cons(V1, V2)) -> 915.79/297.17 c_33(U41^#(and(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2))) 915.79/297.17 , U71^#(tt(), L) -> c_40(s^#(length(activate(L)))) 915.79/297.17 , U91^#(tt(), IL, M, N) -> 915.79/297.17 c_47(cons^#(activate(N), n__take(activate(M), activate(IL)))) } 915.79/297.17 Strict Trs: 915.79/297.17 { zeros() -> cons(0(), n__zeros()) 915.79/297.17 , zeros() -> n__zeros() 915.79/297.17 , cons(X1, X2) -> n__cons(X1, X2) 915.79/297.17 , 0() -> n__0() 915.79/297.17 , U11(tt(), V1) -> U12(isNatList(activate(V1))) 915.79/297.17 , U12(tt()) -> tt() 915.79/297.17 , isNatList(n__take(V1, V2)) -> 915.79/297.17 U61(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2)) 915.79/297.17 , isNatList(n__cons(V1, V2)) -> 915.79/297.17 U51(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2)) 915.79/297.17 , isNatList(n__nil()) -> tt() 915.79/297.17 , activate(X) -> X 915.79/297.17 , activate(n__zeros()) -> zeros() 915.79/297.17 , activate(n__take(X1, X2)) -> take(X1, X2) 915.79/297.17 , activate(n__0()) -> 0() 915.79/297.17 , activate(n__length(X)) -> length(X) 915.79/297.17 , activate(n__s(X)) -> s(X) 915.79/297.17 , activate(n__cons(X1, X2)) -> cons(X1, X2) 915.79/297.17 , activate(n__isNatIListKind(X)) -> isNatIListKind(X) 915.79/297.17 , activate(n__nil()) -> nil() 915.79/297.17 , activate(n__and(X1, X2)) -> and(X1, X2) 915.79/297.17 , activate(n__isNatKind(X)) -> isNatKind(X) 915.79/297.17 , U21(tt(), V1) -> U22(isNat(activate(V1))) 915.79/297.17 , U22(tt()) -> tt() 915.79/297.17 , isNat(n__0()) -> tt() 915.79/297.17 , isNat(n__length(V1)) -> 915.79/297.17 U11(isNatIListKind(activate(V1)), activate(V1)) 915.79/297.17 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 915.79/297.17 , U31(tt(), V) -> U32(isNatList(activate(V))) 915.79/297.17 , U32(tt()) -> tt() 915.79/297.17 , U41(tt(), V1, V2) -> U42(isNat(activate(V1)), activate(V2)) 915.79/297.17 , U42(tt(), V2) -> U43(isNatIList(activate(V2))) 915.79/297.17 , U43(tt()) -> tt() 915.79/297.17 , isNatIList(V) -> U31(isNatIListKind(activate(V)), activate(V)) 915.79/297.17 , isNatIList(n__zeros()) -> tt() 915.79/297.17 , isNatIList(n__cons(V1, V2)) -> 915.79/297.17 U41(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2)) 915.79/297.17 , U51(tt(), V1, V2) -> U52(isNat(activate(V1)), activate(V2)) 915.79/297.17 , U52(tt(), V2) -> U53(isNatList(activate(V2))) 915.79/297.17 , U53(tt()) -> tt() 915.79/297.17 , U61(tt(), V1, V2) -> U62(isNat(activate(V1)), activate(V2)) 915.79/297.17 , U62(tt(), V2) -> U63(isNatIList(activate(V2))) 915.79/297.17 , U63(tt()) -> tt() 915.79/297.17 , U71(tt(), L) -> s(length(activate(L))) 915.79/297.17 , s(X) -> n__s(X) 915.79/297.17 , length(X) -> n__length(X) 915.79/297.17 , length(cons(N, L)) -> 915.79/297.17 U71(and(and(isNatList(activate(L)), 915.79/297.17 n__isNatIListKind(activate(L))), 915.79/297.17 n__and(isNat(N), n__isNatKind(N))), 915.79/297.17 activate(L)) 915.79/297.17 , length(nil()) -> 0() 915.79/297.17 , U81(tt()) -> nil() 915.79/297.17 , nil() -> n__nil() 915.79/297.17 , U91(tt(), IL, M, N) -> 915.79/297.17 cons(activate(N), n__take(activate(M), activate(IL))) 915.79/297.17 , and(X1, X2) -> n__and(X1, X2) 915.79/297.17 , and(tt(), X) -> activate(X) 915.79/297.17 , isNatIListKind(X) -> n__isNatIListKind(X) 915.79/297.17 , isNatIListKind(n__zeros()) -> tt() 915.79/297.17 , isNatIListKind(n__take(V1, V2)) -> 915.79/297.17 and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))) 915.79/297.17 , isNatIListKind(n__cons(V1, V2)) -> 915.79/297.17 and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))) 915.79/297.17 , isNatIListKind(n__nil()) -> tt() 915.79/297.17 , isNatKind(X) -> n__isNatKind(X) 915.79/297.17 , isNatKind(n__0()) -> tt() 915.79/297.17 , isNatKind(n__length(V1)) -> isNatIListKind(activate(V1)) 915.79/297.17 , isNatKind(n__s(V1)) -> isNatKind(activate(V1)) 915.79/297.17 , take(X1, X2) -> n__take(X1, X2) 915.79/297.17 , take(0(), IL) -> U81(and(isNatIList(IL), n__isNatIListKind(IL))) 915.79/297.17 , take(s(M), cons(N, IL)) -> 915.79/297.17 U91(and(and(isNatIList(activate(IL)), 915.79/297.17 n__isNatIListKind(activate(IL))), 915.79/297.17 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.17 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.17 activate(IL), 915.79/297.17 M, 915.79/297.17 N) } 915.79/297.17 Weak DPs: 915.79/297.17 { zeros^#() -> c_2() 915.79/297.17 , 0^#() -> c_4() 915.79/297.17 , U11^#(tt(), V1) -> c_5(U12^#(isNatList(activate(V1)))) 915.79/297.17 , U12^#(tt()) -> c_6() 915.79/297.17 , isNatList^#(n__nil()) -> c_9() 915.79/297.17 , U61^#(tt(), V1, V2) -> 915.79/297.17 c_37(U62^#(isNat(activate(V1)), activate(V2))) 915.79/297.17 , U51^#(tt(), V1, V2) -> 915.79/297.17 c_34(U52^#(isNat(activate(V1)), activate(V2))) 915.79/297.17 , activate^#(n__0()) -> c_13(0^#()) 915.79/297.17 , activate^#(n__nil()) -> c_18(nil^#()) 915.79/297.17 , take^#(0(), IL) -> 915.79/297.17 c_60(U81^#(and(isNatIList(IL), n__isNatIListKind(IL)))) 915.79/297.17 , length^#(nil()) -> c_44(0^#()) 915.79/297.17 , isNatIListKind^#(n__zeros()) -> c_51() 915.79/297.17 , isNatIListKind^#(n__nil()) -> c_54() 915.79/297.17 , nil^#() -> c_46() 915.79/297.17 , isNatKind^#(n__0()) -> c_56() 915.79/297.17 , U21^#(tt(), V1) -> c_21(U22^#(isNat(activate(V1)))) 915.79/297.17 , U22^#(tt()) -> c_22() 915.79/297.17 , isNat^#(n__0()) -> c_23() 915.79/297.17 , isNat^#(n__length(V1)) -> 915.79/297.17 c_24(U11^#(isNatIListKind(activate(V1)), activate(V1))) 915.79/297.17 , isNat^#(n__s(V1)) -> 915.79/297.17 c_25(U21^#(isNatKind(activate(V1)), activate(V1))) 915.79/297.17 , U31^#(tt(), V) -> c_26(U32^#(isNatList(activate(V)))) 915.79/297.17 , U32^#(tt()) -> c_27() 915.79/297.17 , U41^#(tt(), V1, V2) -> 915.79/297.17 c_28(U42^#(isNat(activate(V1)), activate(V2))) 915.79/297.17 , U42^#(tt(), V2) -> c_29(U43^#(isNatIList(activate(V2)))) 915.79/297.17 , U43^#(tt()) -> c_30() 915.79/297.17 , isNatIList^#(V) -> 915.79/297.17 c_31(U31^#(isNatIListKind(activate(V)), activate(V))) 915.79/297.17 , isNatIList^#(n__zeros()) -> c_32() 915.79/297.17 , U52^#(tt(), V2) -> c_35(U53^#(isNatList(activate(V2)))) 915.79/297.17 , U53^#(tt()) -> c_36() 915.79/297.17 , U62^#(tt(), V2) -> c_38(U63^#(isNatIList(activate(V2)))) 915.79/297.17 , U63^#(tt()) -> c_39() 915.79/297.17 , U81^#(tt()) -> c_45(nil^#()) } 915.79/297.17 Obligation: 915.79/297.17 runtime complexity 915.79/297.17 Answer: 915.79/297.17 MAYBE 915.79/297.17 915.79/297.17 We estimate the number of application of {3,4,27} by applications 915.79/297.17 of Pre({3,4,27}) = {2,5,14,16,18,19,22,24}. Here rules are labeled 915.79/297.17 as follows: 915.79/297.17 915.79/297.17 DPs: 915.79/297.17 { 1: zeros^#() -> c_1(cons^#(0(), n__zeros())) 915.79/297.17 , 2: cons^#(X1, X2) -> c_3(X1, X2) 915.79/297.17 , 3: isNatList^#(n__take(V1, V2)) -> 915.79/297.17 c_7(U61^#(and(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2))) 915.79/297.17 , 4: isNatList^#(n__cons(V1, V2)) -> 915.79/297.17 c_8(U51^#(and(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2))) 915.79/297.17 , 5: activate^#(X) -> c_10(X) 915.79/297.17 , 6: activate^#(n__zeros()) -> c_11(zeros^#()) 915.79/297.17 , 7: activate^#(n__take(X1, X2)) -> c_12(take^#(X1, X2)) 915.79/297.17 , 8: activate^#(n__length(X)) -> c_14(length^#(X)) 915.79/297.17 , 9: activate^#(n__s(X)) -> c_15(s^#(X)) 915.79/297.17 , 10: activate^#(n__cons(X1, X2)) -> c_16(cons^#(X1, X2)) 915.79/297.17 , 11: activate^#(n__isNatIListKind(X)) -> c_17(isNatIListKind^#(X)) 915.79/297.17 , 12: activate^#(n__and(X1, X2)) -> c_19(and^#(X1, X2)) 915.79/297.17 , 13: activate^#(n__isNatKind(X)) -> c_20(isNatKind^#(X)) 915.79/297.17 , 14: take^#(X1, X2) -> c_59(X1, X2) 915.79/297.17 , 15: take^#(s(M), cons(N, IL)) -> 915.79/297.17 c_61(U91^#(and(and(isNatIList(activate(IL)), 915.79/297.17 n__isNatIListKind(activate(IL))), 915.79/297.17 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.17 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.17 activate(IL), 915.79/297.17 M, 915.79/297.17 N)) 915.79/297.17 , 16: length^#(X) -> c_42(X) 915.79/297.17 , 17: length^#(cons(N, L)) -> 915.79/297.17 c_43(U71^#(and(and(isNatList(activate(L)), 915.79/297.17 n__isNatIListKind(activate(L))), 915.79/297.17 n__and(isNat(N), n__isNatKind(N))), 915.79/297.17 activate(L))) 915.79/297.17 , 18: s^#(X) -> c_41(X) 915.79/297.17 , 19: isNatIListKind^#(X) -> c_50(X) 915.79/297.17 , 20: isNatIListKind^#(n__take(V1, V2)) -> 915.79/297.17 c_52(and^#(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2)))) 915.79/297.17 , 21: isNatIListKind^#(n__cons(V1, V2)) -> 915.79/297.17 c_53(and^#(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2)))) 915.79/297.17 , 22: and^#(X1, X2) -> c_48(X1, X2) 915.79/297.17 , 23: and^#(tt(), X) -> c_49(activate^#(X)) 915.79/297.17 , 24: isNatKind^#(X) -> c_55(X) 915.79/297.17 , 25: isNatKind^#(n__length(V1)) -> 915.79/297.17 c_57(isNatIListKind^#(activate(V1))) 915.79/297.17 , 26: isNatKind^#(n__s(V1)) -> c_58(isNatKind^#(activate(V1))) 915.79/297.17 , 27: isNatIList^#(n__cons(V1, V2)) -> 915.79/297.17 c_33(U41^#(and(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2))) 915.79/297.17 , 28: U71^#(tt(), L) -> c_40(s^#(length(activate(L)))) 915.79/297.17 , 29: U91^#(tt(), IL, M, N) -> 915.79/297.17 c_47(cons^#(activate(N), n__take(activate(M), activate(IL)))) 915.79/297.17 , 30: zeros^#() -> c_2() 915.79/297.17 , 31: 0^#() -> c_4() 915.79/297.17 , 32: U11^#(tt(), V1) -> c_5(U12^#(isNatList(activate(V1)))) 915.79/297.17 , 33: U12^#(tt()) -> c_6() 915.79/297.17 , 34: isNatList^#(n__nil()) -> c_9() 915.79/297.17 , 35: U61^#(tt(), V1, V2) -> 915.79/297.17 c_37(U62^#(isNat(activate(V1)), activate(V2))) 915.79/297.17 , 36: U51^#(tt(), V1, V2) -> 915.79/297.17 c_34(U52^#(isNat(activate(V1)), activate(V2))) 915.79/297.17 , 37: activate^#(n__0()) -> c_13(0^#()) 915.79/297.17 , 38: activate^#(n__nil()) -> c_18(nil^#()) 915.79/297.17 , 39: take^#(0(), IL) -> 915.79/297.17 c_60(U81^#(and(isNatIList(IL), n__isNatIListKind(IL)))) 915.79/297.17 , 40: length^#(nil()) -> c_44(0^#()) 915.79/297.17 , 41: isNatIListKind^#(n__zeros()) -> c_51() 915.79/297.17 , 42: isNatIListKind^#(n__nil()) -> c_54() 915.79/297.17 , 43: nil^#() -> c_46() 915.79/297.17 , 44: isNatKind^#(n__0()) -> c_56() 915.79/297.17 , 45: U21^#(tt(), V1) -> c_21(U22^#(isNat(activate(V1)))) 915.79/297.17 , 46: U22^#(tt()) -> c_22() 915.79/297.17 , 47: isNat^#(n__0()) -> c_23() 915.79/297.17 , 48: isNat^#(n__length(V1)) -> 915.79/297.17 c_24(U11^#(isNatIListKind(activate(V1)), activate(V1))) 915.79/297.17 , 49: isNat^#(n__s(V1)) -> 915.79/297.17 c_25(U21^#(isNatKind(activate(V1)), activate(V1))) 915.79/297.17 , 50: U31^#(tt(), V) -> c_26(U32^#(isNatList(activate(V)))) 915.79/297.17 , 51: U32^#(tt()) -> c_27() 915.79/297.17 , 52: U41^#(tt(), V1, V2) -> 915.79/297.17 c_28(U42^#(isNat(activate(V1)), activate(V2))) 915.79/297.17 , 53: U42^#(tt(), V2) -> c_29(U43^#(isNatIList(activate(V2)))) 915.79/297.17 , 54: U43^#(tt()) -> c_30() 915.79/297.17 , 55: isNatIList^#(V) -> 915.79/297.17 c_31(U31^#(isNatIListKind(activate(V)), activate(V))) 915.79/297.17 , 56: isNatIList^#(n__zeros()) -> c_32() 915.79/297.17 , 57: U52^#(tt(), V2) -> c_35(U53^#(isNatList(activate(V2)))) 915.79/297.17 , 58: U53^#(tt()) -> c_36() 915.79/297.17 , 59: U62^#(tt(), V2) -> c_38(U63^#(isNatIList(activate(V2)))) 915.79/297.17 , 60: U63^#(tt()) -> c_39() 915.79/297.17 , 61: U81^#(tt()) -> c_45(nil^#()) } 915.79/297.17 915.79/297.17 We are left with following problem, upon which TcT provides the 915.79/297.17 certificate MAYBE. 915.79/297.17 915.79/297.17 Strict DPs: 915.79/297.17 { zeros^#() -> c_1(cons^#(0(), n__zeros())) 915.79/297.17 , cons^#(X1, X2) -> c_3(X1, X2) 915.79/297.17 , activate^#(X) -> c_10(X) 915.79/297.17 , activate^#(n__zeros()) -> c_11(zeros^#()) 915.79/297.17 , activate^#(n__take(X1, X2)) -> c_12(take^#(X1, X2)) 915.79/297.17 , activate^#(n__length(X)) -> c_14(length^#(X)) 915.79/297.17 , activate^#(n__s(X)) -> c_15(s^#(X)) 915.79/297.17 , activate^#(n__cons(X1, X2)) -> c_16(cons^#(X1, X2)) 915.79/297.17 , activate^#(n__isNatIListKind(X)) -> c_17(isNatIListKind^#(X)) 915.79/297.17 , activate^#(n__and(X1, X2)) -> c_19(and^#(X1, X2)) 915.79/297.17 , activate^#(n__isNatKind(X)) -> c_20(isNatKind^#(X)) 915.79/297.17 , take^#(X1, X2) -> c_59(X1, X2) 915.79/297.17 , take^#(s(M), cons(N, IL)) -> 915.79/297.17 c_61(U91^#(and(and(isNatIList(activate(IL)), 915.79/297.17 n__isNatIListKind(activate(IL))), 915.79/297.17 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.17 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.17 activate(IL), 915.79/297.17 M, 915.79/297.17 N)) 915.79/297.17 , length^#(X) -> c_42(X) 915.79/297.17 , length^#(cons(N, L)) -> 915.79/297.17 c_43(U71^#(and(and(isNatList(activate(L)), 915.79/297.17 n__isNatIListKind(activate(L))), 915.79/297.17 n__and(isNat(N), n__isNatKind(N))), 915.79/297.17 activate(L))) 915.79/297.17 , s^#(X) -> c_41(X) 915.79/297.17 , isNatIListKind^#(X) -> c_50(X) 915.79/297.17 , isNatIListKind^#(n__take(V1, V2)) -> 915.79/297.17 c_52(and^#(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2)))) 915.79/297.17 , isNatIListKind^#(n__cons(V1, V2)) -> 915.79/297.17 c_53(and^#(isNatKind(activate(V1)), 915.79/297.17 n__isNatIListKind(activate(V2)))) 915.79/297.17 , and^#(X1, X2) -> c_48(X1, X2) 915.79/297.17 , and^#(tt(), X) -> c_49(activate^#(X)) 915.79/297.17 , isNatKind^#(X) -> c_55(X) 915.79/297.17 , isNatKind^#(n__length(V1)) -> 915.79/297.17 c_57(isNatIListKind^#(activate(V1))) 915.79/297.17 , isNatKind^#(n__s(V1)) -> c_58(isNatKind^#(activate(V1))) 915.79/297.17 , U71^#(tt(), L) -> c_40(s^#(length(activate(L)))) 915.79/297.17 , U91^#(tt(), IL, M, N) -> 915.79/297.17 c_47(cons^#(activate(N), n__take(activate(M), activate(IL)))) } 915.79/297.17 Strict Trs: 915.79/297.17 { zeros() -> cons(0(), n__zeros()) 915.79/297.17 , zeros() -> n__zeros() 915.79/297.17 , cons(X1, X2) -> n__cons(X1, X2) 915.79/297.17 , 0() -> n__0() 915.79/297.17 , U11(tt(), V1) -> U12(isNatList(activate(V1))) 915.79/297.17 , U12(tt()) -> tt() 915.79/297.17 , isNatList(n__take(V1, V2)) -> 915.79/297.17 U61(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2)) 915.79/297.17 , isNatList(n__cons(V1, V2)) -> 915.79/297.17 U51(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.17 activate(V1), 915.79/297.17 activate(V2)) 915.79/297.17 , isNatList(n__nil()) -> tt() 915.79/297.17 , activate(X) -> X 915.79/297.17 , activate(n__zeros()) -> zeros() 915.79/297.17 , activate(n__take(X1, X2)) -> take(X1, X2) 915.79/297.17 , activate(n__0()) -> 0() 915.79/297.17 , activate(n__length(X)) -> length(X) 915.79/297.17 , activate(n__s(X)) -> s(X) 915.79/297.17 , activate(n__cons(X1, X2)) -> cons(X1, X2) 915.79/297.17 , activate(n__isNatIListKind(X)) -> isNatIListKind(X) 915.79/297.17 , activate(n__nil()) -> nil() 915.79/297.17 , activate(n__and(X1, X2)) -> and(X1, X2) 915.79/297.18 , activate(n__isNatKind(X)) -> isNatKind(X) 915.79/297.18 , U21(tt(), V1) -> U22(isNat(activate(V1))) 915.79/297.18 , U22(tt()) -> tt() 915.79/297.18 , isNat(n__0()) -> tt() 915.79/297.18 , isNat(n__length(V1)) -> 915.79/297.18 U11(isNatIListKind(activate(V1)), activate(V1)) 915.79/297.18 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 915.79/297.18 , U31(tt(), V) -> U32(isNatList(activate(V))) 915.79/297.18 , U32(tt()) -> tt() 915.79/297.18 , U41(tt(), V1, V2) -> U42(isNat(activate(V1)), activate(V2)) 915.79/297.18 , U42(tt(), V2) -> U43(isNatIList(activate(V2))) 915.79/297.18 , U43(tt()) -> tt() 915.79/297.18 , isNatIList(V) -> U31(isNatIListKind(activate(V)), activate(V)) 915.79/297.18 , isNatIList(n__zeros()) -> tt() 915.79/297.18 , isNatIList(n__cons(V1, V2)) -> 915.79/297.18 U41(and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))), 915.79/297.18 activate(V1), 915.79/297.18 activate(V2)) 915.79/297.18 , U51(tt(), V1, V2) -> U52(isNat(activate(V1)), activate(V2)) 915.79/297.18 , U52(tt(), V2) -> U53(isNatList(activate(V2))) 915.79/297.18 , U53(tt()) -> tt() 915.79/297.18 , U61(tt(), V1, V2) -> U62(isNat(activate(V1)), activate(V2)) 915.79/297.18 , U62(tt(), V2) -> U63(isNatIList(activate(V2))) 915.79/297.18 , U63(tt()) -> tt() 915.79/297.18 , U71(tt(), L) -> s(length(activate(L))) 915.79/297.18 , s(X) -> n__s(X) 915.79/297.18 , length(X) -> n__length(X) 915.79/297.18 , length(cons(N, L)) -> 915.79/297.18 U71(and(and(isNatList(activate(L)), 915.79/297.18 n__isNatIListKind(activate(L))), 915.79/297.18 n__and(isNat(N), n__isNatKind(N))), 915.79/297.18 activate(L)) 915.79/297.18 , length(nil()) -> 0() 915.79/297.18 , U81(tt()) -> nil() 915.79/297.18 , nil() -> n__nil() 915.79/297.18 , U91(tt(), IL, M, N) -> 915.79/297.18 cons(activate(N), n__take(activate(M), activate(IL))) 915.79/297.18 , and(X1, X2) -> n__and(X1, X2) 915.79/297.18 , and(tt(), X) -> activate(X) 915.79/297.18 , isNatIListKind(X) -> n__isNatIListKind(X) 915.79/297.18 , isNatIListKind(n__zeros()) -> tt() 915.79/297.18 , isNatIListKind(n__take(V1, V2)) -> 915.79/297.18 and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))) 915.79/297.18 , isNatIListKind(n__cons(V1, V2)) -> 915.79/297.18 and(isNatKind(activate(V1)), n__isNatIListKind(activate(V2))) 915.79/297.18 , isNatIListKind(n__nil()) -> tt() 915.79/297.18 , isNatKind(X) -> n__isNatKind(X) 915.79/297.18 , isNatKind(n__0()) -> tt() 915.79/297.18 , isNatKind(n__length(V1)) -> isNatIListKind(activate(V1)) 915.79/297.18 , isNatKind(n__s(V1)) -> isNatKind(activate(V1)) 915.79/297.18 , take(X1, X2) -> n__take(X1, X2) 915.79/297.18 , take(0(), IL) -> U81(and(isNatIList(IL), n__isNatIListKind(IL))) 915.79/297.18 , take(s(M), cons(N, IL)) -> 915.79/297.18 U91(and(and(isNatIList(activate(IL)), 915.79/297.18 n__isNatIListKind(activate(IL))), 915.79/297.18 n__and(and(isNat(M), n__isNatKind(M)), 915.79/297.18 n__and(isNat(N), n__isNatKind(N)))), 915.79/297.18 activate(IL), 915.79/297.18 M, 915.79/297.18 N) } 915.79/297.18 Weak DPs: 915.79/297.18 { zeros^#() -> c_2() 915.79/297.18 , 0^#() -> c_4() 915.79/297.18 , U11^#(tt(), V1) -> c_5(U12^#(isNatList(activate(V1)))) 915.79/297.18 , U12^#(tt()) -> c_6() 915.79/297.18 , isNatList^#(n__take(V1, V2)) -> 915.79/297.18 c_7(U61^#(and(isNatKind(activate(V1)), 915.79/297.18 n__isNatIListKind(activate(V2))), 915.79/297.18 activate(V1), 915.79/297.18 activate(V2))) 915.79/297.18 , isNatList^#(n__cons(V1, V2)) -> 915.79/297.18 c_8(U51^#(and(isNatKind(activate(V1)), 915.79/297.18 n__isNatIListKind(activate(V2))), 915.79/297.18 activate(V1), 915.79/297.18 activate(V2))) 915.79/297.18 , isNatList^#(n__nil()) -> c_9() 915.79/297.18 , U61^#(tt(), V1, V2) -> 915.79/297.18 c_37(U62^#(isNat(activate(V1)), activate(V2))) 915.79/297.18 , U51^#(tt(), V1, V2) -> 915.79/297.18 c_34(U52^#(isNat(activate(V1)), activate(V2))) 915.79/297.18 , activate^#(n__0()) -> c_13(0^#()) 915.79/297.18 , activate^#(n__nil()) -> c_18(nil^#()) 915.79/297.18 , take^#(0(), IL) -> 915.79/297.18 c_60(U81^#(and(isNatIList(IL), n__isNatIListKind(IL)))) 915.79/297.18 , length^#(nil()) -> c_44(0^#()) 915.79/297.18 , isNatIListKind^#(n__zeros()) -> c_51() 915.79/297.18 , isNatIListKind^#(n__nil()) -> c_54() 915.79/297.18 , nil^#() -> c_46() 915.79/297.18 , isNatKind^#(n__0()) -> c_56() 915.79/297.18 , U21^#(tt(), V1) -> c_21(U22^#(isNat(activate(V1)))) 915.79/297.18 , U22^#(tt()) -> c_22() 915.79/297.18 , isNat^#(n__0()) -> c_23() 915.79/297.18 , isNat^#(n__length(V1)) -> 915.79/297.18 c_24(U11^#(isNatIListKind(activate(V1)), activate(V1))) 915.79/297.18 , isNat^#(n__s(V1)) -> 915.79/297.18 c_25(U21^#(isNatKind(activate(V1)), activate(V1))) 915.79/297.18 , U31^#(tt(), V) -> c_26(U32^#(isNatList(activate(V)))) 915.79/297.18 , U32^#(tt()) -> c_27() 915.79/297.18 , U41^#(tt(), V1, V2) -> 915.79/297.18 c_28(U42^#(isNat(activate(V1)), activate(V2))) 915.79/297.18 , U42^#(tt(), V2) -> c_29(U43^#(isNatIList(activate(V2)))) 915.79/297.18 , U43^#(tt()) -> c_30() 915.79/297.18 , isNatIList^#(V) -> 915.79/297.18 c_31(U31^#(isNatIListKind(activate(V)), activate(V))) 915.79/297.18 , isNatIList^#(n__zeros()) -> c_32() 915.79/297.18 , isNatIList^#(n__cons(V1, V2)) -> 915.79/297.18 c_33(U41^#(and(isNatKind(activate(V1)), 915.79/297.18 n__isNatIListKind(activate(V2))), 915.79/297.18 activate(V1), 915.79/297.18 activate(V2))) 915.79/297.18 , U52^#(tt(), V2) -> c_35(U53^#(isNatList(activate(V2)))) 915.79/297.18 , U53^#(tt()) -> c_36() 915.79/297.18 , U62^#(tt(), V2) -> c_38(U63^#(isNatIList(activate(V2)))) 915.79/297.18 , U63^#(tt()) -> c_39() 915.79/297.18 , U81^#(tt()) -> c_45(nil^#()) } 915.79/297.18 Obligation: 915.79/297.18 runtime complexity 915.79/297.18 Answer: 915.79/297.18 MAYBE 915.79/297.18 915.79/297.18 Empty strict component of the problem is NOT empty. 915.79/297.18 915.79/297.18 915.79/297.18 Arrrr.. 916.00/297.24 EOF