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