MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { U11(tt(), V1, V2) -> U12(isNat(activate(V1)), activate(V2)) , U12(tt(), V2) -> U13(isNat(activate(V2))) , isNat(n__0()) -> tt() , isNat(n__plus(V1, V2)) -> U11(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2)) , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) , activate(X) -> X , activate(n__0()) -> 0() , activate(n__plus(X1, X2)) -> plus(X1, X2) , activate(n__isNatKind(X)) -> isNatKind(X) , activate(n__s(X)) -> s(X) , activate(n__and(X1, X2)) -> and(X1, X2) , U13(tt()) -> tt() , U21(tt(), V1) -> U22(isNat(activate(V1))) , U22(tt()) -> tt() , U31(tt(), N) -> activate(N) , U41(tt(), M, N) -> s(plus(activate(N), activate(M))) , s(X) -> n__s(X) , plus(X1, X2) -> n__plus(X1, X2) , plus(N, s(M)) -> U41(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , plus(N, 0()) -> U31(and(isNat(N), n__isNatKind(N)), N) , and(X1, X2) -> n__and(X1, X2) , and(tt(), X) -> activate(X) , isNatKind(X) -> n__isNatKind(X) , isNatKind(n__0()) -> tt() , isNatKind(n__plus(V1, V2)) -> and(isNatKind(activate(V1)), n__isNatKind(activate(V2))) , isNatKind(n__s(V1)) -> isNatKind(activate(V1)) , 0() -> n__0() } Obligation: runtime complexity Answer: MAYBE None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'WithProblem (timeout of 60 seconds)' failed due to the following reason: Computation stopped due to timeout after 60.0 seconds. 2) 'Best' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'WithProblem (timeout of 30 seconds) (timeout of 60 seconds)' failed due to the following reason: Computation stopped due to timeout after 30.0 seconds. 2) 'Best' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'bsearch-popstar (timeout of 60 seconds)' failed due to the following reason: The processor is inapplicable, reason: Processor only applicable for innermost runtime complexity analysis 2) 'Polynomial Path Order (PS) (timeout of 60 seconds)' failed due to the following reason: The processor is inapplicable, reason: Processor only applicable for innermost runtime complexity analysis 3) 'Fastest (timeout of 5 seconds) (timeout of 60 seconds)' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'Bounds with perSymbol-enrichment and initial automaton 'match'' failed due to the following reason: match-boundness of the problem could not be verified. 2) 'Bounds with minimal-enrichment and initial automaton 'match'' failed due to the following reason: match-boundness of the problem could not be verified. 3) 'Innermost Weak Dependency Pairs (timeout of 60 seconds)' failed due to the following reason: We add the following weak dependency pairs: Strict DPs: { U11^#(tt(), V1, V2) -> c_1(U12^#(isNat(activate(V1)), activate(V2))) , U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , U13^#(tt()) -> c_12() , isNat^#(n__0()) -> c_3() , isNat^#(n__plus(V1, V2)) -> c_4(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , isNat^#(n__s(V1)) -> c_5(U21^#(isNatKind(activate(V1)), activate(V1))) , U21^#(tt(), V1) -> c_13(U22^#(isNat(activate(V1)))) , activate^#(X) -> c_6(X) , activate^#(n__0()) -> c_7(0^#()) , activate^#(n__plus(X1, X2)) -> c_8(plus^#(X1, X2)) , activate^#(n__isNatKind(X)) -> c_9(isNatKind^#(X)) , activate^#(n__s(X)) -> c_10(s^#(X)) , activate^#(n__and(X1, X2)) -> c_11(and^#(X1, X2)) , 0^#() -> c_27() , plus^#(X1, X2) -> c_18(X1, X2) , plus^#(N, s(M)) -> c_19(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_20(U31^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_23(X) , isNatKind^#(n__0()) -> c_24() , isNatKind^#(n__plus(V1, V2)) -> c_25(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_26(isNatKind^#(activate(V1))) , s^#(X) -> c_17(X) , and^#(X1, X2) -> c_21(X1, X2) , and^#(tt(), X) -> c_22(activate^#(X)) , U22^#(tt()) -> c_14() , U31^#(tt(), N) -> c_15(activate^#(N)) , U41^#(tt(), M, N) -> c_16(s^#(plus(activate(N), activate(M)))) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { U11^#(tt(), V1, V2) -> c_1(U12^#(isNat(activate(V1)), activate(V2))) , U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , U13^#(tt()) -> c_12() , isNat^#(n__0()) -> c_3() , isNat^#(n__plus(V1, V2)) -> c_4(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , isNat^#(n__s(V1)) -> c_5(U21^#(isNatKind(activate(V1)), activate(V1))) , U21^#(tt(), V1) -> c_13(U22^#(isNat(activate(V1)))) , activate^#(X) -> c_6(X) , activate^#(n__0()) -> c_7(0^#()) , activate^#(n__plus(X1, X2)) -> c_8(plus^#(X1, X2)) , activate^#(n__isNatKind(X)) -> c_9(isNatKind^#(X)) , activate^#(n__s(X)) -> c_10(s^#(X)) , activate^#(n__and(X1, X2)) -> c_11(and^#(X1, X2)) , 0^#() -> c_27() , plus^#(X1, X2) -> c_18(X1, X2) , plus^#(N, s(M)) -> c_19(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_20(U31^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_23(X) , isNatKind^#(n__0()) -> c_24() , isNatKind^#(n__plus(V1, V2)) -> c_25(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_26(isNatKind^#(activate(V1))) , s^#(X) -> c_17(X) , and^#(X1, X2) -> c_21(X1, X2) , and^#(tt(), X) -> c_22(activate^#(X)) , U22^#(tt()) -> c_14() , U31^#(tt(), N) -> c_15(activate^#(N)) , U41^#(tt(), M, N) -> c_16(s^#(plus(activate(N), activate(M)))) } Strict Trs: { U11(tt(), V1, V2) -> U12(isNat(activate(V1)), activate(V2)) , U12(tt(), V2) -> U13(isNat(activate(V2))) , isNat(n__0()) -> tt() , isNat(n__plus(V1, V2)) -> U11(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2)) , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) , activate(X) -> X , activate(n__0()) -> 0() , activate(n__plus(X1, X2)) -> plus(X1, X2) , activate(n__isNatKind(X)) -> isNatKind(X) , activate(n__s(X)) -> s(X) , activate(n__and(X1, X2)) -> and(X1, X2) , U13(tt()) -> tt() , U21(tt(), V1) -> U22(isNat(activate(V1))) , U22(tt()) -> tt() , U31(tt(), N) -> activate(N) , U41(tt(), M, N) -> s(plus(activate(N), activate(M))) , s(X) -> n__s(X) , plus(X1, X2) -> n__plus(X1, X2) , plus(N, s(M)) -> U41(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , plus(N, 0()) -> U31(and(isNat(N), n__isNatKind(N)), N) , and(X1, X2) -> n__and(X1, X2) , and(tt(), X) -> activate(X) , isNatKind(X) -> n__isNatKind(X) , isNatKind(n__0()) -> tt() , isNatKind(n__plus(V1, V2)) -> and(isNatKind(activate(V1)), n__isNatKind(activate(V2))) , isNatKind(n__s(V1)) -> isNatKind(activate(V1)) , 0() -> n__0() } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {3,4,14,19,25} by applications of Pre({3,4,14,19,25}) = {2,7,8,9,11,15,18,21,22,23}. Here rules are labeled as follows: DPs: { 1: U11^#(tt(), V1, V2) -> c_1(U12^#(isNat(activate(V1)), activate(V2))) , 2: U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , 3: U13^#(tt()) -> c_12() , 4: isNat^#(n__0()) -> c_3() , 5: isNat^#(n__plus(V1, V2)) -> c_4(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , 6: isNat^#(n__s(V1)) -> c_5(U21^#(isNatKind(activate(V1)), activate(V1))) , 7: U21^#(tt(), V1) -> c_13(U22^#(isNat(activate(V1)))) , 8: activate^#(X) -> c_6(X) , 9: activate^#(n__0()) -> c_7(0^#()) , 10: activate^#(n__plus(X1, X2)) -> c_8(plus^#(X1, X2)) , 11: activate^#(n__isNatKind(X)) -> c_9(isNatKind^#(X)) , 12: activate^#(n__s(X)) -> c_10(s^#(X)) , 13: activate^#(n__and(X1, X2)) -> c_11(and^#(X1, X2)) , 14: 0^#() -> c_27() , 15: plus^#(X1, X2) -> c_18(X1, X2) , 16: plus^#(N, s(M)) -> c_19(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , 17: plus^#(N, 0()) -> c_20(U31^#(and(isNat(N), n__isNatKind(N)), N)) , 18: isNatKind^#(X) -> c_23(X) , 19: isNatKind^#(n__0()) -> c_24() , 20: isNatKind^#(n__plus(V1, V2)) -> c_25(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 21: isNatKind^#(n__s(V1)) -> c_26(isNatKind^#(activate(V1))) , 22: s^#(X) -> c_17(X) , 23: and^#(X1, X2) -> c_21(X1, X2) , 24: and^#(tt(), X) -> c_22(activate^#(X)) , 25: U22^#(tt()) -> c_14() , 26: U31^#(tt(), N) -> c_15(activate^#(N)) , 27: U41^#(tt(), M, N) -> c_16(s^#(plus(activate(N), activate(M)))) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { U11^#(tt(), V1, V2) -> c_1(U12^#(isNat(activate(V1)), activate(V2))) , U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , isNat^#(n__plus(V1, V2)) -> c_4(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , isNat^#(n__s(V1)) -> c_5(U21^#(isNatKind(activate(V1)), activate(V1))) , U21^#(tt(), V1) -> c_13(U22^#(isNat(activate(V1)))) , activate^#(X) -> c_6(X) , activate^#(n__0()) -> c_7(0^#()) , activate^#(n__plus(X1, X2)) -> c_8(plus^#(X1, X2)) , activate^#(n__isNatKind(X)) -> c_9(isNatKind^#(X)) , activate^#(n__s(X)) -> c_10(s^#(X)) , activate^#(n__and(X1, X2)) -> c_11(and^#(X1, X2)) , plus^#(X1, X2) -> c_18(X1, X2) , plus^#(N, s(M)) -> c_19(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_20(U31^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_23(X) , isNatKind^#(n__plus(V1, V2)) -> c_25(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_26(isNatKind^#(activate(V1))) , s^#(X) -> c_17(X) , and^#(X1, X2) -> c_21(X1, X2) , and^#(tt(), X) -> c_22(activate^#(X)) , U31^#(tt(), N) -> c_15(activate^#(N)) , U41^#(tt(), M, N) -> c_16(s^#(plus(activate(N), activate(M)))) } Strict Trs: { U11(tt(), V1, V2) -> U12(isNat(activate(V1)), activate(V2)) , U12(tt(), V2) -> U13(isNat(activate(V2))) , isNat(n__0()) -> tt() , isNat(n__plus(V1, V2)) -> U11(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2)) , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) , activate(X) -> X , activate(n__0()) -> 0() , activate(n__plus(X1, X2)) -> plus(X1, X2) , activate(n__isNatKind(X)) -> isNatKind(X) , activate(n__s(X)) -> s(X) , activate(n__and(X1, X2)) -> and(X1, X2) , U13(tt()) -> tt() , U21(tt(), V1) -> U22(isNat(activate(V1))) , U22(tt()) -> tt() , U31(tt(), N) -> activate(N) , U41(tt(), M, N) -> s(plus(activate(N), activate(M))) , s(X) -> n__s(X) , plus(X1, X2) -> n__plus(X1, X2) , plus(N, s(M)) -> U41(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , plus(N, 0()) -> U31(and(isNat(N), n__isNatKind(N)), N) , and(X1, X2) -> n__and(X1, X2) , and(tt(), X) -> activate(X) , isNatKind(X) -> n__isNatKind(X) , isNatKind(n__0()) -> tt() , isNatKind(n__plus(V1, V2)) -> and(isNatKind(activate(V1)), n__isNatKind(activate(V2))) , isNatKind(n__s(V1)) -> isNatKind(activate(V1)) , 0() -> n__0() } Weak DPs: { U13^#(tt()) -> c_12() , isNat^#(n__0()) -> c_3() , 0^#() -> c_27() , isNatKind^#(n__0()) -> c_24() , U22^#(tt()) -> c_14() } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {2,5,7} by applications of Pre({2,5,7}) = {1,4,6,12,15,18,19,20,21}. Here rules are labeled as follows: DPs: { 1: U11^#(tt(), V1, V2) -> c_1(U12^#(isNat(activate(V1)), activate(V2))) , 2: U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , 3: isNat^#(n__plus(V1, V2)) -> c_4(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , 4: isNat^#(n__s(V1)) -> c_5(U21^#(isNatKind(activate(V1)), activate(V1))) , 5: U21^#(tt(), V1) -> c_13(U22^#(isNat(activate(V1)))) , 6: activate^#(X) -> c_6(X) , 7: activate^#(n__0()) -> c_7(0^#()) , 8: activate^#(n__plus(X1, X2)) -> c_8(plus^#(X1, X2)) , 9: activate^#(n__isNatKind(X)) -> c_9(isNatKind^#(X)) , 10: activate^#(n__s(X)) -> c_10(s^#(X)) , 11: activate^#(n__and(X1, X2)) -> c_11(and^#(X1, X2)) , 12: plus^#(X1, X2) -> c_18(X1, X2) , 13: plus^#(N, s(M)) -> c_19(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , 14: plus^#(N, 0()) -> c_20(U31^#(and(isNat(N), n__isNatKind(N)), N)) , 15: isNatKind^#(X) -> c_23(X) , 16: isNatKind^#(n__plus(V1, V2)) -> c_25(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 17: isNatKind^#(n__s(V1)) -> c_26(isNatKind^#(activate(V1))) , 18: s^#(X) -> c_17(X) , 19: and^#(X1, X2) -> c_21(X1, X2) , 20: and^#(tt(), X) -> c_22(activate^#(X)) , 21: U31^#(tt(), N) -> c_15(activate^#(N)) , 22: U41^#(tt(), M, N) -> c_16(s^#(plus(activate(N), activate(M)))) , 23: U13^#(tt()) -> c_12() , 24: isNat^#(n__0()) -> c_3() , 25: 0^#() -> c_27() , 26: isNatKind^#(n__0()) -> c_24() , 27: U22^#(tt()) -> c_14() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { U11^#(tt(), V1, V2) -> c_1(U12^#(isNat(activate(V1)), activate(V2))) , isNat^#(n__plus(V1, V2)) -> c_4(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , isNat^#(n__s(V1)) -> c_5(U21^#(isNatKind(activate(V1)), activate(V1))) , activate^#(X) -> c_6(X) , activate^#(n__plus(X1, X2)) -> c_8(plus^#(X1, X2)) , activate^#(n__isNatKind(X)) -> c_9(isNatKind^#(X)) , activate^#(n__s(X)) -> c_10(s^#(X)) , activate^#(n__and(X1, X2)) -> c_11(and^#(X1, X2)) , plus^#(X1, X2) -> c_18(X1, X2) , plus^#(N, s(M)) -> c_19(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_20(U31^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_23(X) , isNatKind^#(n__plus(V1, V2)) -> c_25(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_26(isNatKind^#(activate(V1))) , s^#(X) -> c_17(X) , and^#(X1, X2) -> c_21(X1, X2) , and^#(tt(), X) -> c_22(activate^#(X)) , U31^#(tt(), N) -> c_15(activate^#(N)) , U41^#(tt(), M, N) -> c_16(s^#(plus(activate(N), activate(M)))) } Strict Trs: { U11(tt(), V1, V2) -> U12(isNat(activate(V1)), activate(V2)) , U12(tt(), V2) -> U13(isNat(activate(V2))) , isNat(n__0()) -> tt() , isNat(n__plus(V1, V2)) -> U11(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2)) , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) , activate(X) -> X , activate(n__0()) -> 0() , activate(n__plus(X1, X2)) -> plus(X1, X2) , activate(n__isNatKind(X)) -> isNatKind(X) , activate(n__s(X)) -> s(X) , activate(n__and(X1, X2)) -> and(X1, X2) , U13(tt()) -> tt() , U21(tt(), V1) -> U22(isNat(activate(V1))) , U22(tt()) -> tt() , U31(tt(), N) -> activate(N) , U41(tt(), M, N) -> s(plus(activate(N), activate(M))) , s(X) -> n__s(X) , plus(X1, X2) -> n__plus(X1, X2) , plus(N, s(M)) -> U41(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , plus(N, 0()) -> U31(and(isNat(N), n__isNatKind(N)), N) , and(X1, X2) -> n__and(X1, X2) , and(tt(), X) -> activate(X) , isNatKind(X) -> n__isNatKind(X) , isNatKind(n__0()) -> tt() , isNatKind(n__plus(V1, V2)) -> and(isNatKind(activate(V1)), n__isNatKind(activate(V2))) , isNatKind(n__s(V1)) -> isNatKind(activate(V1)) , 0() -> n__0() } Weak DPs: { U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , U13^#(tt()) -> c_12() , isNat^#(n__0()) -> c_3() , U21^#(tt(), V1) -> c_13(U22^#(isNat(activate(V1)))) , activate^#(n__0()) -> c_7(0^#()) , 0^#() -> c_27() , isNatKind^#(n__0()) -> c_24() , U22^#(tt()) -> c_14() } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {1,3} by applications of Pre({1,3}) = {2,4,9,12,15,16}. Here rules are labeled as follows: DPs: { 1: U11^#(tt(), V1, V2) -> c_1(U12^#(isNat(activate(V1)), activate(V2))) , 2: isNat^#(n__plus(V1, V2)) -> c_4(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , 3: isNat^#(n__s(V1)) -> c_5(U21^#(isNatKind(activate(V1)), activate(V1))) , 4: activate^#(X) -> c_6(X) , 5: activate^#(n__plus(X1, X2)) -> c_8(plus^#(X1, X2)) , 6: activate^#(n__isNatKind(X)) -> c_9(isNatKind^#(X)) , 7: activate^#(n__s(X)) -> c_10(s^#(X)) , 8: activate^#(n__and(X1, X2)) -> c_11(and^#(X1, X2)) , 9: plus^#(X1, X2) -> c_18(X1, X2) , 10: plus^#(N, s(M)) -> c_19(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , 11: plus^#(N, 0()) -> c_20(U31^#(and(isNat(N), n__isNatKind(N)), N)) , 12: isNatKind^#(X) -> c_23(X) , 13: isNatKind^#(n__plus(V1, V2)) -> c_25(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 14: isNatKind^#(n__s(V1)) -> c_26(isNatKind^#(activate(V1))) , 15: s^#(X) -> c_17(X) , 16: and^#(X1, X2) -> c_21(X1, X2) , 17: and^#(tt(), X) -> c_22(activate^#(X)) , 18: U31^#(tt(), N) -> c_15(activate^#(N)) , 19: U41^#(tt(), M, N) -> c_16(s^#(plus(activate(N), activate(M)))) , 20: U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , 21: U13^#(tt()) -> c_12() , 22: isNat^#(n__0()) -> c_3() , 23: U21^#(tt(), V1) -> c_13(U22^#(isNat(activate(V1)))) , 24: activate^#(n__0()) -> c_7(0^#()) , 25: 0^#() -> c_27() , 26: isNatKind^#(n__0()) -> c_24() , 27: U22^#(tt()) -> c_14() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { isNat^#(n__plus(V1, V2)) -> c_4(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , activate^#(X) -> c_6(X) , activate^#(n__plus(X1, X2)) -> c_8(plus^#(X1, X2)) , activate^#(n__isNatKind(X)) -> c_9(isNatKind^#(X)) , activate^#(n__s(X)) -> c_10(s^#(X)) , activate^#(n__and(X1, X2)) -> c_11(and^#(X1, X2)) , plus^#(X1, X2) -> c_18(X1, X2) , plus^#(N, s(M)) -> c_19(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_20(U31^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_23(X) , isNatKind^#(n__plus(V1, V2)) -> c_25(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_26(isNatKind^#(activate(V1))) , s^#(X) -> c_17(X) , and^#(X1, X2) -> c_21(X1, X2) , and^#(tt(), X) -> c_22(activate^#(X)) , U31^#(tt(), N) -> c_15(activate^#(N)) , U41^#(tt(), M, N) -> c_16(s^#(plus(activate(N), activate(M)))) } Strict Trs: { U11(tt(), V1, V2) -> U12(isNat(activate(V1)), activate(V2)) , U12(tt(), V2) -> U13(isNat(activate(V2))) , isNat(n__0()) -> tt() , isNat(n__plus(V1, V2)) -> U11(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2)) , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) , activate(X) -> X , activate(n__0()) -> 0() , activate(n__plus(X1, X2)) -> plus(X1, X2) , activate(n__isNatKind(X)) -> isNatKind(X) , activate(n__s(X)) -> s(X) , activate(n__and(X1, X2)) -> and(X1, X2) , U13(tt()) -> tt() , U21(tt(), V1) -> U22(isNat(activate(V1))) , U22(tt()) -> tt() , U31(tt(), N) -> activate(N) , U41(tt(), M, N) -> s(plus(activate(N), activate(M))) , s(X) -> n__s(X) , plus(X1, X2) -> n__plus(X1, X2) , plus(N, s(M)) -> U41(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , plus(N, 0()) -> U31(and(isNat(N), n__isNatKind(N)), N) , and(X1, X2) -> n__and(X1, X2) , and(tt(), X) -> activate(X) , isNatKind(X) -> n__isNatKind(X) , isNatKind(n__0()) -> tt() , isNatKind(n__plus(V1, V2)) -> and(isNatKind(activate(V1)), n__isNatKind(activate(V2))) , isNatKind(n__s(V1)) -> isNatKind(activate(V1)) , 0() -> n__0() } Weak DPs: { U11^#(tt(), V1, V2) -> c_1(U12^#(isNat(activate(V1)), activate(V2))) , U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , U13^#(tt()) -> c_12() , isNat^#(n__0()) -> c_3() , isNat^#(n__s(V1)) -> c_5(U21^#(isNatKind(activate(V1)), activate(V1))) , U21^#(tt(), V1) -> c_13(U22^#(isNat(activate(V1)))) , activate^#(n__0()) -> c_7(0^#()) , 0^#() -> c_27() , isNatKind^#(n__0()) -> c_24() , U22^#(tt()) -> c_14() } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {1} by applications of Pre({1}) = {2,7,10,13,14}. Here rules are labeled as follows: DPs: { 1: isNat^#(n__plus(V1, V2)) -> c_4(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , 2: activate^#(X) -> c_6(X) , 3: activate^#(n__plus(X1, X2)) -> c_8(plus^#(X1, X2)) , 4: activate^#(n__isNatKind(X)) -> c_9(isNatKind^#(X)) , 5: activate^#(n__s(X)) -> c_10(s^#(X)) , 6: activate^#(n__and(X1, X2)) -> c_11(and^#(X1, X2)) , 7: plus^#(X1, X2) -> c_18(X1, X2) , 8: plus^#(N, s(M)) -> c_19(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , 9: plus^#(N, 0()) -> c_20(U31^#(and(isNat(N), n__isNatKind(N)), N)) , 10: isNatKind^#(X) -> c_23(X) , 11: isNatKind^#(n__plus(V1, V2)) -> c_25(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 12: isNatKind^#(n__s(V1)) -> c_26(isNatKind^#(activate(V1))) , 13: s^#(X) -> c_17(X) , 14: and^#(X1, X2) -> c_21(X1, X2) , 15: and^#(tt(), X) -> c_22(activate^#(X)) , 16: U31^#(tt(), N) -> c_15(activate^#(N)) , 17: U41^#(tt(), M, N) -> c_16(s^#(plus(activate(N), activate(M)))) , 18: U11^#(tt(), V1, V2) -> c_1(U12^#(isNat(activate(V1)), activate(V2))) , 19: U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , 20: U13^#(tt()) -> c_12() , 21: isNat^#(n__0()) -> c_3() , 22: isNat^#(n__s(V1)) -> c_5(U21^#(isNatKind(activate(V1)), activate(V1))) , 23: U21^#(tt(), V1) -> c_13(U22^#(isNat(activate(V1)))) , 24: activate^#(n__0()) -> c_7(0^#()) , 25: 0^#() -> c_27() , 26: isNatKind^#(n__0()) -> c_24() , 27: U22^#(tt()) -> c_14() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { activate^#(X) -> c_6(X) , activate^#(n__plus(X1, X2)) -> c_8(plus^#(X1, X2)) , activate^#(n__isNatKind(X)) -> c_9(isNatKind^#(X)) , activate^#(n__s(X)) -> c_10(s^#(X)) , activate^#(n__and(X1, X2)) -> c_11(and^#(X1, X2)) , plus^#(X1, X2) -> c_18(X1, X2) , plus^#(N, s(M)) -> c_19(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_20(U31^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_23(X) , isNatKind^#(n__plus(V1, V2)) -> c_25(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_26(isNatKind^#(activate(V1))) , s^#(X) -> c_17(X) , and^#(X1, X2) -> c_21(X1, X2) , and^#(tt(), X) -> c_22(activate^#(X)) , U31^#(tt(), N) -> c_15(activate^#(N)) , U41^#(tt(), M, N) -> c_16(s^#(plus(activate(N), activate(M)))) } Strict Trs: { U11(tt(), V1, V2) -> U12(isNat(activate(V1)), activate(V2)) , U12(tt(), V2) -> U13(isNat(activate(V2))) , isNat(n__0()) -> tt() , isNat(n__plus(V1, V2)) -> U11(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2)) , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) , activate(X) -> X , activate(n__0()) -> 0() , activate(n__plus(X1, X2)) -> plus(X1, X2) , activate(n__isNatKind(X)) -> isNatKind(X) , activate(n__s(X)) -> s(X) , activate(n__and(X1, X2)) -> and(X1, X2) , U13(tt()) -> tt() , U21(tt(), V1) -> U22(isNat(activate(V1))) , U22(tt()) -> tt() , U31(tt(), N) -> activate(N) , U41(tt(), M, N) -> s(plus(activate(N), activate(M))) , s(X) -> n__s(X) , plus(X1, X2) -> n__plus(X1, X2) , plus(N, s(M)) -> U41(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , plus(N, 0()) -> U31(and(isNat(N), n__isNatKind(N)), N) , and(X1, X2) -> n__and(X1, X2) , and(tt(), X) -> activate(X) , isNatKind(X) -> n__isNatKind(X) , isNatKind(n__0()) -> tt() , isNatKind(n__plus(V1, V2)) -> and(isNatKind(activate(V1)), n__isNatKind(activate(V2))) , isNatKind(n__s(V1)) -> isNatKind(activate(V1)) , 0() -> n__0() } Weak DPs: { U11^#(tt(), V1, V2) -> c_1(U12^#(isNat(activate(V1)), activate(V2))) , U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , U13^#(tt()) -> c_12() , isNat^#(n__0()) -> c_3() , isNat^#(n__plus(V1, V2)) -> c_4(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , isNat^#(n__s(V1)) -> c_5(U21^#(isNatKind(activate(V1)), activate(V1))) , U21^#(tt(), V1) -> c_13(U22^#(isNat(activate(V1)))) , activate^#(n__0()) -> c_7(0^#()) , 0^#() -> c_27() , isNatKind^#(n__0()) -> c_24() , U22^#(tt()) -> c_14() } Obligation: runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..