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