(0) Obligation:
The Runtime Complexity (innermost) of the given
CpxTRS could be proven to be
BOUNDS(1, n^1).
The TRS R consists of the following rules:
__(__(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
Rewrite Strategy: INNERMOST
(1) NestedDefinedSymbolProof (BOTH BOUNDS(ID, ID) transformation)
The following defined symbols can occur below the 0th argument of U31: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
The following defined symbols can occur below the 0th argument of isQid: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
The following defined symbols can occur below the 0th argument of activate: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
The following defined symbols can occur below the 0th argument of U22: a, U31, U52, U11, U41, isQid, isPal, __, U61, e, isList, U42, U72, isNePal, U81, U21, activate, u, nil, U71, U22, o, isNeList, i, U51
The following defined symbols can occur below the 0th argument of isList: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
The following defined symbols can occur below the 0th argument of U41: a, U31, U52, U11, U41, isQid, isPal, __, U61, e, isList, U42, U72, isNePal, U81, U21, activate, u, nil, U71, U22, o, isNeList, i, U51
The following defined symbols can occur below the 1th argument of U41: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
The following defined symbols can occur below the 0th argument of U42: a, U31, U52, U11, U41, isQid, isPal, __, U61, e, isList, U42, U72, isNePal, U81, U21, activate, u, nil, U71, U22, o, isNeList, i, U51
The following defined symbols can occur below the 0th argument of isNeList: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
The following defined symbols can occur below the 0th argument of U51: a, U31, U52, U11, U41, isQid, isPal, __, U61, e, isList, U42, U72, isNePal, U81, U21, activate, u, nil, U71, U22, o, isNeList, i, U51
The following defined symbols can occur below the 1th argument of U51: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
The following defined symbols can occur below the 0th argument of U72: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
The following defined symbols can occur below the 0th argument of isPal: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
The following defined symbols can occur below the 0th argument of U52: a, U31, U52, U11, U41, isQid, isPal, __, U61, e, isList, U42, U72, isNePal, U81, U21, activate, u, nil, U71, U22, o, isNeList, i, U51
The following defined symbols can occur below the 0th argument of U11: a, U31, U52, U11, U41, isQid, isPal, __, U61, e, isList, U42, U72, isNePal, U81, U21, activate, u, nil, U71, U22, o, isNeList, i, U51
The following defined symbols can occur below the 0th argument of U21: a, U31, U52, U11, U41, isQid, isPal, __, U61, e, isList, U42, U72, isNePal, U81, U21, activate, u, nil, U71, U22, o, isNeList, i, U51
The following defined symbols can occur below the 1th argument of U21: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
The following defined symbols can occur below the 0th argument of U61: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
The following defined symbols can occur below the 0th argument of U81: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
The following defined symbols can occur below the 0th argument of isNePal: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
The following defined symbols can occur below the 0th argument of U71: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
The following defined symbols can occur below the 1th argument of U71: a, U72, isNePal, U81, activate, u, nil, isQid, U71, o, i, isPal, __, U61, e
Hence, the left-hand sides of the following rules are not basic-reachable and can be removed:
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
(2) Obligation:
The Runtime Complexity (innermost) of the given
CpxTRS could be proven to be
BOUNDS(1, n^1).
The TRS R consists of the following rules:
U42(tt) → tt
activate(n__u) → u
isPal(n__nil) → tt
isQid(n__e) → tt
activate(n__i) → i
U71(tt, P) → U72(isPal(activate(P)))
U21(tt, V2) → U22(isList(activate(V2)))
isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
U11(tt) → tt
isNeList(V) → U31(isQid(activate(V)))
nil → n__nil
isList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isQid(n__o) → tt
isQid(n__i) → tt
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))
o → n__o
U41(tt, V2) → U42(isNeList(activate(V2)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))
U72(tt) → tt
activate(n__nil) → nil
U52(tt) → tt
isNePal(V) → U61(isQid(activate(V)))
__(X1, X2) → n____(X1, X2)
isList(n__nil) → tt
e → n__e
U31(tt) → tt
a → n__a
U22(tt) → tt
U81(tt) → tt
isQid(n__a) → tt
isList(V) → U11(isNeList(activate(V)))
activate(X) → X
i → n__i
u → n__u
isPal(V) → U81(isNePal(activate(V)))
isQid(n__u) → tt
U51(tt, V2) → U52(isList(activate(V2)))
activate(n__e) → e
activate(n__o) → o
activate(n__a) → a
U61(tt) → tt
activate(n____(X1, X2)) → __(X1, X2)
Rewrite Strategy: INNERMOST
(3) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)
Converted Cpx (relative) TRS to CDT
(4) Obligation:
Complexity Dependency Tuples Problem
Rules:
U42(tt) → tt
activate(n__u) → u
activate(n__i) → i
activate(n__nil) → nil
activate(z0) → z0
activate(n__e) → e
activate(n__o) → o
activate(n__a) → a
activate(n____(z0, z1)) → __(z0, z1)
isPal(n__nil) → tt
isPal(z0) → U81(isNePal(activate(z0)))
isQid(n__e) → tt
isQid(n__o) → tt
isQid(n__i) → tt
isQid(n__a) → tt
isQid(n__u) → tt
U71(tt, z0) → U72(isPal(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U11(tt) → tt
nil → n__nil
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
isList(n__nil) → tt
isList(z0) → U11(isNeList(activate(z0)))
o → n__o
U41(tt, z0) → U42(isNeList(activate(z0)))
isNePal(n____(z0, __(z1, z0))) → U71(isQid(activate(z0)), activate(z1))
isNePal(z0) → U61(isQid(activate(z0)))
U72(tt) → tt
U52(tt) → tt
__(z0, z1) → n____(z0, z1)
e → n__e
U31(tt) → tt
a → n__a
U22(tt) → tt
U81(tt) → tt
i → n__i
u → n__u
U51(tt, z0) → U52(isList(activate(z0)))
U61(tt) → tt
Tuples:
U42'(tt) → c
ACTIVATE(n__u) → c1(U)
ACTIVATE(n__i) → c2(I)
ACTIVATE(n__nil) → c3(NIL)
ACTIVATE(z0) → c4
ACTIVATE(n__e) → c5(E)
ACTIVATE(n__o) → c6(O)
ACTIVATE(n__a) → c7(A)
ACTIVATE(n____(z0, z1)) → c8(__'(z0, z1))
ISPAL(n__nil) → c9
ISPAL(z0) → c10(U81'(isNePal(activate(z0))), ISNEPAL(activate(z0)), ACTIVATE(z0))
ISQID(n__e) → c11
ISQID(n__o) → c12
ISQID(n__i) → c13
ISQID(n__a) → c14
ISQID(n__u) → c15
U71'(tt, z0) → c16(U72'(isPal(activate(z0))), ISPAL(activate(z0)), ACTIVATE(z0))
U21'(tt, z0) → c17(U22'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(z0) → c19(U31'(isQid(activate(z0))), ISQID(activate(z0)), ACTIVATE(z0))
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U11'(tt) → c21
NIL → c22
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISLIST(n__nil) → c24
ISLIST(z0) → c25(U11'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
O → c26
U41'(tt, z0) → c27(U42'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
ISNEPAL(n____(z0, __(z1, z0))) → c28(U71'(isQid(activate(z0)), activate(z1)), ISQID(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNEPAL(z0) → c29(U61'(isQid(activate(z0))), ISQID(activate(z0)), ACTIVATE(z0))
U72'(tt) → c30
U52'(tt) → c31
__'(z0, z1) → c32
E → c33
U31'(tt) → c34
A → c35
U22'(tt) → c36
U81'(tt) → c37
I → c38
U → c39
U51'(tt, z0) → c40(U52'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
U61'(tt) → c41
S tuples:
U42'(tt) → c
ACTIVATE(n__u) → c1(U)
ACTIVATE(n__i) → c2(I)
ACTIVATE(n__nil) → c3(NIL)
ACTIVATE(z0) → c4
ACTIVATE(n__e) → c5(E)
ACTIVATE(n__o) → c6(O)
ACTIVATE(n__a) → c7(A)
ACTIVATE(n____(z0, z1)) → c8(__'(z0, z1))
ISPAL(n__nil) → c9
ISPAL(z0) → c10(U81'(isNePal(activate(z0))), ISNEPAL(activate(z0)), ACTIVATE(z0))
ISQID(n__e) → c11
ISQID(n__o) → c12
ISQID(n__i) → c13
ISQID(n__a) → c14
ISQID(n__u) → c15
U71'(tt, z0) → c16(U72'(isPal(activate(z0))), ISPAL(activate(z0)), ACTIVATE(z0))
U21'(tt, z0) → c17(U22'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(z0) → c19(U31'(isQid(activate(z0))), ISQID(activate(z0)), ACTIVATE(z0))
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U11'(tt) → c21
NIL → c22
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISLIST(n__nil) → c24
ISLIST(z0) → c25(U11'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
O → c26
U41'(tt, z0) → c27(U42'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
ISNEPAL(n____(z0, __(z1, z0))) → c28(U71'(isQid(activate(z0)), activate(z1)), ISQID(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNEPAL(z0) → c29(U61'(isQid(activate(z0))), ISQID(activate(z0)), ACTIVATE(z0))
U72'(tt) → c30
U52'(tt) → c31
__'(z0, z1) → c32
E → c33
U31'(tt) → c34
A → c35
U22'(tt) → c36
U81'(tt) → c37
I → c38
U → c39
U51'(tt, z0) → c40(U52'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
U61'(tt) → c41
K tuples:none
Defined Rule Symbols:
U42, activate, isPal, isQid, U71, U21, isNeList, U11, nil, isList, o, U41, isNePal, U72, U52, __, e, U31, a, U22, U81, i, u, U51, U61
Defined Pair Symbols:
U42', ACTIVATE, ISPAL, ISQID, U71', U21', ISNELIST, U11', NIL, ISLIST, O, U41', ISNEPAL, U72', U52', __', E, U31', A, U22', U81', I, U, U51', U61'
Compound Symbols:
c, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41
(5) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)
Removed 35 trailing nodes:
ISQID(n__o) → c12
ACTIVATE(n__a) → c7(A)
U61'(tt) → c41
ACTIVATE(n__u) → c1(U)
I → c38
O → c26
ISQID(n__e) → c11
ISPAL(z0) → c10(U81'(isNePal(activate(z0))), ISNEPAL(activate(z0)), ACTIVATE(z0))
U42'(tt) → c
U → c39
ISQID(n__a) → c14
ACTIVATE(n__i) → c2(I)
ISQID(n__u) → c15
ACTIVATE(n__o) → c6(O)
ISNELIST(z0) → c19(U31'(isQid(activate(z0))), ISQID(activate(z0)), ACTIVATE(z0))
ISLIST(n__nil) → c24
ACTIVATE(n__e) → c5(E)
__'(z0, z1) → c32
U11'(tt) → c21
E → c33
ISQID(n__i) → c13
ACTIVATE(n____(z0, z1)) → c8(__'(z0, z1))
U52'(tt) → c31
NIL → c22
ISNEPAL(z0) → c29(U61'(isQid(activate(z0))), ISQID(activate(z0)), ACTIVATE(z0))
U71'(tt, z0) → c16(U72'(isPal(activate(z0))), ISPAL(activate(z0)), ACTIVATE(z0))
ISNEPAL(n____(z0, __(z1, z0))) → c28(U71'(isQid(activate(z0)), activate(z1)), ISQID(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
U31'(tt) → c34
U22'(tt) → c36
A → c35
ACTIVATE(z0) → c4
U72'(tt) → c30
ISPAL(n__nil) → c9
U81'(tt) → c37
ACTIVATE(n__nil) → c3(NIL)
(6) Obligation:
Complexity Dependency Tuples Problem
Rules:
U42(tt) → tt
activate(n__u) → u
activate(n__i) → i
activate(n__nil) → nil
activate(z0) → z0
activate(n__e) → e
activate(n__o) → o
activate(n__a) → a
activate(n____(z0, z1)) → __(z0, z1)
isPal(n__nil) → tt
isPal(z0) → U81(isNePal(activate(z0)))
isQid(n__e) → tt
isQid(n__o) → tt
isQid(n__i) → tt
isQid(n__a) → tt
isQid(n__u) → tt
U71(tt, z0) → U72(isPal(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U11(tt) → tt
nil → n__nil
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
isList(n__nil) → tt
isList(z0) → U11(isNeList(activate(z0)))
o → n__o
U41(tt, z0) → U42(isNeList(activate(z0)))
isNePal(n____(z0, __(z1, z0))) → U71(isQid(activate(z0)), activate(z1))
isNePal(z0) → U61(isQid(activate(z0)))
U72(tt) → tt
U52(tt) → tt
__(z0, z1) → n____(z0, z1)
e → n__e
U31(tt) → tt
a → n__a
U22(tt) → tt
U81(tt) → tt
i → n__i
u → n__u
U51(tt, z0) → U52(isList(activate(z0)))
U61(tt) → tt
Tuples:
U21'(tt, z0) → c17(U22'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISLIST(z0) → c25(U11'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c27(U42'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c40(U52'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
S tuples:
U21'(tt, z0) → c17(U22'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)), ACTIVATE(z0), ACTIVATE(z1))
ISLIST(z0) → c25(U11'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
U41'(tt, z0) → c27(U42'(isNeList(activate(z0))), ISNELIST(activate(z0)), ACTIVATE(z0))
U51'(tt, z0) → c40(U52'(isList(activate(z0))), ISLIST(activate(z0)), ACTIVATE(z0))
K tuples:none
Defined Rule Symbols:
U42, activate, isPal, isQid, U71, U21, isNeList, U11, nil, isList, o, U41, isNePal, U72, U52, __, e, U31, a, U22, U81, i, u, U51, U61
Defined Pair Symbols:
U21', ISNELIST, ISLIST, U41', U51'
Compound Symbols:
c17, c18, c20, c23, c25, c27, c40
(7) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)
Removed 14 trailing tuple parts
(8) Obligation:
Complexity Dependency Tuples Problem
Rules:
U42(tt) → tt
activate(n__u) → u
activate(n__i) → i
activate(n__nil) → nil
activate(z0) → z0
activate(n__e) → e
activate(n__o) → o
activate(n__a) → a
activate(n____(z0, z1)) → __(z0, z1)
isPal(n__nil) → tt
isPal(z0) → U81(isNePal(activate(z0)))
isQid(n__e) → tt
isQid(n__o) → tt
isQid(n__i) → tt
isQid(n__a) → tt
isQid(n__u) → tt
U71(tt, z0) → U72(isPal(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U11(tt) → tt
nil → n__nil
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
isList(n__nil) → tt
isList(z0) → U11(isNeList(activate(z0)))
o → n__o
U41(tt, z0) → U42(isNeList(activate(z0)))
isNePal(n____(z0, __(z1, z0))) → U71(isQid(activate(z0)), activate(z1))
isNePal(z0) → U61(isQid(activate(z0)))
U72(tt) → tt
U52(tt) → tt
__(z0, z1) → n____(z0, z1)
e → n__e
U31(tt) → tt
a → n__a
U22(tt) → tt
U81(tt) → tt
i → n__i
u → n__u
U51(tt, z0) → U52(isList(activate(z0)))
U61(tt) → tt
Tuples:
U21'(tt, z0) → c17(ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISLIST(z0) → c25(ISNELIST(activate(z0)))
U41'(tt, z0) → c27(ISNELIST(activate(z0)))
U51'(tt, z0) → c40(ISLIST(activate(z0)))
S tuples:
U21'(tt, z0) → c17(ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISLIST(z0) → c25(ISNELIST(activate(z0)))
U41'(tt, z0) → c27(ISNELIST(activate(z0)))
U51'(tt, z0) → c40(ISLIST(activate(z0)))
K tuples:none
Defined Rule Symbols:
U42, activate, isPal, isQid, U71, U21, isNeList, U11, nil, isList, o, U41, isNePal, U72, U52, __, e, U31, a, U22, U81, i, u, U51, U61
Defined Pair Symbols:
U21', ISNELIST, ISLIST, U41', U51'
Compound Symbols:
c17, c18, c20, c23, c25, c27, c40
(9) CdtUsableRulesProof (EQUIVALENT transformation)
The following rules are not usable and were removed:
isPal(n__nil) → tt
isPal(z0) → U81(isNePal(activate(z0)))
U71(tt, z0) → U72(isPal(activate(z0)))
isNePal(n____(z0, __(z1, z0))) → U71(isQid(activate(z0)), activate(z1))
isNePal(z0) → U61(isQid(activate(z0)))
U72(tt) → tt
U81(tt) → tt
U61(tt) → tt
(10) Obligation:
Complexity Dependency Tuples Problem
Rules:
activate(n__u) → u
activate(n__i) → i
activate(n__nil) → nil
activate(z0) → z0
activate(n__e) → e
activate(n__o) → o
activate(n__a) → a
activate(n____(z0, z1)) → __(z0, z1)
u → n__u
i → n__i
nil → n__nil
e → n__e
o → n__o
a → n__a
__(z0, z1) → n____(z0, z1)
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
isList(n__nil) → tt
isList(z0) → U11(isNeList(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
U11(tt) → tt
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U41(tt, z0) → U42(isNeList(activate(z0)))
U42(tt) → tt
U31(tt) → tt
isQid(n__e) → tt
isQid(n__o) → tt
isQid(n__i) → tt
isQid(n__a) → tt
isQid(n__u) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
U22(tt) → tt
Tuples:
U21'(tt, z0) → c17(ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISLIST(z0) → c25(ISNELIST(activate(z0)))
U41'(tt, z0) → c27(ISNELIST(activate(z0)))
U51'(tt, z0) → c40(ISLIST(activate(z0)))
S tuples:
U21'(tt, z0) → c17(ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISLIST(z0) → c25(ISNELIST(activate(z0)))
U41'(tt, z0) → c27(ISNELIST(activate(z0)))
U51'(tt, z0) → c40(ISLIST(activate(z0)))
K tuples:none
Defined Rule Symbols:
activate, u, i, nil, e, o, a, __, isList, U21, U11, isNeList, U41, U42, U31, isQid, U51, U52, U22
Defined Pair Symbols:
U21', ISNELIST, ISLIST, U41', U51'
Compound Symbols:
c17, c18, c20, c23, c25, c27, c40
(11) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)
Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
U41'(tt, z0) → c27(ISNELIST(activate(z0)))
We considered the (Usable) Rules:
activate(n__u) → u
activate(n__i) → i
activate(z0) → z0
i → n__i
nil → n__nil
u → n__u
o → n__o
activate(n__nil) → nil
__(z0, z1) → n____(z0, z1)
activate(n__e) → e
e → n__e
activate(n__o) → o
activate(n__a) → a
activate(n____(z0, z1)) → __(z0, z1)
a → n__a
And the Tuples:
U21'(tt, z0) → c17(ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISLIST(z0) → c25(ISNELIST(activate(z0)))
U41'(tt, z0) → c27(ISNELIST(activate(z0)))
U51'(tt, z0) → c40(ISLIST(activate(z0)))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(ISLIST(x1)) = x1
POL(ISNELIST(x1)) = x1
POL(U11(x1)) = [1]
POL(U21(x1, x2)) = 0
POL(U21'(x1, x2)) = x2
POL(U22(x1)) = 0
POL(U31(x1)) = 0
POL(U41(x1, x2)) = 0
POL(U41'(x1, x2)) = [1] + x2
POL(U42(x1)) = 0
POL(U51(x1, x2)) = 0
POL(U51'(x1, x2)) = x2
POL(U52(x1)) = 0
POL(__(x1, x2)) = [1] + x1 + x2
POL(a) = 0
POL(activate(x1)) = x1
POL(c17(x1)) = x1
POL(c18(x1, x2)) = x1 + x2
POL(c20(x1, x2)) = x1 + x2
POL(c23(x1, x2)) = x1 + x2
POL(c25(x1)) = x1
POL(c27(x1)) = x1
POL(c40(x1)) = x1
POL(e) = 0
POL(i) = 0
POL(isList(x1)) = [1]
POL(isNeList(x1)) = 0
POL(isQid(x1)) = 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) = 0
POL(u) = 0
(12) Obligation:
Complexity Dependency Tuples Problem
Rules:
activate(n__u) → u
activate(n__i) → i
activate(n__nil) → nil
activate(z0) → z0
activate(n__e) → e
activate(n__o) → o
activate(n__a) → a
activate(n____(z0, z1)) → __(z0, z1)
u → n__u
i → n__i
nil → n__nil
e → n__e
o → n__o
a → n__a
__(z0, z1) → n____(z0, z1)
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
isList(n__nil) → tt
isList(z0) → U11(isNeList(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
U11(tt) → tt
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U41(tt, z0) → U42(isNeList(activate(z0)))
U42(tt) → tt
U31(tt) → tt
isQid(n__e) → tt
isQid(n__o) → tt
isQid(n__i) → tt
isQid(n__a) → tt
isQid(n__u) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
U22(tt) → tt
Tuples:
U21'(tt, z0) → c17(ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISLIST(z0) → c25(ISNELIST(activate(z0)))
U41'(tt, z0) → c27(ISNELIST(activate(z0)))
U51'(tt, z0) → c40(ISLIST(activate(z0)))
S tuples:
U21'(tt, z0) → c17(ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISLIST(z0) → c25(ISNELIST(activate(z0)))
U51'(tt, z0) → c40(ISLIST(activate(z0)))
K tuples:
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
U41'(tt, z0) → c27(ISNELIST(activate(z0)))
Defined Rule Symbols:
activate, u, i, nil, e, o, a, __, isList, U21, U11, isNeList, U41, U42, U31, isQid, U51, U52, U22
Defined Pair Symbols:
U21', ISNELIST, ISLIST, U41', U51'
Compound Symbols:
c17, c18, c20, c23, c25, c27, c40
(13) CdtKnowledgeProof (BOTH BOUNDS(ID, ID) transformation)
The following tuples could be moved from S to K by knowledge propagation:
U21'(tt, z0) → c17(ISLIST(activate(z0)))
U51'(tt, z0) → c40(ISLIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
(14) Obligation:
Complexity Dependency Tuples Problem
Rules:
activate(n__u) → u
activate(n__i) → i
activate(n__nil) → nil
activate(z0) → z0
activate(n__e) → e
activate(n__o) → o
activate(n__a) → a
activate(n____(z0, z1)) → __(z0, z1)
u → n__u
i → n__i
nil → n__nil
e → n__e
o → n__o
a → n__a
__(z0, z1) → n____(z0, z1)
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
isList(n__nil) → tt
isList(z0) → U11(isNeList(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
U11(tt) → tt
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U41(tt, z0) → U42(isNeList(activate(z0)))
U42(tt) → tt
U31(tt) → tt
isQid(n__e) → tt
isQid(n__o) → tt
isQid(n__i) → tt
isQid(n__a) → tt
isQid(n__u) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
U22(tt) → tt
Tuples:
U21'(tt, z0) → c17(ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISLIST(z0) → c25(ISNELIST(activate(z0)))
U41'(tt, z0) → c27(ISNELIST(activate(z0)))
U51'(tt, z0) → c40(ISLIST(activate(z0)))
S tuples:
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISLIST(z0) → c25(ISNELIST(activate(z0)))
K tuples:
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
U41'(tt, z0) → c27(ISNELIST(activate(z0)))
U21'(tt, z0) → c17(ISLIST(activate(z0)))
U51'(tt, z0) → c40(ISLIST(activate(z0)))
Defined Rule Symbols:
activate, u, i, nil, e, o, a, __, isList, U21, U11, isNeList, U41, U42, U31, isQid, U51, U52, U22
Defined Pair Symbols:
U21', ISNELIST, ISLIST, U41', U51'
Compound Symbols:
c17, c18, c20, c23, c25, c27, c40
(15) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)
Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
We considered the (Usable) Rules:
activate(n__u) → u
activate(n__i) → i
activate(z0) → z0
i → n__i
nil → n__nil
u → n__u
o → n__o
activate(n__nil) → nil
__(z0, z1) → n____(z0, z1)
activate(n__e) → e
e → n__e
activate(n__o) → o
activate(n__a) → a
activate(n____(z0, z1)) → __(z0, z1)
a → n__a
And the Tuples:
U21'(tt, z0) → c17(ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISLIST(z0) → c25(ISNELIST(activate(z0)))
U41'(tt, z0) → c27(ISNELIST(activate(z0)))
U51'(tt, z0) → c40(ISLIST(activate(z0)))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(ISLIST(x1)) = x1
POL(ISNELIST(x1)) = x1
POL(U11(x1)) = 0
POL(U21(x1, x2)) = 0
POL(U21'(x1, x2)) = x2
POL(U22(x1)) = 0
POL(U31(x1)) = 0
POL(U41(x1, x2)) = [1]
POL(U41'(x1, x2)) = x2
POL(U42(x1)) = [1]
POL(U51(x1, x2)) = 0
POL(U51'(x1, x2)) = [1] + x2
POL(U52(x1)) = 0
POL(__(x1, x2)) = [1] + x1 + x2
POL(a) = 0
POL(activate(x1)) = x1
POL(c17(x1)) = x1
POL(c18(x1, x2)) = x1 + x2
POL(c20(x1, x2)) = x1 + x2
POL(c23(x1, x2)) = x1 + x2
POL(c25(x1)) = x1
POL(c27(x1)) = x1
POL(c40(x1)) = x1
POL(e) = 0
POL(i) = 0
POL(isList(x1)) = 0
POL(isNeList(x1)) = [1] + x1
POL(isQid(x1)) = 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) = 0
POL(u) = 0
(16) Obligation:
Complexity Dependency Tuples Problem
Rules:
activate(n__u) → u
activate(n__i) → i
activate(n__nil) → nil
activate(z0) → z0
activate(n__e) → e
activate(n__o) → o
activate(n__a) → a
activate(n____(z0, z1)) → __(z0, z1)
u → n__u
i → n__i
nil → n__nil
e → n__e
o → n__o
a → n__a
__(z0, z1) → n____(z0, z1)
isList(n____(z0, z1)) → U21(isList(activate(z0)), activate(z1))
isList(n__nil) → tt
isList(z0) → U11(isNeList(activate(z0)))
U21(tt, z0) → U22(isList(activate(z0)))
U11(tt) → tt
isNeList(n____(z0, z1)) → U41(isList(activate(z0)), activate(z1))
isNeList(z0) → U31(isQid(activate(z0)))
isNeList(n____(z0, z1)) → U51(isNeList(activate(z0)), activate(z1))
U41(tt, z0) → U42(isNeList(activate(z0)))
U42(tt) → tt
U31(tt) → tt
isQid(n__e) → tt
isQid(n__o) → tt
isQid(n__i) → tt
isQid(n__a) → tt
isQid(n__u) → tt
U51(tt, z0) → U52(isList(activate(z0)))
U52(tt) → tt
U22(tt) → tt
Tuples:
U21'(tt, z0) → c17(ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISLIST(z0) → c25(ISNELIST(activate(z0)))
U41'(tt, z0) → c27(ISNELIST(activate(z0)))
U51'(tt, z0) → c40(ISLIST(activate(z0)))
S tuples:
ISLIST(z0) → c25(ISNELIST(activate(z0)))
K tuples:
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)))
ISLIST(n____(z0, z1)) → c23(U21'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
U41'(tt, z0) → c27(ISNELIST(activate(z0)))
U21'(tt, z0) → c17(ISLIST(activate(z0)))
U51'(tt, z0) → c40(ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
Defined Rule Symbols:
activate, u, i, nil, e, o, a, __, isList, U21, U11, isNeList, U41, U42, U31, isQid, U51, U52, U22
Defined Pair Symbols:
U21', ISNELIST, ISLIST, U41', U51'
Compound Symbols:
c17, c18, c20, c23, c25, c27, c40
(17) CdtKnowledgeProof (EQUIVALENT transformation)
The following tuples could be moved from S to K by knowledge propagation:
ISLIST(z0) → c25(ISNELIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c18(U41'(isList(activate(z0)), activate(z1)), ISLIST(activate(z0)))
ISNELIST(n____(z0, z1)) → c20(U51'(isNeList(activate(z0)), activate(z1)), ISNELIST(activate(z0)))
Now S is empty
(18) BOUNDS(1, 1)