0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPSizeChangeProof (⇔)
↳7 TRUE
↳8 QDP
↳9 QDPSizeChangeProof (⇔)
↳10 TRUE
↳11 QDP
↳12 QDPSizeChangeProof (⇔)
↳13 TRUE
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
U11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))
U22(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → tt
U61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))
U72(tt) → tt
U81(tt) → tt
isList(V) → U11(isNeList(activate(V)))
isList(n__nil) → tt
isList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))
isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))
isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))
isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → tt
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)) → __(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
__1(__(X, Y), Z) → __1(X, __(Y, Z))
__1(__(X, Y), Z) → __1(Y, Z)
U211(tt, V2) → U221(isList(activate(V2)))
U211(tt, V2) → ISLIST(activate(V2))
U211(tt, V2) → ACTIVATE(V2)
U411(tt, V2) → U421(isNeList(activate(V2)))
U411(tt, V2) → ISNELIST(activate(V2))
U411(tt, V2) → ACTIVATE(V2)
U511(tt, V2) → U521(isList(activate(V2)))
U511(tt, V2) → ISLIST(activate(V2))
U511(tt, V2) → ACTIVATE(V2)
U711(tt, P) → U721(isPal(activate(P)))
U711(tt, P) → ISPAL(activate(P))
U711(tt, P) → ACTIVATE(P)
ISLIST(V) → U111(isNeList(activate(V)))
ISLIST(V) → ISNELIST(activate(V))
ISLIST(V) → ACTIVATE(V)
ISLIST(n____(V1, V2)) → U211(isList(activate(V1)), activate(V2))
ISLIST(n____(V1, V2)) → ISLIST(activate(V1))
ISLIST(n____(V1, V2)) → ACTIVATE(V1)
ISLIST(n____(V1, V2)) → ACTIVATE(V2)
ISNELIST(V) → U311(isQid(activate(V)))
ISNELIST(V) → ISQID(activate(V))
ISNELIST(V) → ACTIVATE(V)
ISNELIST(n____(V1, V2)) → U411(isList(activate(V1)), activate(V2))
ISNELIST(n____(V1, V2)) → ISLIST(activate(V1))
ISNELIST(n____(V1, V2)) → ACTIVATE(V1)
ISNELIST(n____(V1, V2)) → ACTIVATE(V2)
ISNELIST(n____(V1, V2)) → U511(isNeList(activate(V1)), activate(V2))
ISNELIST(n____(V1, V2)) → ISNELIST(activate(V1))
ISNEPAL(V) → U611(isQid(activate(V)))
ISNEPAL(V) → ISQID(activate(V))
ISNEPAL(V) → ACTIVATE(V)
ISNEPAL(n____(I, __(P, I))) → U711(isQid(activate(I)), activate(P))
ISNEPAL(n____(I, __(P, I))) → ISQID(activate(I))
ISNEPAL(n____(I, __(P, I))) → ACTIVATE(I)
ISNEPAL(n____(I, __(P, I))) → ACTIVATE(P)
ISPAL(V) → U811(isNePal(activate(V)))
ISPAL(V) → ISNEPAL(activate(V))
ISPAL(V) → ACTIVATE(V)
ACTIVATE(n__nil) → NIL
ACTIVATE(n____(X1, X2)) → __1(X1, X2)
ACTIVATE(n__a) → A
ACTIVATE(n__e) → E
ACTIVATE(n__i) → I
ACTIVATE(n__o) → O
ACTIVATE(n__u) → U
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
U11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))
U22(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → tt
U61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))
U72(tt) → tt
U81(tt) → tt
isList(V) → U11(isNeList(activate(V)))
isList(n__nil) → tt
isList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))
isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))
isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))
isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → tt
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)) → __(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
__1(__(X, Y), Z) → __1(Y, Z)
__1(__(X, Y), Z) → __1(X, __(Y, Z))
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
U11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))
U22(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → tt
U61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))
U72(tt) → tt
U81(tt) → tt
isList(V) → U11(isNeList(activate(V)))
isList(n__nil) → tt
isList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))
isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))
isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))
isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → tt
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)) → __(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
Order:Homeomorphic Embedding Order
AFS:
__(x1, x2) = __(x1, x2)
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
none
U711(tt, P) → ISPAL(activate(P))
ISPAL(V) → ISNEPAL(activate(V))
ISNEPAL(n____(I, __(P, I))) → U711(isQid(activate(I)), activate(P))
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
U11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))
U22(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → tt
U61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))
U72(tt) → tt
U81(tt) → tt
isList(V) → U11(isNeList(activate(V)))
isList(n__nil) → tt
isList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))
isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))
isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))
isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → tt
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)) → __(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
Order:Polynomial interpretation [POLO]:
POL(__(x1, x2)) = 1 + x1 + x2
POL(a) = 0
POL(activate(x1)) = x1
POL(e) = 0
POL(i) = 0
POL(n____(x1, x2)) = 1 + x1 + x2
POL(n__a) = 0
POL(n__e) = 0
POL(n__i) = 0
POL(n__nil) = 0
POL(n__o) = 0
POL(n__u) = 0
POL(nil) = 0
POL(o) = 0
POL(tt) = 1
POL(u) = 0
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
u → n__u
o → n__o
nil → n__nil
i → n__i
e → n__e
activate(X) → X
activate(n__u) → u
activate(n__o) → o
activate(n__nil) → nil
activate(n__i) → i
activate(n__e) → e
activate(n__a) → a
activate(n____(X1, X2)) → __(X1, X2)
a → n__a
__(X1, X2) → n____(X1, X2)
__(X, nil) → X
__(nil, X) → X
__(__(X, Y), Z) → __(X, __(Y, Z))
U211(tt, V2) → ISLIST(activate(V2))
ISLIST(V) → ISNELIST(activate(V))
ISNELIST(n____(V1, V2)) → U411(isList(activate(V1)), activate(V2))
U411(tt, V2) → ISNELIST(activate(V2))
ISNELIST(n____(V1, V2)) → ISLIST(activate(V1))
ISLIST(n____(V1, V2)) → U211(isList(activate(V1)), activate(V2))
ISLIST(n____(V1, V2)) → ISLIST(activate(V1))
ISNELIST(n____(V1, V2)) → U511(isNeList(activate(V1)), activate(V2))
U511(tt, V2) → ISLIST(activate(V2))
ISNELIST(n____(V1, V2)) → ISNELIST(activate(V1))
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
U11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))
U22(tt) → tt
U31(tt) → tt
U41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → tt
U51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → tt
U61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))
U72(tt) → tt
U81(tt) → tt
isList(V) → U11(isNeList(activate(V)))
isList(n__nil) → tt
isList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))
isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))
isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))
isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → tt
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)) → __(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
Order:Polynomial interpretation [POLO]:
POL(__(x1, x2)) = 1 + x1 + x2
POL(a) = 0
POL(activate(x1)) = x1
POL(e) = 0
POL(i) = 0
POL(n____(x1, x2)) = 1 + x1 + x2
POL(n__a) = 0
POL(n__e) = 0
POL(n__i) = 0
POL(n__nil) = 0
POL(n__o) = 0
POL(n__u) = 0
POL(nil) = 0
POL(o) = 0
POL(tt) = 1
POL(u) = 0
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
u → n__u
o → n__o
nil → n__nil
i → n__i
e → n__e
activate(X) → X
activate(n__u) → u
activate(n__o) → o
activate(n__nil) → nil
activate(n__i) → i
activate(n__e) → e
activate(n__a) → a
activate(n____(X1, X2)) → __(X1, X2)
a → n__a
__(X1, X2) → n____(X1, X2)
__(X, nil) → X
__(nil, X) → X
__(__(X, Y), Z) → __(X, __(Y, Z))