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(X) -> n__isNat(X) , 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(activate(X1), activate(X2)) , activate(n__isNatKind(X)) -> isNatKind(X) , activate(n__s(X)) -> s(activate(X)) , activate(n__and(X1, X2)) -> and(activate(X1), X2) , activate(n__isNat(X)) -> isNat(X) , 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(n__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) '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 2) '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 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_14() , isNat^#(X) -> c_3(X) , isNat^#(n__0()) -> c_4() , isNat^#(n__plus(V1, V2)) -> c_5(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , isNat^#(n__s(V1)) -> c_6(U21^#(isNatKind(activate(V1)), activate(V1))) , U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , activate^#(X) -> c_7(X) , activate^#(n__0()) -> c_8(0^#()) , activate^#(n__plus(X1, X2)) -> c_9(plus^#(activate(X1), activate(X2))) , activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , activate^#(n__s(X)) -> c_11(s^#(activate(X))) , activate^#(n__and(X1, X2)) -> c_12(and^#(activate(X1), X2)) , activate^#(n__isNat(X)) -> c_13(isNat^#(X)) , 0^#() -> c_29() , plus^#(X1, X2) -> c_20(X1, X2) , plus^#(N, s(M)) -> c_21(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(n__isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_22(U31^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_25(X) , isNatKind^#(n__0()) -> c_26() , isNatKind^#(n__plus(V1, V2)) -> c_27(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_28(isNatKind^#(activate(V1))) , s^#(X) -> c_19(X) , and^#(X1, X2) -> c_23(X1, X2) , and^#(tt(), X) -> c_24(activate^#(X)) , U22^#(tt()) -> c_16() , U31^#(tt(), N) -> c_17(activate^#(N)) , U41^#(tt(), M, N) -> c_18(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_14() , isNat^#(X) -> c_3(X) , isNat^#(n__0()) -> c_4() , isNat^#(n__plus(V1, V2)) -> c_5(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , isNat^#(n__s(V1)) -> c_6(U21^#(isNatKind(activate(V1)), activate(V1))) , U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , activate^#(X) -> c_7(X) , activate^#(n__0()) -> c_8(0^#()) , activate^#(n__plus(X1, X2)) -> c_9(plus^#(activate(X1), activate(X2))) , activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , activate^#(n__s(X)) -> c_11(s^#(activate(X))) , activate^#(n__and(X1, X2)) -> c_12(and^#(activate(X1), X2)) , activate^#(n__isNat(X)) -> c_13(isNat^#(X)) , 0^#() -> c_29() , plus^#(X1, X2) -> c_20(X1, X2) , plus^#(N, s(M)) -> c_21(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(n__isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_22(U31^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_25(X) , isNatKind^#(n__0()) -> c_26() , isNatKind^#(n__plus(V1, V2)) -> c_27(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_28(isNatKind^#(activate(V1))) , s^#(X) -> c_19(X) , and^#(X1, X2) -> c_23(X1, X2) , and^#(tt(), X) -> c_24(activate^#(X)) , U22^#(tt()) -> c_16() , U31^#(tt(), N) -> c_17(activate^#(N)) , U41^#(tt(), M, N) -> c_18(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(X) -> n__isNat(X) , 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(activate(X1), activate(X2)) , activate(n__isNatKind(X)) -> isNatKind(X) , activate(n__s(X)) -> s(activate(X)) , activate(n__and(X1, X2)) -> and(activate(X1), X2) , activate(n__isNat(X)) -> isNat(X) , 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(n__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,5,16,21,27} by applications of Pre({3,5,16,21,27}) = {2,4,8,9,10,12,15,17,20,23,24,25}. 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_14() , 4: isNat^#(X) -> c_3(X) , 5: isNat^#(n__0()) -> c_4() , 6: isNat^#(n__plus(V1, V2)) -> c_5(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , 7: isNat^#(n__s(V1)) -> c_6(U21^#(isNatKind(activate(V1)), activate(V1))) , 8: U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , 9: activate^#(X) -> c_7(X) , 10: activate^#(n__0()) -> c_8(0^#()) , 11: activate^#(n__plus(X1, X2)) -> c_9(plus^#(activate(X1), activate(X2))) , 12: activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , 13: activate^#(n__s(X)) -> c_11(s^#(activate(X))) , 14: activate^#(n__and(X1, X2)) -> c_12(and^#(activate(X1), X2)) , 15: activate^#(n__isNat(X)) -> c_13(isNat^#(X)) , 16: 0^#() -> c_29() , 17: plus^#(X1, X2) -> c_20(X1, X2) , 18: plus^#(N, s(M)) -> c_21(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(n__isNat(N), n__isNatKind(N))), M, N)) , 19: plus^#(N, 0()) -> c_22(U31^#(and(isNat(N), n__isNatKind(N)), N)) , 20: isNatKind^#(X) -> c_25(X) , 21: isNatKind^#(n__0()) -> c_26() , 22: isNatKind^#(n__plus(V1, V2)) -> c_27(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 23: isNatKind^#(n__s(V1)) -> c_28(isNatKind^#(activate(V1))) , 24: s^#(X) -> c_19(X) , 25: and^#(X1, X2) -> c_23(X1, X2) , 26: and^#(tt(), X) -> c_24(activate^#(X)) , 27: U22^#(tt()) -> c_16() , 28: U31^#(tt(), N) -> c_17(activate^#(N)) , 29: U41^#(tt(), M, N) -> c_18(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^#(X) -> c_3(X) , isNat^#(n__plus(V1, V2)) -> c_5(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , isNat^#(n__s(V1)) -> c_6(U21^#(isNatKind(activate(V1)), activate(V1))) , U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , activate^#(X) -> c_7(X) , activate^#(n__0()) -> c_8(0^#()) , activate^#(n__plus(X1, X2)) -> c_9(plus^#(activate(X1), activate(X2))) , activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , activate^#(n__s(X)) -> c_11(s^#(activate(X))) , activate^#(n__and(X1, X2)) -> c_12(and^#(activate(X1), X2)) , activate^#(n__isNat(X)) -> c_13(isNat^#(X)) , plus^#(X1, X2) -> c_20(X1, X2) , plus^#(N, s(M)) -> c_21(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(n__isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_22(U31^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_25(X) , isNatKind^#(n__plus(V1, V2)) -> c_27(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_28(isNatKind^#(activate(V1))) , s^#(X) -> c_19(X) , and^#(X1, X2) -> c_23(X1, X2) , and^#(tt(), X) -> c_24(activate^#(X)) , U31^#(tt(), N) -> c_17(activate^#(N)) , U41^#(tt(), M, N) -> c_18(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(X) -> n__isNat(X) , 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(activate(X1), activate(X2)) , activate(n__isNatKind(X)) -> isNatKind(X) , activate(n__s(X)) -> s(activate(X)) , activate(n__and(X1, X2)) -> and(activate(X1), X2) , activate(n__isNat(X)) -> isNat(X) , 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(n__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_14() , isNat^#(n__0()) -> c_4() , 0^#() -> c_29() , isNatKind^#(n__0()) -> c_26() , U22^#(tt()) -> c_16() } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {2,6,8} by applications of Pre({2,6,8}) = {1,3,5,7,14,17,20,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: isNat^#(X) -> c_3(X) , 4: isNat^#(n__plus(V1, V2)) -> c_5(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , 5: isNat^#(n__s(V1)) -> c_6(U21^#(isNatKind(activate(V1)), activate(V1))) , 6: U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , 7: activate^#(X) -> c_7(X) , 8: activate^#(n__0()) -> c_8(0^#()) , 9: activate^#(n__plus(X1, X2)) -> c_9(plus^#(activate(X1), activate(X2))) , 10: activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , 11: activate^#(n__s(X)) -> c_11(s^#(activate(X))) , 12: activate^#(n__and(X1, X2)) -> c_12(and^#(activate(X1), X2)) , 13: activate^#(n__isNat(X)) -> c_13(isNat^#(X)) , 14: plus^#(X1, X2) -> c_20(X1, X2) , 15: plus^#(N, s(M)) -> c_21(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(n__isNat(N), n__isNatKind(N))), M, N)) , 16: plus^#(N, 0()) -> c_22(U31^#(and(isNat(N), n__isNatKind(N)), N)) , 17: isNatKind^#(X) -> c_25(X) , 18: isNatKind^#(n__plus(V1, V2)) -> c_27(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 19: isNatKind^#(n__s(V1)) -> c_28(isNatKind^#(activate(V1))) , 20: s^#(X) -> c_19(X) , 21: and^#(X1, X2) -> c_23(X1, X2) , 22: and^#(tt(), X) -> c_24(activate^#(X)) , 23: U31^#(tt(), N) -> c_17(activate^#(N)) , 24: U41^#(tt(), M, N) -> c_18(s^#(plus(activate(N), activate(M)))) , 25: U13^#(tt()) -> c_14() , 26: isNat^#(n__0()) -> c_4() , 27: 0^#() -> c_29() , 28: isNatKind^#(n__0()) -> c_26() , 29: U22^#(tt()) -> c_16() } 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^#(X) -> c_3(X) , isNat^#(n__plus(V1, V2)) -> c_5(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , isNat^#(n__s(V1)) -> c_6(U21^#(isNatKind(activate(V1)), activate(V1))) , activate^#(X) -> c_7(X) , activate^#(n__plus(X1, X2)) -> c_9(plus^#(activate(X1), activate(X2))) , activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , activate^#(n__s(X)) -> c_11(s^#(activate(X))) , activate^#(n__and(X1, X2)) -> c_12(and^#(activate(X1), X2)) , activate^#(n__isNat(X)) -> c_13(isNat^#(X)) , plus^#(X1, X2) -> c_20(X1, X2) , plus^#(N, s(M)) -> c_21(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(n__isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_22(U31^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_25(X) , isNatKind^#(n__plus(V1, V2)) -> c_27(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_28(isNatKind^#(activate(V1))) , s^#(X) -> c_19(X) , and^#(X1, X2) -> c_23(X1, X2) , and^#(tt(), X) -> c_24(activate^#(X)) , U31^#(tt(), N) -> c_17(activate^#(N)) , U41^#(tt(), M, N) -> c_18(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(X) -> n__isNat(X) , 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(activate(X1), activate(X2)) , activate(n__isNatKind(X)) -> isNatKind(X) , activate(n__s(X)) -> s(activate(X)) , activate(n__and(X1, X2)) -> and(activate(X1), X2) , activate(n__isNat(X)) -> isNat(X) , 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(n__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_14() , isNat^#(n__0()) -> c_4() , U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , activate^#(n__0()) -> c_8(0^#()) , 0^#() -> c_29() , isNatKind^#(n__0()) -> c_26() , U22^#(tt()) -> c_16() } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {1,4} by applications of Pre({1,4}) = {2,3,5,10,11,14,17,18}. Here rules are labeled as follows: DPs: { 1: U11^#(tt(), V1, V2) -> c_1(U12^#(isNat(activate(V1)), activate(V2))) , 2: isNat^#(X) -> c_3(X) , 3: isNat^#(n__plus(V1, V2)) -> c_5(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , 4: isNat^#(n__s(V1)) -> c_6(U21^#(isNatKind(activate(V1)), activate(V1))) , 5: activate^#(X) -> c_7(X) , 6: activate^#(n__plus(X1, X2)) -> c_9(plus^#(activate(X1), activate(X2))) , 7: activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , 8: activate^#(n__s(X)) -> c_11(s^#(activate(X))) , 9: activate^#(n__and(X1, X2)) -> c_12(and^#(activate(X1), X2)) , 10: activate^#(n__isNat(X)) -> c_13(isNat^#(X)) , 11: plus^#(X1, X2) -> c_20(X1, X2) , 12: plus^#(N, s(M)) -> c_21(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(n__isNat(N), n__isNatKind(N))), M, N)) , 13: plus^#(N, 0()) -> c_22(U31^#(and(isNat(N), n__isNatKind(N)), N)) , 14: isNatKind^#(X) -> c_25(X) , 15: isNatKind^#(n__plus(V1, V2)) -> c_27(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 16: isNatKind^#(n__s(V1)) -> c_28(isNatKind^#(activate(V1))) , 17: s^#(X) -> c_19(X) , 18: and^#(X1, X2) -> c_23(X1, X2) , 19: and^#(tt(), X) -> c_24(activate^#(X)) , 20: U31^#(tt(), N) -> c_17(activate^#(N)) , 21: U41^#(tt(), M, N) -> c_18(s^#(plus(activate(N), activate(M)))) , 22: U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , 23: U13^#(tt()) -> c_14() , 24: isNat^#(n__0()) -> c_4() , 25: U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , 26: activate^#(n__0()) -> c_8(0^#()) , 27: 0^#() -> c_29() , 28: isNatKind^#(n__0()) -> c_26() , 29: U22^#(tt()) -> c_16() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { isNat^#(X) -> c_3(X) , isNat^#(n__plus(V1, V2)) -> c_5(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , activate^#(X) -> c_7(X) , activate^#(n__plus(X1, X2)) -> c_9(plus^#(activate(X1), activate(X2))) , activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , activate^#(n__s(X)) -> c_11(s^#(activate(X))) , activate^#(n__and(X1, X2)) -> c_12(and^#(activate(X1), X2)) , activate^#(n__isNat(X)) -> c_13(isNat^#(X)) , plus^#(X1, X2) -> c_20(X1, X2) , plus^#(N, s(M)) -> c_21(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(n__isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_22(U31^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_25(X) , isNatKind^#(n__plus(V1, V2)) -> c_27(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_28(isNatKind^#(activate(V1))) , s^#(X) -> c_19(X) , and^#(X1, X2) -> c_23(X1, X2) , and^#(tt(), X) -> c_24(activate^#(X)) , U31^#(tt(), N) -> c_17(activate^#(N)) , U41^#(tt(), M, N) -> c_18(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(X) -> n__isNat(X) , 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(activate(X1), activate(X2)) , activate(n__isNatKind(X)) -> isNatKind(X) , activate(n__s(X)) -> s(activate(X)) , activate(n__and(X1, X2)) -> and(activate(X1), X2) , activate(n__isNat(X)) -> isNat(X) , 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(n__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_14() , isNat^#(n__0()) -> c_4() , isNat^#(n__s(V1)) -> c_6(U21^#(isNatKind(activate(V1)), activate(V1))) , U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , activate^#(n__0()) -> c_8(0^#()) , 0^#() -> c_29() , isNatKind^#(n__0()) -> c_26() , U22^#(tt()) -> c_16() } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {2} by applications of Pre({2}) = {1,3,8,9,12,15,16}. Here rules are labeled as follows: DPs: { 1: isNat^#(X) -> c_3(X) , 2: isNat^#(n__plus(V1, V2)) -> c_5(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , 3: activate^#(X) -> c_7(X) , 4: activate^#(n__plus(X1, X2)) -> c_9(plus^#(activate(X1), activate(X2))) , 5: activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , 6: activate^#(n__s(X)) -> c_11(s^#(activate(X))) , 7: activate^#(n__and(X1, X2)) -> c_12(and^#(activate(X1), X2)) , 8: activate^#(n__isNat(X)) -> c_13(isNat^#(X)) , 9: plus^#(X1, X2) -> c_20(X1, X2) , 10: plus^#(N, s(M)) -> c_21(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(n__isNat(N), n__isNatKind(N))), M, N)) , 11: plus^#(N, 0()) -> c_22(U31^#(and(isNat(N), n__isNatKind(N)), N)) , 12: isNatKind^#(X) -> c_25(X) , 13: isNatKind^#(n__plus(V1, V2)) -> c_27(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 14: isNatKind^#(n__s(V1)) -> c_28(isNatKind^#(activate(V1))) , 15: s^#(X) -> c_19(X) , 16: and^#(X1, X2) -> c_23(X1, X2) , 17: and^#(tt(), X) -> c_24(activate^#(X)) , 18: U31^#(tt(), N) -> c_17(activate^#(N)) , 19: U41^#(tt(), M, N) -> c_18(s^#(plus(activate(N), activate(M)))) , 20: U11^#(tt(), V1, V2) -> c_1(U12^#(isNat(activate(V1)), activate(V2))) , 21: U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , 22: U13^#(tt()) -> c_14() , 23: isNat^#(n__0()) -> c_4() , 24: isNat^#(n__s(V1)) -> c_6(U21^#(isNatKind(activate(V1)), activate(V1))) , 25: U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , 26: activate^#(n__0()) -> c_8(0^#()) , 27: 0^#() -> c_29() , 28: isNatKind^#(n__0()) -> c_26() , 29: U22^#(tt()) -> c_16() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { isNat^#(X) -> c_3(X) , activate^#(X) -> c_7(X) , activate^#(n__plus(X1, X2)) -> c_9(plus^#(activate(X1), activate(X2))) , activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , activate^#(n__s(X)) -> c_11(s^#(activate(X))) , activate^#(n__and(X1, X2)) -> c_12(and^#(activate(X1), X2)) , activate^#(n__isNat(X)) -> c_13(isNat^#(X)) , plus^#(X1, X2) -> c_20(X1, X2) , plus^#(N, s(M)) -> c_21(U41^#(and(and(isNat(M), n__isNatKind(M)), n__and(n__isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_22(U31^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_25(X) , isNatKind^#(n__plus(V1, V2)) -> c_27(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_28(isNatKind^#(activate(V1))) , s^#(X) -> c_19(X) , and^#(X1, X2) -> c_23(X1, X2) , and^#(tt(), X) -> c_24(activate^#(X)) , U31^#(tt(), N) -> c_17(activate^#(N)) , U41^#(tt(), M, N) -> c_18(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(X) -> n__isNat(X) , 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(activate(X1), activate(X2)) , activate(n__isNatKind(X)) -> isNatKind(X) , activate(n__s(X)) -> s(activate(X)) , activate(n__and(X1, X2)) -> and(activate(X1), X2) , activate(n__isNat(X)) -> isNat(X) , 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(n__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_14() , isNat^#(n__0()) -> c_4() , isNat^#(n__plus(V1, V2)) -> c_5(U11^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , isNat^#(n__s(V1)) -> c_6(U21^#(isNatKind(activate(V1)), activate(V1))) , U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , activate^#(n__0()) -> c_8(0^#()) , 0^#() -> c_29() , isNatKind^#(n__0()) -> c_26() , U22^#(tt()) -> c_16() } Obligation: runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..