(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(and(tt, X)) → mark(X)
active(isList(V)) → mark(isNeList(V))
active(isList(nil)) → mark(tt)
active(isList(__(V1, V2))) → mark(and(isList(V1), isList(V2)))
active(isNeList(V)) → mark(isQid(V))
active(isNeList(__(V1, V2))) → mark(and(isList(V1), isNeList(V2)))
active(isNeList(__(V1, V2))) → mark(and(isNeList(V1), isList(V2)))
active(isNePal(V)) → mark(isQid(V))
active(isNePal(__(I, __(P, I)))) → mark(and(isQid(I), isPal(P)))
active(isPal(V)) → mark(isNePal(V))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(X1, X2)) → __(active(X1), X2)
active(__(X1, X2)) → __(X1, active(X2))
active(and(X1, X2)) → and(active(X1), X2)
__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))
and(mark(X1), X2) → mark(and(X1, X2))
proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)
proper(and(X1, X2)) → and(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(isList(X)) → isList(proper(X))
proper(isNeList(X)) → isNeList(proper(X))
proper(isQid(X)) → isQid(proper(X))
proper(isNePal(X)) → isNePal(proper(X))
proper(isPal(X)) → isPal(proper(X))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
__(ok(X1), ok(X2)) → ok(__(X1, X2))
and(ok(X1), ok(X2)) → ok(and(X1, X2))
isList(ok(X)) → ok(isList(X))
isNeList(ok(X)) → ok(isNeList(X))
isQid(ok(X)) → ok(isQid(X))
isNePal(ok(X)) → ok(isNePal(X))
isPal(ok(X)) → ok(isPal(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
Rewrite Strategy: INNERMOST
(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)
Converted CpxTRS to CDT
(2) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isList(__(z0, z1))) → c6(AND(isList(z0), isList(z1)), ISLIST(z0), ISLIST(z1))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c8(AND(isList(z0), isNeList(z1)), ISLIST(z0), ISNELIST(z1))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isList(__(z0, z1))) → c6(AND(isList(z0), isList(z1)), ISLIST(z0), ISLIST(z1))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c8(AND(isList(z0), isNeList(z1)), ISLIST(z0), ISNELIST(z1))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
K tuples:none
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c6, c7, c8, c9, c10, c11, c12, c19, c20, c21, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47
(3) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)
Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
We considered the (Usable) Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
__(mark(z0), z1) → mark(__(z0, z1))
isQid(ok(z0)) → ok(isQid(z0))
isPal(ok(z0)) → ok(isPal(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isList(ok(z0)) → ok(isList(z0))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isNePal(ok(z0)) → ok(isNePal(z0))
And the Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isList(__(z0, z1))) → c6(AND(isList(z0), isList(z1)), ISLIST(z0), ISLIST(z1))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c8(AND(isList(z0), isNeList(z1)), ISLIST(z0), ISNELIST(z1))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(ACTIVE(x1)) = 0
POL(AND(x1, x2)) = 0
POL(ISLIST(x1)) = 0
POL(ISNELIST(x1)) = 0
POL(ISNEPAL(x1)) = 0
POL(ISPAL(x1)) = 0
POL(ISQID(x1)) = 0
POL(PROPER(x1)) = 0
POL(TOP(x1)) = [4]x1
POL(__(x1, x2)) = [4] + [2]x1 + x2
POL(__'(x1, x2)) = 0
POL(a) = [2]
POL(active(x1)) = x1
POL(and(x1, x2)) = x1 + x2
POL(c(x1, x2)) = x1 + x2
POL(c10(x1)) = x1
POL(c11(x1, x2, x3)) = x1 + x2 + x3
POL(c12(x1)) = x1
POL(c19(x1, x2)) = x1 + x2
POL(c20(x1, x2)) = x1 + x2
POL(c21(x1, x2)) = x1 + x2
POL(c22(x1)) = x1
POL(c23(x1)) = x1
POL(c24(x1)) = x1
POL(c25(x1)) = x1
POL(c26(x1)) = x1
POL(c27(x1, x2, x3)) = x1 + x2 + x3
POL(c29(x1, x2, x3)) = x1 + x2 + x3
POL(c31(x1, x2)) = x1 + x2
POL(c32(x1, x2)) = x1 + x2
POL(c33(x1, x2)) = x1 + x2
POL(c34(x1, x2)) = x1 + x2
POL(c35(x1, x2)) = x1 + x2
POL(c4(x1)) = x1
POL(c41(x1)) = x1
POL(c42(x1)) = x1
POL(c43(x1)) = x1
POL(c44(x1)) = x1
POL(c45(x1)) = x1
POL(c46(x1, x2)) = x1 + x2
POL(c47(x1, x2)) = x1 + x2
POL(c6(x1, x2, x3)) = x1 + x2 + x3
POL(c7(x1)) = x1
POL(c8(x1, x2, x3)) = x1 + x2 + x3
POL(c9(x1, x2, x3)) = x1 + x2 + x3
POL(e) = [4]
POL(i) = [4]
POL(isList(x1)) = [4] + [5]x1
POL(isNeList(x1)) = [1] + [5]x1
POL(isNePal(x1)) = [2] + [2]x1
POL(isPal(x1)) = [3] + [4]x1
POL(isQid(x1)) = x1
POL(mark(x1)) = [1] + x1
POL(nil) = 0
POL(o) = [2]
POL(ok(x1)) = x1
POL(proper(x1)) = x1
POL(tt) = [1]
POL(u) = [2]
(4) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isList(__(z0, z1))) → c6(AND(isList(z0), isList(z1)), ISLIST(z0), ISLIST(z1))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c8(AND(isList(z0), isNeList(z1)), ISLIST(z0), ISNELIST(z1))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isList(__(z0, z1))) → c6(AND(isList(z0), isList(z1)), ISLIST(z0), ISLIST(z1))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c8(AND(isList(z0), isNeList(z1)), ISLIST(z0), ISNELIST(z1))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c6, c7, c8, c9, c10, c11, c12, c19, c20, c21, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47
(5) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)
Use narrowing to replace
ACTIVE(
isList(
__(
z0,
z1))) →
c6(
AND(
isList(
z0),
isList(
z1)),
ISLIST(
z0),
ISLIST(
z1)) by
ACTIVE(isList(__(x0, ok(z0)))) → c6(AND(isList(x0), ok(isList(z0))), ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(AND(ok(isList(z0)), isList(x1)), ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isList(__(x0, x1))) → c6
(6) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c8(AND(isList(z0), isNeList(z1)), ISLIST(z0), ISNELIST(z1))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(AND(isList(x0), ok(isList(z0))), ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(AND(ok(isList(z0)), isList(x1)), ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isList(__(x0, x1))) → c6
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c8(AND(isList(z0), isNeList(z1)), ISLIST(z0), ISNELIST(z1))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(AND(isList(x0), ok(isList(z0))), ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(AND(ok(isList(z0)), isList(x1)), ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isList(__(x0, x1))) → c6
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c8, c9, c10, c11, c12, c19, c20, c21, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c6
(7) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)
Removed 1 trailing nodes:
ACTIVE(isList(__(x0, x1))) → c6
(8) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c8(AND(isList(z0), isNeList(z1)), ISLIST(z0), ISNELIST(z1))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(AND(isList(x0), ok(isList(z0))), ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(AND(ok(isList(z0)), isList(x1)), ISLIST(ok(z0)), ISLIST(x1))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c8(AND(isList(z0), isNeList(z1)), ISLIST(z0), ISNELIST(z1))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(AND(isList(x0), ok(isList(z0))), ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(AND(ok(isList(z0)), isList(x1)), ISLIST(ok(z0)), ISLIST(x1))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c8, c9, c10, c11, c12, c19, c20, c21, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6
(9) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)
Removed 2 trailing tuple parts
(10) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c8(AND(isList(z0), isNeList(z1)), ISLIST(z0), ISNELIST(z1))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c8(AND(isList(z0), isNeList(z1)), ISLIST(z0), ISNELIST(z1))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c8, c9, c10, c11, c12, c19, c20, c21, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6
(11) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)
Use narrowing to replace
ACTIVE(
isNeList(
__(
z0,
z1))) →
c8(
AND(
isList(
z0),
isNeList(
z1)),
ISLIST(
z0),
ISNELIST(
z1)) by
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(AND(isList(x0), ok(isNeList(z0))), ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(AND(ok(isList(z0)), isNeList(x1)), ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, x1))) → c8
(12) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(AND(isList(x0), ok(isNeList(z0))), ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(AND(ok(isList(z0)), isNeList(x1)), ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, x1))) → c8
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(AND(isList(x0), ok(isNeList(z0))), ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(AND(ok(isList(z0)), isNeList(x1)), ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, x1))) → c8
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c9, c10, c11, c12, c19, c20, c21, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c8
(13) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)
Removed 1 trailing nodes:
ACTIVE(isNeList(__(x0, x1))) → c8
(14) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(AND(isList(x0), ok(isNeList(z0))), ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(AND(ok(isList(z0)), isNeList(x1)), ISLIST(ok(z0)), ISNELIST(x1))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(AND(isList(x0), ok(isNeList(z0))), ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(AND(ok(isList(z0)), isNeList(x1)), ISLIST(ok(z0)), ISNELIST(x1))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c9, c10, c11, c12, c19, c20, c21, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8
(15) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)
Removed 2 trailing tuple parts
(16) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNeList(__(z0, z1))) → c9(AND(isNeList(z0), isList(z1)), ISNELIST(z0), ISLIST(z1))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c9, c10, c11, c12, c19, c20, c21, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8
(17) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)
Use narrowing to replace
ACTIVE(
isNeList(
__(
z0,
z1))) →
c9(
AND(
isNeList(
z0),
isList(
z1)),
ISNELIST(
z0),
ISLIST(
z1)) by
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(AND(isNeList(x0), ok(isList(z0))), ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(AND(ok(isNeList(z0)), isList(x1)), ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, x1))) → c9
(18) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(AND(isNeList(x0), ok(isList(z0))), ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(AND(ok(isNeList(z0)), isList(x1)), ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, x1))) → c9
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(AND(isNeList(x0), ok(isList(z0))), ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(AND(ok(isNeList(z0)), isList(x1)), ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, x1))) → c9
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c11, c12, c19, c20, c21, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9, c9
(19) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)
Removed 1 trailing nodes:
ACTIVE(isNeList(__(x0, x1))) → c9
(20) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(AND(isNeList(x0), ok(isList(z0))), ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(AND(ok(isNeList(z0)), isList(x1)), ISNELIST(ok(z0)), ISLIST(x1))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(AND(isNeList(x0), ok(isList(z0))), ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(AND(ok(isNeList(z0)), isList(x1)), ISNELIST(ok(z0)), ISLIST(x1))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c11, c12, c19, c20, c21, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9
(21) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)
Removed 2 trailing tuple parts
(22) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isNePal(__(z0, __(z1, z0)))) → c11(AND(isQid(z0), isPal(z1)), ISQID(z0), ISPAL(z1))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c11, c12, c19, c20, c21, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9
(23) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)
Use narrowing to replace
ACTIVE(
isNePal(
__(
z0,
__(
z1,
z0)))) →
c11(
AND(
isQid(
z0),
isPal(
z1)),
ISQID(
z0),
ISPAL(
z1)) by
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(AND(isQid(x0), ok(isPal(z0))), ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(AND(ok(isQid(z0)), isPal(x1)), ISQID(ok(z0)), ISPAL(x1))
ACTIVE(isNePal(__(x0, __(x1, x0)))) → c11
(24) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(AND(isQid(x0), ok(isPal(z0))), ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(AND(ok(isQid(z0)), isPal(x1)), ISQID(ok(z0)), ISPAL(x1))
ACTIVE(isNePal(__(x0, __(x1, x0)))) → c11
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(AND(isQid(x0), ok(isPal(z0))), ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(AND(ok(isQid(z0)), isPal(x1)), ISQID(ok(z0)), ISPAL(x1))
ACTIVE(isNePal(__(x0, __(x1, x0)))) → c11
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c12, c19, c20, c21, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9, c11, c11
(25) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)
Removed 1 trailing nodes:
ACTIVE(isNePal(__(x0, __(x1, x0)))) → c11
(26) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(AND(isQid(x0), ok(isPal(z0))), ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(AND(ok(isQid(z0)), isPal(x1)), ISQID(ok(z0)), ISPAL(x1))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(AND(isQid(x0), ok(isPal(z0))), ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(AND(ok(isQid(z0)), isPal(x1)), ISQID(ok(z0)), ISPAL(x1))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c12, c19, c20, c21, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9, c11
(27) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)
Removed 2 trailing tuple parts
(28) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
ACTIVE(and(z0, z1)) → c21(AND(active(z0), z1), ACTIVE(z0))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c12, c19, c20, c21, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9, c11
(29) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)
Use narrowing to replace
ACTIVE(
and(
z0,
z1)) →
c21(
AND(
active(
z0),
z1),
ACTIVE(
z0)) by
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(and(tt, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(a)))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(e)))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(i)))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(o)))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(u)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(x0, x1)) → c21
(30) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(and(tt, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(a)))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(e)))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(i)))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(o)))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(u)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(x0, x1)) → c21
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(and(tt, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(a)))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(e)))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(i)))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(o)))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(u)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(x0, x1)) → c21
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c12, c19, c20, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9, c11, c21, c21
(31) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)
Removed 1 trailing nodes:
ACTIVE(and(x0, x1)) → c21
(32) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(and(tt, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(a)))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(e)))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(i)))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(o)))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(u)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(and(tt, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(a)))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(e)))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(i)))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(o)))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1), ACTIVE(isQid(u)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c12, c19, c20, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9, c11, c21
(33) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)
Removed 6 trailing tuple parts
(34) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(__(z0, z1)) → c27(__'(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c12, c19, c20, c22, c23, c24, c25, c26, c27, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9, c11, c21, c21
(35) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)
Use narrowing to replace
PROPER(
__(
z0,
z1)) →
c27(
__'(
proper(
z0),
proper(
z1)),
PROPER(
z0),
PROPER(
z1)) by
PROPER(__(x0, __(z0, z1))) → c27(__'(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(__(x0, nil)) → c27(__'(proper(x0), ok(nil)), PROPER(x0), PROPER(nil))
PROPER(__(x0, and(z0, z1))) → c27(__'(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(__(x0, tt)) → c27(__'(proper(x0), ok(tt)), PROPER(x0), PROPER(tt))
PROPER(__(x0, isList(z0))) → c27(__'(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(__(x0, isNeList(z0))) → c27(__'(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(__(x0, isQid(z0))) → c27(__'(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(__(x0, isNePal(z0))) → c27(__'(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(__(x0, isPal(z0))) → c27(__'(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(__(x0, a)) → c27(__'(proper(x0), ok(a)), PROPER(x0), PROPER(a))
PROPER(__(x0, e)) → c27(__'(proper(x0), ok(e)), PROPER(x0), PROPER(e))
PROPER(__(x0, i)) → c27(__'(proper(x0), ok(i)), PROPER(x0), PROPER(i))
PROPER(__(x0, o)) → c27(__'(proper(x0), ok(o)), PROPER(x0), PROPER(o))
PROPER(__(x0, u)) → c27(__'(proper(x0), ok(u)), PROPER(x0), PROPER(u))
PROPER(__(__(z0, z1), x1)) → c27(__'(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(__(nil, x1)) → c27(__'(ok(nil), proper(x1)), PROPER(nil), PROPER(x1))
PROPER(__(and(z0, z1), x1)) → c27(__'(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(__(tt, x1)) → c27(__'(ok(tt), proper(x1)), PROPER(tt), PROPER(x1))
PROPER(__(isList(z0), x1)) → c27(__'(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(__(isNeList(z0), x1)) → c27(__'(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(__(isQid(z0), x1)) → c27(__'(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(__(isNePal(z0), x1)) → c27(__'(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(__(isPal(z0), x1)) → c27(__'(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(__(a, x1)) → c27(__'(ok(a), proper(x1)), PROPER(a), PROPER(x1))
PROPER(__(e, x1)) → c27(__'(ok(e), proper(x1)), PROPER(e), PROPER(x1))
PROPER(__(i, x1)) → c27(__'(ok(i), proper(x1)), PROPER(i), PROPER(x1))
PROPER(__(o, x1)) → c27(__'(ok(o), proper(x1)), PROPER(o), PROPER(x1))
PROPER(__(u, x1)) → c27(__'(ok(u), proper(x1)), PROPER(u), PROPER(x1))
PROPER(__(x0, x1)) → c27
(36) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1))
PROPER(__(x0, __(z0, z1))) → c27(__'(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(__(x0, nil)) → c27(__'(proper(x0), ok(nil)), PROPER(x0), PROPER(nil))
PROPER(__(x0, and(z0, z1))) → c27(__'(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(__(x0, tt)) → c27(__'(proper(x0), ok(tt)), PROPER(x0), PROPER(tt))
PROPER(__(x0, isList(z0))) → c27(__'(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(__(x0, isNeList(z0))) → c27(__'(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(__(x0, isQid(z0))) → c27(__'(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(__(x0, isNePal(z0))) → c27(__'(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(__(x0, isPal(z0))) → c27(__'(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(__(x0, a)) → c27(__'(proper(x0), ok(a)), PROPER(x0), PROPER(a))
PROPER(__(x0, e)) → c27(__'(proper(x0), ok(e)), PROPER(x0), PROPER(e))
PROPER(__(x0, i)) → c27(__'(proper(x0), ok(i)), PROPER(x0), PROPER(i))
PROPER(__(x0, o)) → c27(__'(proper(x0), ok(o)), PROPER(x0), PROPER(o))
PROPER(__(x0, u)) → c27(__'(proper(x0), ok(u)), PROPER(x0), PROPER(u))
PROPER(__(__(z0, z1), x1)) → c27(__'(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(__(nil, x1)) → c27(__'(ok(nil), proper(x1)), PROPER(nil), PROPER(x1))
PROPER(__(and(z0, z1), x1)) → c27(__'(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(__(tt, x1)) → c27(__'(ok(tt), proper(x1)), PROPER(tt), PROPER(x1))
PROPER(__(isList(z0), x1)) → c27(__'(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(__(isNeList(z0), x1)) → c27(__'(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(__(isQid(z0), x1)) → c27(__'(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(__(isNePal(z0), x1)) → c27(__'(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(__(isPal(z0), x1)) → c27(__'(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(__(a, x1)) → c27(__'(ok(a), proper(x1)), PROPER(a), PROPER(x1))
PROPER(__(e, x1)) → c27(__'(ok(e), proper(x1)), PROPER(e), PROPER(x1))
PROPER(__(i, x1)) → c27(__'(ok(i), proper(x1)), PROPER(i), PROPER(x1))
PROPER(__(o, x1)) → c27(__'(ok(o), proper(x1)), PROPER(o), PROPER(x1))
PROPER(__(u, x1)) → c27(__'(ok(u), proper(x1)), PROPER(u), PROPER(x1))
PROPER(__(x0, x1)) → c27
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1))
PROPER(__(x0, __(z0, z1))) → c27(__'(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(__(x0, nil)) → c27(__'(proper(x0), ok(nil)), PROPER(x0), PROPER(nil))
PROPER(__(x0, and(z0, z1))) → c27(__'(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(__(x0, tt)) → c27(__'(proper(x0), ok(tt)), PROPER(x0), PROPER(tt))
PROPER(__(x0, isList(z0))) → c27(__'(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(__(x0, isNeList(z0))) → c27(__'(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(__(x0, isQid(z0))) → c27(__'(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(__(x0, isNePal(z0))) → c27(__'(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(__(x0, isPal(z0))) → c27(__'(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(__(x0, a)) → c27(__'(proper(x0), ok(a)), PROPER(x0), PROPER(a))
PROPER(__(x0, e)) → c27(__'(proper(x0), ok(e)), PROPER(x0), PROPER(e))
PROPER(__(x0, i)) → c27(__'(proper(x0), ok(i)), PROPER(x0), PROPER(i))
PROPER(__(x0, o)) → c27(__'(proper(x0), ok(o)), PROPER(x0), PROPER(o))
PROPER(__(x0, u)) → c27(__'(proper(x0), ok(u)), PROPER(x0), PROPER(u))
PROPER(__(__(z0, z1), x1)) → c27(__'(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(__(nil, x1)) → c27(__'(ok(nil), proper(x1)), PROPER(nil), PROPER(x1))
PROPER(__(and(z0, z1), x1)) → c27(__'(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(__(tt, x1)) → c27(__'(ok(tt), proper(x1)), PROPER(tt), PROPER(x1))
PROPER(__(isList(z0), x1)) → c27(__'(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(__(isNeList(z0), x1)) → c27(__'(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(__(isQid(z0), x1)) → c27(__'(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(__(isNePal(z0), x1)) → c27(__'(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(__(isPal(z0), x1)) → c27(__'(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(__(a, x1)) → c27(__'(ok(a), proper(x1)), PROPER(a), PROPER(x1))
PROPER(__(e, x1)) → c27(__'(ok(e), proper(x1)), PROPER(e), PROPER(x1))
PROPER(__(i, x1)) → c27(__'(ok(i), proper(x1)), PROPER(i), PROPER(x1))
PROPER(__(o, x1)) → c27(__'(ok(o), proper(x1)), PROPER(o), PROPER(x1))
PROPER(__(u, x1)) → c27(__'(ok(u), proper(x1)), PROPER(u), PROPER(x1))
PROPER(__(x0, x1)) → c27
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c12, c19, c20, c22, c23, c24, c25, c26, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9, c11, c21, c21, c27, c27
(37) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)
Removed 1 trailing nodes:
PROPER(__(x0, x1)) → c27
(38) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1))
PROPER(__(x0, __(z0, z1))) → c27(__'(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(__(x0, nil)) → c27(__'(proper(x0), ok(nil)), PROPER(x0), PROPER(nil))
PROPER(__(x0, and(z0, z1))) → c27(__'(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(__(x0, tt)) → c27(__'(proper(x0), ok(tt)), PROPER(x0), PROPER(tt))
PROPER(__(x0, isList(z0))) → c27(__'(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(__(x0, isNeList(z0))) → c27(__'(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(__(x0, isQid(z0))) → c27(__'(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(__(x0, isNePal(z0))) → c27(__'(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(__(x0, isPal(z0))) → c27(__'(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(__(x0, a)) → c27(__'(proper(x0), ok(a)), PROPER(x0), PROPER(a))
PROPER(__(x0, e)) → c27(__'(proper(x0), ok(e)), PROPER(x0), PROPER(e))
PROPER(__(x0, i)) → c27(__'(proper(x0), ok(i)), PROPER(x0), PROPER(i))
PROPER(__(x0, o)) → c27(__'(proper(x0), ok(o)), PROPER(x0), PROPER(o))
PROPER(__(x0, u)) → c27(__'(proper(x0), ok(u)), PROPER(x0), PROPER(u))
PROPER(__(__(z0, z1), x1)) → c27(__'(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(__(nil, x1)) → c27(__'(ok(nil), proper(x1)), PROPER(nil), PROPER(x1))
PROPER(__(and(z0, z1), x1)) → c27(__'(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(__(tt, x1)) → c27(__'(ok(tt), proper(x1)), PROPER(tt), PROPER(x1))
PROPER(__(isList(z0), x1)) → c27(__'(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(__(isNeList(z0), x1)) → c27(__'(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(__(isQid(z0), x1)) → c27(__'(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(__(isNePal(z0), x1)) → c27(__'(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(__(isPal(z0), x1)) → c27(__'(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(__(a, x1)) → c27(__'(ok(a), proper(x1)), PROPER(a), PROPER(x1))
PROPER(__(e, x1)) → c27(__'(ok(e), proper(x1)), PROPER(e), PROPER(x1))
PROPER(__(i, x1)) → c27(__'(ok(i), proper(x1)), PROPER(i), PROPER(x1))
PROPER(__(o, x1)) → c27(__'(ok(o), proper(x1)), PROPER(o), PROPER(x1))
PROPER(__(u, x1)) → c27(__'(ok(u), proper(x1)), PROPER(u), PROPER(x1))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1))
PROPER(__(x0, __(z0, z1))) → c27(__'(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(__(x0, nil)) → c27(__'(proper(x0), ok(nil)), PROPER(x0), PROPER(nil))
PROPER(__(x0, and(z0, z1))) → c27(__'(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(__(x0, tt)) → c27(__'(proper(x0), ok(tt)), PROPER(x0), PROPER(tt))
PROPER(__(x0, isList(z0))) → c27(__'(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(__(x0, isNeList(z0))) → c27(__'(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(__(x0, isQid(z0))) → c27(__'(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(__(x0, isNePal(z0))) → c27(__'(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(__(x0, isPal(z0))) → c27(__'(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(__(x0, a)) → c27(__'(proper(x0), ok(a)), PROPER(x0), PROPER(a))
PROPER(__(x0, e)) → c27(__'(proper(x0), ok(e)), PROPER(x0), PROPER(e))
PROPER(__(x0, i)) → c27(__'(proper(x0), ok(i)), PROPER(x0), PROPER(i))
PROPER(__(x0, o)) → c27(__'(proper(x0), ok(o)), PROPER(x0), PROPER(o))
PROPER(__(x0, u)) → c27(__'(proper(x0), ok(u)), PROPER(x0), PROPER(u))
PROPER(__(__(z0, z1), x1)) → c27(__'(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(__(nil, x1)) → c27(__'(ok(nil), proper(x1)), PROPER(nil), PROPER(x1))
PROPER(__(and(z0, z1), x1)) → c27(__'(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(__(tt, x1)) → c27(__'(ok(tt), proper(x1)), PROPER(tt), PROPER(x1))
PROPER(__(isList(z0), x1)) → c27(__'(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(__(isNeList(z0), x1)) → c27(__'(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(__(isQid(z0), x1)) → c27(__'(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(__(isNePal(z0), x1)) → c27(__'(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(__(isPal(z0), x1)) → c27(__'(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(__(a, x1)) → c27(__'(ok(a), proper(x1)), PROPER(a), PROPER(x1))
PROPER(__(e, x1)) → c27(__'(ok(e), proper(x1)), PROPER(e), PROPER(x1))
PROPER(__(i, x1)) → c27(__'(ok(i), proper(x1)), PROPER(i), PROPER(x1))
PROPER(__(o, x1)) → c27(__'(ok(o), proper(x1)), PROPER(o), PROPER(x1))
PROPER(__(u, x1)) → c27(__'(ok(u), proper(x1)), PROPER(u), PROPER(x1))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c12, c19, c20, c22, c23, c24, c25, c26, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9, c11, c21, c21, c27
(39) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)
Removed 14 trailing tuple parts
(40) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1))
PROPER(__(x0, __(z0, z1))) → c27(__'(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(__(x0, and(z0, z1))) → c27(__'(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(__(x0, isList(z0))) → c27(__'(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(__(x0, isNeList(z0))) → c27(__'(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(__(x0, isQid(z0))) → c27(__'(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(__(x0, isNePal(z0))) → c27(__'(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(__(x0, isPal(z0))) → c27(__'(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(__(__(z0, z1), x1)) → c27(__'(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(__(and(z0, z1), x1)) → c27(__'(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(__(isList(z0), x1)) → c27(__'(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(__(isNeList(z0), x1)) → c27(__'(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(__(isQid(z0), x1)) → c27(__'(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(__(isNePal(z0), x1)) → c27(__'(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(__(isPal(z0), x1)) → c27(__'(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(__(x0, nil)) → c27(__'(proper(x0), ok(nil)), PROPER(x0))
PROPER(__(x0, tt)) → c27(__'(proper(x0), ok(tt)), PROPER(x0))
PROPER(__(x0, a)) → c27(__'(proper(x0), ok(a)), PROPER(x0))
PROPER(__(x0, e)) → c27(__'(proper(x0), ok(e)), PROPER(x0))
PROPER(__(x0, i)) → c27(__'(proper(x0), ok(i)), PROPER(x0))
PROPER(__(x0, o)) → c27(__'(proper(x0), ok(o)), PROPER(x0))
PROPER(__(x0, u)) → c27(__'(proper(x0), ok(u)), PROPER(x0))
PROPER(__(nil, x1)) → c27(__'(ok(nil), proper(x1)), PROPER(x1))
PROPER(__(tt, x1)) → c27(__'(ok(tt), proper(x1)), PROPER(x1))
PROPER(__(a, x1)) → c27(__'(ok(a), proper(x1)), PROPER(x1))
PROPER(__(e, x1)) → c27(__'(ok(e), proper(x1)), PROPER(x1))
PROPER(__(i, x1)) → c27(__'(ok(i), proper(x1)), PROPER(x1))
PROPER(__(o, x1)) → c27(__'(ok(o), proper(x1)), PROPER(x1))
PROPER(__(u, x1)) → c27(__'(ok(u), proper(x1)), PROPER(x1))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(and(z0, z1)) → c29(AND(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1))
PROPER(__(x0, __(z0, z1))) → c27(__'(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(__(x0, and(z0, z1))) → c27(__'(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(__(x0, isList(z0))) → c27(__'(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(__(x0, isNeList(z0))) → c27(__'(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(__(x0, isQid(z0))) → c27(__'(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(__(x0, isNePal(z0))) → c27(__'(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(__(x0, isPal(z0))) → c27(__'(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(__(__(z0, z1), x1)) → c27(__'(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(__(and(z0, z1), x1)) → c27(__'(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(__(isList(z0), x1)) → c27(__'(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(__(isNeList(z0), x1)) → c27(__'(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(__(isQid(z0), x1)) → c27(__'(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(__(isNePal(z0), x1)) → c27(__'(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(__(isPal(z0), x1)) → c27(__'(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(__(x0, nil)) → c27(__'(proper(x0), ok(nil)), PROPER(x0))
PROPER(__(x0, tt)) → c27(__'(proper(x0), ok(tt)), PROPER(x0))
PROPER(__(x0, a)) → c27(__'(proper(x0), ok(a)), PROPER(x0))
PROPER(__(x0, e)) → c27(__'(proper(x0), ok(e)), PROPER(x0))
PROPER(__(x0, i)) → c27(__'(proper(x0), ok(i)), PROPER(x0))
PROPER(__(x0, o)) → c27(__'(proper(x0), ok(o)), PROPER(x0))
PROPER(__(x0, u)) → c27(__'(proper(x0), ok(u)), PROPER(x0))
PROPER(__(nil, x1)) → c27(__'(ok(nil), proper(x1)), PROPER(x1))
PROPER(__(tt, x1)) → c27(__'(ok(tt), proper(x1)), PROPER(x1))
PROPER(__(a, x1)) → c27(__'(ok(a), proper(x1)), PROPER(x1))
PROPER(__(e, x1)) → c27(__'(ok(e), proper(x1)), PROPER(x1))
PROPER(__(i, x1)) → c27(__'(ok(i), proper(x1)), PROPER(x1))
PROPER(__(o, x1)) → c27(__'(ok(o), proper(x1)), PROPER(x1))
PROPER(__(u, x1)) → c27(__'(ok(u), proper(x1)), PROPER(x1))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c12, c19, c20, c22, c23, c24, c25, c26, c29, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9, c11, c21, c21, c27, c27
(41) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)
Use narrowing to replace
PROPER(
and(
z0,
z1)) →
c29(
AND(
proper(
z0),
proper(
z1)),
PROPER(
z0),
PROPER(
z1)) by
PROPER(and(x0, __(z0, z1))) → c29(AND(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(and(x0, nil)) → c29(AND(proper(x0), ok(nil)), PROPER(x0), PROPER(nil))
PROPER(and(x0, and(z0, z1))) → c29(AND(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(and(x0, tt)) → c29(AND(proper(x0), ok(tt)), PROPER(x0), PROPER(tt))
PROPER(and(x0, isList(z0))) → c29(AND(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(and(x0, isNeList(z0))) → c29(AND(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(and(x0, isQid(z0))) → c29(AND(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(and(x0, isNePal(z0))) → c29(AND(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(and(x0, isPal(z0))) → c29(AND(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(and(x0, a)) → c29(AND(proper(x0), ok(a)), PROPER(x0), PROPER(a))
PROPER(and(x0, e)) → c29(AND(proper(x0), ok(e)), PROPER(x0), PROPER(e))
PROPER(and(x0, i)) → c29(AND(proper(x0), ok(i)), PROPER(x0), PROPER(i))
PROPER(and(x0, o)) → c29(AND(proper(x0), ok(o)), PROPER(x0), PROPER(o))
PROPER(and(x0, u)) → c29(AND(proper(x0), ok(u)), PROPER(x0), PROPER(u))
PROPER(and(__(z0, z1), x1)) → c29(AND(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(and(nil, x1)) → c29(AND(ok(nil), proper(x1)), PROPER(nil), PROPER(x1))
PROPER(and(and(z0, z1), x1)) → c29(AND(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(and(tt, x1)) → c29(AND(ok(tt), proper(x1)), PROPER(tt), PROPER(x1))
PROPER(and(isList(z0), x1)) → c29(AND(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(and(isNeList(z0), x1)) → c29(AND(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(and(isQid(z0), x1)) → c29(AND(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(and(isNePal(z0), x1)) → c29(AND(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(and(isPal(z0), x1)) → c29(AND(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(and(a, x1)) → c29(AND(ok(a), proper(x1)), PROPER(a), PROPER(x1))
PROPER(and(e, x1)) → c29(AND(ok(e), proper(x1)), PROPER(e), PROPER(x1))
PROPER(and(i, x1)) → c29(AND(ok(i), proper(x1)), PROPER(i), PROPER(x1))
PROPER(and(o, x1)) → c29(AND(ok(o), proper(x1)), PROPER(o), PROPER(x1))
PROPER(and(u, x1)) → c29(AND(ok(u), proper(x1)), PROPER(u), PROPER(x1))
PROPER(and(x0, x1)) → c29
(42) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1))
PROPER(__(x0, __(z0, z1))) → c27(__'(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(__(x0, and(z0, z1))) → c27(__'(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(__(x0, isList(z0))) → c27(__'(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(__(x0, isNeList(z0))) → c27(__'(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(__(x0, isQid(z0))) → c27(__'(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(__(x0, isNePal(z0))) → c27(__'(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(__(x0, isPal(z0))) → c27(__'(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(__(__(z0, z1), x1)) → c27(__'(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(__(and(z0, z1), x1)) → c27(__'(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(__(isList(z0), x1)) → c27(__'(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(__(isNeList(z0), x1)) → c27(__'(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(__(isQid(z0), x1)) → c27(__'(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(__(isNePal(z0), x1)) → c27(__'(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(__(isPal(z0), x1)) → c27(__'(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(__(x0, nil)) → c27(__'(proper(x0), ok(nil)), PROPER(x0))
PROPER(__(x0, tt)) → c27(__'(proper(x0), ok(tt)), PROPER(x0))
PROPER(__(x0, a)) → c27(__'(proper(x0), ok(a)), PROPER(x0))
PROPER(__(x0, e)) → c27(__'(proper(x0), ok(e)), PROPER(x0))
PROPER(__(x0, i)) → c27(__'(proper(x0), ok(i)), PROPER(x0))
PROPER(__(x0, o)) → c27(__'(proper(x0), ok(o)), PROPER(x0))
PROPER(__(x0, u)) → c27(__'(proper(x0), ok(u)), PROPER(x0))
PROPER(__(nil, x1)) → c27(__'(ok(nil), proper(x1)), PROPER(x1))
PROPER(__(tt, x1)) → c27(__'(ok(tt), proper(x1)), PROPER(x1))
PROPER(__(a, x1)) → c27(__'(ok(a), proper(x1)), PROPER(x1))
PROPER(__(e, x1)) → c27(__'(ok(e), proper(x1)), PROPER(x1))
PROPER(__(i, x1)) → c27(__'(ok(i), proper(x1)), PROPER(x1))
PROPER(__(o, x1)) → c27(__'(ok(o), proper(x1)), PROPER(x1))
PROPER(__(u, x1)) → c27(__'(ok(u), proper(x1)), PROPER(x1))
PROPER(and(x0, __(z0, z1))) → c29(AND(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(and(x0, nil)) → c29(AND(proper(x0), ok(nil)), PROPER(x0), PROPER(nil))
PROPER(and(x0, and(z0, z1))) → c29(AND(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(and(x0, tt)) → c29(AND(proper(x0), ok(tt)), PROPER(x0), PROPER(tt))
PROPER(and(x0, isList(z0))) → c29(AND(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(and(x0, isNeList(z0))) → c29(AND(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(and(x0, isQid(z0))) → c29(AND(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(and(x0, isNePal(z0))) → c29(AND(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(and(x0, isPal(z0))) → c29(AND(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(and(x0, a)) → c29(AND(proper(x0), ok(a)), PROPER(x0), PROPER(a))
PROPER(and(x0, e)) → c29(AND(proper(x0), ok(e)), PROPER(x0), PROPER(e))
PROPER(and(x0, i)) → c29(AND(proper(x0), ok(i)), PROPER(x0), PROPER(i))
PROPER(and(x0, o)) → c29(AND(proper(x0), ok(o)), PROPER(x0), PROPER(o))
PROPER(and(x0, u)) → c29(AND(proper(x0), ok(u)), PROPER(x0), PROPER(u))
PROPER(and(__(z0, z1), x1)) → c29(AND(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(and(nil, x1)) → c29(AND(ok(nil), proper(x1)), PROPER(nil), PROPER(x1))
PROPER(and(and(z0, z1), x1)) → c29(AND(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(and(tt, x1)) → c29(AND(ok(tt), proper(x1)), PROPER(tt), PROPER(x1))
PROPER(and(isList(z0), x1)) → c29(AND(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(and(isNeList(z0), x1)) → c29(AND(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(and(isQid(z0), x1)) → c29(AND(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(and(isNePal(z0), x1)) → c29(AND(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(and(isPal(z0), x1)) → c29(AND(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(and(a, x1)) → c29(AND(ok(a), proper(x1)), PROPER(a), PROPER(x1))
PROPER(and(e, x1)) → c29(AND(ok(e), proper(x1)), PROPER(e), PROPER(x1))
PROPER(and(i, x1)) → c29(AND(ok(i), proper(x1)), PROPER(i), PROPER(x1))
PROPER(and(o, x1)) → c29(AND(ok(o), proper(x1)), PROPER(o), PROPER(x1))
PROPER(and(u, x1)) → c29(AND(ok(u), proper(x1)), PROPER(u), PROPER(x1))
PROPER(and(x0, x1)) → c29
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1))
PROPER(__(x0, __(z0, z1))) → c27(__'(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(__(x0, and(z0, z1))) → c27(__'(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(__(x0, isList(z0))) → c27(__'(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(__(x0, isNeList(z0))) → c27(__'(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(__(x0, isQid(z0))) → c27(__'(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(__(x0, isNePal(z0))) → c27(__'(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(__(x0, isPal(z0))) → c27(__'(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(__(__(z0, z1), x1)) → c27(__'(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(__(and(z0, z1), x1)) → c27(__'(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(__(isList(z0), x1)) → c27(__'(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(__(isNeList(z0), x1)) → c27(__'(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(__(isQid(z0), x1)) → c27(__'(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(__(isNePal(z0), x1)) → c27(__'(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(__(isPal(z0), x1)) → c27(__'(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(__(x0, nil)) → c27(__'(proper(x0), ok(nil)), PROPER(x0))
PROPER(__(x0, tt)) → c27(__'(proper(x0), ok(tt)), PROPER(x0))
PROPER(__(x0, a)) → c27(__'(proper(x0), ok(a)), PROPER(x0))
PROPER(__(x0, e)) → c27(__'(proper(x0), ok(e)), PROPER(x0))
PROPER(__(x0, i)) → c27(__'(proper(x0), ok(i)), PROPER(x0))
PROPER(__(x0, o)) → c27(__'(proper(x0), ok(o)), PROPER(x0))
PROPER(__(x0, u)) → c27(__'(proper(x0), ok(u)), PROPER(x0))
PROPER(__(nil, x1)) → c27(__'(ok(nil), proper(x1)), PROPER(x1))
PROPER(__(tt, x1)) → c27(__'(ok(tt), proper(x1)), PROPER(x1))
PROPER(__(a, x1)) → c27(__'(ok(a), proper(x1)), PROPER(x1))
PROPER(__(e, x1)) → c27(__'(ok(e), proper(x1)), PROPER(x1))
PROPER(__(i, x1)) → c27(__'(ok(i), proper(x1)), PROPER(x1))
PROPER(__(o, x1)) → c27(__'(ok(o), proper(x1)), PROPER(x1))
PROPER(__(u, x1)) → c27(__'(ok(u), proper(x1)), PROPER(x1))
PROPER(and(x0, __(z0, z1))) → c29(AND(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(and(x0, nil)) → c29(AND(proper(x0), ok(nil)), PROPER(x0), PROPER(nil))
PROPER(and(x0, and(z0, z1))) → c29(AND(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(and(x0, tt)) → c29(AND(proper(x0), ok(tt)), PROPER(x0), PROPER(tt))
PROPER(and(x0, isList(z0))) → c29(AND(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(and(x0, isNeList(z0))) → c29(AND(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(and(x0, isQid(z0))) → c29(AND(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(and(x0, isNePal(z0))) → c29(AND(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(and(x0, isPal(z0))) → c29(AND(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(and(x0, a)) → c29(AND(proper(x0), ok(a)), PROPER(x0), PROPER(a))
PROPER(and(x0, e)) → c29(AND(proper(x0), ok(e)), PROPER(x0), PROPER(e))
PROPER(and(x0, i)) → c29(AND(proper(x0), ok(i)), PROPER(x0), PROPER(i))
PROPER(and(x0, o)) → c29(AND(proper(x0), ok(o)), PROPER(x0), PROPER(o))
PROPER(and(x0, u)) → c29(AND(proper(x0), ok(u)), PROPER(x0), PROPER(u))
PROPER(and(__(z0, z1), x1)) → c29(AND(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(and(nil, x1)) → c29(AND(ok(nil), proper(x1)), PROPER(nil), PROPER(x1))
PROPER(and(and(z0, z1), x1)) → c29(AND(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(and(tt, x1)) → c29(AND(ok(tt), proper(x1)), PROPER(tt), PROPER(x1))
PROPER(and(isList(z0), x1)) → c29(AND(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(and(isNeList(z0), x1)) → c29(AND(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(and(isQid(z0), x1)) → c29(AND(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(and(isNePal(z0), x1)) → c29(AND(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(and(isPal(z0), x1)) → c29(AND(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(and(a, x1)) → c29(AND(ok(a), proper(x1)), PROPER(a), PROPER(x1))
PROPER(and(e, x1)) → c29(AND(ok(e), proper(x1)), PROPER(e), PROPER(x1))
PROPER(and(i, x1)) → c29(AND(ok(i), proper(x1)), PROPER(i), PROPER(x1))
PROPER(and(o, x1)) → c29(AND(ok(o), proper(x1)), PROPER(o), PROPER(x1))
PROPER(and(u, x1)) → c29(AND(ok(u), proper(x1)), PROPER(u), PROPER(x1))
PROPER(and(x0, x1)) → c29
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c12, c19, c20, c22, c23, c24, c25, c26, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9, c11, c21, c21, c27, c27, c29, c29
(43) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)
Removed 1 trailing nodes:
PROPER(and(x0, x1)) → c29
(44) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1))
PROPER(__(x0, __(z0, z1))) → c27(__'(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(__(x0, and(z0, z1))) → c27(__'(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(__(x0, isList(z0))) → c27(__'(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(__(x0, isNeList(z0))) → c27(__'(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(__(x0, isQid(z0))) → c27(__'(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(__(x0, isNePal(z0))) → c27(__'(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(__(x0, isPal(z0))) → c27(__'(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(__(__(z0, z1), x1)) → c27(__'(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(__(and(z0, z1), x1)) → c27(__'(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(__(isList(z0), x1)) → c27(__'(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(__(isNeList(z0), x1)) → c27(__'(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(__(isQid(z0), x1)) → c27(__'(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(__(isNePal(z0), x1)) → c27(__'(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(__(isPal(z0), x1)) → c27(__'(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(__(x0, nil)) → c27(__'(proper(x0), ok(nil)), PROPER(x0))
PROPER(__(x0, tt)) → c27(__'(proper(x0), ok(tt)), PROPER(x0))
PROPER(__(x0, a)) → c27(__'(proper(x0), ok(a)), PROPER(x0))
PROPER(__(x0, e)) → c27(__'(proper(x0), ok(e)), PROPER(x0))
PROPER(__(x0, i)) → c27(__'(proper(x0), ok(i)), PROPER(x0))
PROPER(__(x0, o)) → c27(__'(proper(x0), ok(o)), PROPER(x0))
PROPER(__(x0, u)) → c27(__'(proper(x0), ok(u)), PROPER(x0))
PROPER(__(nil, x1)) → c27(__'(ok(nil), proper(x1)), PROPER(x1))
PROPER(__(tt, x1)) → c27(__'(ok(tt), proper(x1)), PROPER(x1))
PROPER(__(a, x1)) → c27(__'(ok(a), proper(x1)), PROPER(x1))
PROPER(__(e, x1)) → c27(__'(ok(e), proper(x1)), PROPER(x1))
PROPER(__(i, x1)) → c27(__'(ok(i), proper(x1)), PROPER(x1))
PROPER(__(o, x1)) → c27(__'(ok(o), proper(x1)), PROPER(x1))
PROPER(__(u, x1)) → c27(__'(ok(u), proper(x1)), PROPER(x1))
PROPER(and(x0, __(z0, z1))) → c29(AND(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(and(x0, nil)) → c29(AND(proper(x0), ok(nil)), PROPER(x0), PROPER(nil))
PROPER(and(x0, and(z0, z1))) → c29(AND(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(and(x0, tt)) → c29(AND(proper(x0), ok(tt)), PROPER(x0), PROPER(tt))
PROPER(and(x0, isList(z0))) → c29(AND(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(and(x0, isNeList(z0))) → c29(AND(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(and(x0, isQid(z0))) → c29(AND(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(and(x0, isNePal(z0))) → c29(AND(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(and(x0, isPal(z0))) → c29(AND(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(and(x0, a)) → c29(AND(proper(x0), ok(a)), PROPER(x0), PROPER(a))
PROPER(and(x0, e)) → c29(AND(proper(x0), ok(e)), PROPER(x0), PROPER(e))
PROPER(and(x0, i)) → c29(AND(proper(x0), ok(i)), PROPER(x0), PROPER(i))
PROPER(and(x0, o)) → c29(AND(proper(x0), ok(o)), PROPER(x0), PROPER(o))
PROPER(and(x0, u)) → c29(AND(proper(x0), ok(u)), PROPER(x0), PROPER(u))
PROPER(and(__(z0, z1), x1)) → c29(AND(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(and(nil, x1)) → c29(AND(ok(nil), proper(x1)), PROPER(nil), PROPER(x1))
PROPER(and(and(z0, z1), x1)) → c29(AND(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(and(tt, x1)) → c29(AND(ok(tt), proper(x1)), PROPER(tt), PROPER(x1))
PROPER(and(isList(z0), x1)) → c29(AND(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(and(isNeList(z0), x1)) → c29(AND(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(and(isQid(z0), x1)) → c29(AND(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(and(isNePal(z0), x1)) → c29(AND(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(and(isPal(z0), x1)) → c29(AND(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(and(a, x1)) → c29(AND(ok(a), proper(x1)), PROPER(a), PROPER(x1))
PROPER(and(e, x1)) → c29(AND(ok(e), proper(x1)), PROPER(e), PROPER(x1))
PROPER(and(i, x1)) → c29(AND(ok(i), proper(x1)), PROPER(i), PROPER(x1))
PROPER(and(o, x1)) → c29(AND(ok(o), proper(x1)), PROPER(o), PROPER(x1))
PROPER(and(u, x1)) → c29(AND(ok(u), proper(x1)), PROPER(u), PROPER(x1))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1))
PROPER(__(x0, __(z0, z1))) → c27(__'(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(__(x0, and(z0, z1))) → c27(__'(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(__(x0, isList(z0))) → c27(__'(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(__(x0, isNeList(z0))) → c27(__'(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(__(x0, isQid(z0))) → c27(__'(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(__(x0, isNePal(z0))) → c27(__'(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(__(x0, isPal(z0))) → c27(__'(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(__(__(z0, z1), x1)) → c27(__'(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(__(and(z0, z1), x1)) → c27(__'(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(__(isList(z0), x1)) → c27(__'(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(__(isNeList(z0), x1)) → c27(__'(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(__(isQid(z0), x1)) → c27(__'(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(__(isNePal(z0), x1)) → c27(__'(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(__(isPal(z0), x1)) → c27(__'(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(__(x0, nil)) → c27(__'(proper(x0), ok(nil)), PROPER(x0))
PROPER(__(x0, tt)) → c27(__'(proper(x0), ok(tt)), PROPER(x0))
PROPER(__(x0, a)) → c27(__'(proper(x0), ok(a)), PROPER(x0))
PROPER(__(x0, e)) → c27(__'(proper(x0), ok(e)), PROPER(x0))
PROPER(__(x0, i)) → c27(__'(proper(x0), ok(i)), PROPER(x0))
PROPER(__(x0, o)) → c27(__'(proper(x0), ok(o)), PROPER(x0))
PROPER(__(x0, u)) → c27(__'(proper(x0), ok(u)), PROPER(x0))
PROPER(__(nil, x1)) → c27(__'(ok(nil), proper(x1)), PROPER(x1))
PROPER(__(tt, x1)) → c27(__'(ok(tt), proper(x1)), PROPER(x1))
PROPER(__(a, x1)) → c27(__'(ok(a), proper(x1)), PROPER(x1))
PROPER(__(e, x1)) → c27(__'(ok(e), proper(x1)), PROPER(x1))
PROPER(__(i, x1)) → c27(__'(ok(i), proper(x1)), PROPER(x1))
PROPER(__(o, x1)) → c27(__'(ok(o), proper(x1)), PROPER(x1))
PROPER(__(u, x1)) → c27(__'(ok(u), proper(x1)), PROPER(x1))
PROPER(and(x0, __(z0, z1))) → c29(AND(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(and(x0, nil)) → c29(AND(proper(x0), ok(nil)), PROPER(x0), PROPER(nil))
PROPER(and(x0, and(z0, z1))) → c29(AND(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(and(x0, tt)) → c29(AND(proper(x0), ok(tt)), PROPER(x0), PROPER(tt))
PROPER(and(x0, isList(z0))) → c29(AND(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(and(x0, isNeList(z0))) → c29(AND(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(and(x0, isQid(z0))) → c29(AND(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(and(x0, isNePal(z0))) → c29(AND(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(and(x0, isPal(z0))) → c29(AND(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(and(x0, a)) → c29(AND(proper(x0), ok(a)), PROPER(x0), PROPER(a))
PROPER(and(x0, e)) → c29(AND(proper(x0), ok(e)), PROPER(x0), PROPER(e))
PROPER(and(x0, i)) → c29(AND(proper(x0), ok(i)), PROPER(x0), PROPER(i))
PROPER(and(x0, o)) → c29(AND(proper(x0), ok(o)), PROPER(x0), PROPER(o))
PROPER(and(x0, u)) → c29(AND(proper(x0), ok(u)), PROPER(x0), PROPER(u))
PROPER(and(__(z0, z1), x1)) → c29(AND(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(and(nil, x1)) → c29(AND(ok(nil), proper(x1)), PROPER(nil), PROPER(x1))
PROPER(and(and(z0, z1), x1)) → c29(AND(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(and(tt, x1)) → c29(AND(ok(tt), proper(x1)), PROPER(tt), PROPER(x1))
PROPER(and(isList(z0), x1)) → c29(AND(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(and(isNeList(z0), x1)) → c29(AND(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(and(isQid(z0), x1)) → c29(AND(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(and(isNePal(z0), x1)) → c29(AND(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(and(isPal(z0), x1)) → c29(AND(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(and(a, x1)) → c29(AND(ok(a), proper(x1)), PROPER(a), PROPER(x1))
PROPER(and(e, x1)) → c29(AND(ok(e), proper(x1)), PROPER(e), PROPER(x1))
PROPER(and(i, x1)) → c29(AND(ok(i), proper(x1)), PROPER(i), PROPER(x1))
PROPER(and(o, x1)) → c29(AND(ok(o), proper(x1)), PROPER(o), PROPER(x1))
PROPER(and(u, x1)) → c29(AND(ok(u), proper(x1)), PROPER(u), PROPER(x1))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c12, c19, c20, c22, c23, c24, c25, c26, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9, c11, c21, c21, c27, c27, c29
(45) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)
Removed 14 trailing tuple parts
(46) Obligation:
Complexity Dependency Tuples Problem
Rules:
active(__(__(z0, z1), z2)) → mark(__(z0, __(z1, z2)))
active(__(z0, nil)) → mark(z0)
active(__(nil, z0)) → mark(z0)
active(and(tt, z0)) → mark(z0)
active(isList(z0)) → mark(isNeList(z0))
active(isList(nil)) → mark(tt)
active(isList(__(z0, z1))) → mark(and(isList(z0), isList(z1)))
active(isNeList(z0)) → mark(isQid(z0))
active(isNeList(__(z0, z1))) → mark(and(isList(z0), isNeList(z1)))
active(isNeList(__(z0, z1))) → mark(and(isNeList(z0), isList(z1)))
active(isNePal(z0)) → mark(isQid(z0))
active(isNePal(__(z0, __(z1, z0)))) → mark(and(isQid(z0), isPal(z1)))
active(isPal(z0)) → mark(isNePal(z0))
active(isPal(nil)) → mark(tt)
active(isQid(a)) → mark(tt)
active(isQid(e)) → mark(tt)
active(isQid(i)) → mark(tt)
active(isQid(o)) → mark(tt)
active(isQid(u)) → mark(tt)
active(__(z0, z1)) → __(active(z0), z1)
active(__(z0, z1)) → __(z0, active(z1))
active(and(z0, z1)) → and(active(z0), z1)
__(mark(z0), z1) → mark(__(z0, z1))
__(z0, mark(z1)) → mark(__(z0, z1))
__(ok(z0), ok(z1)) → ok(__(z0, z1))
and(mark(z0), z1) → mark(and(z0, z1))
and(ok(z0), ok(z1)) → ok(and(z0, z1))
proper(__(z0, z1)) → __(proper(z0), proper(z1))
proper(nil) → ok(nil)
proper(and(z0, z1)) → and(proper(z0), proper(z1))
proper(tt) → ok(tt)
proper(isList(z0)) → isList(proper(z0))
proper(isNeList(z0)) → isNeList(proper(z0))
proper(isQid(z0)) → isQid(proper(z0))
proper(isNePal(z0)) → isNePal(proper(z0))
proper(isPal(z0)) → isPal(proper(z0))
proper(a) → ok(a)
proper(e) → ok(e)
proper(i) → ok(i)
proper(o) → ok(o)
proper(u) → ok(u)
isList(ok(z0)) → ok(isList(z0))
isNeList(ok(z0)) → ok(isNeList(z0))
isQid(ok(z0)) → ok(isQid(z0))
isNePal(ok(z0)) → ok(isNePal(z0))
isPal(ok(z0)) → ok(isPal(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1))
PROPER(__(x0, __(z0, z1))) → c27(__'(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(__(x0, and(z0, z1))) → c27(__'(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(__(x0, isList(z0))) → c27(__'(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(__(x0, isNeList(z0))) → c27(__'(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(__(x0, isQid(z0))) → c27(__'(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(__(x0, isNePal(z0))) → c27(__'(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(__(x0, isPal(z0))) → c27(__'(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(__(__(z0, z1), x1)) → c27(__'(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(__(and(z0, z1), x1)) → c27(__'(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(__(isList(z0), x1)) → c27(__'(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(__(isNeList(z0), x1)) → c27(__'(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(__(isQid(z0), x1)) → c27(__'(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(__(isNePal(z0), x1)) → c27(__'(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(__(isPal(z0), x1)) → c27(__'(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(__(x0, nil)) → c27(__'(proper(x0), ok(nil)), PROPER(x0))
PROPER(__(x0, tt)) → c27(__'(proper(x0), ok(tt)), PROPER(x0))
PROPER(__(x0, a)) → c27(__'(proper(x0), ok(a)), PROPER(x0))
PROPER(__(x0, e)) → c27(__'(proper(x0), ok(e)), PROPER(x0))
PROPER(__(x0, i)) → c27(__'(proper(x0), ok(i)), PROPER(x0))
PROPER(__(x0, o)) → c27(__'(proper(x0), ok(o)), PROPER(x0))
PROPER(__(x0, u)) → c27(__'(proper(x0), ok(u)), PROPER(x0))
PROPER(__(nil, x1)) → c27(__'(ok(nil), proper(x1)), PROPER(x1))
PROPER(__(tt, x1)) → c27(__'(ok(tt), proper(x1)), PROPER(x1))
PROPER(__(a, x1)) → c27(__'(ok(a), proper(x1)), PROPER(x1))
PROPER(__(e, x1)) → c27(__'(ok(e), proper(x1)), PROPER(x1))
PROPER(__(i, x1)) → c27(__'(ok(i), proper(x1)), PROPER(x1))
PROPER(__(o, x1)) → c27(__'(ok(o), proper(x1)), PROPER(x1))
PROPER(__(u, x1)) → c27(__'(ok(u), proper(x1)), PROPER(x1))
PROPER(and(x0, __(z0, z1))) → c29(AND(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(and(x0, and(z0, z1))) → c29(AND(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(and(x0, isList(z0))) → c29(AND(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(and(x0, isNeList(z0))) → c29(AND(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(and(x0, isQid(z0))) → c29(AND(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(and(x0, isNePal(z0))) → c29(AND(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(and(x0, isPal(z0))) → c29(AND(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(and(__(z0, z1), x1)) → c29(AND(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(and(and(z0, z1), x1)) → c29(AND(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(and(isList(z0), x1)) → c29(AND(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(and(isNeList(z0), x1)) → c29(AND(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(and(isQid(z0), x1)) → c29(AND(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(and(isNePal(z0), x1)) → c29(AND(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(and(isPal(z0), x1)) → c29(AND(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(and(x0, nil)) → c29(AND(proper(x0), ok(nil)), PROPER(x0))
PROPER(and(x0, tt)) → c29(AND(proper(x0), ok(tt)), PROPER(x0))
PROPER(and(x0, a)) → c29(AND(proper(x0), ok(a)), PROPER(x0))
PROPER(and(x0, e)) → c29(AND(proper(x0), ok(e)), PROPER(x0))
PROPER(and(x0, i)) → c29(AND(proper(x0), ok(i)), PROPER(x0))
PROPER(and(x0, o)) → c29(AND(proper(x0), ok(o)), PROPER(x0))
PROPER(and(x0, u)) → c29(AND(proper(x0), ok(u)), PROPER(x0))
PROPER(and(nil, x1)) → c29(AND(ok(nil), proper(x1)), PROPER(x1))
PROPER(and(tt, x1)) → c29(AND(ok(tt), proper(x1)), PROPER(x1))
PROPER(and(a, x1)) → c29(AND(ok(a), proper(x1)), PROPER(x1))
PROPER(and(e, x1)) → c29(AND(ok(e), proper(x1)), PROPER(x1))
PROPER(and(i, x1)) → c29(AND(ok(i), proper(x1)), PROPER(x1))
PROPER(and(o, x1)) → c29(AND(ok(o), proper(x1)), PROPER(x1))
PROPER(and(u, x1)) → c29(AND(ok(u), proper(x1)), PROPER(x1))
S tuples:
ACTIVE(__(__(z0, z1), z2)) → c(__'(z0, __(z1, z2)), __'(z1, z2))
ACTIVE(isList(z0)) → c4(ISNELIST(z0))
ACTIVE(isNeList(z0)) → c7(ISQID(z0))
ACTIVE(isNePal(z0)) → c10(ISQID(z0))
ACTIVE(isPal(z0)) → c12(ISNEPAL(z0))
ACTIVE(__(z0, z1)) → c19(__'(active(z0), z1), ACTIVE(z0))
ACTIVE(__(z0, z1)) → c20(__'(z0, active(z1)), ACTIVE(z1))
__'(mark(z0), z1) → c22(__'(z0, z1))
__'(z0, mark(z1)) → c23(__'(z0, z1))
__'(ok(z0), ok(z1)) → c24(__'(z0, z1))
AND(mark(z0), z1) → c25(AND(z0, z1))
AND(ok(z0), ok(z1)) → c26(AND(z0, z1))
PROPER(isList(z0)) → c31(ISLIST(proper(z0)), PROPER(z0))
PROPER(isNeList(z0)) → c32(ISNELIST(proper(z0)), PROPER(z0))
PROPER(isQid(z0)) → c33(ISQID(proper(z0)), PROPER(z0))
PROPER(isNePal(z0)) → c34(ISNEPAL(proper(z0)), PROPER(z0))
PROPER(isPal(z0)) → c35(ISPAL(proper(z0)), PROPER(z0))
ISLIST(ok(z0)) → c41(ISLIST(z0))
ISNELIST(ok(z0)) → c42(ISNELIST(z0))
ISQID(ok(z0)) → c43(ISQID(z0))
ISNEPAL(ok(z0)) → c44(ISNEPAL(z0))
ISPAL(ok(z0)) → c45(ISPAL(z0))
TOP(ok(z0)) → c47(TOP(active(z0)), ACTIVE(z0))
ACTIVE(isList(__(x0, ok(z0)))) → c6(ISLIST(x0), ISLIST(ok(z0)))
ACTIVE(isList(__(ok(z0), x1))) → c6(ISLIST(ok(z0)), ISLIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c8(ISLIST(x0), ISNELIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c8(ISLIST(ok(z0)), ISNELIST(x1))
ACTIVE(isNeList(__(x0, ok(z0)))) → c9(ISNELIST(x0), ISLIST(ok(z0)))
ACTIVE(isNeList(__(ok(z0), x1))) → c9(ISNELIST(ok(z0)), ISLIST(x1))
ACTIVE(isNePal(__(x0, __(ok(z0), x0)))) → c11(ISQID(x0), ISPAL(ok(z0)))
ACTIVE(isNePal(__(ok(z0), __(x1, ok(z0))))) → c11(ISQID(ok(z0)), ISPAL(x1))
ACTIVE(and(__(__(z0, z1), z2), x1)) → c21(AND(mark(__(z0, __(z1, z2))), x1), ACTIVE(__(__(z0, z1), z2)))
ACTIVE(and(__(z0, nil), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(z0, nil)))
ACTIVE(and(__(nil, z0), x1)) → c21(AND(mark(z0), x1), ACTIVE(__(nil, z0)))
ACTIVE(and(isList(z0), x1)) → c21(AND(mark(isNeList(z0)), x1), ACTIVE(isList(z0)))
ACTIVE(and(isList(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isList(nil)))
ACTIVE(and(isList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isList(z1))), x1), ACTIVE(isList(__(z0, z1))))
ACTIVE(and(isNeList(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNeList(z0)))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isList(z0), isNeList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNeList(__(z0, z1)), x1)) → c21(AND(mark(and(isNeList(z0), isList(z1))), x1), ACTIVE(isNeList(__(z0, z1))))
ACTIVE(and(isNePal(z0), x1)) → c21(AND(mark(isQid(z0)), x1), ACTIVE(isNePal(z0)))
ACTIVE(and(isNePal(__(z0, __(z1, z0))), x1)) → c21(AND(mark(and(isQid(z0), isPal(z1))), x1), ACTIVE(isNePal(__(z0, __(z1, z0)))))
ACTIVE(and(isPal(z0), x1)) → c21(AND(mark(isNePal(z0)), x1), ACTIVE(isPal(z0)))
ACTIVE(and(isPal(nil), x1)) → c21(AND(mark(tt), x1), ACTIVE(isPal(nil)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(active(z0), z1), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(__(z0, z1), x1)) → c21(AND(__(z0, active(z1)), x1), ACTIVE(__(z0, z1)))
ACTIVE(and(and(z0, z1), x1)) → c21(AND(and(active(z0), z1), x1), ACTIVE(and(z0, z1)))
ACTIVE(and(and(tt, z0), x1)) → c21(AND(mark(z0), x1))
ACTIVE(and(isQid(a), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(e), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(i), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(o), x1)) → c21(AND(mark(tt), x1))
ACTIVE(and(isQid(u), x1)) → c21(AND(mark(tt), x1))
PROPER(__(x0, __(z0, z1))) → c27(__'(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(__(x0, and(z0, z1))) → c27(__'(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(__(x0, isList(z0))) → c27(__'(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(__(x0, isNeList(z0))) → c27(__'(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(__(x0, isQid(z0))) → c27(__'(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(__(x0, isNePal(z0))) → c27(__'(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(__(x0, isPal(z0))) → c27(__'(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(__(__(z0, z1), x1)) → c27(__'(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(__(and(z0, z1), x1)) → c27(__'(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(__(isList(z0), x1)) → c27(__'(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(__(isNeList(z0), x1)) → c27(__'(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(__(isQid(z0), x1)) → c27(__'(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(__(isNePal(z0), x1)) → c27(__'(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(__(isPal(z0), x1)) → c27(__'(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(__(x0, nil)) → c27(__'(proper(x0), ok(nil)), PROPER(x0))
PROPER(__(x0, tt)) → c27(__'(proper(x0), ok(tt)), PROPER(x0))
PROPER(__(x0, a)) → c27(__'(proper(x0), ok(a)), PROPER(x0))
PROPER(__(x0, e)) → c27(__'(proper(x0), ok(e)), PROPER(x0))
PROPER(__(x0, i)) → c27(__'(proper(x0), ok(i)), PROPER(x0))
PROPER(__(x0, o)) → c27(__'(proper(x0), ok(o)), PROPER(x0))
PROPER(__(x0, u)) → c27(__'(proper(x0), ok(u)), PROPER(x0))
PROPER(__(nil, x1)) → c27(__'(ok(nil), proper(x1)), PROPER(x1))
PROPER(__(tt, x1)) → c27(__'(ok(tt), proper(x1)), PROPER(x1))
PROPER(__(a, x1)) → c27(__'(ok(a), proper(x1)), PROPER(x1))
PROPER(__(e, x1)) → c27(__'(ok(e), proper(x1)), PROPER(x1))
PROPER(__(i, x1)) → c27(__'(ok(i), proper(x1)), PROPER(x1))
PROPER(__(o, x1)) → c27(__'(ok(o), proper(x1)), PROPER(x1))
PROPER(__(u, x1)) → c27(__'(ok(u), proper(x1)), PROPER(x1))
PROPER(and(x0, __(z0, z1))) → c29(AND(proper(x0), __(proper(z0), proper(z1))), PROPER(x0), PROPER(__(z0, z1)))
PROPER(and(x0, and(z0, z1))) → c29(AND(proper(x0), and(proper(z0), proper(z1))), PROPER(x0), PROPER(and(z0, z1)))
PROPER(and(x0, isList(z0))) → c29(AND(proper(x0), isList(proper(z0))), PROPER(x0), PROPER(isList(z0)))
PROPER(and(x0, isNeList(z0))) → c29(AND(proper(x0), isNeList(proper(z0))), PROPER(x0), PROPER(isNeList(z0)))
PROPER(and(x0, isQid(z0))) → c29(AND(proper(x0), isQid(proper(z0))), PROPER(x0), PROPER(isQid(z0)))
PROPER(and(x0, isNePal(z0))) → c29(AND(proper(x0), isNePal(proper(z0))), PROPER(x0), PROPER(isNePal(z0)))
PROPER(and(x0, isPal(z0))) → c29(AND(proper(x0), isPal(proper(z0))), PROPER(x0), PROPER(isPal(z0)))
PROPER(and(__(z0, z1), x1)) → c29(AND(__(proper(z0), proper(z1)), proper(x1)), PROPER(__(z0, z1)), PROPER(x1))
PROPER(and(and(z0, z1), x1)) → c29(AND(and(proper(z0), proper(z1)), proper(x1)), PROPER(and(z0, z1)), PROPER(x1))
PROPER(and(isList(z0), x1)) → c29(AND(isList(proper(z0)), proper(x1)), PROPER(isList(z0)), PROPER(x1))
PROPER(and(isNeList(z0), x1)) → c29(AND(isNeList(proper(z0)), proper(x1)), PROPER(isNeList(z0)), PROPER(x1))
PROPER(and(isQid(z0), x1)) → c29(AND(isQid(proper(z0)), proper(x1)), PROPER(isQid(z0)), PROPER(x1))
PROPER(and(isNePal(z0), x1)) → c29(AND(isNePal(proper(z0)), proper(x1)), PROPER(isNePal(z0)), PROPER(x1))
PROPER(and(isPal(z0), x1)) → c29(AND(isPal(proper(z0)), proper(x1)), PROPER(isPal(z0)), PROPER(x1))
PROPER(and(x0, nil)) → c29(AND(proper(x0), ok(nil)), PROPER(x0))
PROPER(and(x0, tt)) → c29(AND(proper(x0), ok(tt)), PROPER(x0))
PROPER(and(x0, a)) → c29(AND(proper(x0), ok(a)), PROPER(x0))
PROPER(and(x0, e)) → c29(AND(proper(x0), ok(e)), PROPER(x0))
PROPER(and(x0, i)) → c29(AND(proper(x0), ok(i)), PROPER(x0))
PROPER(and(x0, o)) → c29(AND(proper(x0), ok(o)), PROPER(x0))
PROPER(and(x0, u)) → c29(AND(proper(x0), ok(u)), PROPER(x0))
PROPER(and(nil, x1)) → c29(AND(ok(nil), proper(x1)), PROPER(x1))
PROPER(and(tt, x1)) → c29(AND(ok(tt), proper(x1)), PROPER(x1))
PROPER(and(a, x1)) → c29(AND(ok(a), proper(x1)), PROPER(x1))
PROPER(and(e, x1)) → c29(AND(ok(e), proper(x1)), PROPER(x1))
PROPER(and(i, x1)) → c29(AND(ok(i), proper(x1)), PROPER(x1))
PROPER(and(o, x1)) → c29(AND(ok(o), proper(x1)), PROPER(x1))
PROPER(and(u, x1)) → c29(AND(ok(u), proper(x1)), PROPER(x1))
K tuples:
TOP(mark(z0)) → c46(TOP(proper(z0)), PROPER(z0))
Defined Rule Symbols:
active, __, and, proper, isList, isNeList, isQid, isNePal, isPal, top
Defined Pair Symbols:
ACTIVE, __', AND, PROPER, ISLIST, ISNELIST, ISQID, ISNEPAL, ISPAL, TOP
Compound Symbols:
c, c4, c7, c10, c12, c19, c20, c22, c23, c24, c25, c26, c31, c32, c33, c34, c35, c41, c42, c43, c44, c45, c46, c47, c6, c8, c9, c11, c21, c21, c27, c27, c29, c29
(47) CpxTrsMatchBoundsTAProof (EQUIVALENT transformation)
A linear upper bound on the runtime complexity of the TRS R could be shown with a Match(-raise)-Bound[TAB_LEFTLINEAR,TAB_NONLEFTLINEAR] (for contructor-based start-terms) of 2.
The compatible tree automaton used to show the Match(-raise)-Boundedness (for constructor-based start-terms) is represented by:
final states : [10, 2, 3, 4, 5, 6, 7, 8, 9, 1, 29, 30, 38, 39, 40, 41, 42, 43, 44, 52, 68, 69, 70, 71, 72, 73, 74, 75, 76]
transitions:
mark0(0) → 0
ok0(0) → 0
top0(0) → 10
__1(0, 0) → 11
mark1(11) → 2
__1(0, 0) → 2
and1(0, 0) → 12
mark1(12) → 3
and1(0, 0) → 3
ok1(13) → 4
ok1(14) → 4
ok1(15) → 4
ok1(16) → 4
ok1(17) → 4
ok1(18) → 4
ok1(19) → 4
__1(0, 0) → 20
ok1(20) → 2
and1(0, 0) → 21
ok1(21) → 3
isList1(0) → 22
ok1(22) → 5
isList1(0) → 5
isNeList1(0) → 23
ok1(23) → 6
isNeList1(0) → 6
isQid1(0) → 24
ok1(24) → 7
isQid1(0) → 7
isNePal1(0) → 25
ok1(25) → 8
isNePal1(0) → 8
isPal1(0) → 26
ok1(26) → 9
isPal1(0) → 9
proper1(0) → 27
top1(27) → 10
proper1(0) → 4
active1(0) → 28
top1(28) → 10
active1(0) → 1
__1(0, 0) → 29
and1(0, 0) → 30
isList1(0) → 38
isNeList1(0) → 39
isQid1(0) → 40
isNePal1(0) → 41
isPal1(0) → 42
proper1(0) → 43
active1(0) → 44
mark0(31) → 0
mark0(32) → 0
mark0(33) → 0
mark0(34) → 0
mark0(35) → 0
mark0(36) → 0
mark0(37) → 0
ok0(31) → 0
ok0(32) → 0
ok0(33) → 0
ok0(34) → 0
ok0(35) → 0
ok0(36) → 0
ok0(37) → 0
top0(31) → 10
top0(32) → 10
top0(33) → 10
top0(34) → 10
top0(35) → 10
top0(36) → 10
top0(37) → 10
mark1(29) → 2
mark1(30) → 3
__1(31, 0) → 29
__1(0, 31) → 29
__1(32, 0) → 29
__1(0, 32) → 29
__1(33, 0) → 29
__1(0, 33) → 29
__1(34, 0) → 29
__1(0, 34) → 29
__1(35, 0) → 29
__1(0, 35) → 29
__1(36, 0) → 29
__1(0, 36) → 29
__1(37, 0) → 29
__1(0, 37) → 29
__1(31, 31) → 29
__1(31, 32) → 29
__1(31, 33) → 29
__1(31, 34) → 29
__1(31, 35) → 29
__1(31, 36) → 29
__1(31, 37) → 29
__1(32, 31) → 29
__1(33, 31) → 29
__1(34, 31) → 29
__1(35, 31) → 29
__1(36, 31) → 29
__1(37, 31) → 29
__1(32, 32) → 29
__1(32, 33) → 29
__1(32, 34) → 29
__1(32, 35) → 29
__1(32, 36) → 29
__1(32, 37) → 29
__1(33, 32) → 29
__1(34, 32) → 29
__1(35, 32) → 29
__1(36, 32) → 29
__1(37, 32) → 29
__1(33, 33) → 29
__1(33, 34) → 29
__1(33, 35) → 29
__1(33, 36) → 29
__1(33, 37) → 29
__1(34, 33) → 29
__1(35, 33) → 29
__1(36, 33) → 29
__1(37, 33) → 29
__1(34, 34) → 29
__1(34, 35) → 29
__1(34, 36) → 29
__1(34, 37) → 29
__1(35, 34) → 29
__1(36, 34) → 29
__1(37, 34) → 29
__1(35, 35) → 29
__1(35, 36) → 29
__1(35, 37) → 29
__1(36, 35) → 29
__1(37, 35) → 29
__1(36, 36) → 29
__1(36, 37) → 29
__1(37, 36) → 29
__1(37, 37) → 29
and1(31, 0) → 30
and1(0, 31) → 30
and1(32, 0) → 30
and1(0, 32) → 30
and1(33, 0) → 30
and1(0, 33) → 30
and1(34, 0) → 30
and1(0, 34) → 30
and1(35, 0) → 30
and1(0, 35) → 30
and1(36, 0) → 30
and1(0, 36) → 30
and1(37, 0) → 30
and1(0, 37) → 30
and1(31, 31) → 30
and1(31, 32) → 30
and1(31, 33) → 30
and1(31, 34) → 30
and1(31, 35) → 30
and1(31, 36) → 30
and1(31, 37) → 30
and1(32, 31) → 30
and1(33, 31) → 30
and1(34, 31) → 30
and1(35, 31) → 30
and1(36, 31) → 30
and1(37, 31) → 30
and1(32, 32) → 30
and1(32, 33) → 30
and1(32, 34) → 30
and1(32, 35) → 30
and1(32, 36) → 30
and1(32, 37) → 30
and1(33, 32) → 30
and1(34, 32) → 30
and1(35, 32) → 30
and1(36, 32) → 30
and1(37, 32) → 30
and1(33, 33) → 30
and1(33, 34) → 30
and1(33, 35) → 30
and1(33, 36) → 30
and1(33, 37) → 30
and1(34, 33) → 30
and1(35, 33) → 30
and1(36, 33) → 30
and1(37, 33) → 30
and1(34, 34) → 30
and1(34, 35) → 30
and1(34, 36) → 30
and1(34, 37) → 30
and1(35, 34) → 30
and1(36, 34) → 30
and1(37, 34) → 30
and1(35, 35) → 30
and1(35, 36) → 30
and1(35, 37) → 30
and1(36, 35) → 30
and1(37, 35) → 30
and1(36, 36) → 30
and1(36, 37) → 30
and1(37, 36) → 30
and1(37, 37) → 30
ok1(29) → 2
ok1(30) → 3
ok1(31) → 4
ok1(32) → 4
ok1(33) → 4
ok1(34) → 4
ok1(35) → 4
ok1(36) → 4
ok1(37) → 4
ok1(38) → 5
ok1(39) → 6
ok1(40) → 7
ok1(41) → 8
ok1(42) → 9
isList1(31) → 38
isList1(32) → 38
isList1(33) → 38
isList1(34) → 38
isList1(35) → 38
isList1(36) → 38
isList1(37) → 38
isNeList1(31) → 39
isNeList1(32) → 39
isNeList1(33) → 39
isNeList1(34) → 39
isNeList1(35) → 39
isNeList1(36) → 39
isNeList1(37) → 39
isQid1(31) → 40
isQid1(32) → 40
isQid1(33) → 40
isQid1(34) → 40
isQid1(35) → 40
isQid1(36) → 40
isQid1(37) → 40
isNePal1(31) → 41
isNePal1(32) → 41
isNePal1(33) → 41
isNePal1(34) → 41
isNePal1(35) → 41
isNePal1(36) → 41
isNePal1(37) → 41
isPal1(31) → 42
isPal1(32) → 42
isPal1(33) → 42
isPal1(34) → 42
isPal1(35) → 42
isPal1(36) → 42
isPal1(37) → 42
top1(43) → 10
top1(44) → 10
proper1(31) → 43
proper1(32) → 43
proper1(33) → 43
proper1(34) → 43
proper1(35) → 43
proper1(36) → 43
proper1(37) → 43
active1(31) → 44
active1(32) → 44
active1(33) → 44
active1(34) → 44
active1(35) → 44
active1(36) → 44
active1(37) → 44
ok1(31) → 0
ok1(32) → 0
ok1(33) → 0
ok1(34) → 0
ok1(35) → 0
ok1(36) → 0
ok1(37) → 0
mark1(11) → 29
__1(31, 0) → 11
__1(32, 0) → 11
__1(33, 0) → 11
__1(34, 0) → 11
__1(35, 0) → 11
__1(36, 0) → 11
__1(37, 0) → 11
__1(0, 31) → 11
__1(31, 31) → 11
__1(32, 31) → 11
__1(33, 31) → 11
__1(34, 31) → 11
__1(35, 31) → 11
__1(36, 31) → 11
__1(37, 31) → 11
__1(0, 32) → 11
__1(31, 32) → 11
__1(32, 32) → 11
__1(33, 32) → 11
__1(34, 32) → 11
__1(35, 32) → 11
__1(36, 32) → 11
__1(37, 32) → 11
__1(0, 33) → 11
__1(31, 33) → 11
__1(32, 33) → 11
__1(33, 33) → 11
__1(34, 33) → 11
__1(35, 33) → 11
__1(36, 33) → 11
__1(37, 33) → 11
__1(0, 34) → 11
__1(31, 34) → 11
__1(32, 34) → 11
__1(33, 34) → 11
__1(34, 34) → 11
__1(35, 34) → 11
__1(36, 34) → 11
__1(37, 34) → 11
__1(0, 35) → 11
__1(31, 35) → 11
__1(32, 35) → 11
__1(33, 35) → 11
__1(34, 35) → 11
__1(35, 35) → 11
__1(36, 35) → 11
__1(37, 35) → 11
__1(0, 36) → 11
__1(31, 36) → 11
__1(32, 36) → 11
__1(33, 36) → 11
__1(34, 36) → 11
__1(35, 36) → 11
__1(36, 36) → 11
__1(37, 36) → 11
__1(0, 37) → 11
__1(31, 37) → 11
__1(32, 37) → 11
__1(33, 37) → 11
__1(34, 37) → 11
__1(35, 37) → 11
__1(36, 37) → 11
__1(37, 37) → 11
mark1(12) → 30
and1(31, 0) → 12
and1(32, 0) → 12
and1(33, 0) → 12
and1(34, 0) → 12
and1(35, 0) → 12
and1(36, 0) → 12
and1(37, 0) → 12
and1(0, 31) → 12
and1(31, 31) → 12
and1(32, 31) → 12
and1(33, 31) → 12
and1(34, 31) → 12
and1(35, 31) → 12
and1(36, 31) → 12
and1(37, 31) → 12
and1(0, 32) → 12
and1(31, 32) → 12
and1(32, 32) → 12
and1(33, 32) → 12
and1(34, 32) → 12
and1(35, 32) → 12
and1(36, 32) → 12
and1(37, 32) → 12
and1(0, 33) → 12
and1(31, 33) → 12
and1(32, 33) → 12
and1(33, 33) → 12
and1(34, 33) → 12
and1(35, 33) → 12
and1(36, 33) → 12
and1(37, 33) → 12
and1(0, 34) → 12
and1(31, 34) → 12
and1(32, 34) → 12
and1(33, 34) → 12
and1(34, 34) → 12
and1(35, 34) → 12
and1(36, 34) → 12
and1(37, 34) → 12
and1(0, 35) → 12
and1(31, 35) → 12
and1(32, 35) → 12
and1(33, 35) → 12
and1(34, 35) → 12
and1(35, 35) → 12
and1(36, 35) → 12
and1(37, 35) → 12
and1(0, 36) → 12
and1(31, 36) → 12
and1(32, 36) → 12
and1(33, 36) → 12
and1(34, 36) → 12
and1(35, 36) → 12
and1(36, 36) → 12
and1(37, 36) → 12
and1(0, 37) → 12
and1(31, 37) → 12
and1(32, 37) → 12
and1(33, 37) → 12
and1(34, 37) → 12
and1(35, 37) → 12
and1(36, 37) → 12
and1(37, 37) → 12
nil2() → 45
ok2(45) → 43
nil2() → 13
nil2() → 0
nil2() → 31
tt2() → 46
ok2(46) → 43
tt2() → 14
tt2() → 0
tt2() → 32
a2() → 47
ok2(47) → 43
a2() → 15
a2() → 0
a2() → 33
e2() → 48
ok2(48) → 43
e2() → 16
e2() → 0
e2() → 34
i2() → 49
ok2(49) → 43
i2() → 17
i2() → 0
i2() → 35
o2() → 50
ok2(50) → 43
o2() → 18
o2() → 0
o2() → 36
u2() → 51
ok2(51) → 43
u2() → 19
u2() → 0
u2() → 37
ok1(20) → 29
__1(0, 31) → 20
__1(0, 32) → 20
__1(0, 33) → 20
__1(0, 34) → 20
__1(0, 35) → 20
__1(0, 36) → 20
__1(0, 37) → 20
__1(31, 0) → 20
__1(31, 31) → 20
__1(31, 32) → 20
__1(31, 33) → 20
__1(31, 34) → 20
__1(31, 35) → 20
__1(31, 36) → 20
__1(31, 37) → 20
__1(32, 0) → 20
__1(32, 31) → 20
__1(32, 32) → 20
__1(32, 33) → 20
__1(32, 34) → 20
__1(32, 35) → 20
__1(32, 36) → 20
__1(32, 37) → 20
__1(33, 0) → 20
__1(33, 31) → 20
__1(33, 32) → 20
__1(33, 33) → 20
__1(33, 34) → 20
__1(33, 35) → 20
__1(33, 36) → 20
__1(33, 37) → 20
__1(34, 0) → 20
__1(34, 31) → 20
__1(34, 32) → 20
__1(34, 33) → 20
__1(34, 34) → 20
__1(34, 35) → 20
__1(34, 36) → 20
__1(34, 37) → 20
__1(35, 0) → 20
__1(35, 31) → 20
__1(35, 32) → 20
__1(35, 33) → 20
__1(35, 34) → 20
__1(35, 35) → 20
__1(35, 36) → 20
__1(35, 37) → 20
__1(36, 0) → 20
__1(36, 31) → 20
__1(36, 32) → 20
__1(36, 33) → 20
__1(36, 34) → 20
__1(36, 35) → 20
__1(36, 36) → 20
__1(36, 37) → 20
__1(37, 0) → 20
__1(37, 31) → 20
__1(37, 32) → 20
__1(37, 33) → 20
__1(37, 34) → 20
__1(37, 35) → 20
__1(37, 36) → 20
__1(37, 37) → 20
ok1(21) → 30
and1(0, 31) → 21
and1(0, 32) → 21
and1(0, 33) → 21
and1(0, 34) → 21
and1(0, 35) → 21
and1(0, 36) → 21
and1(0, 37) → 21
and1(31, 0) → 21
and1(31, 31) → 21
and1(31, 32) → 21
and1(31, 33) → 21
and1(31, 34) → 21
and1(31, 35) → 21
and1(31, 36) → 21
and1(31, 37) → 21
and1(32, 0) → 21
and1(32, 31) → 21
and1(32, 32) → 21
and1(32, 33) → 21
and1(32, 34) → 21
and1(32, 35) → 21
and1(32, 36) → 21
and1(32, 37) → 21
and1(33, 0) → 21
and1(33, 31) → 21
and1(33, 32) → 21
and1(33, 33) → 21
and1(33, 34) → 21
and1(33, 35) → 21
and1(33, 36) → 21
and1(33, 37) → 21
and1(34, 0) → 21
and1(34, 31) → 21
and1(34, 32) → 21
and1(34, 33) → 21
and1(34, 34) → 21
and1(34, 35) → 21
and1(34, 36) → 21
and1(34, 37) → 21
and1(35, 0) → 21
and1(35, 31) → 21
and1(35, 32) → 21
and1(35, 33) → 21
and1(35, 34) → 21
and1(35, 35) → 21
and1(35, 36) → 21
and1(35, 37) → 21
and1(36, 0) → 21
and1(36, 31) → 21
and1(36, 32) → 21
and1(36, 33) → 21
and1(36, 34) → 21
and1(36, 35) → 21
and1(36, 36) → 21
and1(36, 37) → 21
and1(37, 0) → 21
and1(37, 31) → 21
and1(37, 32) → 21
and1(37, 33) → 21
and1(37, 34) → 21
and1(37, 35) → 21
and1(37, 36) → 21
and1(37, 37) → 21
ok1(22) → 38
isList1(31) → 22
isList1(32) → 22
isList1(33) → 22
isList1(34) → 22
isList1(35) → 22
isList1(36) → 22
isList1(37) → 22
ok1(23) → 39
isNeList1(31) → 23
isNeList1(32) → 23
isNeList1(33) → 23
isNeList1(34) → 23
isNeList1(35) → 23
isNeList1(36) → 23
isNeList1(37) → 23
ok1(24) → 40
isQid1(31) → 24
isQid1(32) → 24
isQid1(33) → 24
isQid1(34) → 24
isQid1(35) → 24
isQid1(36) → 24
isQid1(37) → 24
ok1(25) → 41
isNePal1(31) → 25
isNePal1(32) → 25
isNePal1(33) → 25
isNePal1(34) → 25
isNePal1(35) → 25
isNePal1(36) → 25
isNePal1(37) → 25
ok1(26) → 42
isPal1(31) → 26
isPal1(32) → 26
isPal1(33) → 26
isPal1(34) → 26
isPal1(35) → 26
isPal1(36) → 26
isPal1(37) → 26
ok1(31) → 52
ok1(32) → 52
ok1(33) → 52
ok1(34) → 52
ok1(35) → 52
ok1(36) → 52
ok1(37) → 52
nil2() → 53
tt2() → 54
a2() → 55
e2() → 56
i2() → 57
o2() → 58
u2() → 59
mark0(52) → 0
mark0(53) → 0
mark0(54) → 0
mark0(55) → 0
mark0(56) → 0
mark0(57) → 0
mark0(58) → 0
mark0(59) → 0
ok0(52) → 0
ok0(53) → 0
ok0(54) → 0
ok0(55) → 0
ok0(56) → 0
ok0(57) → 0
ok0(58) → 0
ok0(59) → 0
top0(52) → 10
top0(53) → 10
top0(54) → 10
top0(55) → 10
top0(56) → 10
top0(57) → 10
top0(58) → 10
top0(59) → 10
mark1(29) → 29
mark1(30) → 30
__1(52, 0) → 29
__1(52, 31) → 29
__1(52, 32) → 29
__1(52, 33) → 29
__1(52, 34) → 29
__1(52, 35) → 29
__1(52, 36) → 29
__1(52, 37) → 29
__1(0, 52) → 29
__1(31, 52) → 29
__1(32, 52) → 29
__1(33, 52) → 29
__1(34, 52) → 29
__1(35, 52) → 29
__1(36, 52) → 29
__1(37, 52) → 29
__1(53, 0) → 29
__1(53, 31) → 29
__1(53, 32) → 29
__1(53, 33) → 29
__1(53, 34) → 29
__1(53, 35) → 29
__1(53, 36) → 29
__1(53, 37) → 29
__1(0, 53) → 29
__1(31, 53) → 29
__1(32, 53) → 29
__1(33, 53) → 29
__1(34, 53) → 29
__1(35, 53) → 29
__1(36, 53) → 29
__1(37, 53) → 29
__1(54, 0) → 29
__1(54, 31) → 29
__1(54, 32) → 29
__1(54, 33) → 29
__1(54, 34) → 29
__1(54, 35) → 29
__1(54, 36) → 29
__1(54, 37) → 29
__1(0, 54) → 29
__1(31, 54) → 29
__1(32, 54) → 29
__1(33, 54) → 29
__1(34, 54) → 29
__1(35, 54) → 29
__1(36, 54) → 29
__1(37, 54) → 29
__1(55, 0) → 29
__1(55, 31) → 29
__1(55, 32) → 29
__1(55, 33) → 29
__1(55, 34) → 29
__1(55, 35) → 29
__1(55, 36) → 29
__1(55, 37) → 29
__1(0, 55) → 29
__1(31, 55) → 29
__1(32, 55) → 29
__1(33, 55) → 29
__1(34, 55) → 29
__1(35, 55) → 29
__1(36, 55) → 29
__1(37, 55) → 29
__1(56, 0) → 29
__1(56, 31) → 29
__1(56, 32) → 29
__1(56, 33) → 29
__1(56, 34) → 29
__1(56, 35) → 29
__1(56, 36) → 29
__1(56, 37) → 29
__1(0, 56) → 29
__1(31, 56) → 29
__1(32, 56) → 29
__1(33, 56) → 29
__1(34, 56) → 29
__1(35, 56) → 29
__1(36, 56) → 29
__1(37, 56) → 29
__1(57, 0) → 29
__1(57, 31) → 29
__1(57, 32) → 29
__1(57, 33) → 29
__1(57, 34) → 29
__1(57, 35) → 29
__1(57, 36) → 29
__1(57, 37) → 29
__1(0, 57) → 29
__1(31, 57) → 29
__1(32, 57) → 29
__1(33, 57) → 29
__1(34, 57) → 29
__1(35, 57) → 29
__1(36, 57) → 29
__1(37, 57) → 29
__1(58, 0) → 29
__1(58, 31) → 29
__1(58, 32) → 29
__1(58, 33) → 29
__1(58, 34) → 29
__1(58, 35) → 29
__1(58, 36) → 29
__1(58, 37) → 29
__1(0, 58) → 29
__1(31, 58) → 29
__1(32, 58) → 29
__1(33, 58) → 29
__1(34, 58) → 29
__1(35, 58) → 29
__1(36, 58) → 29
__1(37, 58) → 29
__1(59, 0) → 29
__1(59, 31) → 29
__1(59, 32) → 29
__1(59, 33) → 29
__1(59, 34) → 29
__1(59, 35) → 29
__1(59, 36) → 29
__1(59, 37) → 29
__1(0, 59) → 29
__1(31, 59) → 29
__1(32, 59) → 29
__1(33, 59) → 29
__1(34, 59) → 29
__1(35, 59) → 29
__1(36, 59) → 29
__1(37, 59) → 29
__1(52, 52) → 29
__1(52, 53) → 29
__1(52, 54) → 29
__1(52, 55) → 29
__1(52, 56) → 29
__1(52, 57) → 29
__1(52, 58) → 29
__1(52, 59) → 29
__1(53, 52) → 29
__1(54, 52) → 29
__1(55, 52) → 29
__1(56, 52) → 29
__1(57, 52) → 29
__1(58, 52) → 29
__1(59, 52) → 29
and1(52, 0) → 30
and1(52, 31) → 30
and1(52, 32) → 30
and1(52, 33) → 30
and1(52, 34) → 30
and1(52, 35) → 30
and1(52, 36) → 30
and1(52, 37) → 30
and1(0, 52) → 30
and1(31, 52) → 30
and1(32, 52) → 30
and1(33, 52) → 30
and1(34, 52) → 30
and1(35, 52) → 30
and1(36, 52) → 30
and1(37, 52) → 30
and1(53, 0) → 30
and1(53, 31) → 30
and1(53, 32) → 30
and1(53, 33) → 30
and1(53, 34) → 30
and1(53, 35) → 30
and1(53, 36) → 30
and1(53, 37) → 30
and1(0, 53) → 30
and1(31, 53) → 30
and1(32, 53) → 30
and1(33, 53) → 30
and1(34, 53) → 30
and1(35, 53) → 30
and1(36, 53) → 30
and1(37, 53) → 30
and1(54, 0) → 30
and1(54, 31) → 30
and1(54, 32) → 30
and1(54, 33) → 30
and1(54, 34) → 30
and1(54, 35) → 30
and1(54, 36) → 30
and1(54, 37) → 30
and1(0, 54) → 30
and1(31, 54) → 30
and1(32, 54) → 30
and1(33, 54) → 30
and1(34, 54) → 30
and1(35, 54) → 30
and1(36, 54) → 30
and1(37, 54) → 30
and1(55, 0) → 30
and1(55, 31) → 30
and1(55, 32) → 30
and1(55, 33) → 30
and1(55, 34) → 30
and1(55, 35) → 30
and1(55, 36) → 30
and1(55, 37) → 30
and1(0, 55) → 30
and1(31, 55) → 30
and1(32, 55) → 30
and1(33, 55) → 30
and1(34, 55) → 30
and1(35, 55) → 30
and1(36, 55) → 30
and1(37, 55) → 30
and1(56, 0) → 30
and1(56, 31) → 30
and1(56, 32) → 30
and1(56, 33) → 30
and1(56, 34) → 30
and1(56, 35) → 30
and1(56, 36) → 30
and1(56, 37) → 30
and1(0, 56) → 30
and1(31, 56) → 30
and1(32, 56) → 30
and1(33, 56) → 30
and1(34, 56) → 30
and1(35, 56) → 30
and1(36, 56) → 30
and1(37, 56) → 30
and1(57, 0) → 30
and1(57, 31) → 30
and1(57, 32) → 30
and1(57, 33) → 30
and1(57, 34) → 30
and1(57, 35) → 30
and1(57, 36) → 30
and1(57, 37) → 30
and1(0, 57) → 30
and1(31, 57) → 30
and1(32, 57) → 30
and1(33, 57) → 30
and1(34, 57) → 30
and1(35, 57) → 30
and1(36, 57) → 30
and1(37, 57) → 30
and1(58, 0) → 30
and1(58, 31) → 30
and1(58, 32) → 30
and1(58, 33) → 30
and1(58, 34) → 30
and1(58, 35) → 30
and1(58, 36) → 30
and1(58, 37) → 30
and1(0, 58) → 30
and1(31, 58) → 30
and1(32, 58) → 30
and1(33, 58) → 30
and1(34, 58) → 30
and1(35, 58) → 30
and1(36, 58) → 30
and1(37, 58) → 30
and1(59, 0) → 30
and1(59, 31) → 30
and1(59, 32) → 30
and1(59, 33) → 30
and1(59, 34) → 30
and1(59, 35) → 30
and1(59, 36) → 30
and1(59, 37) → 30
and1(0, 59) → 30
and1(31, 59) → 30
and1(32, 59) → 30
and1(33, 59) → 30
and1(34, 59) → 30
and1(35, 59) → 30
and1(36, 59) → 30
and1(37, 59) → 30
and1(52, 52) → 30
and1(52, 53) → 30
and1(52, 54) → 30
and1(52, 55) → 30
and1(52, 56) → 30
and1(52, 57) → 30
and1(52, 58) → 30
and1(52, 59) → 30
and1(53, 52) → 30
and1(54, 52) → 30
and1(55, 52) → 30
and1(56, 52) → 30
and1(57, 52) → 30
and1(58, 52) → 30
and1(59, 52) → 30
ok1(29) → 29
ok1(30) → 30
ok1(38) → 38
ok1(39) → 39
ok1(40) → 40
ok1(41) → 41
ok1(42) → 42
ok1(53) → 52
ok1(54) → 52
ok1(55) → 52
ok1(56) → 52
ok1(57) → 52
ok1(58) → 52
ok1(59) → 52
isList1(52) → 38
isNeList1(52) → 39
isQid1(52) → 40
isNePal1(52) → 41
isPal1(52) → 42
proper1(52) → 43
proper1(53) → 43
proper1(54) → 43
proper1(55) → 43
proper1(56) → 43
proper1(57) → 43
proper1(58) → 43
proper1(59) → 43
active1(52) → 44
ok2(53) → 43
ok2(54) → 43
ok2(55) → 43
ok2(56) → 43
ok2(57) → 43
ok2(58) → 43
ok2(59) → 43
ok1(53) → 0
ok2(53) → 0
ok1(54) → 0
ok2(54) → 0
ok1(55) → 0
ok2(55) → 0
ok1(56) → 0
ok2(56) → 0
ok1(57) → 0
ok2(57) → 0
ok1(58) → 0
ok2(58) → 0
ok1(59) → 0
ok2(59) → 0
ok2(53) → 52
ok2(54) → 52
ok2(55) → 52
ok2(56) → 52
ok2(57) → 52
ok2(58) → 52
ok2(59) → 52
__2(53, 53) → 60
ok2(60) → 29
__2(53, 53) → 29
__2(53, 54) → 60
__2(53, 54) → 29
__2(53, 55) → 60
__2(53, 55) → 29
__2(53, 56) → 60
__2(53, 56) → 29
__2(53, 57) → 60
__2(53, 57) → 29
__2(53, 58) → 60
__2(53, 58) → 29
__2(53, 59) → 60
__2(53, 59) → 29
__2(54, 53) → 60
__2(54, 53) → 29
__2(54, 54) → 60
__2(54, 54) → 29
__2(54, 55) → 60
__2(54, 55) → 29
__2(54, 56) → 60
__2(54, 56) → 29
__2(54, 57) → 60
__2(54, 57) → 29
__2(54, 58) → 60
__2(54, 58) → 29
__2(54, 59) → 60
__2(54, 59) → 29
__2(55, 53) → 60
__2(55, 53) → 29
__2(55, 54) → 60
__2(55, 54) → 29
__2(55, 55) → 60
__2(55, 55) → 29
__2(55, 56) → 60
__2(55, 56) → 29
__2(55, 57) → 60
__2(55, 57) → 29
__2(55, 58) → 60
__2(55, 58) → 29
__2(55, 59) → 60
__2(55, 59) → 29
__2(56, 53) → 60
__2(56, 53) → 29
__2(56, 54) → 60
__2(56, 54) → 29
__2(56, 55) → 60
__2(56, 55) → 29
__2(56, 56) → 60
__2(56, 56) → 29
__2(56, 57) → 60
__2(56, 57) → 29
__2(56, 58) → 60
__2(56, 58) → 29
__2(56, 59) → 60
__2(56, 59) → 29
__2(57, 53) → 60
__2(57, 53) → 29
__2(57, 54) → 60
__2(57, 54) → 29
__2(57, 55) → 60
__2(57, 55) → 29
__2(57, 56) → 60
__2(57, 56) → 29
__2(57, 57) → 60
__2(57, 57) → 29
__2(57, 58) → 60
__2(57, 58) → 29
__2(57, 59) → 60
__2(57, 59) → 29
__2(58, 53) → 60
__2(58, 53) → 29
__2(58, 54) → 60
__2(58, 54) → 29
__2(58, 55) → 60
__2(58, 55) → 29
__2(58, 56) → 60
__2(58, 56) → 29
__2(58, 57) → 60
__2(58, 57) → 29
__2(58, 58) → 60
__2(58, 58) → 29
__2(58, 59) → 60
__2(58, 59) → 29
__2(59, 53) → 60
__2(59, 53) → 29
__2(59, 54) → 60
__2(59, 54) → 29
__2(59, 55) → 60
__2(59, 55) → 29
__2(59, 56) → 60
__2(59, 56) → 29
__2(59, 57) → 60
__2(59, 57) → 29
__2(59, 58) → 60
__2(59, 58) → 29
__2(59, 59) → 60
__2(59, 59) → 29
and2(53, 53) → 61
ok2(61) → 30
and2(53, 53) → 30
and2(53, 54) → 61
and2(53, 54) → 30
and2(53, 55) → 61
and2(53, 55) → 30
and2(53, 56) → 61
and2(53, 56) → 30
and2(53, 57) → 61
and2(53, 57) → 30
and2(53, 58) → 61
and2(53, 58) → 30
and2(53, 59) → 61
and2(53, 59) → 30
and2(54, 53) → 61
and2(54, 53) → 30
and2(54, 54) → 61
and2(54, 54) → 30
and2(54, 55) → 61
and2(54, 55) → 30
and2(54, 56) → 61
and2(54, 56) → 30
and2(54, 57) → 61
and2(54, 57) → 30
and2(54, 58) → 61
and2(54, 58) → 30
and2(54, 59) → 61
and2(54, 59) → 30
and2(55, 53) → 61
and2(55, 53) → 30
and2(55, 54) → 61
and2(55, 54) → 30
and2(55, 55) → 61
and2(55, 55) → 30
and2(55, 56) → 61
and2(55, 56) → 30
and2(55, 57) → 61
and2(55, 57) → 30
and2(55, 58) → 61
and2(55, 58) → 30
and2(55, 59) → 61
and2(55, 59) → 30
and2(56, 53) → 61
and2(56, 53) → 30
and2(56, 54) → 61
and2(56, 54) → 30
and2(56, 55) → 61
and2(56, 55) → 30
and2(56, 56) → 61
and2(56, 56) → 30
and2(56, 57) → 61
and2(56, 57) → 30
and2(56, 58) → 61
and2(56, 58) → 30
and2(56, 59) → 61
and2(56, 59) → 30
and2(57, 53) → 61
and2(57, 53) → 30
and2(57, 54) → 61
and2(57, 54) → 30
and2(57, 55) → 61
and2(57, 55) → 30
and2(57, 56) → 61
and2(57, 56) → 30
and2(57, 57) → 61
and2(57, 57) → 30
and2(57, 58) → 61
and2(57, 58) → 30
and2(57, 59) → 61
and2(57, 59) → 30
and2(58, 53) → 61
and2(58, 53) → 30
and2(58, 54) → 61
and2(58, 54) → 30
and2(58, 55) → 61
and2(58, 55) → 30
and2(58, 56) → 61
and2(58, 56) → 30
and2(58, 57) → 61
and2(58, 57) → 30
and2(58, 58) → 61
and2(58, 58) → 30
and2(58, 59) → 61
and2(58, 59) → 30
and2(59, 53) → 61
and2(59, 53) → 30
and2(59, 54) → 61
and2(59, 54) → 30
and2(59, 55) → 61
and2(59, 55) → 30
and2(59, 56) → 61
and2(59, 56) → 30
and2(59, 57) → 61
and2(59, 57) → 30
and2(59, 58) → 61
and2(59, 58) → 30
and2(59, 59) → 61
and2(59, 59) → 30
isList2(53) → 62
ok2(62) → 38
isList2(53) → 38
isList2(54) → 62
isList2(54) → 38
isList2(55) → 62
isList2(55) → 38
isList2(56) → 62
isList2(56) → 38
isList2(57) → 62
isList2(57) → 38
isList2(58) → 62
isList2(58) → 38
isList2(59) → 62
isList2(59) → 38
isNeList2(53) → 63
ok2(63) → 39
isNeList2(53) → 39
isNeList2(54) → 63
isNeList2(54) → 39
isNeList2(55) → 63
isNeList2(55) → 39
isNeList2(56) → 63
isNeList2(56) → 39
isNeList2(57) → 63
isNeList2(57) → 39
isNeList2(58) → 63
isNeList2(58) → 39
isNeList2(59) → 63
isNeList2(59) → 39
isQid2(53) → 64
ok2(64) → 40
isQid2(53) → 40
isQid2(54) → 64
isQid2(54) → 40
isQid2(55) → 64
isQid2(55) → 40
isQid2(56) → 64
isQid2(56) → 40
isQid2(57) → 64
isQid2(57) → 40
isQid2(58) → 64
isQid2(58) → 40
isQid2(59) → 64
isQid2(59) → 40
isNePal2(53) → 65
ok2(65) → 41
isNePal2(53) → 41
isNePal2(54) → 65
isNePal2(54) → 41
isNePal2(55) → 65
isNePal2(55) → 41
isNePal2(56) → 65
isNePal2(56) → 41
isNePal2(57) → 65
isNePal2(57) → 41
isNePal2(58) → 65
isNePal2(58) → 41
isNePal2(59) → 65
isNePal2(59) → 41
isPal2(53) → 66
ok2(66) → 42
isPal2(53) → 42
isPal2(54) → 66
isPal2(54) → 42
isPal2(55) → 66
isPal2(55) → 42
isPal2(56) → 66
isPal2(56) → 42
isPal2(57) → 66
isPal2(57) → 42
isPal2(58) → 66
isPal2(58) → 42
isPal2(59) → 66
isPal2(59) → 42
active2(53) → 67
top2(67) → 10
active2(53) → 44
active2(54) → 67
active2(54) → 44
active2(55) → 67
active2(55) → 44
active2(56) → 67
active2(56) → 44
active2(57) → 67
active2(57) → 44
active2(58) → 67
active2(58) → 44
active2(59) → 67
active2(59) → 44
ok2(53) → 68
ok2(54) → 68
ok2(55) → 68
ok2(56) → 68
ok2(57) → 68
ok2(58) → 68
ok2(59) → 68
__2(53, 53) → 69
__2(53, 54) → 69
__2(53, 55) → 69
__2(53, 56) → 69
__2(53, 57) → 69
__2(53, 58) → 69
__2(53, 59) → 69
__2(54, 53) → 69
__2(54, 54) → 69
__2(54, 55) → 69
__2(54, 56) → 69
__2(54, 57) → 69
__2(54, 58) → 69
__2(54, 59) → 69
__2(55, 53) → 69
__2(55, 54) → 69
__2(55, 55) → 69
__2(55, 56) → 69
__2(55, 57) → 69
__2(55, 58) → 69
__2(55, 59) → 69
__2(56, 53) → 69
__2(56, 54) → 69
__2(56, 55) → 69
__2(56, 56) → 69
__2(56, 57) → 69
__2(56, 58) → 69
__2(56, 59) → 69
__2(57, 53) → 69
__2(57, 54) → 69
__2(57, 55) → 69
__2(57, 56) → 69
__2(57, 57) → 69
__2(57, 58) → 69
__2(57, 59) → 69
__2(58, 53) → 69
__2(58, 54) → 69
__2(58, 55) → 69
__2(58, 56) → 69
__2(58, 57) → 69
__2(58, 58) → 69
__2(58, 59) → 69
__2(59, 53) → 69
__2(59, 54) → 69
__2(59, 55) → 69
__2(59, 56) → 69
__2(59, 57) → 69
__2(59, 58) → 69
__2(59, 59) → 69
and2(53, 53) → 70
and2(53, 54) → 70
and2(53, 55) → 70
and2(53, 56) → 70
and2(53, 57) → 70
and2(53, 58) → 70
and2(53, 59) → 70
and2(54, 53) → 70
and2(54, 54) → 70
and2(54, 55) → 70
and2(54, 56) → 70
and2(54, 57) → 70
and2(54, 58) → 70
and2(54, 59) → 70
and2(55, 53) → 70
and2(55, 54) → 70
and2(55, 55) → 70
and2(55, 56) → 70
and2(55, 57) → 70
and2(55, 58) → 70
and2(55, 59) → 70
and2(56, 53) → 70
and2(56, 54) → 70
and2(56, 55) → 70
and2(56, 56) → 70
and2(56, 57) → 70
and2(56, 58) → 70
and2(56, 59) → 70
and2(57, 53) → 70
and2(57, 54) → 70
and2(57, 55) → 70
and2(57, 56) → 70
and2(57, 57) → 70
and2(57, 58) → 70
and2(57, 59) → 70
and2(58, 53) → 70
and2(58, 54) → 70
and2(58, 55) → 70
and2(58, 56) → 70
and2(58, 57) → 70
and2(58, 58) → 70
and2(58, 59) → 70
and2(59, 53) → 70
and2(59, 54) → 70
and2(59, 55) → 70
and2(59, 56) → 70
and2(59, 57) → 70
and2(59, 58) → 70
and2(59, 59) → 70
isList2(53) → 71
isList2(54) → 71
isList2(55) → 71
isList2(56) → 71
isList2(57) → 71
isList2(58) → 71
isList2(59) → 71
isNeList2(53) → 72
isNeList2(54) → 72
isNeList2(55) → 72
isNeList2(56) → 72
isNeList2(57) → 72
isNeList2(58) → 72
isNeList2(59) → 72
isQid2(53) → 73
isQid2(54) → 73
isQid2(55) → 73
isQid2(56) → 73
isQid2(57) → 73
isQid2(58) → 73
isQid2(59) → 73
isNePal2(53) → 74
isNePal2(54) → 74
isNePal2(55) → 74
isNePal2(56) → 74
isNePal2(57) → 74
isNePal2(58) → 74
isNePal2(59) → 74
isPal2(53) → 75
isPal2(54) → 75
isPal2(55) → 75
isPal2(56) → 75
isPal2(57) → 75
isPal2(58) → 75
isPal2(59) → 75
active2(53) → 76
active2(54) → 76
active2(55) → 76
active2(56) → 76
active2(57) → 76
active2(58) → 76
active2(59) → 76
mark0(68) → 0
ok0(68) → 0
top0(68) → 10
mark1(69) → 29
mark1(70) → 30
__1(53, 53) → 29
__1(53, 54) → 29
__1(53, 55) → 29
__1(53, 56) → 29
__1(53, 57) → 29
__1(53, 58) → 29
__1(53, 59) → 29
__1(54, 53) → 29
__1(55, 53) → 29
__1(56, 53) → 29
__1(57, 53) → 29
__1(58, 53) → 29
__1(59, 53) → 29
__1(54, 54) → 29
__1(54, 55) → 29
__1(54, 56) → 29
__1(54, 57) → 29
__1(54, 58) → 29
__1(54, 59) → 29
__1(55, 54) → 29
__1(56, 54) → 29
__1(57, 54) → 29
__1(58, 54) → 29
__1(59, 54) → 29
__1(55, 55) → 29
__1(55, 56) → 29
__1(55, 57) → 29
__1(55, 58) → 29
__1(55, 59) → 29
__1(56, 55) → 29
__1(57, 55) → 29
__1(58, 55) → 29
__1(59, 55) → 29
__1(56, 56) → 29
__1(56, 57) → 29
__1(56, 58) → 29
__1(56, 59) → 29
__1(57, 56) → 29
__1(58, 56) → 29
__1(59, 56) → 29
__1(57, 57) → 29
__1(57, 58) → 29
__1(57, 59) → 29
__1(58, 57) → 29
__1(59, 57) → 29
__1(58, 58) → 29
__1(58, 59) → 29
__1(59, 58) → 29
__1(59, 59) → 29
__1(68, 0) → 29
__1(68, 31) → 29
__1(68, 32) → 29
__1(68, 33) → 29
__1(68, 34) → 29
__1(68, 35) → 29
__1(68, 36) → 29
__1(68, 37) → 29
__1(68, 52) → 29
__1(68, 53) → 29
__1(68, 54) → 29
__1(68, 55) → 29
__1(68, 56) → 29
__1(68, 57) → 29
__1(68, 58) → 29
__1(68, 59) → 29
__1(0, 68) → 29
__1(31, 68) → 29
__1(32, 68) → 29
__1(33, 68) → 29
__1(34, 68) → 29
__1(35, 68) → 29
__1(36, 68) → 29
__1(37, 68) → 29
__1(52, 68) → 29
__1(53, 68) → 29
__1(54, 68) → 29
__1(55, 68) → 29
__1(56, 68) → 29
__1(57, 68) → 29
__1(58, 68) → 29
__1(59, 68) → 29
__1(68, 68) → 29
and1(53, 53) → 30
and1(53, 54) → 30
and1(53, 55) → 30
and1(53, 56) → 30
and1(53, 57) → 30
and1(53, 58) → 30
and1(53, 59) → 30
and1(54, 53) → 30
and1(55, 53) → 30
and1(56, 53) → 30
and1(57, 53) → 30
and1(58, 53) → 30
and1(59, 53) → 30
and1(54, 54) → 30
and1(54, 55) → 30
and1(54, 56) → 30
and1(54, 57) → 30
and1(54, 58) → 30
and1(54, 59) → 30
and1(55, 54) → 30
and1(56, 54) → 30
and1(57, 54) → 30
and1(58, 54) → 30
and1(59, 54) → 30
and1(55, 55) → 30
and1(55, 56) → 30
and1(55, 57) → 30
and1(55, 58) → 30
and1(55, 59) → 30
and1(56, 55) → 30
and1(57, 55) → 30
and1(58, 55) → 30
and1(59, 55) → 30
and1(56, 56) → 30
and1(56, 57) → 30
and1(56, 58) → 30
and1(56, 59) → 30
and1(57, 56) → 30
and1(58, 56) → 30
and1(59, 56) → 30
and1(57, 57) → 30
and1(57, 58) → 30
and1(57, 59) → 30
and1(58, 57) → 30
and1(59, 57) → 30
and1(58, 58) → 30
and1(58, 59) → 30
and1(59, 58) → 30
and1(59, 59) → 30
and1(68, 0) → 30
and1(68, 31) → 30
and1(68, 32) → 30
and1(68, 33) → 30
and1(68, 34) → 30
and1(68, 35) → 30
and1(68, 36) → 30
and1(68, 37) → 30
and1(68, 52) → 30
and1(68, 53) → 30
and1(68, 54) → 30
and1(68, 55) → 30
and1(68, 56) → 30
and1(68, 57) → 30
and1(68, 58) → 30
and1(68, 59) → 30
and1(0, 68) → 30
and1(31, 68) → 30
and1(32, 68) → 30
and1(33, 68) → 30
and1(34, 68) → 30
and1(35, 68) → 30
and1(36, 68) → 30
and1(37, 68) → 30
and1(52, 68) → 30
and1(53, 68) → 30
and1(54, 68) → 30
and1(55, 68) → 30
and1(56, 68) → 30
and1(57, 68) → 30
and1(58, 68) → 30
and1(59, 68) → 30
and1(68, 68) → 30
ok1(69) → 29
ok1(70) → 30
ok1(71) → 38
ok1(72) → 39
ok1(73) → 40
ok1(74) → 41
ok1(75) → 42
isList1(53) → 38
isList1(54) → 38
isList1(55) → 38
isList1(56) → 38
isList1(57) → 38
isList1(58) → 38
isList1(59) → 38
isList1(68) → 38
isNeList1(53) → 39
isNeList1(54) → 39
isNeList1(55) → 39
isNeList1(56) → 39
isNeList1(57) → 39
isNeList1(58) → 39
isNeList1(59) → 39
isNeList1(68) → 39
isQid1(53) → 40
isQid1(54) → 40
isQid1(55) → 40
isQid1(56) → 40
isQid1(57) → 40
isQid1(58) → 40
isQid1(59) → 40
isQid1(68) → 40
isNePal1(53) → 41
isNePal1(54) → 41
isNePal1(55) → 41
isNePal1(56) → 41
isNePal1(57) → 41
isNePal1(58) → 41
isNePal1(59) → 41
isNePal1(68) → 41
isPal1(53) → 42
isPal1(54) → 42
isPal1(55) → 42
isPal1(56) → 42
isPal1(57) → 42
isPal1(58) → 42
isPal1(59) → 42
isPal1(68) → 42
top1(68) → 10
top1(76) → 10
proper1(68) → 43
active1(53) → 44
active1(54) → 44
active1(55) → 44
active1(56) → 44
active1(57) → 44
active1(58) → 44
active1(59) → 44
active1(68) → 44
ok2(69) → 29
ok2(70) → 30
ok2(71) → 38
ok2(72) → 39
ok2(73) → 40
ok2(74) → 41
ok2(75) → 42
top2(76) → 10
(48) BOUNDS(O(1), O(n^1))