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