We consider the following Problem:
Strict Trs:
{ a__eq(0(), 0()) -> true()
, a__eq(s(X), s(Y)) -> a__eq(X, Y)
, a__eq(X, Y) -> false()
, a__inf(X) -> cons(X, inf(s(X)))
, a__take(0(), X) -> nil()
, a__take(s(X), cons(Y, L)) -> cons(Y, take(X, L))
, a__length(nil()) -> 0()
, a__length(cons(X, L)) -> s(length(L))
, mark(eq(X1, X2)) -> a__eq(X1, X2)
, mark(inf(X)) -> a__inf(mark(X))
, mark(take(X1, X2)) -> a__take(mark(X1), mark(X2))
, mark(length(X)) -> a__length(mark(X))
, mark(0()) -> 0()
, mark(true()) -> true()
, mark(s(X)) -> s(X)
, mark(false()) -> false()
, mark(cons(X1, X2)) -> cons(X1, X2)
, mark(nil()) -> nil()
, a__eq(X1, X2) -> eq(X1, X2)
, a__inf(X) -> inf(X)
, a__take(X1, X2) -> take(X1, X2)
, a__length(X) -> length(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
We consider the following Problem:
Strict Trs:
{ a__eq(0(), 0()) -> true()
, a__eq(s(X), s(Y)) -> a__eq(X, Y)
, a__eq(X, Y) -> false()
, a__inf(X) -> cons(X, inf(s(X)))
, a__take(0(), X) -> nil()
, a__take(s(X), cons(Y, L)) -> cons(Y, take(X, L))
, a__length(nil()) -> 0()
, a__length(cons(X, L)) -> s(length(L))
, mark(eq(X1, X2)) -> a__eq(X1, X2)
, mark(inf(X)) -> a__inf(mark(X))
, mark(take(X1, X2)) -> a__take(mark(X1), mark(X2))
, mark(length(X)) -> a__length(mark(X))
, mark(0()) -> 0()
, mark(true()) -> true()
, mark(s(X)) -> s(X)
, mark(false()) -> false()
, mark(cons(X1, X2)) -> cons(X1, X2)
, mark(nil()) -> nil()
, a__eq(X1, X2) -> eq(X1, X2)
, a__inf(X) -> inf(X)
, a__take(X1, X2) -> take(X1, X2)
, a__length(X) -> length(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component:
{ a__eq(0(), 0()) -> true()
, a__eq(X, Y) -> false()
, a__take(0(), X) -> nil()
, a__take(s(X), cons(Y, L)) -> cons(Y, take(X, L))
, a__length(nil()) -> 0()
, a__length(cons(X, L)) -> s(length(L))
, mark(0()) -> 0()
, mark(true()) -> true()
, mark(s(X)) -> s(X)
, mark(false()) -> false()
, mark(cons(X1, X2)) -> cons(X1, X2)
, mark(nil()) -> nil()
, a__eq(X1, X2) -> eq(X1, X2)
, a__inf(X) -> inf(X)
, a__take(X1, X2) -> take(X1, X2)
, a__length(X) -> length(X)}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(a__eq) = {}, Uargs(s) = {}, Uargs(a__inf) = {1},
Uargs(cons) = {}, Uargs(inf) = {}, Uargs(a__take) = {1, 2},
Uargs(take) = {}, Uargs(a__length) = {1}, Uargs(length) = {},
Uargs(mark) = {}, Uargs(eq) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
a__eq(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
[0 0] [0 0] [1]
0() = [0]
[0]
true() = [0]
[0]
s(x1) = [0 0] x1 + [0]
[0 0] [1]
false() = [0]
[0]
a__inf(x1) = [1 1] x1 + [1]
[0 0] [1]
cons(x1, x2) = [1 1] x1 + [0 0] x2 + [1]
[0 0] [0 0] [1]
inf(x1) = [1 0] x1 + [0]
[0 0] [0]
a__take(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [1]
nil() = [0]
[0]
take(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
[0 0] [0 0] [0]
a__length(x1) = [1 0] x1 + [1]
[0 0] [1]
length(x1) = [1 0] x1 + [0]
[0 0] [0]
mark(x1) = [1 0] x1 + [1]
[0 0] [1]
eq(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [0]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ a__eq(s(X), s(Y)) -> a__eq(X, Y)
, a__inf(X) -> cons(X, inf(s(X)))
, mark(eq(X1, X2)) -> a__eq(X1, X2)
, mark(inf(X)) -> a__inf(mark(X))
, mark(take(X1, X2)) -> a__take(mark(X1), mark(X2))
, mark(length(X)) -> a__length(mark(X))}
Weak Trs:
{ a__eq(0(), 0()) -> true()
, a__eq(X, Y) -> false()
, a__take(0(), X) -> nil()
, a__take(s(X), cons(Y, L)) -> cons(Y, take(X, L))
, a__length(nil()) -> 0()
, a__length(cons(X, L)) -> s(length(L))
, mark(0()) -> 0()
, mark(true()) -> true()
, mark(s(X)) -> s(X)
, mark(false()) -> false()
, mark(cons(X1, X2)) -> cons(X1, X2)
, mark(nil()) -> nil()
, a__eq(X1, X2) -> eq(X1, X2)
, a__inf(X) -> inf(X)
, a__take(X1, X2) -> take(X1, X2)
, a__length(X) -> length(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {a__inf(X) -> cons(X, inf(s(X)))}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(a__eq) = {}, Uargs(s) = {}, Uargs(a__inf) = {1},
Uargs(cons) = {}, Uargs(inf) = {}, Uargs(a__take) = {1, 2},
Uargs(take) = {}, Uargs(a__length) = {1}, Uargs(length) = {},
Uargs(mark) = {}, Uargs(eq) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
a__eq(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
[0 0] [0 0] [1]
0() = [0]
[0]
true() = [0]
[0]
s(x1) = [0 0] x1 + [0]
[0 0] [0]
false() = [0]
[0]
a__inf(x1) = [1 2] x1 + [2]
[0 0] [0]
cons(x1, x2) = [1 1] x1 + [0 0] x2 + [1]
[0 0] [0 0] [0]
inf(x1) = [1 2] x1 + [0]
[0 0] [0]
a__take(x1, x2) = [1 2] x1 + [1 3] x2 + [0]
[0 0] [0 0] [1]
nil() = [0]
[0]
take(x1, x2) = [1 2] x1 + [1 2] x2 + [0]
[0 0] [0 0] [0]
a__length(x1) = [1 3] x1 + [0]
[0 0] [3]
length(x1) = [1 2] x1 + [0]
[0 0] [2]
mark(x1) = [1 2] x1 + [1]
[0 0] [1]
eq(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [0]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ a__eq(s(X), s(Y)) -> a__eq(X, Y)
, mark(eq(X1, X2)) -> a__eq(X1, X2)
, mark(inf(X)) -> a__inf(mark(X))
, mark(take(X1, X2)) -> a__take(mark(X1), mark(X2))
, mark(length(X)) -> a__length(mark(X))}
Weak Trs:
{ a__inf(X) -> cons(X, inf(s(X)))
, a__eq(0(), 0()) -> true()
, a__eq(X, Y) -> false()
, a__take(0(), X) -> nil()
, a__take(s(X), cons(Y, L)) -> cons(Y, take(X, L))
, a__length(nil()) -> 0()
, a__length(cons(X, L)) -> s(length(L))
, mark(0()) -> 0()
, mark(true()) -> true()
, mark(s(X)) -> s(X)
, mark(false()) -> false()
, mark(cons(X1, X2)) -> cons(X1, X2)
, mark(nil()) -> nil()
, a__eq(X1, X2) -> eq(X1, X2)
, a__inf(X) -> inf(X)
, a__take(X1, X2) -> take(X1, X2)
, a__length(X) -> length(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {mark(eq(X1, X2)) -> a__eq(X1, X2)}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(a__eq) = {}, Uargs(s) = {}, Uargs(a__inf) = {1},
Uargs(cons) = {}, Uargs(inf) = {}, Uargs(a__take) = {1, 2},
Uargs(take) = {}, Uargs(a__length) = {1}, Uargs(length) = {},
Uargs(mark) = {}, Uargs(eq) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
a__eq(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
[0 0] [0 0] [1]
0() = [0]
[0]
true() = [0]
[0]
s(x1) = [0 0] x1 + [0]
[0 0] [1]
false() = [0]
[0]
a__inf(x1) = [1 2] x1 + [2]
[0 0] [1]
cons(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
[0 0] [0 0] [1]
inf(x1) = [0 0] x1 + [0]
[0 0] [0]
a__take(x1, x2) = [1 0] x1 + [1 3] x2 + [1]
[0 0] [0 0] [1]
nil() = [0]
[0]
take(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [0]
a__length(x1) = [1 3] x1 + [3]
[0 0] [1]
length(x1) = [0 0] x1 + [0]
[0 0] [0]
mark(x1) = [0 0] x1 + [3]
[0 0] [2]
eq(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [0]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ a__eq(s(X), s(Y)) -> a__eq(X, Y)
, mark(inf(X)) -> a__inf(mark(X))
, mark(take(X1, X2)) -> a__take(mark(X1), mark(X2))
, mark(length(X)) -> a__length(mark(X))}
Weak Trs:
{ mark(eq(X1, X2)) -> a__eq(X1, X2)
, a__inf(X) -> cons(X, inf(s(X)))
, a__eq(0(), 0()) -> true()
, a__eq(X, Y) -> false()
, a__take(0(), X) -> nil()
, a__take(s(X), cons(Y, L)) -> cons(Y, take(X, L))
, a__length(nil()) -> 0()
, a__length(cons(X, L)) -> s(length(L))
, mark(0()) -> 0()
, mark(true()) -> true()
, mark(s(X)) -> s(X)
, mark(false()) -> false()
, mark(cons(X1, X2)) -> cons(X1, X2)
, mark(nil()) -> nil()
, a__eq(X1, X2) -> eq(X1, X2)
, a__inf(X) -> inf(X)
, a__take(X1, X2) -> take(X1, X2)
, a__length(X) -> length(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {a__eq(s(X), s(Y)) -> a__eq(X, Y)}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(a__eq) = {}, Uargs(s) = {}, Uargs(a__inf) = {1},
Uargs(cons) = {}, Uargs(inf) = {}, Uargs(a__take) = {1, 2},
Uargs(take) = {}, Uargs(a__length) = {1}, Uargs(length) = {},
Uargs(mark) = {}, Uargs(eq) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
a__eq(x1, x2) = [1 0] x1 + [0 0] x2 + [1]
[0 0] [0 0] [0]
0() = [0]
[0]
true() = [0]
[0]
s(x1) = [1 0] x1 + [1]
[0 0] [0]
false() = [0]
[0]
a__inf(x1) = [1 0] x1 + [1]
[0 0] [0]
cons(x1, x2) = [0 0] x1 + [1 0] x2 + [0]
[0 0] [0 0] [0]
inf(x1) = [1 0] x1 + [0]
[0 0] [0]
a__take(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [1]
nil() = [0]
[0]
take(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
[0 0] [0 0] [0]
a__length(x1) = [1 0] x1 + [1]
[0 0] [1]
length(x1) = [1 0] x1 + [0]
[0 0] [0]
mark(x1) = [1 0] x1 + [0]
[0 0] [0]
eq(x1, x2) = [1 0] x1 + [0 0] x2 + [1]
[0 0] [0 0] [0]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ mark(inf(X)) -> a__inf(mark(X))
, mark(take(X1, X2)) -> a__take(mark(X1), mark(X2))
, mark(length(X)) -> a__length(mark(X))}
Weak Trs:
{ a__eq(s(X), s(Y)) -> a__eq(X, Y)
, mark(eq(X1, X2)) -> a__eq(X1, X2)
, a__inf(X) -> cons(X, inf(s(X)))
, a__eq(0(), 0()) -> true()
, a__eq(X, Y) -> false()
, a__take(0(), X) -> nil()
, a__take(s(X), cons(Y, L)) -> cons(Y, take(X, L))
, a__length(nil()) -> 0()
, a__length(cons(X, L)) -> s(length(L))
, mark(0()) -> 0()
, mark(true()) -> true()
, mark(s(X)) -> s(X)
, mark(false()) -> false()
, mark(cons(X1, X2)) -> cons(X1, X2)
, mark(nil()) -> nil()
, a__eq(X1, X2) -> eq(X1, X2)
, a__inf(X) -> inf(X)
, a__take(X1, X2) -> take(X1, X2)
, a__length(X) -> length(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {mark(take(X1, X2)) -> a__take(mark(X1), mark(X2))}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(a__eq) = {}, Uargs(s) = {}, Uargs(a__inf) = {1},
Uargs(cons) = {}, Uargs(inf) = {}, Uargs(a__take) = {1, 2},
Uargs(take) = {}, Uargs(a__length) = {1}, Uargs(length) = {},
Uargs(mark) = {}, Uargs(eq) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
a__eq(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
[0 0] [0 0] [1]
0() = [0]
[0]
true() = [0]
[0]
s(x1) = [0 0] x1 + [0]
[0 0] [0]
false() = [0]
[0]
a__inf(x1) = [1 0] x1 + [1]
[0 1] [0]
cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 1] [0 0] [0]
inf(x1) = [0 0] x1 + [0]
[0 1] [0]
a__take(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 1] [0 1] [2]
nil() = [0]
[0]
take(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 1] [0 1] [2]
a__length(x1) = [1 0] x1 + [1]
[0 1] [1]
length(x1) = [0 0] x1 + [0]
[0 1] [0]
mark(x1) = [0 1] x1 + [0]
[0 1] [0]
eq(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ mark(inf(X)) -> a__inf(mark(X))
, mark(length(X)) -> a__length(mark(X))}
Weak Trs:
{ mark(take(X1, X2)) -> a__take(mark(X1), mark(X2))
, a__eq(s(X), s(Y)) -> a__eq(X, Y)
, mark(eq(X1, X2)) -> a__eq(X1, X2)
, a__inf(X) -> cons(X, inf(s(X)))
, a__eq(0(), 0()) -> true()
, a__eq(X, Y) -> false()
, a__take(0(), X) -> nil()
, a__take(s(X), cons(Y, L)) -> cons(Y, take(X, L))
, a__length(nil()) -> 0()
, a__length(cons(X, L)) -> s(length(L))
, mark(0()) -> 0()
, mark(true()) -> true()
, mark(s(X)) -> s(X)
, mark(false()) -> false()
, mark(cons(X1, X2)) -> cons(X1, X2)
, mark(nil()) -> nil()
, a__eq(X1, X2) -> eq(X1, X2)
, a__inf(X) -> inf(X)
, a__take(X1, X2) -> take(X1, X2)
, a__length(X) -> length(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {mark(length(X)) -> a__length(mark(X))}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(a__eq) = {}, Uargs(s) = {}, Uargs(a__inf) = {1},
Uargs(cons) = {}, Uargs(inf) = {}, Uargs(a__take) = {1, 2},
Uargs(take) = {}, Uargs(a__length) = {1}, Uargs(length) = {},
Uargs(mark) = {}, Uargs(eq) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
a__eq(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
[0 0] [0 0] [1]
0() = [0]
[0]
true() = [0]
[0]
s(x1) = [0 0] x1 + [0]
[0 0] [0]
false() = [0]
[0]
a__inf(x1) = [1 0] x1 + [1]
[0 1] [1]
cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 1] [0 0] [1]
inf(x1) = [0 0] x1 + [0]
[0 1] [0]
a__take(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
[0 1] [0 1] [0]
nil() = [0]
[0]
take(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 1] [0 1] [0]
a__length(x1) = [1 0] x1 + [1]
[0 1] [2]
length(x1) = [0 0] x1 + [0]
[0 1] [2]
mark(x1) = [0 1] x1 + [0]
[0 1] [0]
eq(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs: {mark(inf(X)) -> a__inf(mark(X))}
Weak Trs:
{ mark(length(X)) -> a__length(mark(X))
, mark(take(X1, X2)) -> a__take(mark(X1), mark(X2))
, a__eq(s(X), s(Y)) -> a__eq(X, Y)
, mark(eq(X1, X2)) -> a__eq(X1, X2)
, a__inf(X) -> cons(X, inf(s(X)))
, a__eq(0(), 0()) -> true()
, a__eq(X, Y) -> false()
, a__take(0(), X) -> nil()
, a__take(s(X), cons(Y, L)) -> cons(Y, take(X, L))
, a__length(nil()) -> 0()
, a__length(cons(X, L)) -> s(length(L))
, mark(0()) -> 0()
, mark(true()) -> true()
, mark(s(X)) -> s(X)
, mark(false()) -> false()
, mark(cons(X1, X2)) -> cons(X1, X2)
, mark(nil()) -> nil()
, a__eq(X1, X2) -> eq(X1, X2)
, a__inf(X) -> inf(X)
, a__take(X1, X2) -> take(X1, X2)
, a__length(X) -> length(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {mark(inf(X)) -> a__inf(mark(X))}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(a__eq) = {}, Uargs(s) = {}, Uargs(a__inf) = {1},
Uargs(cons) = {}, Uargs(inf) = {}, Uargs(a__take) = {1, 2},
Uargs(take) = {}, Uargs(a__length) = {1}, Uargs(length) = {},
Uargs(mark) = {}, Uargs(eq) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
a__eq(x1, x2) = [0 0] x1 + [0 1] x2 + [1]
[0 0] [0 1] [1]
0() = [0]
[0]
true() = [0]
[0]
s(x1) = [0 0] x1 + [0]
[0 1] [0]
false() = [0]
[0]
a__inf(x1) = [1 0] x1 + [1]
[0 1] [2]
cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 1] [0]
inf(x1) = [0 0] x1 + [0]
[0 1] [2]
a__take(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
[0 1] [0 1] [0]
nil() = [0]
[0]
take(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 1] [0 1] [0]
a__length(x1) = [1 0] x1 + [0]
[0 1] [0]
length(x1) = [0 0] x1 + [0]
[0 1] [0]
mark(x1) = [0 1] x1 + [0]
[0 1] [0]
eq(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 1] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Weak Trs:
{ mark(inf(X)) -> a__inf(mark(X))
, mark(length(X)) -> a__length(mark(X))
, mark(take(X1, X2)) -> a__take(mark(X1), mark(X2))
, a__eq(s(X), s(Y)) -> a__eq(X, Y)
, mark(eq(X1, X2)) -> a__eq(X1, X2)
, a__inf(X) -> cons(X, inf(s(X)))
, a__eq(0(), 0()) -> true()
, a__eq(X, Y) -> false()
, a__take(0(), X) -> nil()
, a__take(s(X), cons(Y, L)) -> cons(Y, take(X, L))
, a__length(nil()) -> 0()
, a__length(cons(X, L)) -> s(length(L))
, mark(0()) -> 0()
, mark(true()) -> true()
, mark(s(X)) -> s(X)
, mark(false()) -> false()
, mark(cons(X1, X2)) -> cons(X1, X2)
, mark(nil()) -> nil()
, a__eq(X1, X2) -> eq(X1, X2)
, a__inf(X) -> inf(X)
, a__take(X1, X2) -> take(X1, X2)
, a__length(X) -> length(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(O(1),O(1))
Proof:
We consider the following Problem:
Weak Trs:
{ mark(inf(X)) -> a__inf(mark(X))
, mark(length(X)) -> a__length(mark(X))
, mark(take(X1, X2)) -> a__take(mark(X1), mark(X2))
, a__eq(s(X), s(Y)) -> a__eq(X, Y)
, mark(eq(X1, X2)) -> a__eq(X1, X2)
, a__inf(X) -> cons(X, inf(s(X)))
, a__eq(0(), 0()) -> true()
, a__eq(X, Y) -> false()
, a__take(0(), X) -> nil()
, a__take(s(X), cons(Y, L)) -> cons(Y, take(X, L))
, a__length(nil()) -> 0()
, a__length(cons(X, L)) -> s(length(L))
, mark(0()) -> 0()
, mark(true()) -> true()
, mark(s(X)) -> s(X)
, mark(false()) -> false()
, mark(cons(X1, X2)) -> cons(X1, X2)
, mark(nil()) -> nil()
, a__eq(X1, X2) -> eq(X1, X2)
, a__inf(X) -> inf(X)
, a__take(X1, X2) -> take(X1, X2)
, a__length(X) -> length(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(O(1),O(1))
Proof:
Empty rules are trivially bounded
Hurray, we answered YES(?,O(n^1))