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)) , isNat(n__x(V1, V2)) -> U31(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2)) , 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__x(X1, X2)) -> x(X1, X2) , activate(n__and(X1, X2)) -> and(X1, X2) , U13(tt()) -> tt() , U21(tt(), V1) -> U22(isNat(activate(V1))) , U22(tt()) -> tt() , U31(tt(), V1, V2) -> U32(isNat(activate(V1)), activate(V2)) , U32(tt(), V2) -> U33(isNat(activate(V2))) , U33(tt()) -> tt() , U41(tt(), N) -> activate(N) , U51(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)) -> U51(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , plus(N, 0()) -> U41(and(isNat(N), n__isNatKind(N)), N) , U61(tt()) -> 0() , 0() -> n__0() , U71(tt(), M, N) -> plus(x(activate(N), activate(M)), activate(N)) , x(X1, X2) -> n__x(X1, X2) , x(N, s(M)) -> U71(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , x(N, 0()) -> U61(and(isNat(N), n__isNatKind(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)) , isNatKind(n__x(V1, V2)) -> and(isNatKind(activate(V1)), n__isNatKind(activate(V2))) } 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^#(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))) , isNat^#(n__x(V1, V2)) -> c_6(U31^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , U31^#(tt(), V1, V2) -> c_17(U32^#(isNat(activate(V1)), activate(V2))) , activate^#(X) -> c_7(X) , activate^#(n__0()) -> c_8(0^#()) , activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) , activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , activate^#(n__s(X)) -> c_11(s^#(X)) , activate^#(n__x(X1, X2)) -> c_12(x^#(X1, X2)) , activate^#(n__and(X1, X2)) -> c_13(and^#(X1, X2)) , 0^#() -> c_27() , plus^#(X1, X2) -> c_23(X1, X2) , plus^#(N, s(M)) -> c_24(U51^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_25(U41^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_34(X) , isNatKind^#(n__0()) -> c_35() , isNatKind^#(n__plus(V1, V2)) -> c_36(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_37(isNatKind^#(activate(V1))) , isNatKind^#(n__x(V1, V2)) -> c_38(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , s^#(X) -> c_22(X) , x^#(X1, X2) -> c_29(X1, X2) , x^#(N, s(M)) -> c_30(U71^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , x^#(N, 0()) -> c_31(U61^#(and(isNat(N), n__isNatKind(N)))) , and^#(X1, X2) -> c_32(X1, X2) , and^#(tt(), X) -> c_33(activate^#(X)) , U22^#(tt()) -> c_16() , U32^#(tt(), V2) -> c_18(U33^#(isNat(activate(V2)))) , U33^#(tt()) -> c_19() , U41^#(tt(), N) -> c_20(activate^#(N)) , U51^#(tt(), M, N) -> c_21(s^#(plus(activate(N), activate(M)))) , U61^#(tt()) -> c_26(0^#()) , U71^#(tt(), M, N) -> c_28(plus^#(x(activate(N), activate(M)), activate(N))) } 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^#(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))) , isNat^#(n__x(V1, V2)) -> c_6(U31^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , U31^#(tt(), V1, V2) -> c_17(U32^#(isNat(activate(V1)), activate(V2))) , activate^#(X) -> c_7(X) , activate^#(n__0()) -> c_8(0^#()) , activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) , activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , activate^#(n__s(X)) -> c_11(s^#(X)) , activate^#(n__x(X1, X2)) -> c_12(x^#(X1, X2)) , activate^#(n__and(X1, X2)) -> c_13(and^#(X1, X2)) , 0^#() -> c_27() , plus^#(X1, X2) -> c_23(X1, X2) , plus^#(N, s(M)) -> c_24(U51^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_25(U41^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_34(X) , isNatKind^#(n__0()) -> c_35() , isNatKind^#(n__plus(V1, V2)) -> c_36(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_37(isNatKind^#(activate(V1))) , isNatKind^#(n__x(V1, V2)) -> c_38(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , s^#(X) -> c_22(X) , x^#(X1, X2) -> c_29(X1, X2) , x^#(N, s(M)) -> c_30(U71^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , x^#(N, 0()) -> c_31(U61^#(and(isNat(N), n__isNatKind(N)))) , and^#(X1, X2) -> c_32(X1, X2) , and^#(tt(), X) -> c_33(activate^#(X)) , U22^#(tt()) -> c_16() , U32^#(tt(), V2) -> c_18(U33^#(isNat(activate(V2)))) , U33^#(tt()) -> c_19() , U41^#(tt(), N) -> c_20(activate^#(N)) , U51^#(tt(), M, N) -> c_21(s^#(plus(activate(N), activate(M)))) , U61^#(tt()) -> c_26(0^#()) , U71^#(tt(), M, N) -> c_28(plus^#(x(activate(N), activate(M)), activate(N))) } 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)) , isNat(n__x(V1, V2)) -> U31(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2)) , 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__x(X1, X2)) -> x(X1, X2) , activate(n__and(X1, X2)) -> and(X1, X2) , U13(tt()) -> tt() , U21(tt(), V1) -> U22(isNat(activate(V1))) , U22(tt()) -> tt() , U31(tt(), V1, V2) -> U32(isNat(activate(V1)), activate(V2)) , U32(tt(), V2) -> U33(isNat(activate(V2))) , U33(tt()) -> tt() , U41(tt(), N) -> activate(N) , U51(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)) -> U51(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , plus(N, 0()) -> U41(and(isNat(N), n__isNatKind(N)), N) , U61(tt()) -> 0() , 0() -> n__0() , U71(tt(), M, N) -> plus(x(activate(N), activate(M)), activate(N)) , x(X1, X2) -> n__x(X1, X2) , x(N, s(M)) -> U71(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , x(N, 0()) -> U61(and(isNat(N), n__isNatKind(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)) , isNatKind(n__x(V1, V2)) -> and(isNatKind(activate(V1)), n__isNatKind(activate(V2))) } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {3,4,17,22,32,34} by applications of Pre({3,4,17,22,32,34}) = {2,8,10,11,13,18,21,24,26,27,30,33,37}. 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^#(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: isNat^#(n__x(V1, V2)) -> c_6(U31^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , 8: U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , 9: U31^#(tt(), V1, V2) -> c_17(U32^#(isNat(activate(V1)), activate(V2))) , 10: activate^#(X) -> c_7(X) , 11: activate^#(n__0()) -> c_8(0^#()) , 12: activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) , 13: activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , 14: activate^#(n__s(X)) -> c_11(s^#(X)) , 15: activate^#(n__x(X1, X2)) -> c_12(x^#(X1, X2)) , 16: activate^#(n__and(X1, X2)) -> c_13(and^#(X1, X2)) , 17: 0^#() -> c_27() , 18: plus^#(X1, X2) -> c_23(X1, X2) , 19: plus^#(N, s(M)) -> c_24(U51^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , 20: plus^#(N, 0()) -> c_25(U41^#(and(isNat(N), n__isNatKind(N)), N)) , 21: isNatKind^#(X) -> c_34(X) , 22: isNatKind^#(n__0()) -> c_35() , 23: isNatKind^#(n__plus(V1, V2)) -> c_36(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 24: isNatKind^#(n__s(V1)) -> c_37(isNatKind^#(activate(V1))) , 25: isNatKind^#(n__x(V1, V2)) -> c_38(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 26: s^#(X) -> c_22(X) , 27: x^#(X1, X2) -> c_29(X1, X2) , 28: x^#(N, s(M)) -> c_30(U71^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , 29: x^#(N, 0()) -> c_31(U61^#(and(isNat(N), n__isNatKind(N)))) , 30: and^#(X1, X2) -> c_32(X1, X2) , 31: and^#(tt(), X) -> c_33(activate^#(X)) , 32: U22^#(tt()) -> c_16() , 33: U32^#(tt(), V2) -> c_18(U33^#(isNat(activate(V2)))) , 34: U33^#(tt()) -> c_19() , 35: U41^#(tt(), N) -> c_20(activate^#(N)) , 36: U51^#(tt(), M, N) -> c_21(s^#(plus(activate(N), activate(M)))) , 37: U61^#(tt()) -> c_26(0^#()) , 38: U71^#(tt(), M, N) -> c_28(plus^#(x(activate(N), activate(M)), activate(N))) } 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))) , isNat^#(n__x(V1, V2)) -> c_6(U31^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , U31^#(tt(), V1, V2) -> c_17(U32^#(isNat(activate(V1)), activate(V2))) , activate^#(X) -> c_7(X) , activate^#(n__0()) -> c_8(0^#()) , activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) , activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , activate^#(n__s(X)) -> c_11(s^#(X)) , activate^#(n__x(X1, X2)) -> c_12(x^#(X1, X2)) , activate^#(n__and(X1, X2)) -> c_13(and^#(X1, X2)) , plus^#(X1, X2) -> c_23(X1, X2) , plus^#(N, s(M)) -> c_24(U51^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_25(U41^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_34(X) , isNatKind^#(n__plus(V1, V2)) -> c_36(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_37(isNatKind^#(activate(V1))) , isNatKind^#(n__x(V1, V2)) -> c_38(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , s^#(X) -> c_22(X) , x^#(X1, X2) -> c_29(X1, X2) , x^#(N, s(M)) -> c_30(U71^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , x^#(N, 0()) -> c_31(U61^#(and(isNat(N), n__isNatKind(N)))) , and^#(X1, X2) -> c_32(X1, X2) , and^#(tt(), X) -> c_33(activate^#(X)) , U32^#(tt(), V2) -> c_18(U33^#(isNat(activate(V2)))) , U41^#(tt(), N) -> c_20(activate^#(N)) , U51^#(tt(), M, N) -> c_21(s^#(plus(activate(N), activate(M)))) , U61^#(tt()) -> c_26(0^#()) , U71^#(tt(), M, N) -> c_28(plus^#(x(activate(N), activate(M)), activate(N))) } 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)) , isNat(n__x(V1, V2)) -> U31(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2)) , 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__x(X1, X2)) -> x(X1, X2) , activate(n__and(X1, X2)) -> and(X1, X2) , U13(tt()) -> tt() , U21(tt(), V1) -> U22(isNat(activate(V1))) , U22(tt()) -> tt() , U31(tt(), V1, V2) -> U32(isNat(activate(V1)), activate(V2)) , U32(tt(), V2) -> U33(isNat(activate(V2))) , U33(tt()) -> tt() , U41(tt(), N) -> activate(N) , U51(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)) -> U51(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , plus(N, 0()) -> U41(and(isNat(N), n__isNatKind(N)), N) , U61(tt()) -> 0() , 0() -> n__0() , U71(tt(), M, N) -> plus(x(activate(N), activate(M)), activate(N)) , x(X1, X2) -> n__x(X1, X2) , x(N, s(M)) -> U71(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , x(N, 0()) -> U61(and(isNat(N), n__isNatKind(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)) , isNatKind(n__x(V1, V2)) -> and(isNatKind(activate(V1)), n__isNatKind(activate(V2))) } Weak DPs: { U13^#(tt()) -> c_14() , isNat^#(n__0()) -> c_3() , 0^#() -> c_27() , isNatKind^#(n__0()) -> c_35() , U22^#(tt()) -> c_16() , U33^#(tt()) -> c_19() } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {2,6,9,28,31} by applications of Pre({2,6,9,28,31}) = {1,4,7,8,15,18,22,23,25,26,27,29}. 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: isNat^#(n__x(V1, V2)) -> c_6(U31^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , 6: U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , 7: U31^#(tt(), V1, V2) -> c_17(U32^#(isNat(activate(V1)), activate(V2))) , 8: activate^#(X) -> c_7(X) , 9: activate^#(n__0()) -> c_8(0^#()) , 10: activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) , 11: activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , 12: activate^#(n__s(X)) -> c_11(s^#(X)) , 13: activate^#(n__x(X1, X2)) -> c_12(x^#(X1, X2)) , 14: activate^#(n__and(X1, X2)) -> c_13(and^#(X1, X2)) , 15: plus^#(X1, X2) -> c_23(X1, X2) , 16: plus^#(N, s(M)) -> c_24(U51^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , 17: plus^#(N, 0()) -> c_25(U41^#(and(isNat(N), n__isNatKind(N)), N)) , 18: isNatKind^#(X) -> c_34(X) , 19: isNatKind^#(n__plus(V1, V2)) -> c_36(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 20: isNatKind^#(n__s(V1)) -> c_37(isNatKind^#(activate(V1))) , 21: isNatKind^#(n__x(V1, V2)) -> c_38(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 22: s^#(X) -> c_22(X) , 23: x^#(X1, X2) -> c_29(X1, X2) , 24: x^#(N, s(M)) -> c_30(U71^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , 25: x^#(N, 0()) -> c_31(U61^#(and(isNat(N), n__isNatKind(N)))) , 26: and^#(X1, X2) -> c_32(X1, X2) , 27: and^#(tt(), X) -> c_33(activate^#(X)) , 28: U32^#(tt(), V2) -> c_18(U33^#(isNat(activate(V2)))) , 29: U41^#(tt(), N) -> c_20(activate^#(N)) , 30: U51^#(tt(), M, N) -> c_21(s^#(plus(activate(N), activate(M)))) , 31: U61^#(tt()) -> c_26(0^#()) , 32: U71^#(tt(), M, N) -> c_28(plus^#(x(activate(N), activate(M)), activate(N))) , 33: U13^#(tt()) -> c_14() , 34: isNat^#(n__0()) -> c_3() , 35: 0^#() -> c_27() , 36: isNatKind^#(n__0()) -> c_35() , 37: U22^#(tt()) -> c_16() , 38: U33^#(tt()) -> c_19() } 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))) , isNat^#(n__x(V1, V2)) -> c_6(U31^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , U31^#(tt(), V1, V2) -> c_17(U32^#(isNat(activate(V1)), activate(V2))) , activate^#(X) -> c_7(X) , activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) , activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , activate^#(n__s(X)) -> c_11(s^#(X)) , activate^#(n__x(X1, X2)) -> c_12(x^#(X1, X2)) , activate^#(n__and(X1, X2)) -> c_13(and^#(X1, X2)) , plus^#(X1, X2) -> c_23(X1, X2) , plus^#(N, s(M)) -> c_24(U51^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_25(U41^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_34(X) , isNatKind^#(n__plus(V1, V2)) -> c_36(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_37(isNatKind^#(activate(V1))) , isNatKind^#(n__x(V1, V2)) -> c_38(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , s^#(X) -> c_22(X) , x^#(X1, X2) -> c_29(X1, X2) , x^#(N, s(M)) -> c_30(U71^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , x^#(N, 0()) -> c_31(U61^#(and(isNat(N), n__isNatKind(N)))) , and^#(X1, X2) -> c_32(X1, X2) , and^#(tt(), X) -> c_33(activate^#(X)) , U41^#(tt(), N) -> c_20(activate^#(N)) , U51^#(tt(), M, N) -> c_21(s^#(plus(activate(N), activate(M)))) , U71^#(tt(), M, N) -> c_28(plus^#(x(activate(N), activate(M)), activate(N))) } 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)) , isNat(n__x(V1, V2)) -> U31(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2)) , 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__x(X1, X2)) -> x(X1, X2) , activate(n__and(X1, X2)) -> and(X1, X2) , U13(tt()) -> tt() , U21(tt(), V1) -> U22(isNat(activate(V1))) , U22(tt()) -> tt() , U31(tt(), V1, V2) -> U32(isNat(activate(V1)), activate(V2)) , U32(tt(), V2) -> U33(isNat(activate(V2))) , U33(tt()) -> tt() , U41(tt(), N) -> activate(N) , U51(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)) -> U51(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , plus(N, 0()) -> U41(and(isNat(N), n__isNatKind(N)), N) , U61(tt()) -> 0() , 0() -> n__0() , U71(tt(), M, N) -> plus(x(activate(N), activate(M)), activate(N)) , x(X1, X2) -> n__x(X1, X2) , x(N, s(M)) -> U71(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , x(N, 0()) -> U61(and(isNat(N), n__isNatKind(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)) , isNatKind(n__x(V1, V2)) -> and(isNatKind(activate(V1)), n__isNatKind(activate(V2))) } Weak DPs: { U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , U13^#(tt()) -> c_14() , isNat^#(n__0()) -> c_3() , U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , activate^#(n__0()) -> c_8(0^#()) , 0^#() -> c_27() , isNatKind^#(n__0()) -> c_35() , U22^#(tt()) -> c_16() , U32^#(tt(), V2) -> c_18(U33^#(isNat(activate(V2)))) , U33^#(tt()) -> c_19() , U61^#(tt()) -> c_26(0^#()) } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {1,3,5,22} by applications of Pre({1,3,5,22}) = {2,4,6,10,12,15,19,20,23}. 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: isNat^#(n__x(V1, V2)) -> c_6(U31^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , 5: U31^#(tt(), V1, V2) -> c_17(U32^#(isNat(activate(V1)), activate(V2))) , 6: activate^#(X) -> c_7(X) , 7: activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) , 8: activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , 9: activate^#(n__s(X)) -> c_11(s^#(X)) , 10: activate^#(n__x(X1, X2)) -> c_12(x^#(X1, X2)) , 11: activate^#(n__and(X1, X2)) -> c_13(and^#(X1, X2)) , 12: plus^#(X1, X2) -> c_23(X1, X2) , 13: plus^#(N, s(M)) -> c_24(U51^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , 14: plus^#(N, 0()) -> c_25(U41^#(and(isNat(N), n__isNatKind(N)), N)) , 15: isNatKind^#(X) -> c_34(X) , 16: isNatKind^#(n__plus(V1, V2)) -> c_36(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 17: isNatKind^#(n__s(V1)) -> c_37(isNatKind^#(activate(V1))) , 18: isNatKind^#(n__x(V1, V2)) -> c_38(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 19: s^#(X) -> c_22(X) , 20: x^#(X1, X2) -> c_29(X1, X2) , 21: x^#(N, s(M)) -> c_30(U71^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , 22: x^#(N, 0()) -> c_31(U61^#(and(isNat(N), n__isNatKind(N)))) , 23: and^#(X1, X2) -> c_32(X1, X2) , 24: and^#(tt(), X) -> c_33(activate^#(X)) , 25: U41^#(tt(), N) -> c_20(activate^#(N)) , 26: U51^#(tt(), M, N) -> c_21(s^#(plus(activate(N), activate(M)))) , 27: U71^#(tt(), M, N) -> c_28(plus^#(x(activate(N), activate(M)), activate(N))) , 28: U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , 29: U13^#(tt()) -> c_14() , 30: isNat^#(n__0()) -> c_3() , 31: U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , 32: activate^#(n__0()) -> c_8(0^#()) , 33: 0^#() -> c_27() , 34: isNatKind^#(n__0()) -> c_35() , 35: U22^#(tt()) -> c_16() , 36: U32^#(tt(), V2) -> c_18(U33^#(isNat(activate(V2)))) , 37: U33^#(tt()) -> c_19() , 38: U61^#(tt()) -> c_26(0^#()) } 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))) , isNat^#(n__x(V1, V2)) -> c_6(U31^#(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^#(X1, X2)) , activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , activate^#(n__s(X)) -> c_11(s^#(X)) , activate^#(n__x(X1, X2)) -> c_12(x^#(X1, X2)) , activate^#(n__and(X1, X2)) -> c_13(and^#(X1, X2)) , plus^#(X1, X2) -> c_23(X1, X2) , plus^#(N, s(M)) -> c_24(U51^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_25(U41^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_34(X) , isNatKind^#(n__plus(V1, V2)) -> c_36(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_37(isNatKind^#(activate(V1))) , isNatKind^#(n__x(V1, V2)) -> c_38(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , s^#(X) -> c_22(X) , x^#(X1, X2) -> c_29(X1, X2) , x^#(N, s(M)) -> c_30(U71^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , and^#(X1, X2) -> c_32(X1, X2) , and^#(tt(), X) -> c_33(activate^#(X)) , U41^#(tt(), N) -> c_20(activate^#(N)) , U51^#(tt(), M, N) -> c_21(s^#(plus(activate(N), activate(M)))) , U71^#(tt(), M, N) -> c_28(plus^#(x(activate(N), activate(M)), activate(N))) } 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)) , isNat(n__x(V1, V2)) -> U31(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2)) , 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__x(X1, X2)) -> x(X1, X2) , activate(n__and(X1, X2)) -> and(X1, X2) , U13(tt()) -> tt() , U21(tt(), V1) -> U22(isNat(activate(V1))) , U22(tt()) -> tt() , U31(tt(), V1, V2) -> U32(isNat(activate(V1)), activate(V2)) , U32(tt(), V2) -> U33(isNat(activate(V2))) , U33(tt()) -> tt() , U41(tt(), N) -> activate(N) , U51(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)) -> U51(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , plus(N, 0()) -> U41(and(isNat(N), n__isNatKind(N)), N) , U61(tt()) -> 0() , 0() -> n__0() , U71(tt(), M, N) -> plus(x(activate(N), activate(M)), activate(N)) , x(X1, X2) -> n__x(X1, X2) , x(N, s(M)) -> U71(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , x(N, 0()) -> U61(and(isNat(N), n__isNatKind(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)) , isNatKind(n__x(V1, V2)) -> and(isNatKind(activate(V1)), n__isNatKind(activate(V2))) } 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_3() , isNat^#(n__s(V1)) -> c_5(U21^#(isNatKind(activate(V1)), activate(V1))) , U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , U31^#(tt(), V1, V2) -> c_17(U32^#(isNat(activate(V1)), activate(V2))) , activate^#(n__0()) -> c_8(0^#()) , 0^#() -> c_27() , isNatKind^#(n__0()) -> c_35() , x^#(N, 0()) -> c_31(U61^#(and(isNat(N), n__isNatKind(N)))) , U22^#(tt()) -> c_16() , U32^#(tt(), V2) -> c_18(U33^#(isNat(activate(V2)))) , U33^#(tt()) -> c_19() , U61^#(tt()) -> c_26(0^#()) } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {1,2} by applications of Pre({1,2}) = {3,9,12,16,17,19}. 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: isNat^#(n__x(V1, V2)) -> c_6(U31^#(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^#(X1, X2)) , 5: activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , 6: activate^#(n__s(X)) -> c_11(s^#(X)) , 7: activate^#(n__x(X1, X2)) -> c_12(x^#(X1, X2)) , 8: activate^#(n__and(X1, X2)) -> c_13(and^#(X1, X2)) , 9: plus^#(X1, X2) -> c_23(X1, X2) , 10: plus^#(N, s(M)) -> c_24(U51^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , 11: plus^#(N, 0()) -> c_25(U41^#(and(isNat(N), n__isNatKind(N)), N)) , 12: isNatKind^#(X) -> c_34(X) , 13: isNatKind^#(n__plus(V1, V2)) -> c_36(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 14: isNatKind^#(n__s(V1)) -> c_37(isNatKind^#(activate(V1))) , 15: isNatKind^#(n__x(V1, V2)) -> c_38(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , 16: s^#(X) -> c_22(X) , 17: x^#(X1, X2) -> c_29(X1, X2) , 18: x^#(N, s(M)) -> c_30(U71^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , 19: and^#(X1, X2) -> c_32(X1, X2) , 20: and^#(tt(), X) -> c_33(activate^#(X)) , 21: U41^#(tt(), N) -> c_20(activate^#(N)) , 22: U51^#(tt(), M, N) -> c_21(s^#(plus(activate(N), activate(M)))) , 23: U71^#(tt(), M, N) -> c_28(plus^#(x(activate(N), activate(M)), activate(N))) , 24: U11^#(tt(), V1, V2) -> c_1(U12^#(isNat(activate(V1)), activate(V2))) , 25: U12^#(tt(), V2) -> c_2(U13^#(isNat(activate(V2)))) , 26: U13^#(tt()) -> c_14() , 27: isNat^#(n__0()) -> c_3() , 28: isNat^#(n__s(V1)) -> c_5(U21^#(isNatKind(activate(V1)), activate(V1))) , 29: U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , 30: U31^#(tt(), V1, V2) -> c_17(U32^#(isNat(activate(V1)), activate(V2))) , 31: activate^#(n__0()) -> c_8(0^#()) , 32: 0^#() -> c_27() , 33: isNatKind^#(n__0()) -> c_35() , 34: x^#(N, 0()) -> c_31(U61^#(and(isNat(N), n__isNatKind(N)))) , 35: U22^#(tt()) -> c_16() , 36: U32^#(tt(), V2) -> c_18(U33^#(isNat(activate(V2)))) , 37: U33^#(tt()) -> c_19() , 38: U61^#(tt()) -> c_26(0^#()) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { activate^#(X) -> c_7(X) , activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) , activate^#(n__isNatKind(X)) -> c_10(isNatKind^#(X)) , activate^#(n__s(X)) -> c_11(s^#(X)) , activate^#(n__x(X1, X2)) -> c_12(x^#(X1, X2)) , activate^#(n__and(X1, X2)) -> c_13(and^#(X1, X2)) , plus^#(X1, X2) -> c_23(X1, X2) , plus^#(N, s(M)) -> c_24(U51^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , plus^#(N, 0()) -> c_25(U41^#(and(isNat(N), n__isNatKind(N)), N)) , isNatKind^#(X) -> c_34(X) , isNatKind^#(n__plus(V1, V2)) -> c_36(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , isNatKind^#(n__s(V1)) -> c_37(isNatKind^#(activate(V1))) , isNatKind^#(n__x(V1, V2)) -> c_38(and^#(isNatKind(activate(V1)), n__isNatKind(activate(V2)))) , s^#(X) -> c_22(X) , x^#(X1, X2) -> c_29(X1, X2) , x^#(N, s(M)) -> c_30(U71^#(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N)) , and^#(X1, X2) -> c_32(X1, X2) , and^#(tt(), X) -> c_33(activate^#(X)) , U41^#(tt(), N) -> c_20(activate^#(N)) , U51^#(tt(), M, N) -> c_21(s^#(plus(activate(N), activate(M)))) , U71^#(tt(), M, N) -> c_28(plus^#(x(activate(N), activate(M)), activate(N))) } 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)) , isNat(n__x(V1, V2)) -> U31(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2)) , 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__x(X1, X2)) -> x(X1, X2) , activate(n__and(X1, X2)) -> and(X1, X2) , U13(tt()) -> tt() , U21(tt(), V1) -> U22(isNat(activate(V1))) , U22(tt()) -> tt() , U31(tt(), V1, V2) -> U32(isNat(activate(V1)), activate(V2)) , U32(tt(), V2) -> U33(isNat(activate(V2))) , U33(tt()) -> tt() , U41(tt(), N) -> activate(N) , U51(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)) -> U51(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , plus(N, 0()) -> U41(and(isNat(N), n__isNatKind(N)), N) , U61(tt()) -> 0() , 0() -> n__0() , U71(tt(), M, N) -> plus(x(activate(N), activate(M)), activate(N)) , x(X1, X2) -> n__x(X1, X2) , x(N, s(M)) -> U71(and(and(isNat(M), n__isNatKind(M)), n__and(isNat(N), n__isNatKind(N))), M, N) , x(N, 0()) -> U61(and(isNat(N), n__isNatKind(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)) , isNatKind(n__x(V1, V2)) -> and(isNatKind(activate(V1)), n__isNatKind(activate(V2))) } 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_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))) , isNat^#(n__x(V1, V2)) -> c_6(U31^#(and(isNatKind(activate(V1)), n__isNatKind(activate(V2))), activate(V1), activate(V2))) , U21^#(tt(), V1) -> c_15(U22^#(isNat(activate(V1)))) , U31^#(tt(), V1, V2) -> c_17(U32^#(isNat(activate(V1)), activate(V2))) , activate^#(n__0()) -> c_8(0^#()) , 0^#() -> c_27() , isNatKind^#(n__0()) -> c_35() , x^#(N, 0()) -> c_31(U61^#(and(isNat(N), n__isNatKind(N)))) , U22^#(tt()) -> c_16() , U32^#(tt(), V2) -> c_18(U33^#(isNat(activate(V2)))) , U33^#(tt()) -> c_19() , U61^#(tt()) -> c_26(0^#()) } Obligation: runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..