MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { a__U11(X1, X2) -> U11(X1, X2) , a__U11(tt(), N) -> mark(N) , mark(tt()) -> tt() , mark(s(X)) -> s(mark(X)) , mark(0()) -> 0() , mark(plus(X1, X2)) -> a__plus(mark(X1), mark(X2)) , mark(isNat(X)) -> a__isNat(X) , mark(x(X1, X2)) -> a__x(mark(X1), mark(X2)) , mark(U11(X1, X2)) -> a__U11(mark(X1), X2) , mark(U21(X1, X2, X3)) -> a__U21(mark(X1), X2, X3) , mark(U31(X)) -> a__U31(mark(X)) , mark(U41(X1, X2, X3)) -> a__U41(mark(X1), X2, X3) , mark(and(X1, X2)) -> a__and(mark(X1), X2) , a__U21(X1, X2, X3) -> U21(X1, X2, X3) , a__U21(tt(), M, N) -> s(a__plus(mark(N), mark(M))) , a__plus(X1, X2) -> plus(X1, X2) , a__plus(N, s(M)) -> a__U21(a__and(a__isNat(M), isNat(N)), M, N) , a__plus(N, 0()) -> a__U11(a__isNat(N), N) , a__U31(X) -> U31(X) , a__U31(tt()) -> 0() , a__U41(X1, X2, X3) -> U41(X1, X2, X3) , a__U41(tt(), M, N) -> a__plus(a__x(mark(N), mark(M)), mark(N)) , a__x(X1, X2) -> x(X1, X2) , a__x(N, s(M)) -> a__U41(a__and(a__isNat(M), isNat(N)), M, N) , a__x(N, 0()) -> a__U31(a__isNat(N)) , a__and(X1, X2) -> and(X1, X2) , a__and(tt(), X) -> mark(X) , a__isNat(X) -> isNat(X) , a__isNat(s(V1)) -> a__isNat(V1) , a__isNat(0()) -> tt() , a__isNat(plus(V1, V2)) -> a__and(a__isNat(V1), isNat(V2)) , a__isNat(x(V1, V2)) -> a__and(a__isNat(V1), isNat(V2)) } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { a__U11^#(X1, X2) -> c_1() , a__U11^#(tt(), N) -> c_2(mark^#(N)) , mark^#(tt()) -> c_3() , mark^#(s(X)) -> c_4(mark^#(X)) , mark^#(0()) -> c_5() , mark^#(plus(X1, X2)) -> c_6(a__plus^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(isNat(X)) -> c_7(a__isNat^#(X)) , mark^#(x(X1, X2)) -> c_8(a__x^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(U11(X1, X2)) -> c_9(a__U11^#(mark(X1), X2), mark^#(X1)) , mark^#(U21(X1, X2, X3)) -> c_10(a__U21^#(mark(X1), X2, X3), mark^#(X1)) , mark^#(U31(X)) -> c_11(a__U31^#(mark(X)), mark^#(X)) , mark^#(U41(X1, X2, X3)) -> c_12(a__U41^#(mark(X1), X2, X3), mark^#(X1)) , mark^#(and(X1, X2)) -> c_13(a__and^#(mark(X1), X2), mark^#(X1)) , a__plus^#(X1, X2) -> c_16() , a__plus^#(N, s(M)) -> c_17(a__U21^#(a__and(a__isNat(M), isNat(N)), M, N), a__and^#(a__isNat(M), isNat(N)), a__isNat^#(M)) , a__plus^#(N, 0()) -> c_18(a__U11^#(a__isNat(N), N), a__isNat^#(N)) , a__isNat^#(X) -> c_28() , a__isNat^#(s(V1)) -> c_29(a__isNat^#(V1)) , a__isNat^#(0()) -> c_30() , a__isNat^#(plus(V1, V2)) -> c_31(a__and^#(a__isNat(V1), isNat(V2)), a__isNat^#(V1)) , a__isNat^#(x(V1, V2)) -> c_32(a__and^#(a__isNat(V1), isNat(V2)), a__isNat^#(V1)) , a__x^#(X1, X2) -> c_23() , a__x^#(N, s(M)) -> c_24(a__U41^#(a__and(a__isNat(M), isNat(N)), M, N), a__and^#(a__isNat(M), isNat(N)), a__isNat^#(M)) , a__x^#(N, 0()) -> c_25(a__U31^#(a__isNat(N)), a__isNat^#(N)) , a__U21^#(X1, X2, X3) -> c_14() , a__U21^#(tt(), M, N) -> c_15(a__plus^#(mark(N), mark(M)), mark^#(N), mark^#(M)) , a__U31^#(X) -> c_19() , a__U31^#(tt()) -> c_20() , a__U41^#(X1, X2, X3) -> c_21() , a__U41^#(tt(), M, N) -> c_22(a__plus^#(a__x(mark(N), mark(M)), mark(N)), a__x^#(mark(N), mark(M)), mark^#(N), mark^#(M), mark^#(N)) , a__and^#(X1, X2) -> c_26() , a__and^#(tt(), X) -> c_27(mark^#(X)) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { a__U11^#(X1, X2) -> c_1() , a__U11^#(tt(), N) -> c_2(mark^#(N)) , mark^#(tt()) -> c_3() , mark^#(s(X)) -> c_4(mark^#(X)) , mark^#(0()) -> c_5() , mark^#(plus(X1, X2)) -> c_6(a__plus^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(isNat(X)) -> c_7(a__isNat^#(X)) , mark^#(x(X1, X2)) -> c_8(a__x^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(U11(X1, X2)) -> c_9(a__U11^#(mark(X1), X2), mark^#(X1)) , mark^#(U21(X1, X2, X3)) -> c_10(a__U21^#(mark(X1), X2, X3), mark^#(X1)) , mark^#(U31(X)) -> c_11(a__U31^#(mark(X)), mark^#(X)) , mark^#(U41(X1, X2, X3)) -> c_12(a__U41^#(mark(X1), X2, X3), mark^#(X1)) , mark^#(and(X1, X2)) -> c_13(a__and^#(mark(X1), X2), mark^#(X1)) , a__plus^#(X1, X2) -> c_16() , a__plus^#(N, s(M)) -> c_17(a__U21^#(a__and(a__isNat(M), isNat(N)), M, N), a__and^#(a__isNat(M), isNat(N)), a__isNat^#(M)) , a__plus^#(N, 0()) -> c_18(a__U11^#(a__isNat(N), N), a__isNat^#(N)) , a__isNat^#(X) -> c_28() , a__isNat^#(s(V1)) -> c_29(a__isNat^#(V1)) , a__isNat^#(0()) -> c_30() , a__isNat^#(plus(V1, V2)) -> c_31(a__and^#(a__isNat(V1), isNat(V2)), a__isNat^#(V1)) , a__isNat^#(x(V1, V2)) -> c_32(a__and^#(a__isNat(V1), isNat(V2)), a__isNat^#(V1)) , a__x^#(X1, X2) -> c_23() , a__x^#(N, s(M)) -> c_24(a__U41^#(a__and(a__isNat(M), isNat(N)), M, N), a__and^#(a__isNat(M), isNat(N)), a__isNat^#(M)) , a__x^#(N, 0()) -> c_25(a__U31^#(a__isNat(N)), a__isNat^#(N)) , a__U21^#(X1, X2, X3) -> c_14() , a__U21^#(tt(), M, N) -> c_15(a__plus^#(mark(N), mark(M)), mark^#(N), mark^#(M)) , a__U31^#(X) -> c_19() , a__U31^#(tt()) -> c_20() , a__U41^#(X1, X2, X3) -> c_21() , a__U41^#(tt(), M, N) -> c_22(a__plus^#(a__x(mark(N), mark(M)), mark(N)), a__x^#(mark(N), mark(M)), mark^#(N), mark^#(M), mark^#(N)) , a__and^#(X1, X2) -> c_26() , a__and^#(tt(), X) -> c_27(mark^#(X)) } Weak Trs: { a__U11(X1, X2) -> U11(X1, X2) , a__U11(tt(), N) -> mark(N) , mark(tt()) -> tt() , mark(s(X)) -> s(mark(X)) , mark(0()) -> 0() , mark(plus(X1, X2)) -> a__plus(mark(X1), mark(X2)) , mark(isNat(X)) -> a__isNat(X) , mark(x(X1, X2)) -> a__x(mark(X1), mark(X2)) , mark(U11(X1, X2)) -> a__U11(mark(X1), X2) , mark(U21(X1, X2, X3)) -> a__U21(mark(X1), X2, X3) , mark(U31(X)) -> a__U31(mark(X)) , mark(U41(X1, X2, X3)) -> a__U41(mark(X1), X2, X3) , mark(and(X1, X2)) -> a__and(mark(X1), X2) , a__U21(X1, X2, X3) -> U21(X1, X2, X3) , a__U21(tt(), M, N) -> s(a__plus(mark(N), mark(M))) , a__plus(X1, X2) -> plus(X1, X2) , a__plus(N, s(M)) -> a__U21(a__and(a__isNat(M), isNat(N)), M, N) , a__plus(N, 0()) -> a__U11(a__isNat(N), N) , a__U31(X) -> U31(X) , a__U31(tt()) -> 0() , a__U41(X1, X2, X3) -> U41(X1, X2, X3) , a__U41(tt(), M, N) -> a__plus(a__x(mark(N), mark(M)), mark(N)) , a__x(X1, X2) -> x(X1, X2) , a__x(N, s(M)) -> a__U41(a__and(a__isNat(M), isNat(N)), M, N) , a__x(N, 0()) -> a__U31(a__isNat(N)) , a__and(X1, X2) -> and(X1, X2) , a__and(tt(), X) -> mark(X) , a__isNat(X) -> isNat(X) , a__isNat(s(V1)) -> a__isNat(V1) , a__isNat(0()) -> tt() , a__isNat(plus(V1, V2)) -> a__and(a__isNat(V1), isNat(V2)) , a__isNat(x(V1, V2)) -> a__and(a__isNat(V1), isNat(V2)) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,3,5,14,17,19,22,25,27,28,29,31} by applications of Pre({1,3,5,14,17,19,22,25,27,28,29,31}) = {2,4,6,7,8,9,10,11,12,13,15,16,18,20,21,23,24,26,30,32}. Here rules are labeled as follows: DPs: { 1: a__U11^#(X1, X2) -> c_1() , 2: a__U11^#(tt(), N) -> c_2(mark^#(N)) , 3: mark^#(tt()) -> c_3() , 4: mark^#(s(X)) -> c_4(mark^#(X)) , 5: mark^#(0()) -> c_5() , 6: mark^#(plus(X1, X2)) -> c_6(a__plus^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , 7: mark^#(isNat(X)) -> c_7(a__isNat^#(X)) , 8: mark^#(x(X1, X2)) -> c_8(a__x^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , 9: mark^#(U11(X1, X2)) -> c_9(a__U11^#(mark(X1), X2), mark^#(X1)) , 10: mark^#(U21(X1, X2, X3)) -> c_10(a__U21^#(mark(X1), X2, X3), mark^#(X1)) , 11: mark^#(U31(X)) -> c_11(a__U31^#(mark(X)), mark^#(X)) , 12: mark^#(U41(X1, X2, X3)) -> c_12(a__U41^#(mark(X1), X2, X3), mark^#(X1)) , 13: mark^#(and(X1, X2)) -> c_13(a__and^#(mark(X1), X2), mark^#(X1)) , 14: a__plus^#(X1, X2) -> c_16() , 15: a__plus^#(N, s(M)) -> c_17(a__U21^#(a__and(a__isNat(M), isNat(N)), M, N), a__and^#(a__isNat(M), isNat(N)), a__isNat^#(M)) , 16: a__plus^#(N, 0()) -> c_18(a__U11^#(a__isNat(N), N), a__isNat^#(N)) , 17: a__isNat^#(X) -> c_28() , 18: a__isNat^#(s(V1)) -> c_29(a__isNat^#(V1)) , 19: a__isNat^#(0()) -> c_30() , 20: a__isNat^#(plus(V1, V2)) -> c_31(a__and^#(a__isNat(V1), isNat(V2)), a__isNat^#(V1)) , 21: a__isNat^#(x(V1, V2)) -> c_32(a__and^#(a__isNat(V1), isNat(V2)), a__isNat^#(V1)) , 22: a__x^#(X1, X2) -> c_23() , 23: a__x^#(N, s(M)) -> c_24(a__U41^#(a__and(a__isNat(M), isNat(N)), M, N), a__and^#(a__isNat(M), isNat(N)), a__isNat^#(M)) , 24: a__x^#(N, 0()) -> c_25(a__U31^#(a__isNat(N)), a__isNat^#(N)) , 25: a__U21^#(X1, X2, X3) -> c_14() , 26: a__U21^#(tt(), M, N) -> c_15(a__plus^#(mark(N), mark(M)), mark^#(N), mark^#(M)) , 27: a__U31^#(X) -> c_19() , 28: a__U31^#(tt()) -> c_20() , 29: a__U41^#(X1, X2, X3) -> c_21() , 30: a__U41^#(tt(), M, N) -> c_22(a__plus^#(a__x(mark(N), mark(M)), mark(N)), a__x^#(mark(N), mark(M)), mark^#(N), mark^#(M), mark^#(N)) , 31: a__and^#(X1, X2) -> c_26() , 32: a__and^#(tt(), X) -> c_27(mark^#(X)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { a__U11^#(tt(), N) -> c_2(mark^#(N)) , mark^#(s(X)) -> c_4(mark^#(X)) , mark^#(plus(X1, X2)) -> c_6(a__plus^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(isNat(X)) -> c_7(a__isNat^#(X)) , mark^#(x(X1, X2)) -> c_8(a__x^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(U11(X1, X2)) -> c_9(a__U11^#(mark(X1), X2), mark^#(X1)) , mark^#(U21(X1, X2, X3)) -> c_10(a__U21^#(mark(X1), X2, X3), mark^#(X1)) , mark^#(U31(X)) -> c_11(a__U31^#(mark(X)), mark^#(X)) , mark^#(U41(X1, X2, X3)) -> c_12(a__U41^#(mark(X1), X2, X3), mark^#(X1)) , mark^#(and(X1, X2)) -> c_13(a__and^#(mark(X1), X2), mark^#(X1)) , a__plus^#(N, s(M)) -> c_17(a__U21^#(a__and(a__isNat(M), isNat(N)), M, N), a__and^#(a__isNat(M), isNat(N)), a__isNat^#(M)) , a__plus^#(N, 0()) -> c_18(a__U11^#(a__isNat(N), N), a__isNat^#(N)) , a__isNat^#(s(V1)) -> c_29(a__isNat^#(V1)) , a__isNat^#(plus(V1, V2)) -> c_31(a__and^#(a__isNat(V1), isNat(V2)), a__isNat^#(V1)) , a__isNat^#(x(V1, V2)) -> c_32(a__and^#(a__isNat(V1), isNat(V2)), a__isNat^#(V1)) , a__x^#(N, s(M)) -> c_24(a__U41^#(a__and(a__isNat(M), isNat(N)), M, N), a__and^#(a__isNat(M), isNat(N)), a__isNat^#(M)) , a__x^#(N, 0()) -> c_25(a__U31^#(a__isNat(N)), a__isNat^#(N)) , a__U21^#(tt(), M, N) -> c_15(a__plus^#(mark(N), mark(M)), mark^#(N), mark^#(M)) , a__U41^#(tt(), M, N) -> c_22(a__plus^#(a__x(mark(N), mark(M)), mark(N)), a__x^#(mark(N), mark(M)), mark^#(N), mark^#(M), mark^#(N)) , a__and^#(tt(), X) -> c_27(mark^#(X)) } Weak DPs: { a__U11^#(X1, X2) -> c_1() , mark^#(tt()) -> c_3() , mark^#(0()) -> c_5() , a__plus^#(X1, X2) -> c_16() , a__isNat^#(X) -> c_28() , a__isNat^#(0()) -> c_30() , a__x^#(X1, X2) -> c_23() , a__U21^#(X1, X2, X3) -> c_14() , a__U31^#(X) -> c_19() , a__U31^#(tt()) -> c_20() , a__U41^#(X1, X2, X3) -> c_21() , a__and^#(X1, X2) -> c_26() } Weak Trs: { a__U11(X1, X2) -> U11(X1, X2) , a__U11(tt(), N) -> mark(N) , mark(tt()) -> tt() , mark(s(X)) -> s(mark(X)) , mark(0()) -> 0() , mark(plus(X1, X2)) -> a__plus(mark(X1), mark(X2)) , mark(isNat(X)) -> a__isNat(X) , mark(x(X1, X2)) -> a__x(mark(X1), mark(X2)) , mark(U11(X1, X2)) -> a__U11(mark(X1), X2) , mark(U21(X1, X2, X3)) -> a__U21(mark(X1), X2, X3) , mark(U31(X)) -> a__U31(mark(X)) , mark(U41(X1, X2, X3)) -> a__U41(mark(X1), X2, X3) , mark(and(X1, X2)) -> a__and(mark(X1), X2) , a__U21(X1, X2, X3) -> U21(X1, X2, X3) , a__U21(tt(), M, N) -> s(a__plus(mark(N), mark(M))) , a__plus(X1, X2) -> plus(X1, X2) , a__plus(N, s(M)) -> a__U21(a__and(a__isNat(M), isNat(N)), M, N) , a__plus(N, 0()) -> a__U11(a__isNat(N), N) , a__U31(X) -> U31(X) , a__U31(tt()) -> 0() , a__U41(X1, X2, X3) -> U41(X1, X2, X3) , a__U41(tt(), M, N) -> a__plus(a__x(mark(N), mark(M)), mark(N)) , a__x(X1, X2) -> x(X1, X2) , a__x(N, s(M)) -> a__U41(a__and(a__isNat(M), isNat(N)), M, N) , a__x(N, 0()) -> a__U31(a__isNat(N)) , a__and(X1, X2) -> and(X1, X2) , a__and(tt(), X) -> mark(X) , a__isNat(X) -> isNat(X) , a__isNat(s(V1)) -> a__isNat(V1) , a__isNat(0()) -> tt() , a__isNat(plus(V1, V2)) -> a__and(a__isNat(V1), isNat(V2)) , a__isNat(x(V1, V2)) -> a__and(a__isNat(V1), isNat(V2)) } Obligation: innermost runtime complexity Answer: MAYBE The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. { a__U11^#(X1, X2) -> c_1() , mark^#(tt()) -> c_3() , mark^#(0()) -> c_5() , a__plus^#(X1, X2) -> c_16() , a__isNat^#(X) -> c_28() , a__isNat^#(0()) -> c_30() , a__x^#(X1, X2) -> c_23() , a__U21^#(X1, X2, X3) -> c_14() , a__U31^#(X) -> c_19() , a__U31^#(tt()) -> c_20() , a__U41^#(X1, X2, X3) -> c_21() , a__and^#(X1, X2) -> c_26() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { a__U11^#(tt(), N) -> c_2(mark^#(N)) , mark^#(s(X)) -> c_4(mark^#(X)) , mark^#(plus(X1, X2)) -> c_6(a__plus^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(isNat(X)) -> c_7(a__isNat^#(X)) , mark^#(x(X1, X2)) -> c_8(a__x^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(U11(X1, X2)) -> c_9(a__U11^#(mark(X1), X2), mark^#(X1)) , mark^#(U21(X1, X2, X3)) -> c_10(a__U21^#(mark(X1), X2, X3), mark^#(X1)) , mark^#(U31(X)) -> c_11(a__U31^#(mark(X)), mark^#(X)) , mark^#(U41(X1, X2, X3)) -> c_12(a__U41^#(mark(X1), X2, X3), mark^#(X1)) , mark^#(and(X1, X2)) -> c_13(a__and^#(mark(X1), X2), mark^#(X1)) , a__plus^#(N, s(M)) -> c_17(a__U21^#(a__and(a__isNat(M), isNat(N)), M, N), a__and^#(a__isNat(M), isNat(N)), a__isNat^#(M)) , a__plus^#(N, 0()) -> c_18(a__U11^#(a__isNat(N), N), a__isNat^#(N)) , a__isNat^#(s(V1)) -> c_29(a__isNat^#(V1)) , a__isNat^#(plus(V1, V2)) -> c_31(a__and^#(a__isNat(V1), isNat(V2)), a__isNat^#(V1)) , a__isNat^#(x(V1, V2)) -> c_32(a__and^#(a__isNat(V1), isNat(V2)), a__isNat^#(V1)) , a__x^#(N, s(M)) -> c_24(a__U41^#(a__and(a__isNat(M), isNat(N)), M, N), a__and^#(a__isNat(M), isNat(N)), a__isNat^#(M)) , a__x^#(N, 0()) -> c_25(a__U31^#(a__isNat(N)), a__isNat^#(N)) , a__U21^#(tt(), M, N) -> c_15(a__plus^#(mark(N), mark(M)), mark^#(N), mark^#(M)) , a__U41^#(tt(), M, N) -> c_22(a__plus^#(a__x(mark(N), mark(M)), mark(N)), a__x^#(mark(N), mark(M)), mark^#(N), mark^#(M), mark^#(N)) , a__and^#(tt(), X) -> c_27(mark^#(X)) } Weak Trs: { a__U11(X1, X2) -> U11(X1, X2) , a__U11(tt(), N) -> mark(N) , mark(tt()) -> tt() , mark(s(X)) -> s(mark(X)) , mark(0()) -> 0() , mark(plus(X1, X2)) -> a__plus(mark(X1), mark(X2)) , mark(isNat(X)) -> a__isNat(X) , mark(x(X1, X2)) -> a__x(mark(X1), mark(X2)) , mark(U11(X1, X2)) -> a__U11(mark(X1), X2) , mark(U21(X1, X2, X3)) -> a__U21(mark(X1), X2, X3) , mark(U31(X)) -> a__U31(mark(X)) , mark(U41(X1, X2, X3)) -> a__U41(mark(X1), X2, X3) , mark(and(X1, X2)) -> a__and(mark(X1), X2) , a__U21(X1, X2, X3) -> U21(X1, X2, X3) , a__U21(tt(), M, N) -> s(a__plus(mark(N), mark(M))) , a__plus(X1, X2) -> plus(X1, X2) , a__plus(N, s(M)) -> a__U21(a__and(a__isNat(M), isNat(N)), M, N) , a__plus(N, 0()) -> a__U11(a__isNat(N), N) , a__U31(X) -> U31(X) , a__U31(tt()) -> 0() , a__U41(X1, X2, X3) -> U41(X1, X2, X3) , a__U41(tt(), M, N) -> a__plus(a__x(mark(N), mark(M)), mark(N)) , a__x(X1, X2) -> x(X1, X2) , a__x(N, s(M)) -> a__U41(a__and(a__isNat(M), isNat(N)), M, N) , a__x(N, 0()) -> a__U31(a__isNat(N)) , a__and(X1, X2) -> and(X1, X2) , a__and(tt(), X) -> mark(X) , a__isNat(X) -> isNat(X) , a__isNat(s(V1)) -> a__isNat(V1) , a__isNat(0()) -> tt() , a__isNat(plus(V1, V2)) -> a__and(a__isNat(V1), isNat(V2)) , a__isNat(x(V1, V2)) -> a__and(a__isNat(V1), isNat(V2)) } Obligation: innermost runtime complexity Answer: MAYBE Due to missing edges in the dependency-graph, the right-hand sides of following rules could be simplified: { mark^#(U31(X)) -> c_11(a__U31^#(mark(X)), mark^#(X)) , a__x^#(N, 0()) -> c_25(a__U31^#(a__isNat(N)), a__isNat^#(N)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { a__U11^#(tt(), N) -> c_1(mark^#(N)) , mark^#(s(X)) -> c_2(mark^#(X)) , mark^#(plus(X1, X2)) -> c_3(a__plus^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(isNat(X)) -> c_4(a__isNat^#(X)) , mark^#(x(X1, X2)) -> c_5(a__x^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(U11(X1, X2)) -> c_6(a__U11^#(mark(X1), X2), mark^#(X1)) , mark^#(U21(X1, X2, X3)) -> c_7(a__U21^#(mark(X1), X2, X3), mark^#(X1)) , mark^#(U31(X)) -> c_8(mark^#(X)) , mark^#(U41(X1, X2, X3)) -> c_9(a__U41^#(mark(X1), X2, X3), mark^#(X1)) , mark^#(and(X1, X2)) -> c_10(a__and^#(mark(X1), X2), mark^#(X1)) , a__plus^#(N, s(M)) -> c_11(a__U21^#(a__and(a__isNat(M), isNat(N)), M, N), a__and^#(a__isNat(M), isNat(N)), a__isNat^#(M)) , a__plus^#(N, 0()) -> c_12(a__U11^#(a__isNat(N), N), a__isNat^#(N)) , a__isNat^#(s(V1)) -> c_13(a__isNat^#(V1)) , a__isNat^#(plus(V1, V2)) -> c_14(a__and^#(a__isNat(V1), isNat(V2)), a__isNat^#(V1)) , a__isNat^#(x(V1, V2)) -> c_15(a__and^#(a__isNat(V1), isNat(V2)), a__isNat^#(V1)) , a__x^#(N, s(M)) -> c_16(a__U41^#(a__and(a__isNat(M), isNat(N)), M, N), a__and^#(a__isNat(M), isNat(N)), a__isNat^#(M)) , a__x^#(N, 0()) -> c_17(a__isNat^#(N)) , a__U21^#(tt(), M, N) -> c_18(a__plus^#(mark(N), mark(M)), mark^#(N), mark^#(M)) , a__U41^#(tt(), M, N) -> c_19(a__plus^#(a__x(mark(N), mark(M)), mark(N)), a__x^#(mark(N), mark(M)), mark^#(N), mark^#(M), mark^#(N)) , a__and^#(tt(), X) -> c_20(mark^#(X)) } Weak Trs: { a__U11(X1, X2) -> U11(X1, X2) , a__U11(tt(), N) -> mark(N) , mark(tt()) -> tt() , mark(s(X)) -> s(mark(X)) , mark(0()) -> 0() , mark(plus(X1, X2)) -> a__plus(mark(X1), mark(X2)) , mark(isNat(X)) -> a__isNat(X) , mark(x(X1, X2)) -> a__x(mark(X1), mark(X2)) , mark(U11(X1, X2)) -> a__U11(mark(X1), X2) , mark(U21(X1, X2, X3)) -> a__U21(mark(X1), X2, X3) , mark(U31(X)) -> a__U31(mark(X)) , mark(U41(X1, X2, X3)) -> a__U41(mark(X1), X2, X3) , mark(and(X1, X2)) -> a__and(mark(X1), X2) , a__U21(X1, X2, X3) -> U21(X1, X2, X3) , a__U21(tt(), M, N) -> s(a__plus(mark(N), mark(M))) , a__plus(X1, X2) -> plus(X1, X2) , a__plus(N, s(M)) -> a__U21(a__and(a__isNat(M), isNat(N)), M, N) , a__plus(N, 0()) -> a__U11(a__isNat(N), N) , a__U31(X) -> U31(X) , a__U31(tt()) -> 0() , a__U41(X1, X2, X3) -> U41(X1, X2, X3) , a__U41(tt(), M, N) -> a__plus(a__x(mark(N), mark(M)), mark(N)) , a__x(X1, X2) -> x(X1, X2) , a__x(N, s(M)) -> a__U41(a__and(a__isNat(M), isNat(N)), M, N) , a__x(N, 0()) -> a__U31(a__isNat(N)) , a__and(X1, X2) -> and(X1, X2) , a__and(tt(), X) -> mark(X) , a__isNat(X) -> isNat(X) , a__isNat(s(V1)) -> a__isNat(V1) , a__isNat(0()) -> tt() , a__isNat(plus(V1, V2)) -> a__and(a__isNat(V1), isNat(V2)) , a__isNat(x(V1, V2)) -> a__and(a__isNat(V1), isNat(V2)) } Obligation: innermost runtime complexity Answer: MAYBE None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'matrices' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'matrix interpretation of dimension 4' failed due to the following reason: Following exception was raised: stack overflow 2) 'matrix interpretation of dimension 3' failed due to the following reason: Following exception was raised: stack overflow 3) 'matrix interpretation of dimension 3' failed due to the following reason: The input cannot be shown compatible 4) 'matrix interpretation of dimension 2' failed due to the following reason: The input cannot be shown compatible 5) 'matrix interpretation of dimension 2' failed due to the following reason: The input cannot be shown compatible 6) 'matrix interpretation of dimension 1' failed due to the following reason: The input cannot be shown compatible 2) 'empty' failed due to the following reason: Empty strict component of the problem is NOT empty. Arrrr..