(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
U11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U12(tt, V) → U13(isNeList(activate(V)))
U13(tt) → tt
U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))
U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))
U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))
U26(tt) → tt
U31(tt, V) → U32(isPalListKind(activate(V)), activate(V))
U32(tt, V) → U33(isQid(activate(V)))
U33(tt) → tt
U41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))
U45(tt, V2) → U46(isNeList(activate(V2)))
U46(tt) → tt
U51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))
U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))
U55(tt, V2) → U56(isList(activate(V2)))
U56(tt) → tt
U61(tt, V) → U62(isPalListKind(activate(V)), activate(V))
U62(tt, V) → U63(isQid(activate(V)))
U63(tt) → tt
U71(tt, I, P) → U72(isPalListKind(activate(I)), activate(P))
U72(tt, P) → U73(isPal(activate(P)), activate(P))
U73(tt, P) → U74(isPalListKind(activate(P)))
U74(tt) → tt
U81(tt, V) → U82(isPalListKind(activate(V)), activate(V))
U82(tt, V) → U83(isNePal(activate(V)))
U83(tt) → tt
U91(tt, V2) → U92(isPalListKind(activate(V2)))
U92(tt) → tt
isList(V) → U11(isPalListKind(activate(V)), activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(V) → U31(isPalListKind(activate(V)), activate(V))
isNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNePal(V) → U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, n____(P, I))) → U71(isQid(activate(I)), activate(I), activate(P))
isPal(V) → U81(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)) → U91(isPalListKind(activate(V1)), 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)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(X2))
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X
Rewrite Strategy: FULL
(1) DecreasingLoopProof (EQUIVALENT transformation)
The following loop(s) give(s) rise to the lower bound Ω(n1):
The rewrite sequence
isPalListKind(n____(V1, V2)) →+ U91(isPalListKind(V1), activate(V2))
gives rise to a decreasing loop by considering the right hand sides subterm at position [0].
The pumping substitution is [V1 / n____(V1, V2)].
The result substitution is [ ].
(2) BOUNDS(n^1, INF)
(3) RenamingProof (EQUIVALENT transformation)
Renamed function symbols to avoid clashes with predefined symbol.
(4) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
U11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U12(tt, V) → U13(isNeList(activate(V)))
U13(tt) → tt
U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))
U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))
U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))
U26(tt) → tt
U31(tt, V) → U32(isPalListKind(activate(V)), activate(V))
U32(tt, V) → U33(isQid(activate(V)))
U33(tt) → tt
U41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))
U45(tt, V2) → U46(isNeList(activate(V2)))
U46(tt) → tt
U51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))
U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))
U55(tt, V2) → U56(isList(activate(V2)))
U56(tt) → tt
U61(tt, V) → U62(isPalListKind(activate(V)), activate(V))
U62(tt, V) → U63(isQid(activate(V)))
U63(tt) → tt
U71(tt, I, P) → U72(isPalListKind(activate(I)), activate(P))
U72(tt, P) → U73(isPal(activate(P)), activate(P))
U73(tt, P) → U74(isPalListKind(activate(P)))
U74(tt) → tt
U81(tt, V) → U82(isPalListKind(activate(V)), activate(V))
U82(tt, V) → U83(isNePal(activate(V)))
U83(tt) → tt
U91(tt, V2) → U92(isPalListKind(activate(V2)))
U92(tt) → tt
isList(V) → U11(isPalListKind(activate(V)), activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(V) → U31(isPalListKind(activate(V)), activate(V))
isNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNePal(V) → U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, n____(P, I))) → U71(isQid(activate(I)), activate(I), activate(P))
isPal(V) → U81(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)) → U91(isPalListKind(activate(V1)), 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)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(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
(5) TypeInferenceProof (BOTH BOUNDS(ID, ID) transformation)
Infered types.
(6) Obligation:
TRS:
Rules:
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
U11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U12(tt, V) → U13(isNeList(activate(V)))
U13(tt) → tt
U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))
U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))
U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))
U26(tt) → tt
U31(tt, V) → U32(isPalListKind(activate(V)), activate(V))
U32(tt, V) → U33(isQid(activate(V)))
U33(tt) → tt
U41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))
U45(tt, V2) → U46(isNeList(activate(V2)))
U46(tt) → tt
U51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))
U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))
U55(tt, V2) → U56(isList(activate(V2)))
U56(tt) → tt
U61(tt, V) → U62(isPalListKind(activate(V)), activate(V))
U62(tt, V) → U63(isQid(activate(V)))
U63(tt) → tt
U71(tt, I, P) → U72(isPalListKind(activate(I)), activate(P))
U72(tt, P) → U73(isPal(activate(P)), activate(P))
U73(tt, P) → U74(isPalListKind(activate(P)))
U74(tt) → tt
U81(tt, V) → U82(isPalListKind(activate(V)), activate(V))
U82(tt, V) → U83(isNePal(activate(V)))
U83(tt) → tt
U91(tt, V2) → U92(isPalListKind(activate(V2)))
U92(tt) → tt
isList(V) → U11(isPalListKind(activate(V)), activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(V) → U31(isPalListKind(activate(V)), activate(V))
isNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNePal(V) → U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, n____(P, I))) → U71(isQid(activate(I)), activate(I), activate(P))
isPal(V) → U81(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)) → U91(isPalListKind(activate(V1)), 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)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(activate(X1), activate(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:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
tt :: tt
U12 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPalListKind :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U13 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U23 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U24 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U25 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U26 :: tt → tt
U31 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U32 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U33 :: tt → tt
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U43 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U44 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U45 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U46 :: tt → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U53 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U54 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U55 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U56 :: tt → tt
U61 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U62 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U63 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U73 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U74 :: tt → tt
U81 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U82 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U83 :: tt → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U91 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U92 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
(7) OrderProof (LOWER BOUND(ID) transformation)
Heuristically decided to analyse the following defined symbols:
__,
isPalListKind,
activate,
isNeList,
isList,
isPal,
isNePalThey will be analysed ascendingly in the following order:
__ < activate
activate < isPalListKind
isPalListKind < isNeList
isPalListKind < isList
isPalListKind < isPal
isPalListKind < isNePal
activate < isNeList
activate < isList
activate < isPal
activate < isNePal
isNeList = isList
isPal = isNePal
(8) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt,
V) →
U12(
isPalListKind(
activate(
V)),
activate(
V))
U12(
tt,
V) →
U13(
isNeList(
activate(
V)))
U13(
tt) →
ttU21(
tt,
V1,
V2) →
U22(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U22(
tt,
V1,
V2) →
U23(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U23(
tt,
V1,
V2) →
U24(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U24(
tt,
V1,
V2) →
U25(
isList(
activate(
V1)),
activate(
V2))
U25(
tt,
V2) →
U26(
isList(
activate(
V2)))
U26(
tt) →
ttU31(
tt,
V) →
U32(
isPalListKind(
activate(
V)),
activate(
V))
U32(
tt,
V) →
U33(
isQid(
activate(
V)))
U33(
tt) →
ttU41(
tt,
V1,
V2) →
U42(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U42(
tt,
V1,
V2) →
U43(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U43(
tt,
V1,
V2) →
U44(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U44(
tt,
V1,
V2) →
U45(
isList(
activate(
V1)),
activate(
V2))
U45(
tt,
V2) →
U46(
isNeList(
activate(
V2)))
U46(
tt) →
ttU51(
tt,
V1,
V2) →
U52(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U52(
tt,
V1,
V2) →
U53(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U53(
tt,
V1,
V2) →
U54(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U54(
tt,
V1,
V2) →
U55(
isNeList(
activate(
V1)),
activate(
V2))
U55(
tt,
V2) →
U56(
isList(
activate(
V2)))
U56(
tt) →
ttU61(
tt,
V) →
U62(
isPalListKind(
activate(
V)),
activate(
V))
U62(
tt,
V) →
U63(
isQid(
activate(
V)))
U63(
tt) →
ttU71(
tt,
I,
P) →
U72(
isPalListKind(
activate(
I)),
activate(
P))
U72(
tt,
P) →
U73(
isPal(
activate(
P)),
activate(
P))
U73(
tt,
P) →
U74(
isPalListKind(
activate(
P)))
U74(
tt) →
ttU81(
tt,
V) →
U82(
isPalListKind(
activate(
V)),
activate(
V))
U82(
tt,
V) →
U83(
isNePal(
activate(
V)))
U83(
tt) →
ttU91(
tt,
V2) →
U92(
isPalListKind(
activate(
V2)))
U92(
tt) →
ttisList(
V) →
U11(
isPalListKind(
activate(
V)),
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
V) →
U31(
isPalListKind(
activate(
V)),
activate(
V))
isNeList(
n____(
V1,
V2)) →
U41(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNePal(
V) →
U61(
isPalListKind(
activate(
V)),
activate(
V))
isNePal(
n____(
I,
n____(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
I),
activate(
P))
isPal(
V) →
U81(
isPalListKind(
activate(
V)),
activate(
V))
isPal(
n__nil) →
ttisPalListKind(
n__a) →
ttisPalListKind(
n__e) →
ttisPalListKind(
n__i) →
ttisPalListKind(
n__nil) →
ttisPalListKind(
n__o) →
ttisPalListKind(
n__u) →
ttisPalListKind(
n____(
V1,
V2)) →
U91(
isPalListKind(
activate(
V1)),
activate(
V2))
isQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
activate(
X1),
activate(
X2))
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
tt :: tt
U12 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPalListKind :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U13 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U23 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U24 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U25 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U26 :: tt → tt
U31 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U32 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U33 :: tt → tt
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U43 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U44 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U45 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U46 :: tt → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U53 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U54 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U55 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U56 :: tt → tt
U61 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U62 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U63 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U73 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U74 :: tt → tt
U81 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U82 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U83 :: tt → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U91 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U92 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
The following defined symbols remain to be analysed:
__, isPalListKind, activate, isNeList, isList, isPal, isNePal
They will be analysed ascendingly in the following order:
__ < activate
activate < isPalListKind
isPalListKind < isNeList
isPalListKind < isList
isPalListKind < isPal
isPalListKind < isNePal
activate < isNeList
activate < isList
activate < isPal
activate < isNePal
isNeList = isList
isPal = isNePal
(9) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol __.
(10) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt,
V) →
U12(
isPalListKind(
activate(
V)),
activate(
V))
U12(
tt,
V) →
U13(
isNeList(
activate(
V)))
U13(
tt) →
ttU21(
tt,
V1,
V2) →
U22(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U22(
tt,
V1,
V2) →
U23(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U23(
tt,
V1,
V2) →
U24(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U24(
tt,
V1,
V2) →
U25(
isList(
activate(
V1)),
activate(
V2))
U25(
tt,
V2) →
U26(
isList(
activate(
V2)))
U26(
tt) →
ttU31(
tt,
V) →
U32(
isPalListKind(
activate(
V)),
activate(
V))
U32(
tt,
V) →
U33(
isQid(
activate(
V)))
U33(
tt) →
ttU41(
tt,
V1,
V2) →
U42(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U42(
tt,
V1,
V2) →
U43(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U43(
tt,
V1,
V2) →
U44(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U44(
tt,
V1,
V2) →
U45(
isList(
activate(
V1)),
activate(
V2))
U45(
tt,
V2) →
U46(
isNeList(
activate(
V2)))
U46(
tt) →
ttU51(
tt,
V1,
V2) →
U52(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U52(
tt,
V1,
V2) →
U53(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U53(
tt,
V1,
V2) →
U54(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U54(
tt,
V1,
V2) →
U55(
isNeList(
activate(
V1)),
activate(
V2))
U55(
tt,
V2) →
U56(
isList(
activate(
V2)))
U56(
tt) →
ttU61(
tt,
V) →
U62(
isPalListKind(
activate(
V)),
activate(
V))
U62(
tt,
V) →
U63(
isQid(
activate(
V)))
U63(
tt) →
ttU71(
tt,
I,
P) →
U72(
isPalListKind(
activate(
I)),
activate(
P))
U72(
tt,
P) →
U73(
isPal(
activate(
P)),
activate(
P))
U73(
tt,
P) →
U74(
isPalListKind(
activate(
P)))
U74(
tt) →
ttU81(
tt,
V) →
U82(
isPalListKind(
activate(
V)),
activate(
V))
U82(
tt,
V) →
U83(
isNePal(
activate(
V)))
U83(
tt) →
ttU91(
tt,
V2) →
U92(
isPalListKind(
activate(
V2)))
U92(
tt) →
ttisList(
V) →
U11(
isPalListKind(
activate(
V)),
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
V) →
U31(
isPalListKind(
activate(
V)),
activate(
V))
isNeList(
n____(
V1,
V2)) →
U41(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNePal(
V) →
U61(
isPalListKind(
activate(
V)),
activate(
V))
isNePal(
n____(
I,
n____(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
I),
activate(
P))
isPal(
V) →
U81(
isPalListKind(
activate(
V)),
activate(
V))
isPal(
n__nil) →
ttisPalListKind(
n__a) →
ttisPalListKind(
n__e) →
ttisPalListKind(
n__i) →
ttisPalListKind(
n__nil) →
ttisPalListKind(
n__o) →
ttisPalListKind(
n__u) →
ttisPalListKind(
n____(
V1,
V2)) →
U91(
isPalListKind(
activate(
V1)),
activate(
V2))
isQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
activate(
X1),
activate(
X2))
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
tt :: tt
U12 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPalListKind :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U13 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U23 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U24 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U25 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U26 :: tt → tt
U31 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U32 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U33 :: tt → tt
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U43 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U44 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U45 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U46 :: tt → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U53 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U54 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U55 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U56 :: tt → tt
U61 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U62 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U63 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U73 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U74 :: tt → tt
U81 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U82 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U83 :: tt → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U91 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U92 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
The following defined symbols remain to be analysed:
activate, isPalListKind, isNeList, isList, isPal, isNePal
They will be analysed ascendingly in the following order:
activate < isPalListKind
isPalListKind < isNeList
isPalListKind < isList
isPalListKind < isPal
isPalListKind < isNePal
activate < isNeList
activate < isList
activate < isPal
activate < isNePal
isNeList = isList
isPal = isNePal
(11) RewriteLemmaProof (LOWER BOUND(ID) transformation)
Proved the following rewrite lemma:
activate(
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(
n28_0)) →
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(
n28_0), rt ∈ Ω(1 + n28
0)
Induction Base:
activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0)) →RΩ(1)
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0)
Induction Step:
activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(n28_0, 1))) →RΩ(1)
__(activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0)), activate(n__nil)) →IH
__(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(c29_0), activate(n__nil)) →RΩ(1)
__(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0), n__nil) →RΩ(1)
n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0), n__nil)
We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).
(12) Complex Obligation (BEST)
(13) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt,
V) →
U12(
isPalListKind(
activate(
V)),
activate(
V))
U12(
tt,
V) →
U13(
isNeList(
activate(
V)))
U13(
tt) →
ttU21(
tt,
V1,
V2) →
U22(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U22(
tt,
V1,
V2) →
U23(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U23(
tt,
V1,
V2) →
U24(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U24(
tt,
V1,
V2) →
U25(
isList(
activate(
V1)),
activate(
V2))
U25(
tt,
V2) →
U26(
isList(
activate(
V2)))
U26(
tt) →
ttU31(
tt,
V) →
U32(
isPalListKind(
activate(
V)),
activate(
V))
U32(
tt,
V) →
U33(
isQid(
activate(
V)))
U33(
tt) →
ttU41(
tt,
V1,
V2) →
U42(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U42(
tt,
V1,
V2) →
U43(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U43(
tt,
V1,
V2) →
U44(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U44(
tt,
V1,
V2) →
U45(
isList(
activate(
V1)),
activate(
V2))
U45(
tt,
V2) →
U46(
isNeList(
activate(
V2)))
U46(
tt) →
ttU51(
tt,
V1,
V2) →
U52(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U52(
tt,
V1,
V2) →
U53(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U53(
tt,
V1,
V2) →
U54(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U54(
tt,
V1,
V2) →
U55(
isNeList(
activate(
V1)),
activate(
V2))
U55(
tt,
V2) →
U56(
isList(
activate(
V2)))
U56(
tt) →
ttU61(
tt,
V) →
U62(
isPalListKind(
activate(
V)),
activate(
V))
U62(
tt,
V) →
U63(
isQid(
activate(
V)))
U63(
tt) →
ttU71(
tt,
I,
P) →
U72(
isPalListKind(
activate(
I)),
activate(
P))
U72(
tt,
P) →
U73(
isPal(
activate(
P)),
activate(
P))
U73(
tt,
P) →
U74(
isPalListKind(
activate(
P)))
U74(
tt) →
ttU81(
tt,
V) →
U82(
isPalListKind(
activate(
V)),
activate(
V))
U82(
tt,
V) →
U83(
isNePal(
activate(
V)))
U83(
tt) →
ttU91(
tt,
V2) →
U92(
isPalListKind(
activate(
V2)))
U92(
tt) →
ttisList(
V) →
U11(
isPalListKind(
activate(
V)),
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
V) →
U31(
isPalListKind(
activate(
V)),
activate(
V))
isNeList(
n____(
V1,
V2)) →
U41(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNePal(
V) →
U61(
isPalListKind(
activate(
V)),
activate(
V))
isNePal(
n____(
I,
n____(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
I),
activate(
P))
isPal(
V) →
U81(
isPalListKind(
activate(
V)),
activate(
V))
isPal(
n__nil) →
ttisPalListKind(
n__a) →
ttisPalListKind(
n__e) →
ttisPalListKind(
n__i) →
ttisPalListKind(
n__nil) →
ttisPalListKind(
n__o) →
ttisPalListKind(
n__u) →
ttisPalListKind(
n____(
V1,
V2)) →
U91(
isPalListKind(
activate(
V1)),
activate(
V2))
isQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
activate(
X1),
activate(
X2))
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
tt :: tt
U12 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPalListKind :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U13 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U23 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U24 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U25 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U26 :: tt → tt
U31 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U32 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U33 :: tt → tt
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U43 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U44 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U45 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U46 :: tt → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U53 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U54 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U55 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U56 :: tt → tt
U61 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U62 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U63 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U73 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U74 :: tt → tt
U81 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U82 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U83 :: tt → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U91 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U92 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Lemmas:
activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0)) → gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0), rt ∈ Ω(1 + n280)
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
The following defined symbols remain to be analysed:
isPalListKind, isNeList, isList, isPal, isNePal
They will be analysed ascendingly in the following order:
isPalListKind < isNeList
isPalListKind < isList
isPalListKind < isPal
isPalListKind < isNePal
isNeList = isList
isPal = isNePal
(14) RewriteLemmaProof (LOWER BOUND(ID) transformation)
Proved the following rewrite lemma:
isPalListKind(
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(
n10528_0)) →
tt, rt ∈ Ω(1 + n10528
0 + n10528
02)
Induction Base:
isPalListKind(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0)) →RΩ(1)
tt
Induction Step:
isPalListKind(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(n10528_0, 1))) →RΩ(1)
U91(isPalListKind(activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n10528_0))), activate(n__nil)) →LΩ(1 + n105280)
U91(isPalListKind(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n10528_0)), activate(n__nil)) →IH
U91(tt, activate(n__nil)) →LΩ(1)
U91(tt, gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0)) →RΩ(1)
U92(isPalListKind(activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0)))) →LΩ(1)
U92(isPalListKind(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0))) →RΩ(1)
U92(tt) →RΩ(1)
tt
We have rt ∈ Ω(n2) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n2).
(15) Complex Obligation (BEST)
(16) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt,
V) →
U12(
isPalListKind(
activate(
V)),
activate(
V))
U12(
tt,
V) →
U13(
isNeList(
activate(
V)))
U13(
tt) →
ttU21(
tt,
V1,
V2) →
U22(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U22(
tt,
V1,
V2) →
U23(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U23(
tt,
V1,
V2) →
U24(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U24(
tt,
V1,
V2) →
U25(
isList(
activate(
V1)),
activate(
V2))
U25(
tt,
V2) →
U26(
isList(
activate(
V2)))
U26(
tt) →
ttU31(
tt,
V) →
U32(
isPalListKind(
activate(
V)),
activate(
V))
U32(
tt,
V) →
U33(
isQid(
activate(
V)))
U33(
tt) →
ttU41(
tt,
V1,
V2) →
U42(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U42(
tt,
V1,
V2) →
U43(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U43(
tt,
V1,
V2) →
U44(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U44(
tt,
V1,
V2) →
U45(
isList(
activate(
V1)),
activate(
V2))
U45(
tt,
V2) →
U46(
isNeList(
activate(
V2)))
U46(
tt) →
ttU51(
tt,
V1,
V2) →
U52(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U52(
tt,
V1,
V2) →
U53(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U53(
tt,
V1,
V2) →
U54(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U54(
tt,
V1,
V2) →
U55(
isNeList(
activate(
V1)),
activate(
V2))
U55(
tt,
V2) →
U56(
isList(
activate(
V2)))
U56(
tt) →
ttU61(
tt,
V) →
U62(
isPalListKind(
activate(
V)),
activate(
V))
U62(
tt,
V) →
U63(
isQid(
activate(
V)))
U63(
tt) →
ttU71(
tt,
I,
P) →
U72(
isPalListKind(
activate(
I)),
activate(
P))
U72(
tt,
P) →
U73(
isPal(
activate(
P)),
activate(
P))
U73(
tt,
P) →
U74(
isPalListKind(
activate(
P)))
U74(
tt) →
ttU81(
tt,
V) →
U82(
isPalListKind(
activate(
V)),
activate(
V))
U82(
tt,
V) →
U83(
isNePal(
activate(
V)))
U83(
tt) →
ttU91(
tt,
V2) →
U92(
isPalListKind(
activate(
V2)))
U92(
tt) →
ttisList(
V) →
U11(
isPalListKind(
activate(
V)),
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
V) →
U31(
isPalListKind(
activate(
V)),
activate(
V))
isNeList(
n____(
V1,
V2)) →
U41(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNePal(
V) →
U61(
isPalListKind(
activate(
V)),
activate(
V))
isNePal(
n____(
I,
n____(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
I),
activate(
P))
isPal(
V) →
U81(
isPalListKind(
activate(
V)),
activate(
V))
isPal(
n__nil) →
ttisPalListKind(
n__a) →
ttisPalListKind(
n__e) →
ttisPalListKind(
n__i) →
ttisPalListKind(
n__nil) →
ttisPalListKind(
n__o) →
ttisPalListKind(
n__u) →
ttisPalListKind(
n____(
V1,
V2)) →
U91(
isPalListKind(
activate(
V1)),
activate(
V2))
isQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
activate(
X1),
activate(
X2))
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
tt :: tt
U12 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPalListKind :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U13 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U23 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U24 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U25 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U26 :: tt → tt
U31 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U32 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U33 :: tt → tt
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U43 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U44 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U45 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U46 :: tt → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U53 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U54 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U55 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U56 :: tt → tt
U61 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U62 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U63 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U73 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U74 :: tt → tt
U81 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U82 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U83 :: tt → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U91 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U92 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Lemmas:
activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0)) → gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0), rt ∈ Ω(1 + n280)
isPalListKind(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n10528_0)) → tt, rt ∈ Ω(1 + n105280 + n1052802)
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
The following defined symbols remain to be analysed:
isNePal, isNeList, isList, isPal
They will be analysed ascendingly in the following order:
isNeList = isList
isPal = isNePal
(17) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol isNePal.
(18) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt,
V) →
U12(
isPalListKind(
activate(
V)),
activate(
V))
U12(
tt,
V) →
U13(
isNeList(
activate(
V)))
U13(
tt) →
ttU21(
tt,
V1,
V2) →
U22(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U22(
tt,
V1,
V2) →
U23(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U23(
tt,
V1,
V2) →
U24(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U24(
tt,
V1,
V2) →
U25(
isList(
activate(
V1)),
activate(
V2))
U25(
tt,
V2) →
U26(
isList(
activate(
V2)))
U26(
tt) →
ttU31(
tt,
V) →
U32(
isPalListKind(
activate(
V)),
activate(
V))
U32(
tt,
V) →
U33(
isQid(
activate(
V)))
U33(
tt) →
ttU41(
tt,
V1,
V2) →
U42(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U42(
tt,
V1,
V2) →
U43(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U43(
tt,
V1,
V2) →
U44(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U44(
tt,
V1,
V2) →
U45(
isList(
activate(
V1)),
activate(
V2))
U45(
tt,
V2) →
U46(
isNeList(
activate(
V2)))
U46(
tt) →
ttU51(
tt,
V1,
V2) →
U52(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U52(
tt,
V1,
V2) →
U53(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U53(
tt,
V1,
V2) →
U54(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U54(
tt,
V1,
V2) →
U55(
isNeList(
activate(
V1)),
activate(
V2))
U55(
tt,
V2) →
U56(
isList(
activate(
V2)))
U56(
tt) →
ttU61(
tt,
V) →
U62(
isPalListKind(
activate(
V)),
activate(
V))
U62(
tt,
V) →
U63(
isQid(
activate(
V)))
U63(
tt) →
ttU71(
tt,
I,
P) →
U72(
isPalListKind(
activate(
I)),
activate(
P))
U72(
tt,
P) →
U73(
isPal(
activate(
P)),
activate(
P))
U73(
tt,
P) →
U74(
isPalListKind(
activate(
P)))
U74(
tt) →
ttU81(
tt,
V) →
U82(
isPalListKind(
activate(
V)),
activate(
V))
U82(
tt,
V) →
U83(
isNePal(
activate(
V)))
U83(
tt) →
ttU91(
tt,
V2) →
U92(
isPalListKind(
activate(
V2)))
U92(
tt) →
ttisList(
V) →
U11(
isPalListKind(
activate(
V)),
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
V) →
U31(
isPalListKind(
activate(
V)),
activate(
V))
isNeList(
n____(
V1,
V2)) →
U41(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNePal(
V) →
U61(
isPalListKind(
activate(
V)),
activate(
V))
isNePal(
n____(
I,
n____(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
I),
activate(
P))
isPal(
V) →
U81(
isPalListKind(
activate(
V)),
activate(
V))
isPal(
n__nil) →
ttisPalListKind(
n__a) →
ttisPalListKind(
n__e) →
ttisPalListKind(
n__i) →
ttisPalListKind(
n__nil) →
ttisPalListKind(
n__o) →
ttisPalListKind(
n__u) →
ttisPalListKind(
n____(
V1,
V2)) →
U91(
isPalListKind(
activate(
V1)),
activate(
V2))
isQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
activate(
X1),
activate(
X2))
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
tt :: tt
U12 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPalListKind :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U13 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U23 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U24 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U25 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U26 :: tt → tt
U31 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U32 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U33 :: tt → tt
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U43 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U44 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U45 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U46 :: tt → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U53 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U54 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U55 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U56 :: tt → tt
U61 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U62 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U63 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U73 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U74 :: tt → tt
U81 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U82 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U83 :: tt → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U91 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U92 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Lemmas:
activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0)) → gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0), rt ∈ Ω(1 + n280)
isPalListKind(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n10528_0)) → tt, rt ∈ Ω(1 + n105280 + n1052802)
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
The following defined symbols remain to be analysed:
isPal, isNeList, isList
They will be analysed ascendingly in the following order:
isNeList = isList
isPal = isNePal
(19) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol isPal.
(20) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt,
V) →
U12(
isPalListKind(
activate(
V)),
activate(
V))
U12(
tt,
V) →
U13(
isNeList(
activate(
V)))
U13(
tt) →
ttU21(
tt,
V1,
V2) →
U22(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U22(
tt,
V1,
V2) →
U23(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U23(
tt,
V1,
V2) →
U24(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U24(
tt,
V1,
V2) →
U25(
isList(
activate(
V1)),
activate(
V2))
U25(
tt,
V2) →
U26(
isList(
activate(
V2)))
U26(
tt) →
ttU31(
tt,
V) →
U32(
isPalListKind(
activate(
V)),
activate(
V))
U32(
tt,
V) →
U33(
isQid(
activate(
V)))
U33(
tt) →
ttU41(
tt,
V1,
V2) →
U42(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U42(
tt,
V1,
V2) →
U43(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U43(
tt,
V1,
V2) →
U44(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U44(
tt,
V1,
V2) →
U45(
isList(
activate(
V1)),
activate(
V2))
U45(
tt,
V2) →
U46(
isNeList(
activate(
V2)))
U46(
tt) →
ttU51(
tt,
V1,
V2) →
U52(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U52(
tt,
V1,
V2) →
U53(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U53(
tt,
V1,
V2) →
U54(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U54(
tt,
V1,
V2) →
U55(
isNeList(
activate(
V1)),
activate(
V2))
U55(
tt,
V2) →
U56(
isList(
activate(
V2)))
U56(
tt) →
ttU61(
tt,
V) →
U62(
isPalListKind(
activate(
V)),
activate(
V))
U62(
tt,
V) →
U63(
isQid(
activate(
V)))
U63(
tt) →
ttU71(
tt,
I,
P) →
U72(
isPalListKind(
activate(
I)),
activate(
P))
U72(
tt,
P) →
U73(
isPal(
activate(
P)),
activate(
P))
U73(
tt,
P) →
U74(
isPalListKind(
activate(
P)))
U74(
tt) →
ttU81(
tt,
V) →
U82(
isPalListKind(
activate(
V)),
activate(
V))
U82(
tt,
V) →
U83(
isNePal(
activate(
V)))
U83(
tt) →
ttU91(
tt,
V2) →
U92(
isPalListKind(
activate(
V2)))
U92(
tt) →
ttisList(
V) →
U11(
isPalListKind(
activate(
V)),
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
V) →
U31(
isPalListKind(
activate(
V)),
activate(
V))
isNeList(
n____(
V1,
V2)) →
U41(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNePal(
V) →
U61(
isPalListKind(
activate(
V)),
activate(
V))
isNePal(
n____(
I,
n____(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
I),
activate(
P))
isPal(
V) →
U81(
isPalListKind(
activate(
V)),
activate(
V))
isPal(
n__nil) →
ttisPalListKind(
n__a) →
ttisPalListKind(
n__e) →
ttisPalListKind(
n__i) →
ttisPalListKind(
n__nil) →
ttisPalListKind(
n__o) →
ttisPalListKind(
n__u) →
ttisPalListKind(
n____(
V1,
V2)) →
U91(
isPalListKind(
activate(
V1)),
activate(
V2))
isQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
activate(
X1),
activate(
X2))
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
tt :: tt
U12 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPalListKind :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U13 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U23 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U24 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U25 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U26 :: tt → tt
U31 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U32 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U33 :: tt → tt
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U43 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U44 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U45 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U46 :: tt → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U53 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U54 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U55 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U56 :: tt → tt
U61 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U62 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U63 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U73 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U74 :: tt → tt
U81 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U82 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U83 :: tt → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U91 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U92 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Lemmas:
activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0)) → gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0), rt ∈ Ω(1 + n280)
isPalListKind(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n10528_0)) → tt, rt ∈ Ω(1 + n105280 + n1052802)
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
The following defined symbols remain to be analysed:
isList, isNeList
They will be analysed ascendingly in the following order:
isNeList = isList
(21) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol isList.
(22) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt,
V) →
U12(
isPalListKind(
activate(
V)),
activate(
V))
U12(
tt,
V) →
U13(
isNeList(
activate(
V)))
U13(
tt) →
ttU21(
tt,
V1,
V2) →
U22(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U22(
tt,
V1,
V2) →
U23(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U23(
tt,
V1,
V2) →
U24(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U24(
tt,
V1,
V2) →
U25(
isList(
activate(
V1)),
activate(
V2))
U25(
tt,
V2) →
U26(
isList(
activate(
V2)))
U26(
tt) →
ttU31(
tt,
V) →
U32(
isPalListKind(
activate(
V)),
activate(
V))
U32(
tt,
V) →
U33(
isQid(
activate(
V)))
U33(
tt) →
ttU41(
tt,
V1,
V2) →
U42(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U42(
tt,
V1,
V2) →
U43(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U43(
tt,
V1,
V2) →
U44(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U44(
tt,
V1,
V2) →
U45(
isList(
activate(
V1)),
activate(
V2))
U45(
tt,
V2) →
U46(
isNeList(
activate(
V2)))
U46(
tt) →
ttU51(
tt,
V1,
V2) →
U52(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U52(
tt,
V1,
V2) →
U53(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U53(
tt,
V1,
V2) →
U54(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U54(
tt,
V1,
V2) →
U55(
isNeList(
activate(
V1)),
activate(
V2))
U55(
tt,
V2) →
U56(
isList(
activate(
V2)))
U56(
tt) →
ttU61(
tt,
V) →
U62(
isPalListKind(
activate(
V)),
activate(
V))
U62(
tt,
V) →
U63(
isQid(
activate(
V)))
U63(
tt) →
ttU71(
tt,
I,
P) →
U72(
isPalListKind(
activate(
I)),
activate(
P))
U72(
tt,
P) →
U73(
isPal(
activate(
P)),
activate(
P))
U73(
tt,
P) →
U74(
isPalListKind(
activate(
P)))
U74(
tt) →
ttU81(
tt,
V) →
U82(
isPalListKind(
activate(
V)),
activate(
V))
U82(
tt,
V) →
U83(
isNePal(
activate(
V)))
U83(
tt) →
ttU91(
tt,
V2) →
U92(
isPalListKind(
activate(
V2)))
U92(
tt) →
ttisList(
V) →
U11(
isPalListKind(
activate(
V)),
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
V) →
U31(
isPalListKind(
activate(
V)),
activate(
V))
isNeList(
n____(
V1,
V2)) →
U41(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNePal(
V) →
U61(
isPalListKind(
activate(
V)),
activate(
V))
isNePal(
n____(
I,
n____(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
I),
activate(
P))
isPal(
V) →
U81(
isPalListKind(
activate(
V)),
activate(
V))
isPal(
n__nil) →
ttisPalListKind(
n__a) →
ttisPalListKind(
n__e) →
ttisPalListKind(
n__i) →
ttisPalListKind(
n__nil) →
ttisPalListKind(
n__o) →
ttisPalListKind(
n__u) →
ttisPalListKind(
n____(
V1,
V2)) →
U91(
isPalListKind(
activate(
V1)),
activate(
V2))
isQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
activate(
X1),
activate(
X2))
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
tt :: tt
U12 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPalListKind :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U13 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U23 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U24 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U25 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U26 :: tt → tt
U31 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U32 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U33 :: tt → tt
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U43 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U44 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U45 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U46 :: tt → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U53 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U54 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U55 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U56 :: tt → tt
U61 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U62 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U63 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U73 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U74 :: tt → tt
U81 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U82 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U83 :: tt → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U91 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U92 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Lemmas:
activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0)) → gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0), rt ∈ Ω(1 + n280)
isPalListKind(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n10528_0)) → tt, rt ∈ Ω(1 + n105280 + n1052802)
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
The following defined symbols remain to be analysed:
isNeList
They will be analysed ascendingly in the following order:
isNeList = isList
(23) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol isNeList.
(24) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt,
V) →
U12(
isPalListKind(
activate(
V)),
activate(
V))
U12(
tt,
V) →
U13(
isNeList(
activate(
V)))
U13(
tt) →
ttU21(
tt,
V1,
V2) →
U22(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U22(
tt,
V1,
V2) →
U23(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U23(
tt,
V1,
V2) →
U24(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U24(
tt,
V1,
V2) →
U25(
isList(
activate(
V1)),
activate(
V2))
U25(
tt,
V2) →
U26(
isList(
activate(
V2)))
U26(
tt) →
ttU31(
tt,
V) →
U32(
isPalListKind(
activate(
V)),
activate(
V))
U32(
tt,
V) →
U33(
isQid(
activate(
V)))
U33(
tt) →
ttU41(
tt,
V1,
V2) →
U42(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U42(
tt,
V1,
V2) →
U43(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U43(
tt,
V1,
V2) →
U44(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U44(
tt,
V1,
V2) →
U45(
isList(
activate(
V1)),
activate(
V2))
U45(
tt,
V2) →
U46(
isNeList(
activate(
V2)))
U46(
tt) →
ttU51(
tt,
V1,
V2) →
U52(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U52(
tt,
V1,
V2) →
U53(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U53(
tt,
V1,
V2) →
U54(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U54(
tt,
V1,
V2) →
U55(
isNeList(
activate(
V1)),
activate(
V2))
U55(
tt,
V2) →
U56(
isList(
activate(
V2)))
U56(
tt) →
ttU61(
tt,
V) →
U62(
isPalListKind(
activate(
V)),
activate(
V))
U62(
tt,
V) →
U63(
isQid(
activate(
V)))
U63(
tt) →
ttU71(
tt,
I,
P) →
U72(
isPalListKind(
activate(
I)),
activate(
P))
U72(
tt,
P) →
U73(
isPal(
activate(
P)),
activate(
P))
U73(
tt,
P) →
U74(
isPalListKind(
activate(
P)))
U74(
tt) →
ttU81(
tt,
V) →
U82(
isPalListKind(
activate(
V)),
activate(
V))
U82(
tt,
V) →
U83(
isNePal(
activate(
V)))
U83(
tt) →
ttU91(
tt,
V2) →
U92(
isPalListKind(
activate(
V2)))
U92(
tt) →
ttisList(
V) →
U11(
isPalListKind(
activate(
V)),
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
V) →
U31(
isPalListKind(
activate(
V)),
activate(
V))
isNeList(
n____(
V1,
V2)) →
U41(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNePal(
V) →
U61(
isPalListKind(
activate(
V)),
activate(
V))
isNePal(
n____(
I,
n____(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
I),
activate(
P))
isPal(
V) →
U81(
isPalListKind(
activate(
V)),
activate(
V))
isPal(
n__nil) →
ttisPalListKind(
n__a) →
ttisPalListKind(
n__e) →
ttisPalListKind(
n__i) →
ttisPalListKind(
n__nil) →
ttisPalListKind(
n__o) →
ttisPalListKind(
n__u) →
ttisPalListKind(
n____(
V1,
V2)) →
U91(
isPalListKind(
activate(
V1)),
activate(
V2))
isQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
activate(
X1),
activate(
X2))
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
tt :: tt
U12 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPalListKind :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U13 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U23 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U24 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U25 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U26 :: tt → tt
U31 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U32 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U33 :: tt → tt
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U43 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U44 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U45 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U46 :: tt → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U53 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U54 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U55 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U56 :: tt → tt
U61 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U62 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U63 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U73 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U74 :: tt → tt
U81 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U82 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U83 :: tt → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U91 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U92 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Lemmas:
activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0)) → gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0), rt ∈ Ω(1 + n280)
isPalListKind(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n10528_0)) → tt, rt ∈ Ω(1 + n105280 + n1052802)
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
No more defined symbols left to analyse.
(25) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n2) was proven with the following lemma:
isPalListKind(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n10528_0)) → tt, rt ∈ Ω(1 + n105280 + n1052802)
(26) BOUNDS(n^2, INF)
(27) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt,
V) →
U12(
isPalListKind(
activate(
V)),
activate(
V))
U12(
tt,
V) →
U13(
isNeList(
activate(
V)))
U13(
tt) →
ttU21(
tt,
V1,
V2) →
U22(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U22(
tt,
V1,
V2) →
U23(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U23(
tt,
V1,
V2) →
U24(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U24(
tt,
V1,
V2) →
U25(
isList(
activate(
V1)),
activate(
V2))
U25(
tt,
V2) →
U26(
isList(
activate(
V2)))
U26(
tt) →
ttU31(
tt,
V) →
U32(
isPalListKind(
activate(
V)),
activate(
V))
U32(
tt,
V) →
U33(
isQid(
activate(
V)))
U33(
tt) →
ttU41(
tt,
V1,
V2) →
U42(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U42(
tt,
V1,
V2) →
U43(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U43(
tt,
V1,
V2) →
U44(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U44(
tt,
V1,
V2) →
U45(
isList(
activate(
V1)),
activate(
V2))
U45(
tt,
V2) →
U46(
isNeList(
activate(
V2)))
U46(
tt) →
ttU51(
tt,
V1,
V2) →
U52(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U52(
tt,
V1,
V2) →
U53(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U53(
tt,
V1,
V2) →
U54(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U54(
tt,
V1,
V2) →
U55(
isNeList(
activate(
V1)),
activate(
V2))
U55(
tt,
V2) →
U56(
isList(
activate(
V2)))
U56(
tt) →
ttU61(
tt,
V) →
U62(
isPalListKind(
activate(
V)),
activate(
V))
U62(
tt,
V) →
U63(
isQid(
activate(
V)))
U63(
tt) →
ttU71(
tt,
I,
P) →
U72(
isPalListKind(
activate(
I)),
activate(
P))
U72(
tt,
P) →
U73(
isPal(
activate(
P)),
activate(
P))
U73(
tt,
P) →
U74(
isPalListKind(
activate(
P)))
U74(
tt) →
ttU81(
tt,
V) →
U82(
isPalListKind(
activate(
V)),
activate(
V))
U82(
tt,
V) →
U83(
isNePal(
activate(
V)))
U83(
tt) →
ttU91(
tt,
V2) →
U92(
isPalListKind(
activate(
V2)))
U92(
tt) →
ttisList(
V) →
U11(
isPalListKind(
activate(
V)),
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
V) →
U31(
isPalListKind(
activate(
V)),
activate(
V))
isNeList(
n____(
V1,
V2)) →
U41(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNePal(
V) →
U61(
isPalListKind(
activate(
V)),
activate(
V))
isNePal(
n____(
I,
n____(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
I),
activate(
P))
isPal(
V) →
U81(
isPalListKind(
activate(
V)),
activate(
V))
isPal(
n__nil) →
ttisPalListKind(
n__a) →
ttisPalListKind(
n__e) →
ttisPalListKind(
n__i) →
ttisPalListKind(
n__nil) →
ttisPalListKind(
n__o) →
ttisPalListKind(
n__u) →
ttisPalListKind(
n____(
V1,
V2)) →
U91(
isPalListKind(
activate(
V1)),
activate(
V2))
isQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
activate(
X1),
activate(
X2))
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
tt :: tt
U12 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPalListKind :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U13 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U23 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U24 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U25 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U26 :: tt → tt
U31 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U32 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U33 :: tt → tt
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U43 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U44 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U45 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U46 :: tt → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U53 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U54 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U55 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U56 :: tt → tt
U61 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U62 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U63 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U73 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U74 :: tt → tt
U81 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U82 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U83 :: tt → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U91 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U92 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Lemmas:
activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0)) → gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0), rt ∈ Ω(1 + n280)
isPalListKind(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n10528_0)) → tt, rt ∈ Ω(1 + n105280 + n1052802)
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
No more defined symbols left to analyse.
(28) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n2) was proven with the following lemma:
isPalListKind(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n10528_0)) → tt, rt ∈ Ω(1 + n105280 + n1052802)
(29) BOUNDS(n^2, INF)
(30) Obligation:
TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
XU11(
tt,
V) →
U12(
isPalListKind(
activate(
V)),
activate(
V))
U12(
tt,
V) →
U13(
isNeList(
activate(
V)))
U13(
tt) →
ttU21(
tt,
V1,
V2) →
U22(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U22(
tt,
V1,
V2) →
U23(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U23(
tt,
V1,
V2) →
U24(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U24(
tt,
V1,
V2) →
U25(
isList(
activate(
V1)),
activate(
V2))
U25(
tt,
V2) →
U26(
isList(
activate(
V2)))
U26(
tt) →
ttU31(
tt,
V) →
U32(
isPalListKind(
activate(
V)),
activate(
V))
U32(
tt,
V) →
U33(
isQid(
activate(
V)))
U33(
tt) →
ttU41(
tt,
V1,
V2) →
U42(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U42(
tt,
V1,
V2) →
U43(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U43(
tt,
V1,
V2) →
U44(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U44(
tt,
V1,
V2) →
U45(
isList(
activate(
V1)),
activate(
V2))
U45(
tt,
V2) →
U46(
isNeList(
activate(
V2)))
U46(
tt) →
ttU51(
tt,
V1,
V2) →
U52(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
U52(
tt,
V1,
V2) →
U53(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U53(
tt,
V1,
V2) →
U54(
isPalListKind(
activate(
V2)),
activate(
V1),
activate(
V2))
U54(
tt,
V1,
V2) →
U55(
isNeList(
activate(
V1)),
activate(
V2))
U55(
tt,
V2) →
U56(
isList(
activate(
V2)))
U56(
tt) →
ttU61(
tt,
V) →
U62(
isPalListKind(
activate(
V)),
activate(
V))
U62(
tt,
V) →
U63(
isQid(
activate(
V)))
U63(
tt) →
ttU71(
tt,
I,
P) →
U72(
isPalListKind(
activate(
I)),
activate(
P))
U72(
tt,
P) →
U73(
isPal(
activate(
P)),
activate(
P))
U73(
tt,
P) →
U74(
isPalListKind(
activate(
P)))
U74(
tt) →
ttU81(
tt,
V) →
U82(
isPalListKind(
activate(
V)),
activate(
V))
U82(
tt,
V) →
U83(
isNePal(
activate(
V)))
U83(
tt) →
ttU91(
tt,
V2) →
U92(
isPalListKind(
activate(
V2)))
U92(
tt) →
ttisList(
V) →
U11(
isPalListKind(
activate(
V)),
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
U21(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
V) →
U31(
isPalListKind(
activate(
V)),
activate(
V))
isNeList(
n____(
V1,
V2)) →
U41(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNeList(
n____(
V1,
V2)) →
U51(
isPalListKind(
activate(
V1)),
activate(
V1),
activate(
V2))
isNePal(
V) →
U61(
isPalListKind(
activate(
V)),
activate(
V))
isNePal(
n____(
I,
n____(
P,
I))) →
U71(
isQid(
activate(
I)),
activate(
I),
activate(
P))
isPal(
V) →
U81(
isPalListKind(
activate(
V)),
activate(
V))
isPal(
n__nil) →
ttisPalListKind(
n__a) →
ttisPalListKind(
n__e) →
ttisPalListKind(
n__i) →
ttisPalListKind(
n__nil) →
ttisPalListKind(
n__o) →
ttisPalListKind(
n__u) →
ttisPalListKind(
n____(
V1,
V2)) →
U91(
isPalListKind(
activate(
V1)),
activate(
V2))
isQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
activate(
X1),
activate(
X2))
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
U11 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
tt :: tt
U12 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPalListKind :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
activate :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
U13 :: tt → tt
isNeList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U21 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U22 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U23 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U24 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U25 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isList :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U26 :: tt → tt
U31 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U32 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U33 :: tt → tt
isQid :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U41 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U42 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U43 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U44 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U45 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U46 :: tt → tt
U51 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U52 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U53 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U54 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U55 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U56 :: tt → tt
U61 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U62 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U63 :: tt → tt
U71 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U72 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U73 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
isPal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U74 :: tt → tt
U81 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U82 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U83 :: tt → tt
isNePal :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U91 :: tt → n__nil:n____:n__a:n__e:n__i:n__o:n__u → tt
U92 :: tt → tt
n__nil :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n____ :: n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u → n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
n__u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
a :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
e :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
i :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
o :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
u :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_n__nil:n____:n__a:n__e:n__i:n__o:n__u1_0 :: n__nil:n____:n__a:n__e:n__i:n__o:n__u
hole_tt2_0 :: tt
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0 :: Nat → n__nil:n____:n__a:n__e:n__i:n__o:n__u
Lemmas:
activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0)) → gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0), rt ∈ Ω(1 + n280)
Generator Equations:
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(0) ⇔ n__nil
gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(+(x, 1)) ⇔ n____(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(x), n__nil)
No more defined symbols left to analyse.
(31) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n1) was proven with the following lemma:
activate(gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0)) → gen_n__nil:n____:n__a:n__e:n__i:n__o:n__u3_0(n28_0), rt ∈ Ω(1 + n280)
(32) BOUNDS(n^1, INF)