MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { a____(X1, X2) -> __(X1, X2) , a____(X, nil()) -> mark(X) , a____(__(X, Y), Z) -> a____(mark(X), a____(mark(Y), mark(Z))) , a____(nil(), X) -> mark(X) , mark(__(X1, X2)) -> a____(mark(X1), mark(X2)) , mark(nil()) -> nil() , mark(tt()) -> tt() , mark(a()) -> a() , mark(e()) -> e() , mark(i()) -> i() , mark(o()) -> o() , mark(u()) -> u() , mark(U11(X)) -> a__U11(mark(X)) , mark(U21(X1, X2)) -> a__U21(mark(X1), X2) , mark(U22(X)) -> a__U22(mark(X)) , mark(isList(X)) -> a__isList(X) , mark(U31(X)) -> a__U31(mark(X)) , mark(U41(X1, X2)) -> a__U41(mark(X1), X2) , mark(U42(X)) -> a__U42(mark(X)) , mark(isNeList(X)) -> a__isNeList(X) , mark(U51(X1, X2)) -> a__U51(mark(X1), X2) , mark(U52(X)) -> a__U52(mark(X)) , mark(U61(X)) -> a__U61(mark(X)) , mark(U71(X1, X2)) -> a__U71(mark(X1), X2) , mark(U72(X)) -> a__U72(mark(X)) , mark(isPal(X)) -> a__isPal(X) , mark(U81(X)) -> a__U81(mark(X)) , mark(isQid(X)) -> a__isQid(X) , mark(isNePal(X)) -> a__isNePal(X) , a__U11(X) -> U11(X) , a__U11(tt()) -> tt() , a__U21(X1, X2) -> U21(X1, X2) , a__U21(tt(), V2) -> a__U22(a__isList(V2)) , a__U22(X) -> U22(X) , a__U22(tt()) -> tt() , a__isList(V) -> a__U11(a__isNeList(V)) , a__isList(X) -> isList(X) , a__isList(__(V1, V2)) -> a__U21(a__isList(V1), V2) , a__isList(nil()) -> tt() , a__U31(X) -> U31(X) , a__U31(tt()) -> tt() , a__U41(X1, X2) -> U41(X1, X2) , a__U41(tt(), V2) -> a__U42(a__isNeList(V2)) , a__U42(X) -> U42(X) , a__U42(tt()) -> tt() , a__isNeList(V) -> a__U31(a__isQid(V)) , a__isNeList(X) -> isNeList(X) , a__isNeList(__(V1, V2)) -> a__U41(a__isList(V1), V2) , a__isNeList(__(V1, V2)) -> a__U51(a__isNeList(V1), V2) , a__U51(X1, X2) -> U51(X1, X2) , a__U51(tt(), V2) -> a__U52(a__isList(V2)) , a__U52(X) -> U52(X) , a__U52(tt()) -> tt() , a__U61(X) -> U61(X) , a__U61(tt()) -> tt() , a__U71(X1, X2) -> U71(X1, X2) , a__U71(tt(), P) -> a__U72(a__isPal(P)) , a__U72(X) -> U72(X) , a__U72(tt()) -> tt() , a__isPal(V) -> a__U81(a__isNePal(V)) , a__isPal(X) -> isPal(X) , a__isPal(nil()) -> tt() , a__U81(X) -> U81(X) , a__U81(tt()) -> tt() , a__isQid(X) -> isQid(X) , a__isQid(a()) -> tt() , a__isQid(e()) -> tt() , a__isQid(i()) -> tt() , a__isQid(o()) -> tt() , a__isQid(u()) -> tt() , a__isNePal(V) -> a__U61(a__isQid(V)) , a__isNePal(X) -> isNePal(X) , a__isNePal(__(I, __(P, I))) -> a__U71(a__isQid(I), P) } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { a____^#(X1, X2) -> c_1() , a____^#(X, nil()) -> c_2(mark^#(X)) , a____^#(__(X, Y), Z) -> c_3(a____^#(mark(X), a____(mark(Y), mark(Z))), mark^#(X), a____^#(mark(Y), mark(Z)), mark^#(Y), mark^#(Z)) , a____^#(nil(), X) -> c_4(mark^#(X)) , mark^#(__(X1, X2)) -> c_5(a____^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(nil()) -> c_6() , mark^#(tt()) -> c_7() , mark^#(a()) -> c_8() , mark^#(e()) -> c_9() , mark^#(i()) -> c_10() , mark^#(o()) -> c_11() , mark^#(u()) -> c_12() , mark^#(U11(X)) -> c_13(a__U11^#(mark(X)), mark^#(X)) , mark^#(U21(X1, X2)) -> c_14(a__U21^#(mark(X1), X2), mark^#(X1)) , mark^#(U22(X)) -> c_15(a__U22^#(mark(X)), mark^#(X)) , mark^#(isList(X)) -> c_16(a__isList^#(X)) , mark^#(U31(X)) -> c_17(a__U31^#(mark(X)), mark^#(X)) , mark^#(U41(X1, X2)) -> c_18(a__U41^#(mark(X1), X2), mark^#(X1)) , mark^#(U42(X)) -> c_19(a__U42^#(mark(X)), mark^#(X)) , mark^#(isNeList(X)) -> c_20(a__isNeList^#(X)) , mark^#(U51(X1, X2)) -> c_21(a__U51^#(mark(X1), X2), mark^#(X1)) , mark^#(U52(X)) -> c_22(a__U52^#(mark(X)), mark^#(X)) , mark^#(U61(X)) -> c_23(a__U61^#(mark(X)), mark^#(X)) , mark^#(U71(X1, X2)) -> c_24(a__U71^#(mark(X1), X2), mark^#(X1)) , mark^#(U72(X)) -> c_25(a__U72^#(mark(X)), mark^#(X)) , mark^#(isPal(X)) -> c_26(a__isPal^#(X)) , mark^#(U81(X)) -> c_27(a__U81^#(mark(X)), mark^#(X)) , mark^#(isQid(X)) -> c_28(a__isQid^#(X)) , mark^#(isNePal(X)) -> c_29(a__isNePal^#(X)) , a__U11^#(X) -> c_30() , a__U11^#(tt()) -> c_31() , a__U21^#(X1, X2) -> c_32() , a__U21^#(tt(), V2) -> c_33(a__U22^#(a__isList(V2)), a__isList^#(V2)) , a__U22^#(X) -> c_34() , a__U22^#(tt()) -> c_35() , a__isList^#(V) -> c_36(a__U11^#(a__isNeList(V)), a__isNeList^#(V)) , a__isList^#(X) -> c_37() , a__isList^#(__(V1, V2)) -> c_38(a__U21^#(a__isList(V1), V2), a__isList^#(V1)) , a__isList^#(nil()) -> c_39() , a__U31^#(X) -> c_40() , a__U31^#(tt()) -> c_41() , a__U41^#(X1, X2) -> c_42() , a__U41^#(tt(), V2) -> c_43(a__U42^#(a__isNeList(V2)), a__isNeList^#(V2)) , a__U42^#(X) -> c_44() , a__U42^#(tt()) -> c_45() , a__isNeList^#(V) -> c_46(a__U31^#(a__isQid(V)), a__isQid^#(V)) , a__isNeList^#(X) -> c_47() , a__isNeList^#(__(V1, V2)) -> c_48(a__U41^#(a__isList(V1), V2), a__isList^#(V1)) , a__isNeList^#(__(V1, V2)) -> c_49(a__U51^#(a__isNeList(V1), V2), a__isNeList^#(V1)) , a__U51^#(X1, X2) -> c_50() , a__U51^#(tt(), V2) -> c_51(a__U52^#(a__isList(V2)), a__isList^#(V2)) , a__U52^#(X) -> c_52() , a__U52^#(tt()) -> c_53() , a__U61^#(X) -> c_54() , a__U61^#(tt()) -> c_55() , a__U71^#(X1, X2) -> c_56() , a__U71^#(tt(), P) -> c_57(a__U72^#(a__isPal(P)), a__isPal^#(P)) , a__U72^#(X) -> c_58() , a__U72^#(tt()) -> c_59() , a__isPal^#(V) -> c_60(a__U81^#(a__isNePal(V)), a__isNePal^#(V)) , a__isPal^#(X) -> c_61() , a__isPal^#(nil()) -> c_62() , a__U81^#(X) -> c_63() , a__U81^#(tt()) -> c_64() , a__isQid^#(X) -> c_65() , a__isQid^#(a()) -> c_66() , a__isQid^#(e()) -> c_67() , a__isQid^#(i()) -> c_68() , a__isQid^#(o()) -> c_69() , a__isQid^#(u()) -> c_70() , a__isNePal^#(V) -> c_71(a__U61^#(a__isQid(V)), a__isQid^#(V)) , a__isNePal^#(X) -> c_72() , a__isNePal^#(__(I, __(P, I))) -> c_73(a__U71^#(a__isQid(I), P), a__isQid^#(I)) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { a____^#(X1, X2) -> c_1() , a____^#(X, nil()) -> c_2(mark^#(X)) , a____^#(__(X, Y), Z) -> c_3(a____^#(mark(X), a____(mark(Y), mark(Z))), mark^#(X), a____^#(mark(Y), mark(Z)), mark^#(Y), mark^#(Z)) , a____^#(nil(), X) -> c_4(mark^#(X)) , mark^#(__(X1, X2)) -> c_5(a____^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(nil()) -> c_6() , mark^#(tt()) -> c_7() , mark^#(a()) -> c_8() , mark^#(e()) -> c_9() , mark^#(i()) -> c_10() , mark^#(o()) -> c_11() , mark^#(u()) -> c_12() , mark^#(U11(X)) -> c_13(a__U11^#(mark(X)), mark^#(X)) , mark^#(U21(X1, X2)) -> c_14(a__U21^#(mark(X1), X2), mark^#(X1)) , mark^#(U22(X)) -> c_15(a__U22^#(mark(X)), mark^#(X)) , mark^#(isList(X)) -> c_16(a__isList^#(X)) , mark^#(U31(X)) -> c_17(a__U31^#(mark(X)), mark^#(X)) , mark^#(U41(X1, X2)) -> c_18(a__U41^#(mark(X1), X2), mark^#(X1)) , mark^#(U42(X)) -> c_19(a__U42^#(mark(X)), mark^#(X)) , mark^#(isNeList(X)) -> c_20(a__isNeList^#(X)) , mark^#(U51(X1, X2)) -> c_21(a__U51^#(mark(X1), X2), mark^#(X1)) , mark^#(U52(X)) -> c_22(a__U52^#(mark(X)), mark^#(X)) , mark^#(U61(X)) -> c_23(a__U61^#(mark(X)), mark^#(X)) , mark^#(U71(X1, X2)) -> c_24(a__U71^#(mark(X1), X2), mark^#(X1)) , mark^#(U72(X)) -> c_25(a__U72^#(mark(X)), mark^#(X)) , mark^#(isPal(X)) -> c_26(a__isPal^#(X)) , mark^#(U81(X)) -> c_27(a__U81^#(mark(X)), mark^#(X)) , mark^#(isQid(X)) -> c_28(a__isQid^#(X)) , mark^#(isNePal(X)) -> c_29(a__isNePal^#(X)) , a__U11^#(X) -> c_30() , a__U11^#(tt()) -> c_31() , a__U21^#(X1, X2) -> c_32() , a__U21^#(tt(), V2) -> c_33(a__U22^#(a__isList(V2)), a__isList^#(V2)) , a__U22^#(X) -> c_34() , a__U22^#(tt()) -> c_35() , a__isList^#(V) -> c_36(a__U11^#(a__isNeList(V)), a__isNeList^#(V)) , a__isList^#(X) -> c_37() , a__isList^#(__(V1, V2)) -> c_38(a__U21^#(a__isList(V1), V2), a__isList^#(V1)) , a__isList^#(nil()) -> c_39() , a__U31^#(X) -> c_40() , a__U31^#(tt()) -> c_41() , a__U41^#(X1, X2) -> c_42() , a__U41^#(tt(), V2) -> c_43(a__U42^#(a__isNeList(V2)), a__isNeList^#(V2)) , a__U42^#(X) -> c_44() , a__U42^#(tt()) -> c_45() , a__isNeList^#(V) -> c_46(a__U31^#(a__isQid(V)), a__isQid^#(V)) , a__isNeList^#(X) -> c_47() , a__isNeList^#(__(V1, V2)) -> c_48(a__U41^#(a__isList(V1), V2), a__isList^#(V1)) , a__isNeList^#(__(V1, V2)) -> c_49(a__U51^#(a__isNeList(V1), V2), a__isNeList^#(V1)) , a__U51^#(X1, X2) -> c_50() , a__U51^#(tt(), V2) -> c_51(a__U52^#(a__isList(V2)), a__isList^#(V2)) , a__U52^#(X) -> c_52() , a__U52^#(tt()) -> c_53() , a__U61^#(X) -> c_54() , a__U61^#(tt()) -> c_55() , a__U71^#(X1, X2) -> c_56() , a__U71^#(tt(), P) -> c_57(a__U72^#(a__isPal(P)), a__isPal^#(P)) , a__U72^#(X) -> c_58() , a__U72^#(tt()) -> c_59() , a__isPal^#(V) -> c_60(a__U81^#(a__isNePal(V)), a__isNePal^#(V)) , a__isPal^#(X) -> c_61() , a__isPal^#(nil()) -> c_62() , a__U81^#(X) -> c_63() , a__U81^#(tt()) -> c_64() , a__isQid^#(X) -> c_65() , a__isQid^#(a()) -> c_66() , a__isQid^#(e()) -> c_67() , a__isQid^#(i()) -> c_68() , a__isQid^#(o()) -> c_69() , a__isQid^#(u()) -> c_70() , a__isNePal^#(V) -> c_71(a__U61^#(a__isQid(V)), a__isQid^#(V)) , a__isNePal^#(X) -> c_72() , a__isNePal^#(__(I, __(P, I))) -> c_73(a__U71^#(a__isQid(I), P), a__isQid^#(I)) } Weak Trs: { a____(X1, X2) -> __(X1, X2) , a____(X, nil()) -> mark(X) , a____(__(X, Y), Z) -> a____(mark(X), a____(mark(Y), mark(Z))) , a____(nil(), X) -> mark(X) , mark(__(X1, X2)) -> a____(mark(X1), mark(X2)) , mark(nil()) -> nil() , mark(tt()) -> tt() , mark(a()) -> a() , mark(e()) -> e() , mark(i()) -> i() , mark(o()) -> o() , mark(u()) -> u() , mark(U11(X)) -> a__U11(mark(X)) , mark(U21(X1, X2)) -> a__U21(mark(X1), X2) , mark(U22(X)) -> a__U22(mark(X)) , mark(isList(X)) -> a__isList(X) , mark(U31(X)) -> a__U31(mark(X)) , mark(U41(X1, X2)) -> a__U41(mark(X1), X2) , mark(U42(X)) -> a__U42(mark(X)) , mark(isNeList(X)) -> a__isNeList(X) , mark(U51(X1, X2)) -> a__U51(mark(X1), X2) , mark(U52(X)) -> a__U52(mark(X)) , mark(U61(X)) -> a__U61(mark(X)) , mark(U71(X1, X2)) -> a__U71(mark(X1), X2) , mark(U72(X)) -> a__U72(mark(X)) , mark(isPal(X)) -> a__isPal(X) , mark(U81(X)) -> a__U81(mark(X)) , mark(isQid(X)) -> a__isQid(X) , mark(isNePal(X)) -> a__isNePal(X) , a__U11(X) -> U11(X) , a__U11(tt()) -> tt() , a__U21(X1, X2) -> U21(X1, X2) , a__U21(tt(), V2) -> a__U22(a__isList(V2)) , a__U22(X) -> U22(X) , a__U22(tt()) -> tt() , a__isList(V) -> a__U11(a__isNeList(V)) , a__isList(X) -> isList(X) , a__isList(__(V1, V2)) -> a__U21(a__isList(V1), V2) , a__isList(nil()) -> tt() , a__U31(X) -> U31(X) , a__U31(tt()) -> tt() , a__U41(X1, X2) -> U41(X1, X2) , a__U41(tt(), V2) -> a__U42(a__isNeList(V2)) , a__U42(X) -> U42(X) , a__U42(tt()) -> tt() , a__isNeList(V) -> a__U31(a__isQid(V)) , a__isNeList(X) -> isNeList(X) , a__isNeList(__(V1, V2)) -> a__U41(a__isList(V1), V2) , a__isNeList(__(V1, V2)) -> a__U51(a__isNeList(V1), V2) , a__U51(X1, X2) -> U51(X1, X2) , a__U51(tt(), V2) -> a__U52(a__isList(V2)) , a__U52(X) -> U52(X) , a__U52(tt()) -> tt() , a__U61(X) -> U61(X) , a__U61(tt()) -> tt() , a__U71(X1, X2) -> U71(X1, X2) , a__U71(tt(), P) -> a__U72(a__isPal(P)) , a__U72(X) -> U72(X) , a__U72(tt()) -> tt() , a__isPal(V) -> a__U81(a__isNePal(V)) , a__isPal(X) -> isPal(X) , a__isPal(nil()) -> tt() , a__U81(X) -> U81(X) , a__U81(tt()) -> tt() , a__isQid(X) -> isQid(X) , a__isQid(a()) -> tt() , a__isQid(e()) -> tt() , a__isQid(i()) -> tt() , a__isQid(o()) -> tt() , a__isQid(u()) -> tt() , a__isNePal(V) -> a__U61(a__isQid(V)) , a__isNePal(X) -> isNePal(X) , a__isNePal(__(I, __(P, I))) -> a__U71(a__isQid(I), P) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,6,7,8,9,10,11,12,30,31,32,34,35,37,39,40,41,42,44,45,47,50,52,53,54,55,56,58,59,61,62,63,64,65,66,67,68,69,70,72} by applications of Pre({1,6,7,8,9,10,11,12,30,31,32,34,35,37,39,40,41,42,44,45,47,50,52,53,54,55,56,58,59,61,62,63,64,65,66,67,68,69,70,72}) = {2,3,4,5,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,33,36,38,43,46,48,49,51,57,60,71,73}. Here rules are labeled as follows: DPs: { 1: a____^#(X1, X2) -> c_1() , 2: a____^#(X, nil()) -> c_2(mark^#(X)) , 3: a____^#(__(X, Y), Z) -> c_3(a____^#(mark(X), a____(mark(Y), mark(Z))), mark^#(X), a____^#(mark(Y), mark(Z)), mark^#(Y), mark^#(Z)) , 4: a____^#(nil(), X) -> c_4(mark^#(X)) , 5: mark^#(__(X1, X2)) -> c_5(a____^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , 6: mark^#(nil()) -> c_6() , 7: mark^#(tt()) -> c_7() , 8: mark^#(a()) -> c_8() , 9: mark^#(e()) -> c_9() , 10: mark^#(i()) -> c_10() , 11: mark^#(o()) -> c_11() , 12: mark^#(u()) -> c_12() , 13: mark^#(U11(X)) -> c_13(a__U11^#(mark(X)), mark^#(X)) , 14: mark^#(U21(X1, X2)) -> c_14(a__U21^#(mark(X1), X2), mark^#(X1)) , 15: mark^#(U22(X)) -> c_15(a__U22^#(mark(X)), mark^#(X)) , 16: mark^#(isList(X)) -> c_16(a__isList^#(X)) , 17: mark^#(U31(X)) -> c_17(a__U31^#(mark(X)), mark^#(X)) , 18: mark^#(U41(X1, X2)) -> c_18(a__U41^#(mark(X1), X2), mark^#(X1)) , 19: mark^#(U42(X)) -> c_19(a__U42^#(mark(X)), mark^#(X)) , 20: mark^#(isNeList(X)) -> c_20(a__isNeList^#(X)) , 21: mark^#(U51(X1, X2)) -> c_21(a__U51^#(mark(X1), X2), mark^#(X1)) , 22: mark^#(U52(X)) -> c_22(a__U52^#(mark(X)), mark^#(X)) , 23: mark^#(U61(X)) -> c_23(a__U61^#(mark(X)), mark^#(X)) , 24: mark^#(U71(X1, X2)) -> c_24(a__U71^#(mark(X1), X2), mark^#(X1)) , 25: mark^#(U72(X)) -> c_25(a__U72^#(mark(X)), mark^#(X)) , 26: mark^#(isPal(X)) -> c_26(a__isPal^#(X)) , 27: mark^#(U81(X)) -> c_27(a__U81^#(mark(X)), mark^#(X)) , 28: mark^#(isQid(X)) -> c_28(a__isQid^#(X)) , 29: mark^#(isNePal(X)) -> c_29(a__isNePal^#(X)) , 30: a__U11^#(X) -> c_30() , 31: a__U11^#(tt()) -> c_31() , 32: a__U21^#(X1, X2) -> c_32() , 33: a__U21^#(tt(), V2) -> c_33(a__U22^#(a__isList(V2)), a__isList^#(V2)) , 34: a__U22^#(X) -> c_34() , 35: a__U22^#(tt()) -> c_35() , 36: a__isList^#(V) -> c_36(a__U11^#(a__isNeList(V)), a__isNeList^#(V)) , 37: a__isList^#(X) -> c_37() , 38: a__isList^#(__(V1, V2)) -> c_38(a__U21^#(a__isList(V1), V2), a__isList^#(V1)) , 39: a__isList^#(nil()) -> c_39() , 40: a__U31^#(X) -> c_40() , 41: a__U31^#(tt()) -> c_41() , 42: a__U41^#(X1, X2) -> c_42() , 43: a__U41^#(tt(), V2) -> c_43(a__U42^#(a__isNeList(V2)), a__isNeList^#(V2)) , 44: a__U42^#(X) -> c_44() , 45: a__U42^#(tt()) -> c_45() , 46: a__isNeList^#(V) -> c_46(a__U31^#(a__isQid(V)), a__isQid^#(V)) , 47: a__isNeList^#(X) -> c_47() , 48: a__isNeList^#(__(V1, V2)) -> c_48(a__U41^#(a__isList(V1), V2), a__isList^#(V1)) , 49: a__isNeList^#(__(V1, V2)) -> c_49(a__U51^#(a__isNeList(V1), V2), a__isNeList^#(V1)) , 50: a__U51^#(X1, X2) -> c_50() , 51: a__U51^#(tt(), V2) -> c_51(a__U52^#(a__isList(V2)), a__isList^#(V2)) , 52: a__U52^#(X) -> c_52() , 53: a__U52^#(tt()) -> c_53() , 54: a__U61^#(X) -> c_54() , 55: a__U61^#(tt()) -> c_55() , 56: a__U71^#(X1, X2) -> c_56() , 57: a__U71^#(tt(), P) -> c_57(a__U72^#(a__isPal(P)), a__isPal^#(P)) , 58: a__U72^#(X) -> c_58() , 59: a__U72^#(tt()) -> c_59() , 60: a__isPal^#(V) -> c_60(a__U81^#(a__isNePal(V)), a__isNePal^#(V)) , 61: a__isPal^#(X) -> c_61() , 62: a__isPal^#(nil()) -> c_62() , 63: a__U81^#(X) -> c_63() , 64: a__U81^#(tt()) -> c_64() , 65: a__isQid^#(X) -> c_65() , 66: a__isQid^#(a()) -> c_66() , 67: a__isQid^#(e()) -> c_67() , 68: a__isQid^#(i()) -> c_68() , 69: a__isQid^#(o()) -> c_69() , 70: a__isQid^#(u()) -> c_70() , 71: a__isNePal^#(V) -> c_71(a__U61^#(a__isQid(V)), a__isQid^#(V)) , 72: a__isNePal^#(X) -> c_72() , 73: a__isNePal^#(__(I, __(P, I))) -> c_73(a__U71^#(a__isQid(I), P), a__isQid^#(I)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { a____^#(X, nil()) -> c_2(mark^#(X)) , a____^#(__(X, Y), Z) -> c_3(a____^#(mark(X), a____(mark(Y), mark(Z))), mark^#(X), a____^#(mark(Y), mark(Z)), mark^#(Y), mark^#(Z)) , a____^#(nil(), X) -> c_4(mark^#(X)) , mark^#(__(X1, X2)) -> c_5(a____^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(U11(X)) -> c_13(a__U11^#(mark(X)), mark^#(X)) , mark^#(U21(X1, X2)) -> c_14(a__U21^#(mark(X1), X2), mark^#(X1)) , mark^#(U22(X)) -> c_15(a__U22^#(mark(X)), mark^#(X)) , mark^#(isList(X)) -> c_16(a__isList^#(X)) , mark^#(U31(X)) -> c_17(a__U31^#(mark(X)), mark^#(X)) , mark^#(U41(X1, X2)) -> c_18(a__U41^#(mark(X1), X2), mark^#(X1)) , mark^#(U42(X)) -> c_19(a__U42^#(mark(X)), mark^#(X)) , mark^#(isNeList(X)) -> c_20(a__isNeList^#(X)) , mark^#(U51(X1, X2)) -> c_21(a__U51^#(mark(X1), X2), mark^#(X1)) , mark^#(U52(X)) -> c_22(a__U52^#(mark(X)), mark^#(X)) , mark^#(U61(X)) -> c_23(a__U61^#(mark(X)), mark^#(X)) , mark^#(U71(X1, X2)) -> c_24(a__U71^#(mark(X1), X2), mark^#(X1)) , mark^#(U72(X)) -> c_25(a__U72^#(mark(X)), mark^#(X)) , mark^#(isPal(X)) -> c_26(a__isPal^#(X)) , mark^#(U81(X)) -> c_27(a__U81^#(mark(X)), mark^#(X)) , mark^#(isQid(X)) -> c_28(a__isQid^#(X)) , mark^#(isNePal(X)) -> c_29(a__isNePal^#(X)) , a__U21^#(tt(), V2) -> c_33(a__U22^#(a__isList(V2)), a__isList^#(V2)) , a__isList^#(V) -> c_36(a__U11^#(a__isNeList(V)), a__isNeList^#(V)) , a__isList^#(__(V1, V2)) -> c_38(a__U21^#(a__isList(V1), V2), a__isList^#(V1)) , a__U41^#(tt(), V2) -> c_43(a__U42^#(a__isNeList(V2)), a__isNeList^#(V2)) , a__isNeList^#(V) -> c_46(a__U31^#(a__isQid(V)), a__isQid^#(V)) , a__isNeList^#(__(V1, V2)) -> c_48(a__U41^#(a__isList(V1), V2), a__isList^#(V1)) , a__isNeList^#(__(V1, V2)) -> c_49(a__U51^#(a__isNeList(V1), V2), a__isNeList^#(V1)) , a__U51^#(tt(), V2) -> c_51(a__U52^#(a__isList(V2)), a__isList^#(V2)) , a__U71^#(tt(), P) -> c_57(a__U72^#(a__isPal(P)), a__isPal^#(P)) , a__isPal^#(V) -> c_60(a__U81^#(a__isNePal(V)), a__isNePal^#(V)) , a__isNePal^#(V) -> c_71(a__U61^#(a__isQid(V)), a__isQid^#(V)) , a__isNePal^#(__(I, __(P, I))) -> c_73(a__U71^#(a__isQid(I), P), a__isQid^#(I)) } Weak DPs: { a____^#(X1, X2) -> c_1() , mark^#(nil()) -> c_6() , mark^#(tt()) -> c_7() , mark^#(a()) -> c_8() , mark^#(e()) -> c_9() , mark^#(i()) -> c_10() , mark^#(o()) -> c_11() , mark^#(u()) -> c_12() , a__U11^#(X) -> c_30() , a__U11^#(tt()) -> c_31() , a__U21^#(X1, X2) -> c_32() , a__U22^#(X) -> c_34() , a__U22^#(tt()) -> c_35() , a__isList^#(X) -> c_37() , a__isList^#(nil()) -> c_39() , a__U31^#(X) -> c_40() , a__U31^#(tt()) -> c_41() , a__U41^#(X1, X2) -> c_42() , a__U42^#(X) -> c_44() , a__U42^#(tt()) -> c_45() , a__isNeList^#(X) -> c_47() , a__U51^#(X1, X2) -> c_50() , a__U52^#(X) -> c_52() , a__U52^#(tt()) -> c_53() , a__U61^#(X) -> c_54() , a__U61^#(tt()) -> c_55() , a__U71^#(X1, X2) -> c_56() , a__U72^#(X) -> c_58() , a__U72^#(tt()) -> c_59() , a__isPal^#(X) -> c_61() , a__isPal^#(nil()) -> c_62() , a__U81^#(X) -> c_63() , a__U81^#(tt()) -> c_64() , a__isQid^#(X) -> c_65() , a__isQid^#(a()) -> c_66() , a__isQid^#(e()) -> c_67() , a__isQid^#(i()) -> c_68() , a__isQid^#(o()) -> c_69() , a__isQid^#(u()) -> c_70() , a__isNePal^#(X) -> c_72() } Weak Trs: { a____(X1, X2) -> __(X1, X2) , a____(X, nil()) -> mark(X) , a____(__(X, Y), Z) -> a____(mark(X), a____(mark(Y), mark(Z))) , a____(nil(), X) -> mark(X) , mark(__(X1, X2)) -> a____(mark(X1), mark(X2)) , mark(nil()) -> nil() , mark(tt()) -> tt() , mark(a()) -> a() , mark(e()) -> e() , mark(i()) -> i() , mark(o()) -> o() , mark(u()) -> u() , mark(U11(X)) -> a__U11(mark(X)) , mark(U21(X1, X2)) -> a__U21(mark(X1), X2) , mark(U22(X)) -> a__U22(mark(X)) , mark(isList(X)) -> a__isList(X) , mark(U31(X)) -> a__U31(mark(X)) , mark(U41(X1, X2)) -> a__U41(mark(X1), X2) , mark(U42(X)) -> a__U42(mark(X)) , mark(isNeList(X)) -> a__isNeList(X) , mark(U51(X1, X2)) -> a__U51(mark(X1), X2) , mark(U52(X)) -> a__U52(mark(X)) , mark(U61(X)) -> a__U61(mark(X)) , mark(U71(X1, X2)) -> a__U71(mark(X1), X2) , mark(U72(X)) -> a__U72(mark(X)) , mark(isPal(X)) -> a__isPal(X) , mark(U81(X)) -> a__U81(mark(X)) , mark(isQid(X)) -> a__isQid(X) , mark(isNePal(X)) -> a__isNePal(X) , a__U11(X) -> U11(X) , a__U11(tt()) -> tt() , a__U21(X1, X2) -> U21(X1, X2) , a__U21(tt(), V2) -> a__U22(a__isList(V2)) , a__U22(X) -> U22(X) , a__U22(tt()) -> tt() , a__isList(V) -> a__U11(a__isNeList(V)) , a__isList(X) -> isList(X) , a__isList(__(V1, V2)) -> a__U21(a__isList(V1), V2) , a__isList(nil()) -> tt() , a__U31(X) -> U31(X) , a__U31(tt()) -> tt() , a__U41(X1, X2) -> U41(X1, X2) , a__U41(tt(), V2) -> a__U42(a__isNeList(V2)) , a__U42(X) -> U42(X) , a__U42(tt()) -> tt() , a__isNeList(V) -> a__U31(a__isQid(V)) , a__isNeList(X) -> isNeList(X) , a__isNeList(__(V1, V2)) -> a__U41(a__isList(V1), V2) , a__isNeList(__(V1, V2)) -> a__U51(a__isNeList(V1), V2) , a__U51(X1, X2) -> U51(X1, X2) , a__U51(tt(), V2) -> a__U52(a__isList(V2)) , a__U52(X) -> U52(X) , a__U52(tt()) -> tt() , a__U61(X) -> U61(X) , a__U61(tt()) -> tt() , a__U71(X1, X2) -> U71(X1, X2) , a__U71(tt(), P) -> a__U72(a__isPal(P)) , a__U72(X) -> U72(X) , a__U72(tt()) -> tt() , a__isPal(V) -> a__U81(a__isNePal(V)) , a__isPal(X) -> isPal(X) , a__isPal(nil()) -> tt() , a__U81(X) -> U81(X) , a__U81(tt()) -> tt() , a__isQid(X) -> isQid(X) , a__isQid(a()) -> tt() , a__isQid(e()) -> tt() , a__isQid(i()) -> tt() , a__isQid(o()) -> tt() , a__isQid(u()) -> tt() , a__isNePal(V) -> a__U61(a__isQid(V)) , a__isNePal(X) -> isNePal(X) , a__isNePal(__(I, __(P, I))) -> a__U71(a__isQid(I), P) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {20,26,32} by applications of Pre({20,26,32}) = {1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,19,21,23,25,28,31}. Here rules are labeled as follows: DPs: { 1: a____^#(X, nil()) -> c_2(mark^#(X)) , 2: a____^#(__(X, Y), Z) -> c_3(a____^#(mark(X), a____(mark(Y), mark(Z))), mark^#(X), a____^#(mark(Y), mark(Z)), mark^#(Y), mark^#(Z)) , 3: a____^#(nil(), X) -> c_4(mark^#(X)) , 4: mark^#(__(X1, X2)) -> c_5(a____^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , 5: mark^#(U11(X)) -> c_13(a__U11^#(mark(X)), mark^#(X)) , 6: mark^#(U21(X1, X2)) -> c_14(a__U21^#(mark(X1), X2), mark^#(X1)) , 7: mark^#(U22(X)) -> c_15(a__U22^#(mark(X)), mark^#(X)) , 8: mark^#(isList(X)) -> c_16(a__isList^#(X)) , 9: mark^#(U31(X)) -> c_17(a__U31^#(mark(X)), mark^#(X)) , 10: mark^#(U41(X1, X2)) -> c_18(a__U41^#(mark(X1), X2), mark^#(X1)) , 11: mark^#(U42(X)) -> c_19(a__U42^#(mark(X)), mark^#(X)) , 12: mark^#(isNeList(X)) -> c_20(a__isNeList^#(X)) , 13: mark^#(U51(X1, X2)) -> c_21(a__U51^#(mark(X1), X2), mark^#(X1)) , 14: mark^#(U52(X)) -> c_22(a__U52^#(mark(X)), mark^#(X)) , 15: mark^#(U61(X)) -> c_23(a__U61^#(mark(X)), mark^#(X)) , 16: mark^#(U71(X1, X2)) -> c_24(a__U71^#(mark(X1), X2), mark^#(X1)) , 17: mark^#(U72(X)) -> c_25(a__U72^#(mark(X)), mark^#(X)) , 18: mark^#(isPal(X)) -> c_26(a__isPal^#(X)) , 19: mark^#(U81(X)) -> c_27(a__U81^#(mark(X)), mark^#(X)) , 20: mark^#(isQid(X)) -> c_28(a__isQid^#(X)) , 21: mark^#(isNePal(X)) -> c_29(a__isNePal^#(X)) , 22: a__U21^#(tt(), V2) -> c_33(a__U22^#(a__isList(V2)), a__isList^#(V2)) , 23: a__isList^#(V) -> c_36(a__U11^#(a__isNeList(V)), a__isNeList^#(V)) , 24: a__isList^#(__(V1, V2)) -> c_38(a__U21^#(a__isList(V1), V2), a__isList^#(V1)) , 25: a__U41^#(tt(), V2) -> c_43(a__U42^#(a__isNeList(V2)), a__isNeList^#(V2)) , 26: a__isNeList^#(V) -> c_46(a__U31^#(a__isQid(V)), a__isQid^#(V)) , 27: a__isNeList^#(__(V1, V2)) -> c_48(a__U41^#(a__isList(V1), V2), a__isList^#(V1)) , 28: a__isNeList^#(__(V1, V2)) -> c_49(a__U51^#(a__isNeList(V1), V2), a__isNeList^#(V1)) , 29: a__U51^#(tt(), V2) -> c_51(a__U52^#(a__isList(V2)), a__isList^#(V2)) , 30: a__U71^#(tt(), P) -> c_57(a__U72^#(a__isPal(P)), a__isPal^#(P)) , 31: a__isPal^#(V) -> c_60(a__U81^#(a__isNePal(V)), a__isNePal^#(V)) , 32: a__isNePal^#(V) -> c_71(a__U61^#(a__isQid(V)), a__isQid^#(V)) , 33: a__isNePal^#(__(I, __(P, I))) -> c_73(a__U71^#(a__isQid(I), P), a__isQid^#(I)) , 34: a____^#(X1, X2) -> c_1() , 35: mark^#(nil()) -> c_6() , 36: mark^#(tt()) -> c_7() , 37: mark^#(a()) -> c_8() , 38: mark^#(e()) -> c_9() , 39: mark^#(i()) -> c_10() , 40: mark^#(o()) -> c_11() , 41: mark^#(u()) -> c_12() , 42: a__U11^#(X) -> c_30() , 43: a__U11^#(tt()) -> c_31() , 44: a__U21^#(X1, X2) -> c_32() , 45: a__U22^#(X) -> c_34() , 46: a__U22^#(tt()) -> c_35() , 47: a__isList^#(X) -> c_37() , 48: a__isList^#(nil()) -> c_39() , 49: a__U31^#(X) -> c_40() , 50: a__U31^#(tt()) -> c_41() , 51: a__U41^#(X1, X2) -> c_42() , 52: a__U42^#(X) -> c_44() , 53: a__U42^#(tt()) -> c_45() , 54: a__isNeList^#(X) -> c_47() , 55: a__U51^#(X1, X2) -> c_50() , 56: a__U52^#(X) -> c_52() , 57: a__U52^#(tt()) -> c_53() , 58: a__U61^#(X) -> c_54() , 59: a__U61^#(tt()) -> c_55() , 60: a__U71^#(X1, X2) -> c_56() , 61: a__U72^#(X) -> c_58() , 62: a__U72^#(tt()) -> c_59() , 63: a__isPal^#(X) -> c_61() , 64: a__isPal^#(nil()) -> c_62() , 65: a__U81^#(X) -> c_63() , 66: a__U81^#(tt()) -> c_64() , 67: a__isQid^#(X) -> c_65() , 68: a__isQid^#(a()) -> c_66() , 69: a__isQid^#(e()) -> c_67() , 70: a__isQid^#(i()) -> c_68() , 71: a__isQid^#(o()) -> c_69() , 72: a__isQid^#(u()) -> c_70() , 73: a__isNePal^#(X) -> c_72() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { a____^#(X, nil()) -> c_2(mark^#(X)) , a____^#(__(X, Y), Z) -> c_3(a____^#(mark(X), a____(mark(Y), mark(Z))), mark^#(X), a____^#(mark(Y), mark(Z)), mark^#(Y), mark^#(Z)) , a____^#(nil(), X) -> c_4(mark^#(X)) , mark^#(__(X1, X2)) -> c_5(a____^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(U11(X)) -> c_13(a__U11^#(mark(X)), mark^#(X)) , mark^#(U21(X1, X2)) -> c_14(a__U21^#(mark(X1), X2), mark^#(X1)) , mark^#(U22(X)) -> c_15(a__U22^#(mark(X)), mark^#(X)) , mark^#(isList(X)) -> c_16(a__isList^#(X)) , mark^#(U31(X)) -> c_17(a__U31^#(mark(X)), mark^#(X)) , mark^#(U41(X1, X2)) -> c_18(a__U41^#(mark(X1), X2), mark^#(X1)) , mark^#(U42(X)) -> c_19(a__U42^#(mark(X)), mark^#(X)) , mark^#(isNeList(X)) -> c_20(a__isNeList^#(X)) , mark^#(U51(X1, X2)) -> c_21(a__U51^#(mark(X1), X2), mark^#(X1)) , mark^#(U52(X)) -> c_22(a__U52^#(mark(X)), mark^#(X)) , mark^#(U61(X)) -> c_23(a__U61^#(mark(X)), mark^#(X)) , mark^#(U71(X1, X2)) -> c_24(a__U71^#(mark(X1), X2), mark^#(X1)) , mark^#(U72(X)) -> c_25(a__U72^#(mark(X)), mark^#(X)) , mark^#(isPal(X)) -> c_26(a__isPal^#(X)) , mark^#(U81(X)) -> c_27(a__U81^#(mark(X)), mark^#(X)) , mark^#(isNePal(X)) -> c_29(a__isNePal^#(X)) , a__U21^#(tt(), V2) -> c_33(a__U22^#(a__isList(V2)), a__isList^#(V2)) , a__isList^#(V) -> c_36(a__U11^#(a__isNeList(V)), a__isNeList^#(V)) , a__isList^#(__(V1, V2)) -> c_38(a__U21^#(a__isList(V1), V2), a__isList^#(V1)) , a__U41^#(tt(), V2) -> c_43(a__U42^#(a__isNeList(V2)), a__isNeList^#(V2)) , a__isNeList^#(__(V1, V2)) -> c_48(a__U41^#(a__isList(V1), V2), a__isList^#(V1)) , a__isNeList^#(__(V1, V2)) -> c_49(a__U51^#(a__isNeList(V1), V2), a__isNeList^#(V1)) , a__U51^#(tt(), V2) -> c_51(a__U52^#(a__isList(V2)), a__isList^#(V2)) , a__U71^#(tt(), P) -> c_57(a__U72^#(a__isPal(P)), a__isPal^#(P)) , a__isPal^#(V) -> c_60(a__U81^#(a__isNePal(V)), a__isNePal^#(V)) , a__isNePal^#(__(I, __(P, I))) -> c_73(a__U71^#(a__isQid(I), P), a__isQid^#(I)) } Weak DPs: { a____^#(X1, X2) -> c_1() , mark^#(nil()) -> c_6() , mark^#(tt()) -> c_7() , mark^#(a()) -> c_8() , mark^#(e()) -> c_9() , mark^#(i()) -> c_10() , mark^#(o()) -> c_11() , mark^#(u()) -> c_12() , mark^#(isQid(X)) -> c_28(a__isQid^#(X)) , a__U11^#(X) -> c_30() , a__U11^#(tt()) -> c_31() , a__U21^#(X1, X2) -> c_32() , a__U22^#(X) -> c_34() , a__U22^#(tt()) -> c_35() , a__isList^#(X) -> c_37() , a__isList^#(nil()) -> c_39() , a__U31^#(X) -> c_40() , a__U31^#(tt()) -> c_41() , a__U41^#(X1, X2) -> c_42() , a__U42^#(X) -> c_44() , a__U42^#(tt()) -> c_45() , a__isNeList^#(V) -> c_46(a__U31^#(a__isQid(V)), a__isQid^#(V)) , a__isNeList^#(X) -> c_47() , a__U51^#(X1, X2) -> c_50() , a__U52^#(X) -> c_52() , a__U52^#(tt()) -> c_53() , a__U61^#(X) -> c_54() , a__U61^#(tt()) -> c_55() , a__U71^#(X1, X2) -> c_56() , a__U72^#(X) -> c_58() , a__U72^#(tt()) -> c_59() , a__isPal^#(X) -> c_61() , a__isPal^#(nil()) -> c_62() , a__U81^#(X) -> c_63() , a__U81^#(tt()) -> c_64() , a__isQid^#(X) -> c_65() , a__isQid^#(a()) -> c_66() , a__isQid^#(e()) -> c_67() , a__isQid^#(i()) -> c_68() , a__isQid^#(o()) -> c_69() , a__isQid^#(u()) -> c_70() , a__isNePal^#(V) -> c_71(a__U61^#(a__isQid(V)), a__isQid^#(V)) , a__isNePal^#(X) -> c_72() } Weak Trs: { a____(X1, X2) -> __(X1, X2) , a____(X, nil()) -> mark(X) , a____(__(X, Y), Z) -> a____(mark(X), a____(mark(Y), mark(Z))) , a____(nil(), X) -> mark(X) , mark(__(X1, X2)) -> a____(mark(X1), mark(X2)) , mark(nil()) -> nil() , mark(tt()) -> tt() , mark(a()) -> a() , mark(e()) -> e() , mark(i()) -> i() , mark(o()) -> o() , mark(u()) -> u() , mark(U11(X)) -> a__U11(mark(X)) , mark(U21(X1, X2)) -> a__U21(mark(X1), X2) , mark(U22(X)) -> a__U22(mark(X)) , mark(isList(X)) -> a__isList(X) , mark(U31(X)) -> a__U31(mark(X)) , mark(U41(X1, X2)) -> a__U41(mark(X1), X2) , mark(U42(X)) -> a__U42(mark(X)) , mark(isNeList(X)) -> a__isNeList(X) , mark(U51(X1, X2)) -> a__U51(mark(X1), X2) , mark(U52(X)) -> a__U52(mark(X)) , mark(U61(X)) -> a__U61(mark(X)) , mark(U71(X1, X2)) -> a__U71(mark(X1), X2) , mark(U72(X)) -> a__U72(mark(X)) , mark(isPal(X)) -> a__isPal(X) , mark(U81(X)) -> a__U81(mark(X)) , mark(isQid(X)) -> a__isQid(X) , mark(isNePal(X)) -> a__isNePal(X) , a__U11(X) -> U11(X) , a__U11(tt()) -> tt() , a__U21(X1, X2) -> U21(X1, X2) , a__U21(tt(), V2) -> a__U22(a__isList(V2)) , a__U22(X) -> U22(X) , a__U22(tt()) -> tt() , a__isList(V) -> a__U11(a__isNeList(V)) , a__isList(X) -> isList(X) , a__isList(__(V1, V2)) -> a__U21(a__isList(V1), V2) , a__isList(nil()) -> tt() , a__U31(X) -> U31(X) , a__U31(tt()) -> tt() , a__U41(X1, X2) -> U41(X1, X2) , a__U41(tt(), V2) -> a__U42(a__isNeList(V2)) , a__U42(X) -> U42(X) , a__U42(tt()) -> tt() , a__isNeList(V) -> a__U31(a__isQid(V)) , a__isNeList(X) -> isNeList(X) , a__isNeList(__(V1, V2)) -> a__U41(a__isList(V1), V2) , a__isNeList(__(V1, V2)) -> a__U51(a__isNeList(V1), V2) , a__U51(X1, X2) -> U51(X1, X2) , a__U51(tt(), V2) -> a__U52(a__isList(V2)) , a__U52(X) -> U52(X) , a__U52(tt()) -> tt() , a__U61(X) -> U61(X) , a__U61(tt()) -> tt() , a__U71(X1, X2) -> U71(X1, X2) , a__U71(tt(), P) -> a__U72(a__isPal(P)) , a__U72(X) -> U72(X) , a__U72(tt()) -> tt() , a__isPal(V) -> a__U81(a__isNePal(V)) , a__isPal(X) -> isPal(X) , a__isPal(nil()) -> tt() , a__U81(X) -> U81(X) , a__U81(tt()) -> tt() , a__isQid(X) -> isQid(X) , a__isQid(a()) -> tt() , a__isQid(e()) -> tt() , a__isQid(i()) -> tt() , a__isQid(o()) -> tt() , a__isQid(u()) -> tt() , a__isNePal(V) -> a__U61(a__isQid(V)) , a__isNePal(X) -> isNePal(X) , a__isNePal(__(I, __(P, I))) -> a__U71(a__isQid(I), P) } 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____^#(X1, X2) -> c_1() , mark^#(nil()) -> c_6() , mark^#(tt()) -> c_7() , mark^#(a()) -> c_8() , mark^#(e()) -> c_9() , mark^#(i()) -> c_10() , mark^#(o()) -> c_11() , mark^#(u()) -> c_12() , mark^#(isQid(X)) -> c_28(a__isQid^#(X)) , a__U11^#(X) -> c_30() , a__U11^#(tt()) -> c_31() , a__U21^#(X1, X2) -> c_32() , a__U22^#(X) -> c_34() , a__U22^#(tt()) -> c_35() , a__isList^#(X) -> c_37() , a__isList^#(nil()) -> c_39() , a__U31^#(X) -> c_40() , a__U31^#(tt()) -> c_41() , a__U41^#(X1, X2) -> c_42() , a__U42^#(X) -> c_44() , a__U42^#(tt()) -> c_45() , a__isNeList^#(V) -> c_46(a__U31^#(a__isQid(V)), a__isQid^#(V)) , a__isNeList^#(X) -> c_47() , a__U51^#(X1, X2) -> c_50() , a__U52^#(X) -> c_52() , a__U52^#(tt()) -> c_53() , a__U61^#(X) -> c_54() , a__U61^#(tt()) -> c_55() , a__U71^#(X1, X2) -> c_56() , a__U72^#(X) -> c_58() , a__U72^#(tt()) -> c_59() , a__isPal^#(X) -> c_61() , a__isPal^#(nil()) -> c_62() , a__U81^#(X) -> c_63() , a__U81^#(tt()) -> c_64() , a__isQid^#(X) -> c_65() , a__isQid^#(a()) -> c_66() , a__isQid^#(e()) -> c_67() , a__isQid^#(i()) -> c_68() , a__isQid^#(o()) -> c_69() , a__isQid^#(u()) -> c_70() , a__isNePal^#(V) -> c_71(a__U61^#(a__isQid(V)), a__isQid^#(V)) , a__isNePal^#(X) -> c_72() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { a____^#(X, nil()) -> c_2(mark^#(X)) , a____^#(__(X, Y), Z) -> c_3(a____^#(mark(X), a____(mark(Y), mark(Z))), mark^#(X), a____^#(mark(Y), mark(Z)), mark^#(Y), mark^#(Z)) , a____^#(nil(), X) -> c_4(mark^#(X)) , mark^#(__(X1, X2)) -> c_5(a____^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(U11(X)) -> c_13(a__U11^#(mark(X)), mark^#(X)) , mark^#(U21(X1, X2)) -> c_14(a__U21^#(mark(X1), X2), mark^#(X1)) , mark^#(U22(X)) -> c_15(a__U22^#(mark(X)), mark^#(X)) , mark^#(isList(X)) -> c_16(a__isList^#(X)) , mark^#(U31(X)) -> c_17(a__U31^#(mark(X)), mark^#(X)) , mark^#(U41(X1, X2)) -> c_18(a__U41^#(mark(X1), X2), mark^#(X1)) , mark^#(U42(X)) -> c_19(a__U42^#(mark(X)), mark^#(X)) , mark^#(isNeList(X)) -> c_20(a__isNeList^#(X)) , mark^#(U51(X1, X2)) -> c_21(a__U51^#(mark(X1), X2), mark^#(X1)) , mark^#(U52(X)) -> c_22(a__U52^#(mark(X)), mark^#(X)) , mark^#(U61(X)) -> c_23(a__U61^#(mark(X)), mark^#(X)) , mark^#(U71(X1, X2)) -> c_24(a__U71^#(mark(X1), X2), mark^#(X1)) , mark^#(U72(X)) -> c_25(a__U72^#(mark(X)), mark^#(X)) , mark^#(isPal(X)) -> c_26(a__isPal^#(X)) , mark^#(U81(X)) -> c_27(a__U81^#(mark(X)), mark^#(X)) , mark^#(isNePal(X)) -> c_29(a__isNePal^#(X)) , a__U21^#(tt(), V2) -> c_33(a__U22^#(a__isList(V2)), a__isList^#(V2)) , a__isList^#(V) -> c_36(a__U11^#(a__isNeList(V)), a__isNeList^#(V)) , a__isList^#(__(V1, V2)) -> c_38(a__U21^#(a__isList(V1), V2), a__isList^#(V1)) , a__U41^#(tt(), V2) -> c_43(a__U42^#(a__isNeList(V2)), a__isNeList^#(V2)) , a__isNeList^#(__(V1, V2)) -> c_48(a__U41^#(a__isList(V1), V2), a__isList^#(V1)) , a__isNeList^#(__(V1, V2)) -> c_49(a__U51^#(a__isNeList(V1), V2), a__isNeList^#(V1)) , a__U51^#(tt(), V2) -> c_51(a__U52^#(a__isList(V2)), a__isList^#(V2)) , a__U71^#(tt(), P) -> c_57(a__U72^#(a__isPal(P)), a__isPal^#(P)) , a__isPal^#(V) -> c_60(a__U81^#(a__isNePal(V)), a__isNePal^#(V)) , a__isNePal^#(__(I, __(P, I))) -> c_73(a__U71^#(a__isQid(I), P), a__isQid^#(I)) } Weak Trs: { a____(X1, X2) -> __(X1, X2) , a____(X, nil()) -> mark(X) , a____(__(X, Y), Z) -> a____(mark(X), a____(mark(Y), mark(Z))) , a____(nil(), X) -> mark(X) , mark(__(X1, X2)) -> a____(mark(X1), mark(X2)) , mark(nil()) -> nil() , mark(tt()) -> tt() , mark(a()) -> a() , mark(e()) -> e() , mark(i()) -> i() , mark(o()) -> o() , mark(u()) -> u() , mark(U11(X)) -> a__U11(mark(X)) , mark(U21(X1, X2)) -> a__U21(mark(X1), X2) , mark(U22(X)) -> a__U22(mark(X)) , mark(isList(X)) -> a__isList(X) , mark(U31(X)) -> a__U31(mark(X)) , mark(U41(X1, X2)) -> a__U41(mark(X1), X2) , mark(U42(X)) -> a__U42(mark(X)) , mark(isNeList(X)) -> a__isNeList(X) , mark(U51(X1, X2)) -> a__U51(mark(X1), X2) , mark(U52(X)) -> a__U52(mark(X)) , mark(U61(X)) -> a__U61(mark(X)) , mark(U71(X1, X2)) -> a__U71(mark(X1), X2) , mark(U72(X)) -> a__U72(mark(X)) , mark(isPal(X)) -> a__isPal(X) , mark(U81(X)) -> a__U81(mark(X)) , mark(isQid(X)) -> a__isQid(X) , mark(isNePal(X)) -> a__isNePal(X) , a__U11(X) -> U11(X) , a__U11(tt()) -> tt() , a__U21(X1, X2) -> U21(X1, X2) , a__U21(tt(), V2) -> a__U22(a__isList(V2)) , a__U22(X) -> U22(X) , a__U22(tt()) -> tt() , a__isList(V) -> a__U11(a__isNeList(V)) , a__isList(X) -> isList(X) , a__isList(__(V1, V2)) -> a__U21(a__isList(V1), V2) , a__isList(nil()) -> tt() , a__U31(X) -> U31(X) , a__U31(tt()) -> tt() , a__U41(X1, X2) -> U41(X1, X2) , a__U41(tt(), V2) -> a__U42(a__isNeList(V2)) , a__U42(X) -> U42(X) , a__U42(tt()) -> tt() , a__isNeList(V) -> a__U31(a__isQid(V)) , a__isNeList(X) -> isNeList(X) , a__isNeList(__(V1, V2)) -> a__U41(a__isList(V1), V2) , a__isNeList(__(V1, V2)) -> a__U51(a__isNeList(V1), V2) , a__U51(X1, X2) -> U51(X1, X2) , a__U51(tt(), V2) -> a__U52(a__isList(V2)) , a__U52(X) -> U52(X) , a__U52(tt()) -> tt() , a__U61(X) -> U61(X) , a__U61(tt()) -> tt() , a__U71(X1, X2) -> U71(X1, X2) , a__U71(tt(), P) -> a__U72(a__isPal(P)) , a__U72(X) -> U72(X) , a__U72(tt()) -> tt() , a__isPal(V) -> a__U81(a__isNePal(V)) , a__isPal(X) -> isPal(X) , a__isPal(nil()) -> tt() , a__U81(X) -> U81(X) , a__U81(tt()) -> tt() , a__isQid(X) -> isQid(X) , a__isQid(a()) -> tt() , a__isQid(e()) -> tt() , a__isQid(i()) -> tt() , a__isQid(o()) -> tt() , a__isQid(u()) -> tt() , a__isNePal(V) -> a__U61(a__isQid(V)) , a__isNePal(X) -> isNePal(X) , a__isNePal(__(I, __(P, I))) -> a__U71(a__isQid(I), P) } 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^#(U11(X)) -> c_13(a__U11^#(mark(X)), mark^#(X)) , mark^#(U22(X)) -> c_15(a__U22^#(mark(X)), mark^#(X)) , mark^#(U31(X)) -> c_17(a__U31^#(mark(X)), mark^#(X)) , mark^#(U42(X)) -> c_19(a__U42^#(mark(X)), mark^#(X)) , mark^#(U52(X)) -> c_22(a__U52^#(mark(X)), mark^#(X)) , mark^#(U61(X)) -> c_23(a__U61^#(mark(X)), mark^#(X)) , mark^#(U72(X)) -> c_25(a__U72^#(mark(X)), mark^#(X)) , mark^#(U81(X)) -> c_27(a__U81^#(mark(X)), mark^#(X)) , a__U21^#(tt(), V2) -> c_33(a__U22^#(a__isList(V2)), a__isList^#(V2)) , a__isList^#(V) -> c_36(a__U11^#(a__isNeList(V)), a__isNeList^#(V)) , a__U41^#(tt(), V2) -> c_43(a__U42^#(a__isNeList(V2)), a__isNeList^#(V2)) , a__U51^#(tt(), V2) -> c_51(a__U52^#(a__isList(V2)), a__isList^#(V2)) , a__U71^#(tt(), P) -> c_57(a__U72^#(a__isPal(P)), a__isPal^#(P)) , a__isPal^#(V) -> c_60(a__U81^#(a__isNePal(V)), a__isNePal^#(V)) , a__isNePal^#(__(I, __(P, I))) -> c_73(a__U71^#(a__isQid(I), P), a__isQid^#(I)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { a____^#(X, nil()) -> c_1(mark^#(X)) , a____^#(__(X, Y), Z) -> c_2(a____^#(mark(X), a____(mark(Y), mark(Z))), mark^#(X), a____^#(mark(Y), mark(Z)), mark^#(Y), mark^#(Z)) , a____^#(nil(), X) -> c_3(mark^#(X)) , mark^#(__(X1, X2)) -> c_4(a____^#(mark(X1), mark(X2)), mark^#(X1), mark^#(X2)) , mark^#(U11(X)) -> c_5(mark^#(X)) , mark^#(U21(X1, X2)) -> c_6(a__U21^#(mark(X1), X2), mark^#(X1)) , mark^#(U22(X)) -> c_7(mark^#(X)) , mark^#(isList(X)) -> c_8(a__isList^#(X)) , mark^#(U31(X)) -> c_9(mark^#(X)) , mark^#(U41(X1, X2)) -> c_10(a__U41^#(mark(X1), X2), mark^#(X1)) , mark^#(U42(X)) -> c_11(mark^#(X)) , mark^#(isNeList(X)) -> c_12(a__isNeList^#(X)) , mark^#(U51(X1, X2)) -> c_13(a__U51^#(mark(X1), X2), mark^#(X1)) , mark^#(U52(X)) -> c_14(mark^#(X)) , mark^#(U61(X)) -> c_15(mark^#(X)) , mark^#(U71(X1, X2)) -> c_16(a__U71^#(mark(X1), X2), mark^#(X1)) , mark^#(U72(X)) -> c_17(mark^#(X)) , mark^#(isPal(X)) -> c_18(a__isPal^#(X)) , mark^#(U81(X)) -> c_19(mark^#(X)) , mark^#(isNePal(X)) -> c_20(a__isNePal^#(X)) , a__U21^#(tt(), V2) -> c_21(a__isList^#(V2)) , a__isList^#(V) -> c_22(a__isNeList^#(V)) , a__isList^#(__(V1, V2)) -> c_23(a__U21^#(a__isList(V1), V2), a__isList^#(V1)) , a__U41^#(tt(), V2) -> c_24(a__isNeList^#(V2)) , a__isNeList^#(__(V1, V2)) -> c_25(a__U41^#(a__isList(V1), V2), a__isList^#(V1)) , a__isNeList^#(__(V1, V2)) -> c_26(a__U51^#(a__isNeList(V1), V2), a__isNeList^#(V1)) , a__U51^#(tt(), V2) -> c_27(a__isList^#(V2)) , a__U71^#(tt(), P) -> c_28(a__isPal^#(P)) , a__isPal^#(V) -> c_29(a__isNePal^#(V)) , a__isNePal^#(__(I, __(P, I))) -> c_30(a__U71^#(a__isQid(I), P)) } Weak Trs: { a____(X1, X2) -> __(X1, X2) , a____(X, nil()) -> mark(X) , a____(__(X, Y), Z) -> a____(mark(X), a____(mark(Y), mark(Z))) , a____(nil(), X) -> mark(X) , mark(__(X1, X2)) -> a____(mark(X1), mark(X2)) , mark(nil()) -> nil() , mark(tt()) -> tt() , mark(a()) -> a() , mark(e()) -> e() , mark(i()) -> i() , mark(o()) -> o() , mark(u()) -> u() , mark(U11(X)) -> a__U11(mark(X)) , mark(U21(X1, X2)) -> a__U21(mark(X1), X2) , mark(U22(X)) -> a__U22(mark(X)) , mark(isList(X)) -> a__isList(X) , mark(U31(X)) -> a__U31(mark(X)) , mark(U41(X1, X2)) -> a__U41(mark(X1), X2) , mark(U42(X)) -> a__U42(mark(X)) , mark(isNeList(X)) -> a__isNeList(X) , mark(U51(X1, X2)) -> a__U51(mark(X1), X2) , mark(U52(X)) -> a__U52(mark(X)) , mark(U61(X)) -> a__U61(mark(X)) , mark(U71(X1, X2)) -> a__U71(mark(X1), X2) , mark(U72(X)) -> a__U72(mark(X)) , mark(isPal(X)) -> a__isPal(X) , mark(U81(X)) -> a__U81(mark(X)) , mark(isQid(X)) -> a__isQid(X) , mark(isNePal(X)) -> a__isNePal(X) , a__U11(X) -> U11(X) , a__U11(tt()) -> tt() , a__U21(X1, X2) -> U21(X1, X2) , a__U21(tt(), V2) -> a__U22(a__isList(V2)) , a__U22(X) -> U22(X) , a__U22(tt()) -> tt() , a__isList(V) -> a__U11(a__isNeList(V)) , a__isList(X) -> isList(X) , a__isList(__(V1, V2)) -> a__U21(a__isList(V1), V2) , a__isList(nil()) -> tt() , a__U31(X) -> U31(X) , a__U31(tt()) -> tt() , a__U41(X1, X2) -> U41(X1, X2) , a__U41(tt(), V2) -> a__U42(a__isNeList(V2)) , a__U42(X) -> U42(X) , a__U42(tt()) -> tt() , a__isNeList(V) -> a__U31(a__isQid(V)) , a__isNeList(X) -> isNeList(X) , a__isNeList(__(V1, V2)) -> a__U41(a__isList(V1), V2) , a__isNeList(__(V1, V2)) -> a__U51(a__isNeList(V1), V2) , a__U51(X1, X2) -> U51(X1, X2) , a__U51(tt(), V2) -> a__U52(a__isList(V2)) , a__U52(X) -> U52(X) , a__U52(tt()) -> tt() , a__U61(X) -> U61(X) , a__U61(tt()) -> tt() , a__U71(X1, X2) -> U71(X1, X2) , a__U71(tt(), P) -> a__U72(a__isPal(P)) , a__U72(X) -> U72(X) , a__U72(tt()) -> tt() , a__isPal(V) -> a__U81(a__isNePal(V)) , a__isPal(X) -> isPal(X) , a__isPal(nil()) -> tt() , a__U81(X) -> U81(X) , a__U81(tt()) -> tt() , a__isQid(X) -> isQid(X) , a__isQid(a()) -> tt() , a__isQid(e()) -> tt() , a__isQid(i()) -> tt() , a__isQid(o()) -> tt() , a__isQid(u()) -> tt() , a__isNePal(V) -> a__U61(a__isQid(V)) , a__isNePal(X) -> isNePal(X) , a__isNePal(__(I, __(P, I))) -> a__U71(a__isQid(I), P) } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..