```* Step 1: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
__(X1,X2) -> n____(X1,X2)
a() -> n__a()
activate(X) -> X
activate(n____(X1,X2)) -> __(X1,X2)
activate(n__a()) -> a()
activate(n__e()) -> e()
activate(n__i()) -> i()
activate(n__isList(X)) -> isList(X)
activate(n__isNeList(X)) -> isNeList(X)
activate(n__isPal(X)) -> isPal(X)
activate(n__nil()) -> nil()
activate(n__o()) -> o()
activate(n__u()) -> u()
and(tt(),X) -> activate(X)
e() -> n__e()
i() -> n__i()
isList(V) -> isNeList(activate(V))
isList(X) -> n__isList(X)
isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2)))
isList(n__nil()) -> tt()
isNeList(V) -> isQid(activate(V))
isNeList(X) -> n__isNeList(X)
isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2)))
isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2)))
isNePal(V) -> isQid(activate(V))
isNePal(n____(I,__(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P)))
isPal(V) -> isNePal(activate(V))
isPal(X) -> n__isPal(X)
isPal(n__nil()) -> tt()
isQid(n__a()) -> tt()
isQid(n__e()) -> tt()
isQid(n__i()) -> tt()
isQid(n__o()) -> tt()
isQid(n__u()) -> tt()
nil() -> n__nil()
o() -> n__o()
u() -> n__u()
- Signature:
{__/2,a/0,activate/1,and/2,e/0,i/0,isList/1,isNeList/1,isNePal/1,isPal/1,isQid/1,nil/0,o/0,u/0} / {n____/2
,n__a/0,n__e/0,n__i/0,n__isList/1,n__isNeList/1,n__isPal/1,n__nil/0,n__o/0,n__u/0,tt/0}
- Obligation:
runtime complexity wrt. defined symbols {__,a,activate,and,e,i,isList,isNeList,isNePal,isPal,isQid,nil,o
,u} and constructors {n____,n__a,n__e,n__i,n__isList,n__isNeList,n__isPal,n__nil,n__o,n__u,tt}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
uargs(activate) = {1},
uargs(and) = {1,2},
uargs(isList) = {1},
uargs(isNeList) = {1},
uargs(isNePal) = {1},
uargs(isPal) = {1},
uargs(isQid) = {1},
uargs(n__isList) = {1},
uargs(n__isNeList) = {1},
uargs(n__isPal) = {1}

Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(__) = [1] x1 + [1] x2 + [0]
p(a) = [0]
p(activate) = [1] x1 + [0]
p(and) = [1] x1 + [1] x2 + [0]
p(e) = [0]
p(i) = [0]
p(isList) = [1] x1 + [0]
p(isNeList) = [1] x1 + [0]
p(isNePal) = [1] x1 + [0]
p(isPal) = [1] x1 + [0]
p(isQid) = [1] x1 + [0]
p(n____) = [1] x1 + [1] x2 + [0]
p(n__a) = [0]
p(n__e) = [0]
p(n__i) = [0]
p(n__isList) = [1] x1 + [0]
p(n__isNeList) = [1] x1 + [0]
p(n__isPal) = [1] x1 + [0]
p(n__nil) = [3]
p(n__o) = [0]
p(n__u) = [0]
p(nil) = [0]
p(o) = [0]
p(tt) = [0]
p(u) = [1]

Following rules are strictly oriented:
activate(n__nil()) = [3]
> [0]
= nil()

isList(n__nil()) = [3]
> [0]
= tt()

isPal(n__nil()) = [3]
> [0]
= tt()

u() = [1]
> [0]
= n__u()

Following rules are (at-least) weakly oriented:
__(X1,X2) =  [1] X1 + [1] X2 + [0]
>= [1] X1 + [1] X2 + [0]
=  n____(X1,X2)

a() =  [0]
>= [0]
=  n__a()

activate(X) =  [1] X + [0]
>= [1] X + [0]
=  X

activate(n____(X1,X2)) =  [1] X1 + [1] X2 + [0]
>= [1] X1 + [1] X2 + [0]
=  __(X1,X2)

activate(n__a()) =  [0]
>= [0]
=  a()

activate(n__e()) =  [0]
>= [0]
=  e()

activate(n__i()) =  [0]
>= [0]
=  i()

activate(n__isList(X)) =  [1] X + [0]
>= [1] X + [0]
=  isList(X)

activate(n__isNeList(X)) =  [1] X + [0]
>= [1] X + [0]
=  isNeList(X)

activate(n__isPal(X)) =  [1] X + [0]
>= [1] X + [0]
=  isPal(X)

activate(n__o()) =  [0]
>= [0]
=  o()

activate(n__u()) =  [0]
>= [1]
=  u()

and(tt(),X) =  [1] X + [0]
>= [1] X + [0]
=  activate(X)

e() =  [0]
>= [0]
=  n__e()

i() =  [0]
>= [0]
=  n__i()

isList(V) =  [1] V + [0]
>= [1] V + [0]
=  isNeList(activate(V))

isList(X) =  [1] X + [0]
>= [1] X + [0]
=  n__isList(X)

isList(n____(V1,V2)) =  [1] V1 + [1] V2 + [0]
>= [1] V1 + [1] V2 + [0]
=  and(isList(activate(V1)),n__isList(activate(V2)))

isNeList(V) =  [1] V + [0]
>= [1] V + [0]
=  isQid(activate(V))

isNeList(X) =  [1] X + [0]
>= [1] X + [0]
=  n__isNeList(X)

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [0]
>= [1] V1 + [1] V2 + [0]
=  and(isList(activate(V1)),n__isNeList(activate(V2)))

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [0]
>= [1] V1 + [1] V2 + [0]
=  and(isNeList(activate(V1)),n__isList(activate(V2)))

isNePal(V) =  [1] V + [0]
>= [1] V + [0]
=  isQid(activate(V))

isNePal(n____(I,__(P,I))) =  [2] I + [1] P + [0]
>= [1] I + [1] P + [0]
=  and(isQid(activate(I)),n__isPal(activate(P)))

isPal(V) =  [1] V + [0]
>= [1] V + [0]
=  isNePal(activate(V))

isPal(X) =  [1] X + [0]
>= [1] X + [0]
=  n__isPal(X)

isQid(n__a()) =  [0]
>= [0]
=  tt()

isQid(n__e()) =  [0]
>= [0]
=  tt()

isQid(n__i()) =  [0]
>= [0]
=  tt()

isQid(n__o()) =  [0]
>= [0]
=  tt()

isQid(n__u()) =  [0]
>= [0]
=  tt()

nil() =  [0]
>= [3]
=  n__nil()

o() =  [0]
>= [0]
=  n__o()

Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 2: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
__(X1,X2) -> n____(X1,X2)
a() -> n__a()
activate(X) -> X
activate(n____(X1,X2)) -> __(X1,X2)
activate(n__a()) -> a()
activate(n__e()) -> e()
activate(n__i()) -> i()
activate(n__isList(X)) -> isList(X)
activate(n__isNeList(X)) -> isNeList(X)
activate(n__isPal(X)) -> isPal(X)
activate(n__o()) -> o()
activate(n__u()) -> u()
and(tt(),X) -> activate(X)
e() -> n__e()
i() -> n__i()
isList(V) -> isNeList(activate(V))
isList(X) -> n__isList(X)
isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2)))
isNeList(V) -> isQid(activate(V))
isNeList(X) -> n__isNeList(X)
isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2)))
isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2)))
isNePal(V) -> isQid(activate(V))
isNePal(n____(I,__(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P)))
isPal(V) -> isNePal(activate(V))
isPal(X) -> n__isPal(X)
isQid(n__a()) -> tt()
isQid(n__e()) -> tt()
isQid(n__i()) -> tt()
isQid(n__o()) -> tt()
isQid(n__u()) -> tt()
nil() -> n__nil()
o() -> n__o()
- Weak TRS:
activate(n__nil()) -> nil()
isList(n__nil()) -> tt()
isPal(n__nil()) -> tt()
u() -> n__u()
- Signature:
{__/2,a/0,activate/1,and/2,e/0,i/0,isList/1,isNeList/1,isNePal/1,isPal/1,isQid/1,nil/0,o/0,u/0} / {n____/2
,n__a/0,n__e/0,n__i/0,n__isList/1,n__isNeList/1,n__isPal/1,n__nil/0,n__o/0,n__u/0,tt/0}
- Obligation:
runtime complexity wrt. defined symbols {__,a,activate,and,e,i,isList,isNeList,isNePal,isPal,isQid,nil,o
,u} and constructors {n____,n__a,n__e,n__i,n__isList,n__isNeList,n__isPal,n__nil,n__o,n__u,tt}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
uargs(activate) = {1},
uargs(and) = {1,2},
uargs(isList) = {1},
uargs(isNeList) = {1},
uargs(isNePal) = {1},
uargs(isPal) = {1},
uargs(isQid) = {1},
uargs(n__isList) = {1},
uargs(n__isNeList) = {1},
uargs(n__isPal) = {1}

Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(__) = [1] x1 + [1] x2 + [0]
p(a) = [0]
p(activate) = [1] x1 + [0]
p(and) = [1] x1 + [1] x2 + [0]
p(e) = [0]
p(i) = [0]
p(isList) = [1] x1 + [0]
p(isNeList) = [1] x1 + [5]
p(isNePal) = [1] x1 + [0]
p(isPal) = [1] x1 + [0]
p(isQid) = [1] x1 + [0]
p(n____) = [1] x1 + [1] x2 + [0]
p(n__a) = [0]
p(n__e) = [0]
p(n__i) = [0]
p(n__isList) = [1] x1 + [0]
p(n__isNeList) = [1] x1 + [0]
p(n__isPal) = [1] x1 + [0]
p(n__nil) = [0]
p(n__o) = [0]
p(n__u) = [0]
p(nil) = [0]
p(o) = [1]
p(tt) = [0]
p(u) = [0]

Following rules are strictly oriented:
isNeList(V) = [1] V + [5]
> [1] V + [0]
= isQid(activate(V))

isNeList(X) = [1] X + [5]
> [1] X + [0]
= n__isNeList(X)

isNeList(n____(V1,V2)) = [1] V1 + [1] V2 + [5]
> [1] V1 + [1] V2 + [0]
= and(isList(activate(V1)),n__isNeList(activate(V2)))

o() = [1]
> [0]
= n__o()

Following rules are (at-least) weakly oriented:
__(X1,X2) =  [1] X1 + [1] X2 + [0]
>= [1] X1 + [1] X2 + [0]
=  n____(X1,X2)

a() =  [0]
>= [0]
=  n__a()

activate(X) =  [1] X + [0]
>= [1] X + [0]
=  X

activate(n____(X1,X2)) =  [1] X1 + [1] X2 + [0]
>= [1] X1 + [1] X2 + [0]
=  __(X1,X2)

activate(n__a()) =  [0]
>= [0]
=  a()

activate(n__e()) =  [0]
>= [0]
=  e()

activate(n__i()) =  [0]
>= [0]
=  i()

activate(n__isList(X)) =  [1] X + [0]
>= [1] X + [0]
=  isList(X)

activate(n__isNeList(X)) =  [1] X + [0]
>= [1] X + [5]
=  isNeList(X)

activate(n__isPal(X)) =  [1] X + [0]
>= [1] X + [0]
=  isPal(X)

activate(n__nil()) =  [0]
>= [0]
=  nil()

activate(n__o()) =  [0]
>= [1]
=  o()

activate(n__u()) =  [0]
>= [0]
=  u()

and(tt(),X) =  [1] X + [0]
>= [1] X + [0]
=  activate(X)

e() =  [0]
>= [0]
=  n__e()

i() =  [0]
>= [0]
=  n__i()

isList(V) =  [1] V + [0]
>= [1] V + [5]
=  isNeList(activate(V))

isList(X) =  [1] X + [0]
>= [1] X + [0]
=  n__isList(X)

isList(n____(V1,V2)) =  [1] V1 + [1] V2 + [0]
>= [1] V1 + [1] V2 + [0]
=  and(isList(activate(V1)),n__isList(activate(V2)))

isList(n__nil()) =  [0]
>= [0]
=  tt()

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [5]
>= [1] V1 + [1] V2 + [5]
=  and(isNeList(activate(V1)),n__isList(activate(V2)))

isNePal(V) =  [1] V + [0]
>= [1] V + [0]
=  isQid(activate(V))

isNePal(n____(I,__(P,I))) =  [2] I + [1] P + [0]
>= [1] I + [1] P + [0]
=  and(isQid(activate(I)),n__isPal(activate(P)))

isPal(V) =  [1] V + [0]
>= [1] V + [0]
=  isNePal(activate(V))

isPal(X) =  [1] X + [0]
>= [1] X + [0]
=  n__isPal(X)

isPal(n__nil()) =  [0]
>= [0]
=  tt()

isQid(n__a()) =  [0]
>= [0]
=  tt()

isQid(n__e()) =  [0]
>= [0]
=  tt()

isQid(n__i()) =  [0]
>= [0]
=  tt()

isQid(n__o()) =  [0]
>= [0]
=  tt()

isQid(n__u()) =  [0]
>= [0]
=  tt()

nil() =  [0]
>= [0]
=  n__nil()

u() =  [0]
>= [0]
=  n__u()

Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 3: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
__(X1,X2) -> n____(X1,X2)
a() -> n__a()
activate(X) -> X
activate(n____(X1,X2)) -> __(X1,X2)
activate(n__a()) -> a()
activate(n__e()) -> e()
activate(n__i()) -> i()
activate(n__isList(X)) -> isList(X)
activate(n__isNeList(X)) -> isNeList(X)
activate(n__isPal(X)) -> isPal(X)
activate(n__o()) -> o()
activate(n__u()) -> u()
and(tt(),X) -> activate(X)
e() -> n__e()
i() -> n__i()
isList(V) -> isNeList(activate(V))
isList(X) -> n__isList(X)
isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2)))
isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2)))
isNePal(V) -> isQid(activate(V))
isNePal(n____(I,__(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P)))
isPal(V) -> isNePal(activate(V))
isPal(X) -> n__isPal(X)
isQid(n__a()) -> tt()
isQid(n__e()) -> tt()
isQid(n__i()) -> tt()
isQid(n__o()) -> tt()
isQid(n__u()) -> tt()
nil() -> n__nil()
- Weak TRS:
activate(n__nil()) -> nil()
isList(n__nil()) -> tt()
isNeList(V) -> isQid(activate(V))
isNeList(X) -> n__isNeList(X)
isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2)))
isPal(n__nil()) -> tt()
o() -> n__o()
u() -> n__u()
- Signature:
{__/2,a/0,activate/1,and/2,e/0,i/0,isList/1,isNeList/1,isNePal/1,isPal/1,isQid/1,nil/0,o/0,u/0} / {n____/2
,n__a/0,n__e/0,n__i/0,n__isList/1,n__isNeList/1,n__isPal/1,n__nil/0,n__o/0,n__u/0,tt/0}
- Obligation:
runtime complexity wrt. defined symbols {__,a,activate,and,e,i,isList,isNeList,isNePal,isPal,isQid,nil,o
,u} and constructors {n____,n__a,n__e,n__i,n__isList,n__isNeList,n__isPal,n__nil,n__o,n__u,tt}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
uargs(activate) = {1},
uargs(and) = {1,2},
uargs(isList) = {1},
uargs(isNeList) = {1},
uargs(isNePal) = {1},
uargs(isPal) = {1},
uargs(isQid) = {1},
uargs(n__isList) = {1},
uargs(n__isNeList) = {1},
uargs(n__isPal) = {1}

Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(__) = [1] x1 + [1] x2 + [0]
p(a) = [0]
p(activate) = [1] x1 + [0]
p(and) = [1] x1 + [1] x2 + [1]
p(e) = [0]
p(i) = [0]
p(isList) = [1] x1 + [2]
p(isNeList) = [1] x1 + [1]
p(isNePal) = [1] x1 + [0]
p(isPal) = [1] x1 + [2]
p(isQid) = [1] x1 + [1]
p(n____) = [1] x1 + [1] x2 + [7]
p(n__a) = [0]
p(n__e) = [0]
p(n__i) = [0]
p(n__isList) = [1] x1 + [3]
p(n__isNeList) = [1] x1 + [0]
p(n__isPal) = [1] x1 + [0]
p(n__nil) = [4]
p(n__o) = [0]
p(n__u) = [6]
p(nil) = [4]
p(o) = [0]
p(tt) = [6]
p(u) = [7]

Following rules are strictly oriented:
activate(n____(X1,X2)) = [1] X1 + [1] X2 + [7]
> [1] X1 + [1] X2 + [0]
= __(X1,X2)

activate(n__isList(X)) = [1] X + [3]
> [1] X + [2]
= isList(X)

and(tt(),X) = [1] X + [7]
> [1] X + [0]
= activate(X)

isList(V) = [1] V + [2]
> [1] V + [1]
= isNeList(activate(V))

isList(n____(V1,V2)) = [1] V1 + [1] V2 + [9]
> [1] V1 + [1] V2 + [6]
= and(isList(activate(V1)),n__isList(activate(V2)))

isNeList(n____(V1,V2)) = [1] V1 + [1] V2 + [8]
> [1] V1 + [1] V2 + [5]
= and(isNeList(activate(V1)),n__isList(activate(V2)))

isNePal(n____(I,__(P,I))) = [2] I + [1] P + [7]
> [1] I + [1] P + [2]
= and(isQid(activate(I)),n__isPal(activate(P)))

isPal(V) = [1] V + [2]
> [1] V + [0]
= isNePal(activate(V))

isPal(X) = [1] X + [2]
> [1] X + [0]
= n__isPal(X)

isQid(n__u()) = [7]
> [6]
= tt()

Following rules are (at-least) weakly oriented:
__(X1,X2) =  [1] X1 + [1] X2 + [0]
>= [1] X1 + [1] X2 + [7]
=  n____(X1,X2)

a() =  [0]
>= [0]
=  n__a()

activate(X) =  [1] X + [0]
>= [1] X + [0]
=  X

activate(n__a()) =  [0]
>= [0]
=  a()

activate(n__e()) =  [0]
>= [0]
=  e()

activate(n__i()) =  [0]
>= [0]
=  i()

activate(n__isNeList(X)) =  [1] X + [0]
>= [1] X + [1]
=  isNeList(X)

activate(n__isPal(X)) =  [1] X + [0]
>= [1] X + [2]
=  isPal(X)

activate(n__nil()) =  [4]
>= [4]
=  nil()

activate(n__o()) =  [0]
>= [0]
=  o()

activate(n__u()) =  [6]
>= [7]
=  u()

e() =  [0]
>= [0]
=  n__e()

i() =  [0]
>= [0]
=  n__i()

isList(X) =  [1] X + [2]
>= [1] X + [3]
=  n__isList(X)

isList(n__nil()) =  [6]
>= [6]
=  tt()

isNeList(V) =  [1] V + [1]
>= [1] V + [1]
=  isQid(activate(V))

isNeList(X) =  [1] X + [1]
>= [1] X + [0]
=  n__isNeList(X)

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [8]
>= [1] V1 + [1] V2 + [3]
=  and(isList(activate(V1)),n__isNeList(activate(V2)))

isNePal(V) =  [1] V + [0]
>= [1] V + [1]
=  isQid(activate(V))

isPal(n__nil()) =  [6]
>= [6]
=  tt()

isQid(n__a()) =  [1]
>= [6]
=  tt()

isQid(n__e()) =  [1]
>= [6]
=  tt()

isQid(n__i()) =  [1]
>= [6]
=  tt()

isQid(n__o()) =  [1]
>= [6]
=  tt()

nil() =  [4]
>= [4]
=  n__nil()

o() =  [0]
>= [0]
=  n__o()

u() =  [7]
>= [6]
=  n__u()

Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 4: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
__(X1,X2) -> n____(X1,X2)
a() -> n__a()
activate(X) -> X
activate(n__a()) -> a()
activate(n__e()) -> e()
activate(n__i()) -> i()
activate(n__isNeList(X)) -> isNeList(X)
activate(n__isPal(X)) -> isPal(X)
activate(n__o()) -> o()
activate(n__u()) -> u()
e() -> n__e()
i() -> n__i()
isList(X) -> n__isList(X)
isNePal(V) -> isQid(activate(V))
isQid(n__a()) -> tt()
isQid(n__e()) -> tt()
isQid(n__i()) -> tt()
isQid(n__o()) -> tt()
nil() -> n__nil()
- Weak TRS:
activate(n____(X1,X2)) -> __(X1,X2)
activate(n__isList(X)) -> isList(X)
activate(n__nil()) -> nil()
and(tt(),X) -> activate(X)
isList(V) -> isNeList(activate(V))
isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2)))
isList(n__nil()) -> tt()
isNeList(V) -> isQid(activate(V))
isNeList(X) -> n__isNeList(X)
isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2)))
isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2)))
isNePal(n____(I,__(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P)))
isPal(V) -> isNePal(activate(V))
isPal(X) -> n__isPal(X)
isPal(n__nil()) -> tt()
isQid(n__u()) -> tt()
o() -> n__o()
u() -> n__u()
- Signature:
{__/2,a/0,activate/1,and/2,e/0,i/0,isList/1,isNeList/1,isNePal/1,isPal/1,isQid/1,nil/0,o/0,u/0} / {n____/2
,n__a/0,n__e/0,n__i/0,n__isList/1,n__isNeList/1,n__isPal/1,n__nil/0,n__o/0,n__u/0,tt/0}
- Obligation:
runtime complexity wrt. defined symbols {__,a,activate,and,e,i,isList,isNeList,isNePal,isPal,isQid,nil,o
,u} and constructors {n____,n__a,n__e,n__i,n__isList,n__isNeList,n__isPal,n__nil,n__o,n__u,tt}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
uargs(activate) = {1},
uargs(and) = {1,2},
uargs(isList) = {1},
uargs(isNeList) = {1},
uargs(isNePal) = {1},
uargs(isPal) = {1},
uargs(isQid) = {1},
uargs(n__isList) = {1},
uargs(n__isNeList) = {1},
uargs(n__isPal) = {1}

Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(__) = [1] x1 + [1] x2 + [7]
p(a) = [0]
p(activate) = [1] x1 + [0]
p(and) = [1] x1 + [1] x2 + [0]
p(e) = [4]
p(i) = [0]
p(isList) = [1] x1 + [7]
p(isNeList) = [1] x1 + [1]
p(isNePal) = [1] x1 + [0]
p(isPal) = [1] x1 + [4]
p(isQid) = [1] x1 + [1]
p(n____) = [1] x1 + [1] x2 + [7]
p(n__a) = [0]
p(n__e) = [2]
p(n__i) = [0]
p(n__isList) = [1] x1 + [7]
p(n__isNeList) = [1] x1 + [1]
p(n__isPal) = [1] x1 + [0]
p(n__nil) = [6]
p(n__o) = [3]
p(n__u) = [4]
p(nil) = [6]
p(o) = [3]
p(tt) = [0]
p(u) = [4]

Following rules are strictly oriented:
e() = [4]
> [2]
= n__e()

isQid(n__a()) = [1]
> [0]
= tt()

isQid(n__e()) = [3]
> [0]
= tt()

isQid(n__i()) = [1]
> [0]
= tt()

isQid(n__o()) = [4]
> [0]
= tt()

Following rules are (at-least) weakly oriented:
__(X1,X2) =  [1] X1 + [1] X2 + [7]
>= [1] X1 + [1] X2 + [7]
=  n____(X1,X2)

a() =  [0]
>= [0]
=  n__a()

activate(X) =  [1] X + [0]
>= [1] X + [0]
=  X

activate(n____(X1,X2)) =  [1] X1 + [1] X2 + [7]
>= [1] X1 + [1] X2 + [7]
=  __(X1,X2)

activate(n__a()) =  [0]
>= [0]
=  a()

activate(n__e()) =  [2]
>= [4]
=  e()

activate(n__i()) =  [0]
>= [0]
=  i()

activate(n__isList(X)) =  [1] X + [7]
>= [1] X + [7]
=  isList(X)

activate(n__isNeList(X)) =  [1] X + [1]
>= [1] X + [1]
=  isNeList(X)

activate(n__isPal(X)) =  [1] X + [0]
>= [1] X + [4]
=  isPal(X)

activate(n__nil()) =  [6]
>= [6]
=  nil()

activate(n__o()) =  [3]
>= [3]
=  o()

activate(n__u()) =  [4]
>= [4]
=  u()

and(tt(),X) =  [1] X + [0]
>= [1] X + [0]
=  activate(X)

i() =  [0]
>= [0]
=  n__i()

isList(V) =  [1] V + [7]
>= [1] V + [1]
=  isNeList(activate(V))

isList(X) =  [1] X + [7]
>= [1] X + [7]
=  n__isList(X)

isList(n____(V1,V2)) =  [1] V1 + [1] V2 + [14]
>= [1] V1 + [1] V2 + [14]
=  and(isList(activate(V1)),n__isList(activate(V2)))

isList(n__nil()) =  [13]
>= [0]
=  tt()

isNeList(V) =  [1] V + [1]
>= [1] V + [1]
=  isQid(activate(V))

isNeList(X) =  [1] X + [1]
>= [1] X + [1]
=  n__isNeList(X)

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [8]
>= [1] V1 + [1] V2 + [8]
=  and(isList(activate(V1)),n__isNeList(activate(V2)))

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [8]
>= [1] V1 + [1] V2 + [8]
=  and(isNeList(activate(V1)),n__isList(activate(V2)))

isNePal(V) =  [1] V + [0]
>= [1] V + [1]
=  isQid(activate(V))

isNePal(n____(I,__(P,I))) =  [2] I + [1] P + [14]
>= [1] I + [1] P + [1]
=  and(isQid(activate(I)),n__isPal(activate(P)))

isPal(V) =  [1] V + [4]
>= [1] V + [0]
=  isNePal(activate(V))

isPal(X) =  [1] X + [4]
>= [1] X + [0]
=  n__isPal(X)

isPal(n__nil()) =  [10]
>= [0]
=  tt()

isQid(n__u()) =  [5]
>= [0]
=  tt()

nil() =  [6]
>= [6]
=  n__nil()

o() =  [3]
>= [3]
=  n__o()

u() =  [4]
>= [4]
=  n__u()

Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 5: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
__(X1,X2) -> n____(X1,X2)
a() -> n__a()
activate(X) -> X
activate(n__a()) -> a()
activate(n__e()) -> e()
activate(n__i()) -> i()
activate(n__isNeList(X)) -> isNeList(X)
activate(n__isPal(X)) -> isPal(X)
activate(n__o()) -> o()
activate(n__u()) -> u()
i() -> n__i()
isList(X) -> n__isList(X)
isNePal(V) -> isQid(activate(V))
nil() -> n__nil()
- Weak TRS:
activate(n____(X1,X2)) -> __(X1,X2)
activate(n__isList(X)) -> isList(X)
activate(n__nil()) -> nil()
and(tt(),X) -> activate(X)
e() -> n__e()
isList(V) -> isNeList(activate(V))
isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2)))
isList(n__nil()) -> tt()
isNeList(V) -> isQid(activate(V))
isNeList(X) -> n__isNeList(X)
isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2)))
isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2)))
isNePal(n____(I,__(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P)))
isPal(V) -> isNePal(activate(V))
isPal(X) -> n__isPal(X)
isPal(n__nil()) -> tt()
isQid(n__a()) -> tt()
isQid(n__e()) -> tt()
isQid(n__i()) -> tt()
isQid(n__o()) -> tt()
isQid(n__u()) -> tt()
o() -> n__o()
u() -> n__u()
- Signature:
{__/2,a/0,activate/1,and/2,e/0,i/0,isList/1,isNeList/1,isNePal/1,isPal/1,isQid/1,nil/0,o/0,u/0} / {n____/2
,n__a/0,n__e/0,n__i/0,n__isList/1,n__isNeList/1,n__isPal/1,n__nil/0,n__o/0,n__u/0,tt/0}
- Obligation:
runtime complexity wrt. defined symbols {__,a,activate,and,e,i,isList,isNeList,isNePal,isPal,isQid,nil,o
,u} and constructors {n____,n__a,n__e,n__i,n__isList,n__isNeList,n__isPal,n__nil,n__o,n__u,tt}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
uargs(activate) = {1},
uargs(and) = {1,2},
uargs(isList) = {1},
uargs(isNeList) = {1},
uargs(isNePal) = {1},
uargs(isPal) = {1},
uargs(isQid) = {1},
uargs(n__isList) = {1},
uargs(n__isNeList) = {1},
uargs(n__isPal) = {1}

Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(__) = [1] x1 + [1] x2 + [0]
p(a) = [0]
p(activate) = [1] x1 + [0]
p(and) = [1] x1 + [1] x2 + [0]
p(e) = [4]
p(i) = [0]
p(isList) = [1] x1 + [0]
p(isNeList) = [1] x1 + [0]
p(isNePal) = [1] x1 + [4]
p(isPal) = [1] x1 + [4]
p(isQid) = [1] x1 + [0]
p(n____) = [1] x1 + [1] x2 + [0]
p(n__a) = [1]
p(n__e) = [3]
p(n__i) = [0]
p(n__isList) = [1] x1 + [0]
p(n__isNeList) = [1] x1 + [0]
p(n__isPal) = [1] x1 + [0]
p(n__nil) = [4]
p(n__o) = [1]
p(n__u) = [2]
p(nil) = [0]
p(o) = [1]
p(tt) = [0]
p(u) = [2]

Following rules are strictly oriented:
activate(n__a()) = [1]
> [0]
= a()

isNePal(V) = [1] V + [4]
> [1] V + [0]
= isQid(activate(V))

Following rules are (at-least) weakly oriented:
__(X1,X2) =  [1] X1 + [1] X2 + [0]
>= [1] X1 + [1] X2 + [0]
=  n____(X1,X2)

a() =  [0]
>= [1]
=  n__a()

activate(X) =  [1] X + [0]
>= [1] X + [0]
=  X

activate(n____(X1,X2)) =  [1] X1 + [1] X2 + [0]
>= [1] X1 + [1] X2 + [0]
=  __(X1,X2)

activate(n__e()) =  [3]
>= [4]
=  e()

activate(n__i()) =  [0]
>= [0]
=  i()

activate(n__isList(X)) =  [1] X + [0]
>= [1] X + [0]
=  isList(X)

activate(n__isNeList(X)) =  [1] X + [0]
>= [1] X + [0]
=  isNeList(X)

activate(n__isPal(X)) =  [1] X + [0]
>= [1] X + [4]
=  isPal(X)

activate(n__nil()) =  [4]
>= [0]
=  nil()

activate(n__o()) =  [1]
>= [1]
=  o()

activate(n__u()) =  [2]
>= [2]
=  u()

and(tt(),X) =  [1] X + [0]
>= [1] X + [0]
=  activate(X)

e() =  [4]
>= [3]
=  n__e()

i() =  [0]
>= [0]
=  n__i()

isList(V) =  [1] V + [0]
>= [1] V + [0]
=  isNeList(activate(V))

isList(X) =  [1] X + [0]
>= [1] X + [0]
=  n__isList(X)

isList(n____(V1,V2)) =  [1] V1 + [1] V2 + [0]
>= [1] V1 + [1] V2 + [0]
=  and(isList(activate(V1)),n__isList(activate(V2)))

isList(n__nil()) =  [4]
>= [0]
=  tt()

isNeList(V) =  [1] V + [0]
>= [1] V + [0]
=  isQid(activate(V))

isNeList(X) =  [1] X + [0]
>= [1] X + [0]
=  n__isNeList(X)

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [0]
>= [1] V1 + [1] V2 + [0]
=  and(isList(activate(V1)),n__isNeList(activate(V2)))

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [0]
>= [1] V1 + [1] V2 + [0]
=  and(isNeList(activate(V1)),n__isList(activate(V2)))

isNePal(n____(I,__(P,I))) =  [2] I + [1] P + [4]
>= [1] I + [1] P + [0]
=  and(isQid(activate(I)),n__isPal(activate(P)))

isPal(V) =  [1] V + [4]
>= [1] V + [4]
=  isNePal(activate(V))

isPal(X) =  [1] X + [4]
>= [1] X + [0]
=  n__isPal(X)

isPal(n__nil()) =  [8]
>= [0]
=  tt()

isQid(n__a()) =  [1]
>= [0]
=  tt()

isQid(n__e()) =  [3]
>= [0]
=  tt()

isQid(n__i()) =  [0]
>= [0]
=  tt()

isQid(n__o()) =  [1]
>= [0]
=  tt()

isQid(n__u()) =  [2]
>= [0]
=  tt()

nil() =  [0]
>= [4]
=  n__nil()

o() =  [1]
>= [1]
=  n__o()

u() =  [2]
>= [2]
=  n__u()

Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 6: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
__(X1,X2) -> n____(X1,X2)
a() -> n__a()
activate(X) -> X
activate(n__e()) -> e()
activate(n__i()) -> i()
activate(n__isNeList(X)) -> isNeList(X)
activate(n__isPal(X)) -> isPal(X)
activate(n__o()) -> o()
activate(n__u()) -> u()
i() -> n__i()
isList(X) -> n__isList(X)
nil() -> n__nil()
- Weak TRS:
activate(n____(X1,X2)) -> __(X1,X2)
activate(n__a()) -> a()
activate(n__isList(X)) -> isList(X)
activate(n__nil()) -> nil()
and(tt(),X) -> activate(X)
e() -> n__e()
isList(V) -> isNeList(activate(V))
isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2)))
isList(n__nil()) -> tt()
isNeList(V) -> isQid(activate(V))
isNeList(X) -> n__isNeList(X)
isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2)))
isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2)))
isNePal(V) -> isQid(activate(V))
isNePal(n____(I,__(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P)))
isPal(V) -> isNePal(activate(V))
isPal(X) -> n__isPal(X)
isPal(n__nil()) -> tt()
isQid(n__a()) -> tt()
isQid(n__e()) -> tt()
isQid(n__i()) -> tt()
isQid(n__o()) -> tt()
isQid(n__u()) -> tt()
o() -> n__o()
u() -> n__u()
- Signature:
{__/2,a/0,activate/1,and/2,e/0,i/0,isList/1,isNeList/1,isNePal/1,isPal/1,isQid/1,nil/0,o/0,u/0} / {n____/2
,n__a/0,n__e/0,n__i/0,n__isList/1,n__isNeList/1,n__isPal/1,n__nil/0,n__o/0,n__u/0,tt/0}
- Obligation:
runtime complexity wrt. defined symbols {__,a,activate,and,e,i,isList,isNeList,isNePal,isPal,isQid,nil,o
,u} and constructors {n____,n__a,n__e,n__i,n__isList,n__isNeList,n__isPal,n__nil,n__o,n__u,tt}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
uargs(activate) = {1},
uargs(and) = {1,2},
uargs(isList) = {1},
uargs(isNeList) = {1},
uargs(isNePal) = {1},
uargs(isPal) = {1},
uargs(isQid) = {1},
uargs(n__isList) = {1},
uargs(n__isNeList) = {1},
uargs(n__isPal) = {1}

Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(__) = [1] x1 + [1] x2 + [0]
p(a) = [5]
p(activate) = [1] x1 + [0]
p(and) = [1] x1 + [1] x2 + [3]
p(e) = [0]
p(i) = [1]
p(isList) = [1] x1 + [1]
p(isNeList) = [1] x1 + [1]
p(isNePal) = [1] x1 + [0]
p(isPal) = [1] x1 + [1]
p(isQid) = [1] x1 + [0]
p(n____) = [1] x1 + [1] x2 + [4]
p(n__a) = [5]
p(n__e) = [0]
p(n__i) = [0]
p(n__isList) = [1] x1 + [1]
p(n__isNeList) = [1] x1 + [0]
p(n__isPal) = [1] x1 + [0]
p(n__nil) = [0]
p(n__o) = [0]
p(n__u) = [0]
p(nil) = [0]
p(o) = [0]
p(tt) = [0]
p(u) = [0]

Following rules are strictly oriented:
i() = [1]
> [0]
= n__i()

Following rules are (at-least) weakly oriented:
__(X1,X2) =  [1] X1 + [1] X2 + [0]
>= [1] X1 + [1] X2 + [4]
=  n____(X1,X2)

a() =  [5]
>= [5]
=  n__a()

activate(X) =  [1] X + [0]
>= [1] X + [0]
=  X

activate(n____(X1,X2)) =  [1] X1 + [1] X2 + [4]
>= [1] X1 + [1] X2 + [0]
=  __(X1,X2)

activate(n__a()) =  [5]
>= [5]
=  a()

activate(n__e()) =  [0]
>= [0]
=  e()

activate(n__i()) =  [0]
>= [1]
=  i()

activate(n__isList(X)) =  [1] X + [1]
>= [1] X + [1]
=  isList(X)

activate(n__isNeList(X)) =  [1] X + [0]
>= [1] X + [1]
=  isNeList(X)

activate(n__isPal(X)) =  [1] X + [0]
>= [1] X + [1]
=  isPal(X)

activate(n__nil()) =  [0]
>= [0]
=  nil()

activate(n__o()) =  [0]
>= [0]
=  o()

activate(n__u()) =  [0]
>= [0]
=  u()

and(tt(),X) =  [1] X + [3]
>= [1] X + [0]
=  activate(X)

e() =  [0]
>= [0]
=  n__e()

isList(V) =  [1] V + [1]
>= [1] V + [1]
=  isNeList(activate(V))

isList(X) =  [1] X + [1]
>= [1] X + [1]
=  n__isList(X)

isList(n____(V1,V2)) =  [1] V1 + [1] V2 + [5]
>= [1] V1 + [1] V2 + [5]
=  and(isList(activate(V1)),n__isList(activate(V2)))

isList(n__nil()) =  [1]
>= [0]
=  tt()

isNeList(V) =  [1] V + [1]
>= [1] V + [0]
=  isQid(activate(V))

isNeList(X) =  [1] X + [1]
>= [1] X + [0]
=  n__isNeList(X)

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [5]
>= [1] V1 + [1] V2 + [4]
=  and(isList(activate(V1)),n__isNeList(activate(V2)))

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [5]
>= [1] V1 + [1] V2 + [5]
=  and(isNeList(activate(V1)),n__isList(activate(V2)))

isNePal(V) =  [1] V + [0]
>= [1] V + [0]
=  isQid(activate(V))

isNePal(n____(I,__(P,I))) =  [2] I + [1] P + [4]
>= [1] I + [1] P + [3]
=  and(isQid(activate(I)),n__isPal(activate(P)))

isPal(V) =  [1] V + [1]
>= [1] V + [0]
=  isNePal(activate(V))

isPal(X) =  [1] X + [1]
>= [1] X + [0]
=  n__isPal(X)

isPal(n__nil()) =  [1]
>= [0]
=  tt()

isQid(n__a()) =  [5]
>= [0]
=  tt()

isQid(n__e()) =  [0]
>= [0]
=  tt()

isQid(n__i()) =  [0]
>= [0]
=  tt()

isQid(n__o()) =  [0]
>= [0]
=  tt()

isQid(n__u()) =  [0]
>= [0]
=  tt()

nil() =  [0]
>= [0]
=  n__nil()

o() =  [0]
>= [0]
=  n__o()

u() =  [0]
>= [0]
=  n__u()

Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 7: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
__(X1,X2) -> n____(X1,X2)
a() -> n__a()
activate(X) -> X
activate(n__e()) -> e()
activate(n__i()) -> i()
activate(n__isNeList(X)) -> isNeList(X)
activate(n__isPal(X)) -> isPal(X)
activate(n__o()) -> o()
activate(n__u()) -> u()
isList(X) -> n__isList(X)
nil() -> n__nil()
- Weak TRS:
activate(n____(X1,X2)) -> __(X1,X2)
activate(n__a()) -> a()
activate(n__isList(X)) -> isList(X)
activate(n__nil()) -> nil()
and(tt(),X) -> activate(X)
e() -> n__e()
i() -> n__i()
isList(V) -> isNeList(activate(V))
isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2)))
isList(n__nil()) -> tt()
isNeList(V) -> isQid(activate(V))
isNeList(X) -> n__isNeList(X)
isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2)))
isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2)))
isNePal(V) -> isQid(activate(V))
isNePal(n____(I,__(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P)))
isPal(V) -> isNePal(activate(V))
isPal(X) -> n__isPal(X)
isPal(n__nil()) -> tt()
isQid(n__a()) -> tt()
isQid(n__e()) -> tt()
isQid(n__i()) -> tt()
isQid(n__o()) -> tt()
isQid(n__u()) -> tt()
o() -> n__o()
u() -> n__u()
- Signature:
{__/2,a/0,activate/1,and/2,e/0,i/0,isList/1,isNeList/1,isNePal/1,isPal/1,isQid/1,nil/0,o/0,u/0} / {n____/2
,n__a/0,n__e/0,n__i/0,n__isList/1,n__isNeList/1,n__isPal/1,n__nil/0,n__o/0,n__u/0,tt/0}
- Obligation:
runtime complexity wrt. defined symbols {__,a,activate,and,e,i,isList,isNeList,isNePal,isPal,isQid,nil,o
,u} and constructors {n____,n__a,n__e,n__i,n__isList,n__isNeList,n__isPal,n__nil,n__o,n__u,tt}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
uargs(activate) = {1},
uargs(and) = {1,2},
uargs(isList) = {1},
uargs(isNeList) = {1},
uargs(isNePal) = {1},
uargs(isPal) = {1},
uargs(isQid) = {1},
uargs(n__isList) = {1},
uargs(n__isNeList) = {1},
uargs(n__isPal) = {1}

Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(__) = [1] x1 + [1] x2 + [0]
p(a) = [0]
p(activate) = [1] x1 + [2]
p(and) = [1] x1 + [1] x2 + [0]
p(e) = [3]
p(i) = [4]
p(isList) = [1] x1 + [4]
p(isNeList) = [1] x1 + [2]
p(isNePal) = [1] x1 + [3]
p(isPal) = [1] x1 + [7]
p(isQid) = [1] x1 + [0]
p(n____) = [1] x1 + [1] x2 + [7]
p(n__a) = [2]
p(n__e) = [2]
p(n__i) = [4]
p(n__isList) = [1] x1 + [2]
p(n__isNeList) = [1] x1 + [0]
p(n__isPal) = [1] x1 + [6]
p(n__nil) = [1]
p(n__o) = [4]
p(n__u) = [4]
p(nil) = [0]
p(o) = [4]
p(tt) = [2]
p(u) = [4]

Following rules are strictly oriented:
activate(X) = [1] X + [2]
> [1] X + [0]
= X

activate(n__e()) = [4]
> [3]
= e()

activate(n__i()) = [6]
> [4]
= i()

activate(n__isPal(X)) = [1] X + [8]
> [1] X + [7]
= isPal(X)

activate(n__o()) = [6]
> [4]
= o()

activate(n__u()) = [6]
> [4]
= u()

isList(X) = [1] X + [4]
> [1] X + [2]
= n__isList(X)

Following rules are (at-least) weakly oriented:
__(X1,X2) =  [1] X1 + [1] X2 + [0]
>= [1] X1 + [1] X2 + [7]
=  n____(X1,X2)

a() =  [0]
>= [2]
=  n__a()

activate(n____(X1,X2)) =  [1] X1 + [1] X2 + [9]
>= [1] X1 + [1] X2 + [0]
=  __(X1,X2)

activate(n__a()) =  [4]
>= [0]
=  a()

activate(n__isList(X)) =  [1] X + [4]
>= [1] X + [4]
=  isList(X)

activate(n__isNeList(X)) =  [1] X + [2]
>= [1] X + [2]
=  isNeList(X)

activate(n__nil()) =  [3]
>= [0]
=  nil()

and(tt(),X) =  [1] X + [2]
>= [1] X + [2]
=  activate(X)

e() =  [3]
>= [2]
=  n__e()

i() =  [4]
>= [4]
=  n__i()

isList(V) =  [1] V + [4]
>= [1] V + [4]
=  isNeList(activate(V))

isList(n____(V1,V2)) =  [1] V1 + [1] V2 + [11]
>= [1] V1 + [1] V2 + [10]
=  and(isList(activate(V1)),n__isList(activate(V2)))

isList(n__nil()) =  [5]
>= [2]
=  tt()

isNeList(V) =  [1] V + [2]
>= [1] V + [2]
=  isQid(activate(V))

isNeList(X) =  [1] X + [2]
>= [1] X + [0]
=  n__isNeList(X)

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [9]
>= [1] V1 + [1] V2 + [8]
=  and(isList(activate(V1)),n__isNeList(activate(V2)))

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [9]
>= [1] V1 + [1] V2 + [8]
=  and(isNeList(activate(V1)),n__isList(activate(V2)))

isNePal(V) =  [1] V + [3]
>= [1] V + [2]
=  isQid(activate(V))

isNePal(n____(I,__(P,I))) =  [2] I + [1] P + [10]
>= [1] I + [1] P + [10]
=  and(isQid(activate(I)),n__isPal(activate(P)))

isPal(V) =  [1] V + [7]
>= [1] V + [5]
=  isNePal(activate(V))

isPal(X) =  [1] X + [7]
>= [1] X + [6]
=  n__isPal(X)

isPal(n__nil()) =  [8]
>= [2]
=  tt()

isQid(n__a()) =  [2]
>= [2]
=  tt()

isQid(n__e()) =  [2]
>= [2]
=  tt()

isQid(n__i()) =  [4]
>= [2]
=  tt()

isQid(n__o()) =  [4]
>= [2]
=  tt()

isQid(n__u()) =  [4]
>= [2]
=  tt()

nil() =  [0]
>= [1]
=  n__nil()

o() =  [4]
>= [4]
=  n__o()

u() =  [4]
>= [4]
=  n__u()

Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 8: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
__(X1,X2) -> n____(X1,X2)
a() -> n__a()
activate(n__isNeList(X)) -> isNeList(X)
nil() -> n__nil()
- Weak TRS:
activate(X) -> X
activate(n____(X1,X2)) -> __(X1,X2)
activate(n__a()) -> a()
activate(n__e()) -> e()
activate(n__i()) -> i()
activate(n__isList(X)) -> isList(X)
activate(n__isPal(X)) -> isPal(X)
activate(n__nil()) -> nil()
activate(n__o()) -> o()
activate(n__u()) -> u()
and(tt(),X) -> activate(X)
e() -> n__e()
i() -> n__i()
isList(V) -> isNeList(activate(V))
isList(X) -> n__isList(X)
isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2)))
isList(n__nil()) -> tt()
isNeList(V) -> isQid(activate(V))
isNeList(X) -> n__isNeList(X)
isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2)))
isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2)))
isNePal(V) -> isQid(activate(V))
isNePal(n____(I,__(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P)))
isPal(V) -> isNePal(activate(V))
isPal(X) -> n__isPal(X)
isPal(n__nil()) -> tt()
isQid(n__a()) -> tt()
isQid(n__e()) -> tt()
isQid(n__i()) -> tt()
isQid(n__o()) -> tt()
isQid(n__u()) -> tt()
o() -> n__o()
u() -> n__u()
- Signature:
{__/2,a/0,activate/1,and/2,e/0,i/0,isList/1,isNeList/1,isNePal/1,isPal/1,isQid/1,nil/0,o/0,u/0} / {n____/2
,n__a/0,n__e/0,n__i/0,n__isList/1,n__isNeList/1,n__isPal/1,n__nil/0,n__o/0,n__u/0,tt/0}
- Obligation:
runtime complexity wrt. defined symbols {__,a,activate,and,e,i,isList,isNeList,isNePal,isPal,isQid,nil,o
,u} and constructors {n____,n__a,n__e,n__i,n__isList,n__isNeList,n__isPal,n__nil,n__o,n__u,tt}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
uargs(activate) = {1},
uargs(and) = {1,2},
uargs(isList) = {1},
uargs(isNeList) = {1},
uargs(isNePal) = {1},
uargs(isPal) = {1},
uargs(isQid) = {1},
uargs(n__isList) = {1},
uargs(n__isNeList) = {1},
uargs(n__isPal) = {1}

Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(__) = [1] x1 + [1] x2 + [1]
p(a) = [5]
p(activate) = [1] x1 + [2]
p(and) = [1] x1 + [1] x2 + [0]
p(e) = [6]
p(i) = [5]
p(isList) = [1] x1 + [4]
p(isNeList) = [1] x1 + [2]
p(isNePal) = [1] x1 + [4]
p(isPal) = [1] x1 + [7]
p(isQid) = [1] x1 + [0]
p(n____) = [1] x1 + [1] x2 + [6]
p(n__a) = [4]
p(n__e) = [6]
p(n__i) = [4]
p(n__isList) = [1] x1 + [2]
p(n__isNeList) = [1] x1 + [0]
p(n__isPal) = [1] x1 + [7]
p(n__nil) = [5]
p(n__o) = [6]
p(n__u) = [4]
p(nil) = [0]
p(o) = [6]
p(tt) = [4]
p(u) = [4]

Following rules are strictly oriented:
a() = [5]
> [4]
= n__a()

Following rules are (at-least) weakly oriented:
__(X1,X2) =  [1] X1 + [1] X2 + [1]
>= [1] X1 + [1] X2 + [6]
=  n____(X1,X2)

activate(X) =  [1] X + [2]
>= [1] X + [0]
=  X

activate(n____(X1,X2)) =  [1] X1 + [1] X2 + [8]
>= [1] X1 + [1] X2 + [1]
=  __(X1,X2)

activate(n__a()) =  [6]
>= [5]
=  a()

activate(n__e()) =  [8]
>= [6]
=  e()

activate(n__i()) =  [6]
>= [5]
=  i()

activate(n__isList(X)) =  [1] X + [4]
>= [1] X + [4]
=  isList(X)

activate(n__isNeList(X)) =  [1] X + [2]
>= [1] X + [2]
=  isNeList(X)

activate(n__isPal(X)) =  [1] X + [9]
>= [1] X + [7]
=  isPal(X)

activate(n__nil()) =  [7]
>= [0]
=  nil()

activate(n__o()) =  [8]
>= [6]
=  o()

activate(n__u()) =  [6]
>= [4]
=  u()

and(tt(),X) =  [1] X + [4]
>= [1] X + [2]
=  activate(X)

e() =  [6]
>= [6]
=  n__e()

i() =  [5]
>= [4]
=  n__i()

isList(V) =  [1] V + [4]
>= [1] V + [4]
=  isNeList(activate(V))

isList(X) =  [1] X + [4]
>= [1] X + [2]
=  n__isList(X)

isList(n____(V1,V2)) =  [1] V1 + [1] V2 + [10]
>= [1] V1 + [1] V2 + [10]
=  and(isList(activate(V1)),n__isList(activate(V2)))

isList(n__nil()) =  [9]
>= [4]
=  tt()

isNeList(V) =  [1] V + [2]
>= [1] V + [2]
=  isQid(activate(V))

isNeList(X) =  [1] X + [2]
>= [1] X + [0]
=  n__isNeList(X)

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [8]
>= [1] V1 + [1] V2 + [8]
=  and(isList(activate(V1)),n__isNeList(activate(V2)))

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [8]
>= [1] V1 + [1] V2 + [8]
=  and(isNeList(activate(V1)),n__isList(activate(V2)))

isNePal(V) =  [1] V + [4]
>= [1] V + [2]
=  isQid(activate(V))

isNePal(n____(I,__(P,I))) =  [2] I + [1] P + [11]
>= [1] I + [1] P + [11]
=  and(isQid(activate(I)),n__isPal(activate(P)))

isPal(V) =  [1] V + [7]
>= [1] V + [6]
=  isNePal(activate(V))

isPal(X) =  [1] X + [7]
>= [1] X + [7]
=  n__isPal(X)

isPal(n__nil()) =  [12]
>= [4]
=  tt()

isQid(n__a()) =  [4]
>= [4]
=  tt()

isQid(n__e()) =  [6]
>= [4]
=  tt()

isQid(n__i()) =  [4]
>= [4]
=  tt()

isQid(n__o()) =  [6]
>= [4]
=  tt()

isQid(n__u()) =  [4]
>= [4]
=  tt()

nil() =  [0]
>= [5]
=  n__nil()

o() =  [6]
>= [6]
=  n__o()

u() =  [4]
>= [4]
=  n__u()

Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 9: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
__(X1,X2) -> n____(X1,X2)
activate(n__isNeList(X)) -> isNeList(X)
nil() -> n__nil()
- Weak TRS:
a() -> n__a()
activate(X) -> X
activate(n____(X1,X2)) -> __(X1,X2)
activate(n__a()) -> a()
activate(n__e()) -> e()
activate(n__i()) -> i()
activate(n__isList(X)) -> isList(X)
activate(n__isPal(X)) -> isPal(X)
activate(n__nil()) -> nil()
activate(n__o()) -> o()
activate(n__u()) -> u()
and(tt(),X) -> activate(X)
e() -> n__e()
i() -> n__i()
isList(V) -> isNeList(activate(V))
isList(X) -> n__isList(X)
isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2)))
isList(n__nil()) -> tt()
isNeList(V) -> isQid(activate(V))
isNeList(X) -> n__isNeList(X)
isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2)))
isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2)))
isNePal(V) -> isQid(activate(V))
isNePal(n____(I,__(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P)))
isPal(V) -> isNePal(activate(V))
isPal(X) -> n__isPal(X)
isPal(n__nil()) -> tt()
isQid(n__a()) -> tt()
isQid(n__e()) -> tt()
isQid(n__i()) -> tt()
isQid(n__o()) -> tt()
isQid(n__u()) -> tt()
o() -> n__o()
u() -> n__u()
- Signature:
{__/2,a/0,activate/1,and/2,e/0,i/0,isList/1,isNeList/1,isNePal/1,isPal/1,isQid/1,nil/0,o/0,u/0} / {n____/2
,n__a/0,n__e/0,n__i/0,n__isList/1,n__isNeList/1,n__isPal/1,n__nil/0,n__o/0,n__u/0,tt/0}
- Obligation:
runtime complexity wrt. defined symbols {__,a,activate,and,e,i,isList,isNeList,isNePal,isPal,isQid,nil,o
,u} and constructors {n____,n__a,n__e,n__i,n__isList,n__isNeList,n__isPal,n__nil,n__o,n__u,tt}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
uargs(activate) = {1},
uargs(and) = {1,2},
uargs(isList) = {1},
uargs(isNeList) = {1},
uargs(isNePal) = {1},
uargs(isPal) = {1},
uargs(isQid) = {1},
uargs(n__isList) = {1},
uargs(n__isNeList) = {1},
uargs(n__isPal) = {1}

Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(__) = [1] x1 + [1] x2 + [0]
p(a) = [0]
p(activate) = [1] x1 + [1]
p(and) = [1] x1 + [1] x2 + [3]
p(e) = [0]
p(i) = [0]
p(isList) = [1] x1 + [2]
p(isNeList) = [1] x1 + [1]
p(isNePal) = [1] x1 + [1]
p(isPal) = [1] x1 + [2]
p(isQid) = [1] x1 + [0]
p(n____) = [1] x1 + [1] x2 + [6]
p(n__a) = [0]
p(n__e) = [0]
p(n__i) = [0]
p(n__isList) = [1] x1 + [1]
p(n__isNeList) = [1] x1 + [0]
p(n__isPal) = [1] x1 + [2]
p(n__nil) = [0]
p(n__o) = [1]
p(n__u) = [0]
p(nil) = [1]
p(o) = [1]
p(tt) = [0]
p(u) = [0]

Following rules are strictly oriented:
nil() = [1]
> [0]
= n__nil()

Following rules are (at-least) weakly oriented:
__(X1,X2) =  [1] X1 + [1] X2 + [0]
>= [1] X1 + [1] X2 + [6]
=  n____(X1,X2)

a() =  [0]
>= [0]
=  n__a()

activate(X) =  [1] X + [1]
>= [1] X + [0]
=  X

activate(n____(X1,X2)) =  [1] X1 + [1] X2 + [7]
>= [1] X1 + [1] X2 + [0]
=  __(X1,X2)

activate(n__a()) =  [1]
>= [0]
=  a()

activate(n__e()) =  [1]
>= [0]
=  e()

activate(n__i()) =  [1]
>= [0]
=  i()

activate(n__isList(X)) =  [1] X + [2]
>= [1] X + [2]
=  isList(X)

activate(n__isNeList(X)) =  [1] X + [1]
>= [1] X + [1]
=  isNeList(X)

activate(n__isPal(X)) =  [1] X + [3]
>= [1] X + [2]
=  isPal(X)

activate(n__nil()) =  [1]
>= [1]
=  nil()

activate(n__o()) =  [2]
>= [1]
=  o()

activate(n__u()) =  [1]
>= [0]
=  u()

and(tt(),X) =  [1] X + [3]
>= [1] X + [1]
=  activate(X)

e() =  [0]
>= [0]
=  n__e()

i() =  [0]
>= [0]
=  n__i()

isList(V) =  [1] V + [2]
>= [1] V + [2]
=  isNeList(activate(V))

isList(X) =  [1] X + [2]
>= [1] X + [1]
=  n__isList(X)

isList(n____(V1,V2)) =  [1] V1 + [1] V2 + [8]
>= [1] V1 + [1] V2 + [8]
=  and(isList(activate(V1)),n__isList(activate(V2)))

isList(n__nil()) =  [2]
>= [0]
=  tt()

isNeList(V) =  [1] V + [1]
>= [1] V + [1]
=  isQid(activate(V))

isNeList(X) =  [1] X + [1]
>= [1] X + [0]
=  n__isNeList(X)

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [7]
>= [1] V1 + [1] V2 + [7]
=  and(isList(activate(V1)),n__isNeList(activate(V2)))

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [7]
>= [1] V1 + [1] V2 + [7]
=  and(isNeList(activate(V1)),n__isList(activate(V2)))

isNePal(V) =  [1] V + [1]
>= [1] V + [1]
=  isQid(activate(V))

isNePal(n____(I,__(P,I))) =  [2] I + [1] P + [7]
>= [1] I + [1] P + [7]
=  and(isQid(activate(I)),n__isPal(activate(P)))

isPal(V) =  [1] V + [2]
>= [1] V + [2]
=  isNePal(activate(V))

isPal(X) =  [1] X + [2]
>= [1] X + [2]
=  n__isPal(X)

isPal(n__nil()) =  [2]
>= [0]
=  tt()

isQid(n__a()) =  [0]
>= [0]
=  tt()

isQid(n__e()) =  [0]
>= [0]
=  tt()

isQid(n__i()) =  [0]
>= [0]
=  tt()

isQid(n__o()) =  [1]
>= [0]
=  tt()

isQid(n__u()) =  [0]
>= [0]
=  tt()

o() =  [1]
>= [1]
=  n__o()

u() =  [0]
>= [0]
=  n__u()

Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 10: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
__(X1,X2) -> n____(X1,X2)
activate(n__isNeList(X)) -> isNeList(X)
- Weak TRS:
a() -> n__a()
activate(X) -> X
activate(n____(X1,X2)) -> __(X1,X2)
activate(n__a()) -> a()
activate(n__e()) -> e()
activate(n__i()) -> i()
activate(n__isList(X)) -> isList(X)
activate(n__isPal(X)) -> isPal(X)
activate(n__nil()) -> nil()
activate(n__o()) -> o()
activate(n__u()) -> u()
and(tt(),X) -> activate(X)
e() -> n__e()
i() -> n__i()
isList(V) -> isNeList(activate(V))
isList(X) -> n__isList(X)
isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2)))
isList(n__nil()) -> tt()
isNeList(V) -> isQid(activate(V))
isNeList(X) -> n__isNeList(X)
isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2)))
isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2)))
isNePal(V) -> isQid(activate(V))
isNePal(n____(I,__(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P)))
isPal(V) -> isNePal(activate(V))
isPal(X) -> n__isPal(X)
isPal(n__nil()) -> tt()
isQid(n__a()) -> tt()
isQid(n__e()) -> tt()
isQid(n__i()) -> tt()
isQid(n__o()) -> tt()
isQid(n__u()) -> tt()
nil() -> n__nil()
o() -> n__o()
u() -> n__u()
- Signature:
{__/2,a/0,activate/1,and/2,e/0,i/0,isList/1,isNeList/1,isNePal/1,isPal/1,isQid/1,nil/0,o/0,u/0} / {n____/2
,n__a/0,n__e/0,n__i/0,n__isList/1,n__isNeList/1,n__isPal/1,n__nil/0,n__o/0,n__u/0,tt/0}
- Obligation:
runtime complexity wrt. defined symbols {__,a,activate,and,e,i,isList,isNeList,isNePal,isPal,isQid,nil,o
,u} and constructors {n____,n__a,n__e,n__i,n__isList,n__isNeList,n__isPal,n__nil,n__o,n__u,tt}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
uargs(activate) = {1},
uargs(and) = {1,2},
uargs(isList) = {1},
uargs(isNeList) = {1},
uargs(isNePal) = {1},
uargs(isPal) = {1},
uargs(isQid) = {1},
uargs(n__isList) = {1},
uargs(n__isNeList) = {1},
uargs(n__isPal) = {1}

Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(__) = [1] x1 + [1] x2 + [0]
p(a) = [4]
p(activate) = [1] x1 + [1]
p(and) = [1] x1 + [1] x2 + [0]
p(e) = [2]
p(i) = [2]
p(isList) = [1] x1 + [2]
p(isNeList) = [1] x1 + [1]
p(isNePal) = [1] x1 + [4]
p(isPal) = [1] x1 + [5]
p(isQid) = [1] x1 + [0]
p(n____) = [1] x1 + [1] x2 + [6]
p(n__a) = [4]
p(n__e) = [1]
p(n__i) = [2]
p(n__isList) = [1] x1 + [2]
p(n__isNeList) = [1] x1 + [1]
p(n__isPal) = [1] x1 + [4]
p(n__nil) = [6]
p(n__o) = [2]
p(n__u) = [1]
p(nil) = [6]
p(o) = [2]
p(tt) = [1]
p(u) = [1]

Following rules are strictly oriented:
activate(n__isNeList(X)) = [1] X + [2]
> [1] X + [1]
= isNeList(X)

Following rules are (at-least) weakly oriented:
__(X1,X2) =  [1] X1 + [1] X2 + [0]
>= [1] X1 + [1] X2 + [6]
=  n____(X1,X2)

a() =  [4]
>= [4]
=  n__a()

activate(X) =  [1] X + [1]
>= [1] X + [0]
=  X

activate(n____(X1,X2)) =  [1] X1 + [1] X2 + [7]
>= [1] X1 + [1] X2 + [0]
=  __(X1,X2)

activate(n__a()) =  [5]
>= [4]
=  a()

activate(n__e()) =  [2]
>= [2]
=  e()

activate(n__i()) =  [3]
>= [2]
=  i()

activate(n__isList(X)) =  [1] X + [3]
>= [1] X + [2]
=  isList(X)

activate(n__isPal(X)) =  [1] X + [5]
>= [1] X + [5]
=  isPal(X)

activate(n__nil()) =  [7]
>= [6]
=  nil()

activate(n__o()) =  [3]
>= [2]
=  o()

activate(n__u()) =  [2]
>= [1]
=  u()

and(tt(),X) =  [1] X + [1]
>= [1] X + [1]
=  activate(X)

e() =  [2]
>= [1]
=  n__e()

i() =  [2]
>= [2]
=  n__i()

isList(V) =  [1] V + [2]
>= [1] V + [2]
=  isNeList(activate(V))

isList(X) =  [1] X + [2]
>= [1] X + [2]
=  n__isList(X)

isList(n____(V1,V2)) =  [1] V1 + [1] V2 + [8]
>= [1] V1 + [1] V2 + [6]
=  and(isList(activate(V1)),n__isList(activate(V2)))

isList(n__nil()) =  [8]
>= [1]
=  tt()

isNeList(V) =  [1] V + [1]
>= [1] V + [1]
=  isQid(activate(V))

isNeList(X) =  [1] X + [1]
>= [1] X + [1]
=  n__isNeList(X)

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [7]
>= [1] V1 + [1] V2 + [5]
=  and(isList(activate(V1)),n__isNeList(activate(V2)))

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [7]
>= [1] V1 + [1] V2 + [5]
=  and(isNeList(activate(V1)),n__isList(activate(V2)))

isNePal(V) =  [1] V + [4]
>= [1] V + [1]
=  isQid(activate(V))

isNePal(n____(I,__(P,I))) =  [2] I + [1] P + [10]
>= [1] I + [1] P + [6]
=  and(isQid(activate(I)),n__isPal(activate(P)))

isPal(V) =  [1] V + [5]
>= [1] V + [5]
=  isNePal(activate(V))

isPal(X) =  [1] X + [5]
>= [1] X + [4]
=  n__isPal(X)

isPal(n__nil()) =  [11]
>= [1]
=  tt()

isQid(n__a()) =  [4]
>= [1]
=  tt()

isQid(n__e()) =  [1]
>= [1]
=  tt()

isQid(n__i()) =  [2]
>= [1]
=  tt()

isQid(n__o()) =  [2]
>= [1]
=  tt()

isQid(n__u()) =  [1]
>= [1]
=  tt()

nil() =  [6]
>= [6]
=  n__nil()

o() =  [2]
>= [2]
=  n__o()

u() =  [1]
>= [1]
=  n__u()

Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 11: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
__(X1,X2) -> n____(X1,X2)
- Weak TRS:
a() -> n__a()
activate(X) -> X
activate(n____(X1,X2)) -> __(X1,X2)
activate(n__a()) -> a()
activate(n__e()) -> e()
activate(n__i()) -> i()
activate(n__isList(X)) -> isList(X)
activate(n__isNeList(X)) -> isNeList(X)
activate(n__isPal(X)) -> isPal(X)
activate(n__nil()) -> nil()
activate(n__o()) -> o()
activate(n__u()) -> u()
and(tt(),X) -> activate(X)
e() -> n__e()
i() -> n__i()
isList(V) -> isNeList(activate(V))
isList(X) -> n__isList(X)
isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2)))
isList(n__nil()) -> tt()
isNeList(V) -> isQid(activate(V))
isNeList(X) -> n__isNeList(X)
isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2)))
isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2)))
isNePal(V) -> isQid(activate(V))
isNePal(n____(I,__(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P)))
isPal(V) -> isNePal(activate(V))
isPal(X) -> n__isPal(X)
isPal(n__nil()) -> tt()
isQid(n__a()) -> tt()
isQid(n__e()) -> tt()
isQid(n__i()) -> tt()
isQid(n__o()) -> tt()
isQid(n__u()) -> tt()
nil() -> n__nil()
o() -> n__o()
u() -> n__u()
- Signature:
{__/2,a/0,activate/1,and/2,e/0,i/0,isList/1,isNeList/1,isNePal/1,isPal/1,isQid/1,nil/0,o/0,u/0} / {n____/2
,n__a/0,n__e/0,n__i/0,n__isList/1,n__isNeList/1,n__isPal/1,n__nil/0,n__o/0,n__u/0,tt/0}
- Obligation:
runtime complexity wrt. defined symbols {__,a,activate,and,e,i,isList,isNeList,isNePal,isPal,isQid,nil,o
,u} and constructors {n____,n__a,n__e,n__i,n__isList,n__isNeList,n__isPal,n__nil,n__o,n__u,tt}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
uargs(activate) = {1},
uargs(and) = {1,2},
uargs(isList) = {1},
uargs(isNeList) = {1},
uargs(isNePal) = {1},
uargs(isPal) = {1},
uargs(isQid) = {1},
uargs(n__isList) = {1},
uargs(n__isNeList) = {1},
uargs(n__isPal) = {1}

Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(__) = [1] x1 + [1] x2 + [7]
p(a) = [3]
p(activate) = [1] x1 + [1]
p(and) = [1] x1 + [1] x2 + [0]
p(e) = [3]
p(i) = [4]
p(isList) = [1] x1 + [4]
p(isNeList) = [1] x1 + [3]
p(isNePal) = [1] x1 + [1]
p(isPal) = [1] x1 + [4]
p(isQid) = [1] x1 + [0]
p(n____) = [1] x1 + [1] x2 + [6]
p(n__a) = [3]
p(n__e) = [3]
p(n__i) = [3]
p(n__isList) = [1] x1 + [4]
p(n__isNeList) = [1] x1 + [2]
p(n__isPal) = [1] x1 + [4]
p(n__nil) = [0]
p(n__o) = [2]
p(n__u) = [4]
p(nil) = [1]
p(o) = [3]
p(tt) = [2]
p(u) = [5]

Following rules are strictly oriented:
__(X1,X2) = [1] X1 + [1] X2 + [7]
> [1] X1 + [1] X2 + [6]
= n____(X1,X2)

Following rules are (at-least) weakly oriented:
a() =  [3]
>= [3]
=  n__a()

activate(X) =  [1] X + [1]
>= [1] X + [0]
=  X

activate(n____(X1,X2)) =  [1] X1 + [1] X2 + [7]
>= [1] X1 + [1] X2 + [7]
=  __(X1,X2)

activate(n__a()) =  [4]
>= [3]
=  a()

activate(n__e()) =  [4]
>= [3]
=  e()

activate(n__i()) =  [4]
>= [4]
=  i()

activate(n__isList(X)) =  [1] X + [5]
>= [1] X + [4]
=  isList(X)

activate(n__isNeList(X)) =  [1] X + [3]
>= [1] X + [3]
=  isNeList(X)

activate(n__isPal(X)) =  [1] X + [5]
>= [1] X + [4]
=  isPal(X)

activate(n__nil()) =  [1]
>= [1]
=  nil()

activate(n__o()) =  [3]
>= [3]
=  o()

activate(n__u()) =  [5]
>= [5]
=  u()

and(tt(),X) =  [1] X + [2]
>= [1] X + [1]
=  activate(X)

e() =  [3]
>= [3]
=  n__e()

i() =  [4]
>= [3]
=  n__i()

isList(V) =  [1] V + [4]
>= [1] V + [4]
=  isNeList(activate(V))

isList(X) =  [1] X + [4]
>= [1] X + [4]
=  n__isList(X)

isList(n____(V1,V2)) =  [1] V1 + [1] V2 + [10]
>= [1] V1 + [1] V2 + [10]
=  and(isList(activate(V1)),n__isList(activate(V2)))

isList(n__nil()) =  [4]
>= [2]
=  tt()

isNeList(V) =  [1] V + [3]
>= [1] V + [1]
=  isQid(activate(V))

isNeList(X) =  [1] X + [3]
>= [1] X + [2]
=  n__isNeList(X)

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [9]
>= [1] V1 + [1] V2 + [8]
=  and(isList(activate(V1)),n__isNeList(activate(V2)))

isNeList(n____(V1,V2)) =  [1] V1 + [1] V2 + [9]
>= [1] V1 + [1] V2 + [9]
=  and(isNeList(activate(V1)),n__isList(activate(V2)))

isNePal(V) =  [1] V + [1]
>= [1] V + [1]
=  isQid(activate(V))

isNePal(n____(I,__(P,I))) =  [2] I + [1] P + [14]
>= [1] I + [1] P + [6]
=  and(isQid(activate(I)),n__isPal(activate(P)))

isPal(V) =  [1] V + [4]
>= [1] V + [2]
=  isNePal(activate(V))

isPal(X) =  [1] X + [4]
>= [1] X + [4]
=  n__isPal(X)

isPal(n__nil()) =  [4]
>= [2]
=  tt()

isQid(n__a()) =  [3]
>= [2]
=  tt()

isQid(n__e()) =  [3]
>= [2]
=  tt()

isQid(n__i()) =  [3]
>= [2]
=  tt()

isQid(n__o()) =  [2]
>= [2]
=  tt()

isQid(n__u()) =  [4]
>= [2]
=  tt()

nil() =  [1]
>= [0]
=  n__nil()

o() =  [3]
>= [2]
=  n__o()

u() =  [5]
>= [4]
=  n__u()

Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 12: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Weak TRS:
__(X1,X2) -> n____(X1,X2)
a() -> n__a()
activate(X) -> X
activate(n____(X1,X2)) -> __(X1,X2)
activate(n__a()) -> a()
activate(n__e()) -> e()
activate(n__i()) -> i()
activate(n__isList(X)) -> isList(X)
activate(n__isNeList(X)) -> isNeList(X)
activate(n__isPal(X)) -> isPal(X)
activate(n__nil()) -> nil()
activate(n__o()) -> o()
activate(n__u()) -> u()
and(tt(),X) -> activate(X)
e() -> n__e()
i() -> n__i()
isList(V) -> isNeList(activate(V))
isList(X) -> n__isList(X)
isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2)))
isList(n__nil()) -> tt()
isNeList(V) -> isQid(activate(V))
isNeList(X) -> n__isNeList(X)
isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2)))
isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2)))
isNePal(V) -> isQid(activate(V))
isNePal(n____(I,__(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P)))
isPal(V) -> isNePal(activate(V))
isPal(X) -> n__isPal(X)
isPal(n__nil()) -> tt()
isQid(n__a()) -> tt()
isQid(n__e()) -> tt()
isQid(n__i()) -> tt()
isQid(n__o()) -> tt()
isQid(n__u()) -> tt()
nil() -> n__nil()
o() -> n__o()
u() -> n__u()
- Signature:
{__/2,a/0,activate/1,and/2,e/0,i/0,isList/1,isNeList/1,isNePal/1,isPal/1,isQid/1,nil/0,o/0,u/0} / {n____/2
,n__a/0,n__e/0,n__i/0,n__isList/1,n__isNeList/1,n__isPal/1,n__nil/0,n__o/0,n__u/0,tt/0}
- Obligation:
runtime complexity wrt. defined symbols {__,a,activate,and,e,i,isList,isNeList,isNePal,isPal,isQid,nil,o
,u} and constructors {n____,n__a,n__e,n__i,n__isList,n__isNeList,n__isPal,n__nil,n__o,n__u,tt}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).

WORST_CASE(?,O(n^1))
```