(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
isNeList(V) → isQid(activate(V))
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(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
nil → n__nil
__(X1, X2) → n____(X1, X2)
isList(X) → n__isList(X)
isNeList(X) → n__isNeList(X)
isPal(X) → n__isPal(X)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
activate(n__isPal(X)) → isPal(X)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X
Rewrite Strategy: INNERMOST
(1) RenamingProof (EQUIVALENT transformation)
Renamed function symbols to avoid clashes with predefined symbol.
(2) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
isNeList(V) → isQid(activate(V))
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(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
nil → n__nil
__(X1, X2) → n____(X1, X2)
isList(X) → n__isList(X)
isNeList(X) → n__isNeList(X)
isPal(X) → n__isPal(X)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
activate(n__isPal(X)) → isPal(X)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X
S is empty.
Rewrite Strategy: INNERMOST
(3) TypeInferenceProof (BOTH BOUNDS(ID, ID) transformation)
Infered types.
(4) Obligation:
Innermost TRS:
Rules:
__(__(X, Y), Z) → __(X, __(Y, Z))
__(X, nil) → X
__(nil, X) → X
and(tt, X) → activate(X)
isList(V) → isNeList(activate(V))
isList(n__nil) → tt
isList(n____(V1, V2)) → and(isList(activate(V1)), n__isList(activate(V2)))
isNeList(V) → isQid(activate(V))
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(n__nil) → tt
isQid(n__a) → tt
isQid(n__e) → tt
isQid(n__i) → tt
isQid(n__o) → tt
isQid(n__u) → tt
nil → n__nil
__(X1, X2) → n____(X1, X2)
isList(X) → n__isList(X)
isNeList(X) → n__isNeList(X)
isPal(X) → n__isPal(X)
a → n__a
e → n__e
i → n__i
o → n__o
u → n__u
activate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)
activate(n__isList(X)) → isList(X)
activate(n__isNeList(X)) → isNeList(X)
activate(n__isPal(X)) → isPal(X)
activate(n__a) → a
activate(n__e) → e
activate(n__i) → i
activate(n__o) → o
activate(n__u) → u
activate(X) → X
Types:
__ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
and :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
tt :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
activate :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n____ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isQid :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNePal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
hole_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0 :: Nat → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
(5) OrderProof (LOWER BOUND(ID) transformation)
Heuristically decided to analyse the following defined symbols:
__,
and,
activate,
isList,
isNeList,
isNePal,
isPalThey will be analysed ascendingly in the following order:
__ < activate
and = activate
and = isList
and = isNeList
and = isNePal
and = isPal
activate = isList
activate = isNeList
activate = isNePal
activate = isPal
isList = isNeList
isList = isNePal
isList = isPal
isNeList = isNePal
isNeList = isPal
isNePal = isPal
(6) Obligation:
Innermost TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
Xand(
tt,
X) →
activate(
X)
isList(
V) →
isNeList(
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
and(
isList(
activate(
V1)),
n__isList(
activate(
V2)))
isNeList(
V) →
isQid(
activate(
V))
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(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
isList(
X) →
n__isList(
X)
isNeList(
X) →
n__isNeList(
X)
isPal(
X) →
n__isPal(
X)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__isList(
X)) →
isList(
X)
activate(
n__isNeList(
X)) →
isNeList(
X)
activate(
n__isPal(
X)) →
isPal(
X)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
and :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
tt :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
activate :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n____ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isQid :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNePal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
hole_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0 :: Nat → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
Generator Equations:
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(0) ⇔ n__nil
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(+(x, 1)) ⇔ n____(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(x), n__nil)
The following defined symbols remain to be analysed:
__, and, activate, isList, isNeList, isNePal, isPal
They will be analysed ascendingly in the following order:
__ < activate
and = activate
and = isList
and = isNeList
and = isNePal
and = isPal
activate = isList
activate = isNeList
activate = isNePal
activate = isPal
isList = isNeList
isList = isNePal
isList = isPal
isNeList = isNePal
isNeList = isPal
isNePal = isPal
(7) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol __.
(8) Obligation:
Innermost TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
Xand(
tt,
X) →
activate(
X)
isList(
V) →
isNeList(
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
and(
isList(
activate(
V1)),
n__isList(
activate(
V2)))
isNeList(
V) →
isQid(
activate(
V))
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(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
isList(
X) →
n__isList(
X)
isNeList(
X) →
n__isNeList(
X)
isPal(
X) →
n__isPal(
X)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__isList(
X)) →
isList(
X)
activate(
n__isNeList(
X)) →
isNeList(
X)
activate(
n__isPal(
X)) →
isPal(
X)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
and :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
tt :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
activate :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n____ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isQid :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNePal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
hole_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0 :: Nat → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
Generator Equations:
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(0) ⇔ n__nil
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(+(x, 1)) ⇔ n____(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(x), n__nil)
The following defined symbols remain to be analysed:
activate, and, isList, isNeList, isNePal, isPal
They will be analysed ascendingly in the following order:
and = activate
and = isList
and = isNeList
and = isNePal
and = isPal
activate = isList
activate = isNeList
activate = isNePal
activate = isPal
isList = isNeList
isList = isNePal
isList = isPal
isNeList = isNePal
isNeList = isPal
isNePal = isPal
(9) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol activate.
(10) Obligation:
Innermost TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
Xand(
tt,
X) →
activate(
X)
isList(
V) →
isNeList(
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
and(
isList(
activate(
V1)),
n__isList(
activate(
V2)))
isNeList(
V) →
isQid(
activate(
V))
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(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
isList(
X) →
n__isList(
X)
isNeList(
X) →
n__isNeList(
X)
isPal(
X) →
n__isPal(
X)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__isList(
X)) →
isList(
X)
activate(
n__isNeList(
X)) →
isNeList(
X)
activate(
n__isPal(
X)) →
isPal(
X)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
and :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
tt :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
activate :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n____ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isQid :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNePal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
hole_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0 :: Nat → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
Generator Equations:
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(0) ⇔ n__nil
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(+(x, 1)) ⇔ n____(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(x), n__nil)
The following defined symbols remain to be analysed:
isList, and, isNeList, isNePal, isPal
They will be analysed ascendingly in the following order:
and = activate
and = isList
and = isNeList
and = isNePal
and = isPal
activate = isList
activate = isNeList
activate = isNePal
activate = isPal
isList = isNeList
isList = isNePal
isList = isPal
isNeList = isNePal
isNeList = isPal
isNePal = isPal
(11) RewriteLemmaProof (LOWER BOUND(ID) transformation)
Proved the following rewrite lemma:
isList(
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(
n1137_0)) →
tt, rt ∈ Ω(1 + n1137
0)
Induction Base:
isList(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(0)) →RΩ(1)
tt
Induction Step:
isList(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(+(n1137_0, 1))) →RΩ(1)
and(isList(activate(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(n1137_0))), n__isList(activate(n__nil))) →RΩ(1)
and(isList(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(n1137_0)), n__isList(activate(n__nil))) →IH
and(tt, n__isList(activate(n__nil))) →RΩ(1)
and(tt, n__isList(n__nil)) →RΩ(1)
activate(n__isList(n__nil)) →RΩ(1)
isList(n__nil) →RΩ(1)
tt
We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).
(12) Complex Obligation (BEST)
(13) Obligation:
Innermost TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
Xand(
tt,
X) →
activate(
X)
isList(
V) →
isNeList(
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
and(
isList(
activate(
V1)),
n__isList(
activate(
V2)))
isNeList(
V) →
isQid(
activate(
V))
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(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
isList(
X) →
n__isList(
X)
isNeList(
X) →
n__isNeList(
X)
isPal(
X) →
n__isPal(
X)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__isList(
X)) →
isList(
X)
activate(
n__isNeList(
X)) →
isNeList(
X)
activate(
n__isPal(
X)) →
isPal(
X)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
and :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
tt :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
activate :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n____ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isQid :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNePal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
hole_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0 :: Nat → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
Lemmas:
isList(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(n1137_0)) → tt, rt ∈ Ω(1 + n11370)
Generator Equations:
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(0) ⇔ n__nil
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(+(x, 1)) ⇔ n____(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(x), n__nil)
The following defined symbols remain to be analysed:
isNeList, and, activate, isNePal, isPal
They will be analysed ascendingly in the following order:
and = activate
and = isList
and = isNeList
and = isNePal
and = isPal
activate = isList
activate = isNeList
activate = isNePal
activate = isPal
isList = isNeList
isList = isNePal
isList = isPal
isNeList = isNePal
isNeList = isPal
isNePal = isPal
(14) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol isNeList.
(15) Obligation:
Innermost TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
Xand(
tt,
X) →
activate(
X)
isList(
V) →
isNeList(
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
and(
isList(
activate(
V1)),
n__isList(
activate(
V2)))
isNeList(
V) →
isQid(
activate(
V))
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(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
isList(
X) →
n__isList(
X)
isNeList(
X) →
n__isNeList(
X)
isPal(
X) →
n__isPal(
X)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__isList(
X)) →
isList(
X)
activate(
n__isNeList(
X)) →
isNeList(
X)
activate(
n__isPal(
X)) →
isPal(
X)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
and :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
tt :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
activate :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n____ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isQid :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNePal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
hole_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0 :: Nat → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
Lemmas:
isList(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(n1137_0)) → tt, rt ∈ Ω(1 + n11370)
Generator Equations:
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(0) ⇔ n__nil
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(+(x, 1)) ⇔ n____(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(x), n__nil)
The following defined symbols remain to be analysed:
and, activate, isNePal, isPal
They will be analysed ascendingly in the following order:
and = activate
and = isList
and = isNeList
and = isNePal
and = isPal
activate = isList
activate = isNeList
activate = isNePal
activate = isPal
isList = isNeList
isList = isNePal
isList = isPal
isNeList = isNePal
isNeList = isPal
isNePal = isPal
(16) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol and.
(17) Obligation:
Innermost TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
Xand(
tt,
X) →
activate(
X)
isList(
V) →
isNeList(
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
and(
isList(
activate(
V1)),
n__isList(
activate(
V2)))
isNeList(
V) →
isQid(
activate(
V))
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(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
isList(
X) →
n__isList(
X)
isNeList(
X) →
n__isNeList(
X)
isPal(
X) →
n__isPal(
X)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__isList(
X)) →
isList(
X)
activate(
n__isNeList(
X)) →
isNeList(
X)
activate(
n__isPal(
X)) →
isPal(
X)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
and :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
tt :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
activate :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n____ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isQid :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNePal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
hole_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0 :: Nat → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
Lemmas:
isList(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(n1137_0)) → tt, rt ∈ Ω(1 + n11370)
Generator Equations:
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(0) ⇔ n__nil
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(+(x, 1)) ⇔ n____(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(x), n__nil)
The following defined symbols remain to be analysed:
isPal, activate, isNePal
They will be analysed ascendingly in the following order:
and = activate
and = isList
and = isNeList
and = isNePal
and = isPal
activate = isList
activate = isNeList
activate = isNePal
activate = isPal
isList = isNeList
isList = isNePal
isList = isPal
isNeList = isNePal
isNeList = isPal
isNePal = isPal
(18) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol isPal.
(19) Obligation:
Innermost TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
Xand(
tt,
X) →
activate(
X)
isList(
V) →
isNeList(
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
and(
isList(
activate(
V1)),
n__isList(
activate(
V2)))
isNeList(
V) →
isQid(
activate(
V))
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(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
isList(
X) →
n__isList(
X)
isNeList(
X) →
n__isNeList(
X)
isPal(
X) →
n__isPal(
X)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__isList(
X)) →
isList(
X)
activate(
n__isNeList(
X)) →
isNeList(
X)
activate(
n__isPal(
X)) →
isPal(
X)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
and :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
tt :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
activate :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n____ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isQid :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNePal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
hole_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0 :: Nat → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
Lemmas:
isList(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(n1137_0)) → tt, rt ∈ Ω(1 + n11370)
Generator Equations:
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(0) ⇔ n__nil
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(+(x, 1)) ⇔ n____(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(x), n__nil)
The following defined symbols remain to be analysed:
isNePal, activate
They will be analysed ascendingly in the following order:
and = activate
and = isList
and = isNeList
and = isNePal
and = isPal
activate = isList
activate = isNeList
activate = isNePal
activate = isPal
isList = isNeList
isList = isNePal
isList = isPal
isNeList = isNePal
isNeList = isPal
isNePal = isPal
(20) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol isNePal.
(21) Obligation:
Innermost TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
Xand(
tt,
X) →
activate(
X)
isList(
V) →
isNeList(
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
and(
isList(
activate(
V1)),
n__isList(
activate(
V2)))
isNeList(
V) →
isQid(
activate(
V))
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(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
isList(
X) →
n__isList(
X)
isNeList(
X) →
n__isNeList(
X)
isPal(
X) →
n__isPal(
X)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__isList(
X)) →
isList(
X)
activate(
n__isNeList(
X)) →
isNeList(
X)
activate(
n__isPal(
X)) →
isPal(
X)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
and :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
tt :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
activate :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n____ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isQid :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNePal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
hole_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0 :: Nat → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
Lemmas:
isList(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(n1137_0)) → tt, rt ∈ Ω(1 + n11370)
Generator Equations:
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(0) ⇔ n__nil
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(+(x, 1)) ⇔ n____(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(x), n__nil)
The following defined symbols remain to be analysed:
activate
They will be analysed ascendingly in the following order:
and = activate
and = isList
and = isNeList
and = isNePal
and = isPal
activate = isList
activate = isNeList
activate = isNePal
activate = isPal
isList = isNeList
isList = isNePal
isList = isPal
isNeList = isNePal
isNeList = isPal
isNePal = isPal
(22) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol activate.
(23) Obligation:
Innermost TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
Xand(
tt,
X) →
activate(
X)
isList(
V) →
isNeList(
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
and(
isList(
activate(
V1)),
n__isList(
activate(
V2)))
isNeList(
V) →
isQid(
activate(
V))
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(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
isList(
X) →
n__isList(
X)
isNeList(
X) →
n__isNeList(
X)
isPal(
X) →
n__isPal(
X)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__isList(
X)) →
isList(
X)
activate(
n__isNeList(
X)) →
isNeList(
X)
activate(
n__isPal(
X)) →
isPal(
X)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
and :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
tt :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
activate :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n____ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isQid :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNePal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
hole_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0 :: Nat → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
Lemmas:
isList(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(n1137_0)) → tt, rt ∈ Ω(1 + n11370)
Generator Equations:
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(0) ⇔ n__nil
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(+(x, 1)) ⇔ n____(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(x), n__nil)
No more defined symbols left to analyse.
(24) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n1) was proven with the following lemma:
isList(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(n1137_0)) → tt, rt ∈ Ω(1 + n11370)
(25) BOUNDS(n^1, INF)
(26) Obligation:
Innermost TRS:
Rules:
__(
__(
X,
Y),
Z) →
__(
X,
__(
Y,
Z))
__(
X,
nil) →
X__(
nil,
X) →
Xand(
tt,
X) →
activate(
X)
isList(
V) →
isNeList(
activate(
V))
isList(
n__nil) →
ttisList(
n____(
V1,
V2)) →
and(
isList(
activate(
V1)),
n__isList(
activate(
V2)))
isNeList(
V) →
isQid(
activate(
V))
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(
n__nil) →
ttisQid(
n__a) →
ttisQid(
n__e) →
ttisQid(
n__i) →
ttisQid(
n__o) →
ttisQid(
n__u) →
ttnil →
n__nil__(
X1,
X2) →
n____(
X1,
X2)
isList(
X) →
n__isList(
X)
isNeList(
X) →
n__isNeList(
X)
isPal(
X) →
n__isPal(
X)
a →
n__ae →
n__ei →
n__io →
n__ou →
n__uactivate(
n__nil) →
nilactivate(
n____(
X1,
X2)) →
__(
X1,
X2)
activate(
n__isList(
X)) →
isList(
X)
activate(
n__isNeList(
X)) →
isNeList(
X)
activate(
n__isPal(
X)) →
isPal(
X)
activate(
n__a) →
aactivate(
n__e) →
eactivate(
n__i) →
iactivate(
n__o) →
oactivate(
n__u) →
uactivate(
X) →
XTypes:
__ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
and :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
tt :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
activate :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__nil :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n____ :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isQid :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isNeList :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isNePal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
isPal :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
n__u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
a :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
e :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
i :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
o :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
u :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
hole_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u1_0 :: tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0 :: Nat → tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u
Lemmas:
isList(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(n1137_0)) → tt, rt ∈ Ω(1 + n11370)
Generator Equations:
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(0) ⇔ n__nil
gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(+(x, 1)) ⇔ n____(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(x), n__nil)
No more defined symbols left to analyse.
(27) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n1) was proven with the following lemma:
isList(gen_tt:n__nil:n____:n__isList:n__isNeList:n__isPal:n__a:n__e:n__i:n__o:n__u2_0(n1137_0)) → tt, rt ∈ Ω(1 + n11370)
(28) BOUNDS(n^1, INF)