/export/starexec/sandbox2/solver/bin/starexec_run_complexity /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- WORST_CASE(Omega(n^1), ?) proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, INF). (0) CpxTRS (1) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxTRS (3) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (4) typed CpxTrs (5) OrderProof [LOWER BOUND(ID), 0 ms] (6) typed CpxTrs (7) RewriteLemmaProof [LOWER BOUND(ID), 1585 ms] (8) BEST (9) proven lower bound (10) LowerBoundPropagationProof [FINISHED, 0 ms] (11) BOUNDS(n^1, INF) (12) typed CpxTrs ---------------------------------------- (0) Obligation: The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, INF). The TRS R consists of the following rules: __(__(X, Y), Z) -> __(X, __(Y, Z)) __(X, nil) -> X __(nil, X) -> X U11(tt, V) -> U12(isNeList(activate(V))) U12(tt) -> tt U21(tt, V1, V2) -> U22(isList(activate(V1)), activate(V2)) U22(tt, V2) -> U23(isList(activate(V2))) U23(tt) -> tt U31(tt, V) -> U32(isQid(activate(V))) U32(tt) -> tt U41(tt, V1, V2) -> U42(isList(activate(V1)), activate(V2)) U42(tt, V2) -> U43(isNeList(activate(V2))) U43(tt) -> tt U51(tt, V1, V2) -> U52(isNeList(activate(V1)), activate(V2)) U52(tt, V2) -> U53(isList(activate(V2))) U53(tt) -> tt U61(tt, V) -> U62(isQid(activate(V))) U62(tt) -> tt U71(tt, V) -> U72(isNePal(activate(V))) U72(tt) -> tt and(tt, X) -> activate(X) isList(V) -> U11(isPalListKind(activate(V)), activate(V)) isList(n__nil) -> tt isList(n____(V1, V2)) -> U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) isNeList(n____(V1, V2)) -> U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNeList(n____(V1, V2)) -> U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) isNePal(n____(I, __(P, I))) -> and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P)))) isPal(V) -> U71(isPalListKind(activate(V)), activate(V)) isPal(n__nil) -> tt isPalListKind(n__a) -> tt isPalListKind(n__e) -> tt isPalListKind(n__i) -> tt isPalListKind(n__nil) -> tt isPalListKind(n__o) -> tt isPalListKind(n__u) -> tt isPalListKind(n____(V1, V2)) -> and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))) isQid(n__a) -> tt isQid(n__e) -> tt isQid(n__i) -> tt isQid(n__o) -> tt isQid(n__u) -> tt nil -> n__nil __(X1, X2) -> n____(X1, X2) isPalListKind(X) -> n__isPalListKind(X) and(X1, X2) -> n__and(X1, X2) a -> n__a e -> n__e i -> n__i o -> n__o u -> n__u activate(n__nil) -> nil activate(n____(X1, X2)) -> __(X1, X2) activate(n__isPalListKind(X)) -> isPalListKind(X) activate(n__and(X1, X2)) -> and(X1, X2) activate(n__a) -> a activate(n__e) -> e activate(n__i) -> i activate(n__o) -> o activate(n__u) -> u activate(X) -> X S is empty. Rewrite Strategy: FULL ---------------------------------------- (1) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (2) Obligation: The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, INF). The TRS R consists of the following rules: __(__(X, Y), Z) -> __(X, __(Y, Z)) __(X, nil) -> X __(nil, X) -> X U11(tt, V) -> U12(isNeList(activate(V))) U12(tt) -> tt U21(tt, V1, V2) -> U22(isList(activate(V1)), activate(V2)) U22(tt, V2) -> U23(isList(activate(V2))) U23(tt) -> tt U31(tt, V) -> U32(isQid(activate(V))) U32(tt) -> tt U41(tt, V1, V2) -> U42(isList(activate(V1)), activate(V2)) U42(tt, V2) -> U43(isNeList(activate(V2))) U43(tt) -> tt U51(tt, V1, V2) -> U52(isNeList(activate(V1)), activate(V2)) U52(tt, V2) -> U53(isList(activate(V2))) U53(tt) -> tt U61(tt, V) -> U62(isQid(activate(V))) U62(tt) -> tt U71(tt, V) -> U72(isNePal(activate(V))) U72(tt) -> tt and(tt, X) -> activate(X) isList(V) -> U11(isPalListKind(activate(V)), activate(V)) isList(n__nil) -> tt isList(n____(V1, V2)) -> U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) isNeList(n____(V1, V2)) -> U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNeList(n____(V1, V2)) -> U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) isNePal(n____(I, __(P, I))) -> and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P)))) isPal(V) -> U71(isPalListKind(activate(V)), activate(V)) isPal(n__nil) -> tt isPalListKind(n__a) -> tt isPalListKind(n__e) -> tt isPalListKind(n__i) -> tt isPalListKind(n__nil) -> tt isPalListKind(n__o) -> tt isPalListKind(n__u) -> tt isPalListKind(n____(V1, V2)) -> and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))) isQid(n__a) -> tt isQid(n__e) -> tt isQid(n__i) -> tt isQid(n__o) -> tt isQid(n__u) -> tt nil -> n__nil __(X1, X2) -> n____(X1, X2) isPalListKind(X) -> n__isPalListKind(X) and(X1, X2) -> n__and(X1, X2) a -> n__a e -> n__e i -> n__i o -> n__o u -> n__u activate(n__nil) -> nil activate(n____(X1, X2)) -> __(X1, X2) activate(n__isPalListKind(X)) -> isPalListKind(X) activate(n__and(X1, X2)) -> and(X1, X2) activate(n__a) -> a activate(n__e) -> e activate(n__i) -> i activate(n__o) -> o activate(n__u) -> u activate(X) -> X S is empty. Rewrite Strategy: FULL ---------------------------------------- (3) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (4) Obligation: TRS: Rules: __(__(X, Y), Z) -> __(X, __(Y, Z)) __(X, nil) -> X __(nil, X) -> X U11(tt, V) -> U12(isNeList(activate(V))) U12(tt) -> tt U21(tt, V1, V2) -> U22(isList(activate(V1)), activate(V2)) U22(tt, V2) -> U23(isList(activate(V2))) U23(tt) -> tt U31(tt, V) -> U32(isQid(activate(V))) U32(tt) -> tt U41(tt, V1, V2) -> U42(isList(activate(V1)), activate(V2)) U42(tt, V2) -> U43(isNeList(activate(V2))) U43(tt) -> tt U51(tt, V1, V2) -> U52(isNeList(activate(V1)), activate(V2)) U52(tt, V2) -> U53(isList(activate(V2))) U53(tt) -> tt U61(tt, V) -> U62(isQid(activate(V))) U62(tt) -> tt U71(tt, V) -> U72(isNePal(activate(V))) U72(tt) -> tt and(tt, X) -> activate(X) isList(V) -> U11(isPalListKind(activate(V)), activate(V)) isList(n__nil) -> tt isList(n____(V1, V2)) -> U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) isNeList(n____(V1, V2)) -> U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNeList(n____(V1, V2)) -> U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) isNePal(n____(I, __(P, I))) -> and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P)))) isPal(V) -> U71(isPalListKind(activate(V)), activate(V)) isPal(n__nil) -> tt isPalListKind(n__a) -> tt isPalListKind(n__e) -> tt isPalListKind(n__i) -> tt isPalListKind(n__nil) -> tt isPalListKind(n__o) -> tt isPalListKind(n__u) -> tt isPalListKind(n____(V1, V2)) -> and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))) isQid(n__a) -> tt isQid(n__e) -> tt isQid(n__i) -> tt isQid(n__o) -> tt isQid(n__u) -> tt nil -> n__nil __(X1, X2) -> n____(X1, X2) isPalListKind(X) -> n__isPalListKind(X) and(X1, X2) -> n__and(X1, X2) a -> n__a e -> n__e i -> n__i o -> n__o u -> n__u activate(n__nil) -> nil activate(n____(X1, X2)) -> __(X1, X2) activate(n__isPalListKind(X)) -> isPalListKind(X) activate(n__and(X1, X2)) -> and(X1, X2) activate(n__a) -> a activate(n__e) -> e activate(n__i) -> i activate(n__o) -> o activate(n__u) -> u activate(X) -> X Types: __ :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u nil :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U11 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u tt :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U12 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isNeList :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u activate :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U21 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U22 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isList :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U23 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U31 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U32 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isQid :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U41 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U42 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U43 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U51 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U52 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U53 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U61 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U62 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U71 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U72 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isNePal :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u and :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isPalListKind :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__nil :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n____ :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__isPalListKind :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__and :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isPal :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__a :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__e :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__i :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__o :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__u :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u a :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u e :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u i :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u o :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u u :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u hole_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0 :: Nat -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u ---------------------------------------- (5) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: __, isNeList, activate, isList, isNePal, and, isPalListKind, isPal They will be analysed ascendingly in the following order: __ < activate activate < isNeList isNeList = isList and < isNeList isPalListKind < isNeList activate < isList activate < isNePal activate = and activate = isPalListKind activate < isPal and < isList isPalListKind < isList and < isNePal isPalListKind < isNePal isNePal = isPal and = isPalListKind isPalListKind < isPal ---------------------------------------- (6) Obligation: TRS: Rules: __(__(X, Y), Z) -> __(X, __(Y, Z)) __(X, nil) -> X __(nil, X) -> X U11(tt, V) -> U12(isNeList(activate(V))) U12(tt) -> tt U21(tt, V1, V2) -> U22(isList(activate(V1)), activate(V2)) U22(tt, V2) -> U23(isList(activate(V2))) U23(tt) -> tt U31(tt, V) -> U32(isQid(activate(V))) U32(tt) -> tt U41(tt, V1, V2) -> U42(isList(activate(V1)), activate(V2)) U42(tt, V2) -> U43(isNeList(activate(V2))) U43(tt) -> tt U51(tt, V1, V2) -> U52(isNeList(activate(V1)), activate(V2)) U52(tt, V2) -> U53(isList(activate(V2))) U53(tt) -> tt U61(tt, V) -> U62(isQid(activate(V))) U62(tt) -> tt U71(tt, V) -> U72(isNePal(activate(V))) U72(tt) -> tt and(tt, X) -> activate(X) isList(V) -> U11(isPalListKind(activate(V)), activate(V)) isList(n__nil) -> tt isList(n____(V1, V2)) -> U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) isNeList(n____(V1, V2)) -> U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNeList(n____(V1, V2)) -> U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) isNePal(n____(I, __(P, I))) -> and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P)))) isPal(V) -> U71(isPalListKind(activate(V)), activate(V)) isPal(n__nil) -> tt isPalListKind(n__a) -> tt isPalListKind(n__e) -> tt isPalListKind(n__i) -> tt isPalListKind(n__nil) -> tt isPalListKind(n__o) -> tt isPalListKind(n__u) -> tt isPalListKind(n____(V1, V2)) -> and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))) isQid(n__a) -> tt isQid(n__e) -> tt isQid(n__i) -> tt isQid(n__o) -> tt isQid(n__u) -> tt nil -> n__nil __(X1, X2) -> n____(X1, X2) isPalListKind(X) -> n__isPalListKind(X) and(X1, X2) -> n__and(X1, X2) a -> n__a e -> n__e i -> n__i o -> n__o u -> n__u activate(n__nil) -> nil activate(n____(X1, X2)) -> __(X1, X2) activate(n__isPalListKind(X)) -> isPalListKind(X) activate(n__and(X1, X2)) -> and(X1, X2) activate(n__a) -> a activate(n__e) -> e activate(n__i) -> i activate(n__o) -> o activate(n__u) -> u activate(X) -> X Types: __ :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u nil :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U11 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u tt :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U12 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isNeList :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u activate :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U21 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U22 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isList :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U23 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U31 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U32 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isQid :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U41 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U42 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U43 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U51 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U52 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U53 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U61 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U62 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U71 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U72 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isNePal :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u and :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isPalListKind :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__nil :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n____ :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__isPalListKind :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__and :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isPal :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__a :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__e :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__i :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__o :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__u :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u a :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u e :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u i :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u o :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u u :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u hole_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0 :: Nat -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u Generator Equations: gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(0) <=> tt gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(+(x, 1)) <=> n____(gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(x), tt) The following defined symbols remain to be analysed: __, isNeList, activate, isList, isNePal, and, isPalListKind, isPal They will be analysed ascendingly in the following order: __ < activate activate < isNeList isNeList = isList and < isNeList isPalListKind < isNeList activate < isList activate < isNePal activate = and activate = isPalListKind activate < isPal and < isList isPalListKind < isList and < isNePal isPalListKind < isNePal isNePal = isPal and = isPalListKind isPalListKind < isPal ---------------------------------------- (7) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: isPalListKind(gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(+(1, n27_0))) -> *3_0, rt in Omega(n27_0) Induction Base: isPalListKind(gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(+(1, 0))) Induction Step: isPalListKind(gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(+(1, +(n27_0, 1)))) ->_R^Omega(1) and(isPalListKind(activate(gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(+(1, n27_0)))), n__isPalListKind(activate(tt))) ->_R^Omega(1) and(isPalListKind(gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(+(1, n27_0))), n__isPalListKind(activate(tt))) ->_IH and(*3_0, n__isPalListKind(activate(tt))) ->_R^Omega(1) and(*3_0, n__isPalListKind(tt)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (8) Complex Obligation (BEST) ---------------------------------------- (9) Obligation: Proved the lower bound n^1 for the following obligation: TRS: Rules: __(__(X, Y), Z) -> __(X, __(Y, Z)) __(X, nil) -> X __(nil, X) -> X U11(tt, V) -> U12(isNeList(activate(V))) U12(tt) -> tt U21(tt, V1, V2) -> U22(isList(activate(V1)), activate(V2)) U22(tt, V2) -> U23(isList(activate(V2))) U23(tt) -> tt U31(tt, V) -> U32(isQid(activate(V))) U32(tt) -> tt U41(tt, V1, V2) -> U42(isList(activate(V1)), activate(V2)) U42(tt, V2) -> U43(isNeList(activate(V2))) U43(tt) -> tt U51(tt, V1, V2) -> U52(isNeList(activate(V1)), activate(V2)) U52(tt, V2) -> U53(isList(activate(V2))) U53(tt) -> tt U61(tt, V) -> U62(isQid(activate(V))) U62(tt) -> tt U71(tt, V) -> U72(isNePal(activate(V))) U72(tt) -> tt and(tt, X) -> activate(X) isList(V) -> U11(isPalListKind(activate(V)), activate(V)) isList(n__nil) -> tt isList(n____(V1, V2)) -> U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) isNeList(n____(V1, V2)) -> U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNeList(n____(V1, V2)) -> U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) isNePal(n____(I, __(P, I))) -> and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P)))) isPal(V) -> U71(isPalListKind(activate(V)), activate(V)) isPal(n__nil) -> tt isPalListKind(n__a) -> tt isPalListKind(n__e) -> tt isPalListKind(n__i) -> tt isPalListKind(n__nil) -> tt isPalListKind(n__o) -> tt isPalListKind(n__u) -> tt isPalListKind(n____(V1, V2)) -> and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))) isQid(n__a) -> tt isQid(n__e) -> tt isQid(n__i) -> tt isQid(n__o) -> tt isQid(n__u) -> tt nil -> n__nil __(X1, X2) -> n____(X1, X2) isPalListKind(X) -> n__isPalListKind(X) and(X1, X2) -> n__and(X1, X2) a -> n__a e -> n__e i -> n__i o -> n__o u -> n__u activate(n__nil) -> nil activate(n____(X1, X2)) -> __(X1, X2) activate(n__isPalListKind(X)) -> isPalListKind(X) activate(n__and(X1, X2)) -> and(X1, X2) activate(n__a) -> a activate(n__e) -> e activate(n__i) -> i activate(n__o) -> o activate(n__u) -> u activate(X) -> X Types: __ :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u nil :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U11 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u tt :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U12 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isNeList :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u activate :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U21 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U22 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isList :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U23 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U31 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U32 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isQid :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U41 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U42 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U43 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U51 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U52 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U53 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U61 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U62 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U71 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U72 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isNePal :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u and :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isPalListKind :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__nil :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n____ :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__isPalListKind :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__and :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isPal :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__a :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__e :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__i :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__o :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__u :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u a :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u e :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u i :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u o :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u u :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u hole_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0 :: Nat -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u Generator Equations: gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(0) <=> tt gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(+(x, 1)) <=> n____(gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(x), tt) The following defined symbols remain to be analysed: isPalListKind, isNeList, activate, isList, isNePal, and, isPal They will be analysed ascendingly in the following order: activate < isNeList isNeList = isList and < isNeList isPalListKind < isNeList activate < isList activate < isNePal activate = and activate = isPalListKind activate < isPal and < isList isPalListKind < isList and < isNePal isPalListKind < isNePal isNePal = isPal and = isPalListKind isPalListKind < isPal ---------------------------------------- (10) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (11) BOUNDS(n^1, INF) ---------------------------------------- (12) Obligation: TRS: Rules: __(__(X, Y), Z) -> __(X, __(Y, Z)) __(X, nil) -> X __(nil, X) -> X U11(tt, V) -> U12(isNeList(activate(V))) U12(tt) -> tt U21(tt, V1, V2) -> U22(isList(activate(V1)), activate(V2)) U22(tt, V2) -> U23(isList(activate(V2))) U23(tt) -> tt U31(tt, V) -> U32(isQid(activate(V))) U32(tt) -> tt U41(tt, V1, V2) -> U42(isList(activate(V1)), activate(V2)) U42(tt, V2) -> U43(isNeList(activate(V2))) U43(tt) -> tt U51(tt, V1, V2) -> U52(isNeList(activate(V1)), activate(V2)) U52(tt, V2) -> U53(isList(activate(V2))) U53(tt) -> tt U61(tt, V) -> U62(isQid(activate(V))) U62(tt) -> tt U71(tt, V) -> U72(isNePal(activate(V))) U72(tt) -> tt and(tt, X) -> activate(X) isList(V) -> U11(isPalListKind(activate(V)), activate(V)) isList(n__nil) -> tt isList(n____(V1, V2)) -> U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) isNeList(n____(V1, V2)) -> U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNeList(n____(V1, V2)) -> U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2)) isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) isNePal(n____(I, __(P, I))) -> and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P)))) isPal(V) -> U71(isPalListKind(activate(V)), activate(V)) isPal(n__nil) -> tt isPalListKind(n__a) -> tt isPalListKind(n__e) -> tt isPalListKind(n__i) -> tt isPalListKind(n__nil) -> tt isPalListKind(n__o) -> tt isPalListKind(n__u) -> tt isPalListKind(n____(V1, V2)) -> and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))) isQid(n__a) -> tt isQid(n__e) -> tt isQid(n__i) -> tt isQid(n__o) -> tt isQid(n__u) -> tt nil -> n__nil __(X1, X2) -> n____(X1, X2) isPalListKind(X) -> n__isPalListKind(X) and(X1, X2) -> n__and(X1, X2) a -> n__a e -> n__e i -> n__i o -> n__o u -> n__u activate(n__nil) -> nil activate(n____(X1, X2)) -> __(X1, X2) activate(n__isPalListKind(X)) -> isPalListKind(X) activate(n__and(X1, X2)) -> and(X1, X2) activate(n__a) -> a activate(n__e) -> e activate(n__i) -> i activate(n__o) -> o activate(n__u) -> u activate(X) -> X Types: __ :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u nil :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U11 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u tt :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U12 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isNeList :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u activate :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U21 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U22 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isList :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U23 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U31 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U32 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isQid :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U41 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U42 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U43 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U51 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U52 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U53 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U61 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U62 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U71 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u U72 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isNePal :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u and :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isPalListKind :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__nil :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n____ :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__isPalListKind :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__and :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u isPal :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__a :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__e :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__i :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__o :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u n__u :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u a :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u e :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u i :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u o :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u u :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u hole_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0 :: Nat -> tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u Lemmas: isPalListKind(gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(+(1, n27_0))) -> *3_0, rt in Omega(n27_0) Generator Equations: gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(0) <=> tt gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(+(x, 1)) <=> n____(gen_tt:n__nil:n____:n__isPalListKind:n__and:n__a:n__e:n__i:n__o:n__u2_0(x), tt) The following defined symbols remain to be analysed: and, isNeList, activate, isList, isNePal, isPal They will be analysed ascendingly in the following order: activate < isNeList isNeList = isList and < isNeList isPalListKind < isNeList activate < isList activate < isNePal activate = and activate = isPalListKind activate < isPal and < isList isPalListKind < isList and < isNePal isPalListKind < isNePal isNePal = isPal and = isPalListKind isPalListKind < isPal