YES(O(1), O(n^1)) 0.00/0.93 YES(O(1), O(n^1)) 0.00/0.97 0.00/0.97 0.00/0.97
0.00/0.97 0.00/0.970 CpxTRS0.00/0.97
↳1 CpxTrsToCdtProof (BOTH BOUNDS(ID, ID))0.00/0.97
↳2 CdtProblem0.00/0.97
↳3 CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID))0.00/0.97
↳4 CdtProblem0.00/0.97
↳5 CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))))0.00/0.97
↳6 CdtProblem0.00/0.97
↳7 CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))))0.00/0.97
↳8 CdtProblem0.00/0.97
↳9 CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))))0.00/0.97
↳10 CdtProblem0.00/0.97
↳11 SIsEmptyProof (BOTH BOUNDS(ID, ID))0.00/0.97
↳12 BOUNDS(O(1), O(1))0.00/0.97
a__eq(0, 0) → true 0.00/0.97
a__eq(s(X), s(Y)) → a__eq(X, Y) 0.00/0.97
a__eq(X, Y) → false 0.00/0.97
a__inf(X) → cons(X, inf(s(X))) 0.00/0.97
a__take(0, X) → nil 0.00/0.97
a__take(s(X), cons(Y, L)) → cons(Y, take(X, L)) 0.00/0.97
a__length(nil) → 0 0.00/0.97
a__length(cons(X, L)) → s(length(L)) 0.00/0.97
mark(eq(X1, X2)) → a__eq(X1, X2) 0.00/0.97
mark(inf(X)) → a__inf(mark(X)) 0.00/0.97
mark(take(X1, X2)) → a__take(mark(X1), mark(X2)) 0.00/0.97
mark(length(X)) → a__length(mark(X)) 0.00/0.97
mark(0) → 0 0.00/0.97
mark(true) → true 0.00/0.97
mark(s(X)) → s(X) 0.00/0.97
mark(false) → false 0.00/0.97
mark(cons(X1, X2)) → cons(X1, X2) 0.00/0.97
mark(nil) → nil 0.00/0.97
a__eq(X1, X2) → eq(X1, X2) 0.00/0.97
a__inf(X) → inf(X) 0.00/0.97
a__take(X1, X2) → take(X1, X2) 0.00/0.97
a__length(X) → length(X)
Tuples:
a__eq(0, 0) → true 0.00/0.97
a__eq(s(z0), s(z1)) → a__eq(z0, z1) 0.00/0.97
a__eq(z0, z1) → false 0.00/0.97
a__eq(z0, z1) → eq(z0, z1) 0.00/0.97
a__inf(z0) → cons(z0, inf(s(z0))) 0.00/0.97
a__inf(z0) → inf(z0) 0.00/0.97
a__take(0, z0) → nil 0.00/0.97
a__take(s(z0), cons(z1, z2)) → cons(z1, take(z0, z2)) 0.00/0.97
a__take(z0, z1) → take(z0, z1) 0.00/0.97
a__length(nil) → 0 0.00/0.97
a__length(cons(z0, z1)) → s(length(z1)) 0.00/0.97
a__length(z0) → length(z0) 0.00/0.97
mark(eq(z0, z1)) → a__eq(z0, z1) 0.00/0.97
mark(inf(z0)) → a__inf(mark(z0)) 0.00/0.97
mark(take(z0, z1)) → a__take(mark(z0), mark(z1)) 0.00/0.97
mark(length(z0)) → a__length(mark(z0)) 0.00/0.97
mark(0) → 0 0.00/0.97
mark(true) → true 0.00/0.97
mark(s(z0)) → s(z0) 0.00/0.97
mark(false) → false 0.00/0.97
mark(cons(z0, z1)) → cons(z0, z1) 0.00/0.97
mark(nil) → nil
S tuples:
A__EQ(s(z0), s(z1)) → c1(A__EQ(z0, z1)) 0.00/0.97
MARK(eq(z0, z1)) → c12(A__EQ(z0, z1)) 0.00/0.97
MARK(inf(z0)) → c13(A__INF(mark(z0)), MARK(z0)) 0.00/0.97
MARK(take(z0, z1)) → c14(A__TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) 0.00/0.97
MARK(length(z0)) → c15(A__LENGTH(mark(z0)), MARK(z0))
K tuples:none
A__EQ(s(z0), s(z1)) → c1(A__EQ(z0, z1)) 0.00/0.97
MARK(eq(z0, z1)) → c12(A__EQ(z0, z1)) 0.00/0.97
MARK(inf(z0)) → c13(A__INF(mark(z0)), MARK(z0)) 0.00/0.97
MARK(take(z0, z1)) → c14(A__TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) 0.00/0.97
MARK(length(z0)) → c15(A__LENGTH(mark(z0)), MARK(z0))
a__eq, a__inf, a__take, a__length, mark
A__EQ, MARK
c1, c12, c13, c14, c15
Tuples:
a__eq(0, 0) → true 0.00/0.97
a__eq(s(z0), s(z1)) → a__eq(z0, z1) 0.00/0.97
a__eq(z0, z1) → false 0.00/0.97
a__eq(z0, z1) → eq(z0, z1) 0.00/0.97
a__inf(z0) → cons(z0, inf(s(z0))) 0.00/0.97
a__inf(z0) → inf(z0) 0.00/0.97
a__take(0, z0) → nil 0.00/0.97
a__take(s(z0), cons(z1, z2)) → cons(z1, take(z0, z2)) 0.00/0.97
a__take(z0, z1) → take(z0, z1) 0.00/0.97
a__length(nil) → 0 0.00/0.97
a__length(cons(z0, z1)) → s(length(z1)) 0.00/0.97
a__length(z0) → length(z0) 0.00/0.97
mark(eq(z0, z1)) → a__eq(z0, z1) 0.00/0.97
mark(inf(z0)) → a__inf(mark(z0)) 0.00/0.97
mark(take(z0, z1)) → a__take(mark(z0), mark(z1)) 0.00/0.97
mark(length(z0)) → a__length(mark(z0)) 0.00/0.97
mark(0) → 0 0.00/0.97
mark(true) → true 0.00/0.97
mark(s(z0)) → s(z0) 0.00/0.97
mark(false) → false 0.00/0.97
mark(cons(z0, z1)) → cons(z0, z1) 0.00/0.97
mark(nil) → nil
S tuples:
A__EQ(s(z0), s(z1)) → c1(A__EQ(z0, z1)) 0.00/0.97
MARK(eq(z0, z1)) → c12(A__EQ(z0, z1)) 0.00/0.97
MARK(inf(z0)) → c13(MARK(z0)) 0.00/0.97
MARK(take(z0, z1)) → c14(MARK(z0), MARK(z1)) 0.00/0.97
MARK(length(z0)) → c15(MARK(z0))
K tuples:none
A__EQ(s(z0), s(z1)) → c1(A__EQ(z0, z1)) 0.00/0.97
MARK(eq(z0, z1)) → c12(A__EQ(z0, z1)) 0.00/0.97
MARK(inf(z0)) → c13(MARK(z0)) 0.00/0.97
MARK(take(z0, z1)) → c14(MARK(z0), MARK(z1)) 0.00/0.97
MARK(length(z0)) → c15(MARK(z0))
a__eq, a__inf, a__take, a__length, mark
A__EQ, MARK
c1, c12, c13, c14, c15
We considered the (Usable) Rules:none
MARK(inf(z0)) → c13(MARK(z0))
The order we found is given by the following interpretation:
A__EQ(s(z0), s(z1)) → c1(A__EQ(z0, z1)) 0.00/0.98
MARK(eq(z0, z1)) → c12(A__EQ(z0, z1)) 0.00/0.98
MARK(inf(z0)) → c13(MARK(z0)) 0.00/0.98
MARK(take(z0, z1)) → c14(MARK(z0), MARK(z1)) 0.00/0.98
MARK(length(z0)) → c15(MARK(z0))
POL(A__EQ(x1, x2)) = 0 0.00/0.98
POL(MARK(x1)) = x1 0.00/0.98
POL(c1(x1)) = x1 0.00/0.98
POL(c12(x1)) = x1 0.00/0.98
POL(c13(x1)) = x1 0.00/0.98
POL(c14(x1, x2)) = x1 + x2 0.00/0.98
POL(c15(x1)) = x1 0.00/0.98
POL(eq(x1, x2)) = 0 0.00/0.98
POL(inf(x1)) = [1] + x1 0.00/0.98
POL(length(x1)) = x1 0.00/0.98
POL(s(x1)) = 0 0.00/0.98
POL(take(x1, x2)) = x1 + x2
Tuples:
a__eq(0, 0) → true 0.00/0.98
a__eq(s(z0), s(z1)) → a__eq(z0, z1) 0.00/0.98
a__eq(z0, z1) → false 0.00/0.98
a__eq(z0, z1) → eq(z0, z1) 0.00/0.98
a__inf(z0) → cons(z0, inf(s(z0))) 0.00/0.98
a__inf(z0) → inf(z0) 0.00/0.98
a__take(0, z0) → nil 0.00/0.98
a__take(s(z0), cons(z1, z2)) → cons(z1, take(z0, z2)) 0.00/0.98
a__take(z0, z1) → take(z0, z1) 0.00/0.98
a__length(nil) → 0 0.00/0.98
a__length(cons(z0, z1)) → s(length(z1)) 0.00/0.98
a__length(z0) → length(z0) 0.00/0.98
mark(eq(z0, z1)) → a__eq(z0, z1) 0.00/0.98
mark(inf(z0)) → a__inf(mark(z0)) 0.00/0.98
mark(take(z0, z1)) → a__take(mark(z0), mark(z1)) 0.00/0.98
mark(length(z0)) → a__length(mark(z0)) 0.00/0.98
mark(0) → 0 0.00/0.98
mark(true) → true 0.00/0.98
mark(s(z0)) → s(z0) 0.00/0.98
mark(false) → false 0.00/0.98
mark(cons(z0, z1)) → cons(z0, z1) 0.00/0.98
mark(nil) → nil
S tuples:
A__EQ(s(z0), s(z1)) → c1(A__EQ(z0, z1)) 0.00/0.98
MARK(eq(z0, z1)) → c12(A__EQ(z0, z1)) 0.00/0.98
MARK(inf(z0)) → c13(MARK(z0)) 0.00/0.98
MARK(take(z0, z1)) → c14(MARK(z0), MARK(z1)) 0.00/0.98
MARK(length(z0)) → c15(MARK(z0))
K tuples:
A__EQ(s(z0), s(z1)) → c1(A__EQ(z0, z1)) 0.00/0.98
MARK(eq(z0, z1)) → c12(A__EQ(z0, z1)) 0.00/0.98
MARK(take(z0, z1)) → c14(MARK(z0), MARK(z1)) 0.00/0.98
MARK(length(z0)) → c15(MARK(z0))
Defined Rule Symbols:
MARK(inf(z0)) → c13(MARK(z0))
a__eq, a__inf, a__take, a__length, mark
A__EQ, MARK
c1, c12, c13, c14, c15
We considered the (Usable) Rules:none
MARK(eq(z0, z1)) → c12(A__EQ(z0, z1)) 0.00/0.98
MARK(take(z0, z1)) → c14(MARK(z0), MARK(z1))
The order we found is given by the following interpretation:
A__EQ(s(z0), s(z1)) → c1(A__EQ(z0, z1)) 0.00/0.98
MARK(eq(z0, z1)) → c12(A__EQ(z0, z1)) 0.00/0.98
MARK(inf(z0)) → c13(MARK(z0)) 0.00/0.98
MARK(take(z0, z1)) → c14(MARK(z0), MARK(z1)) 0.00/0.98
MARK(length(z0)) → c15(MARK(z0))
POL(A__EQ(x1, x2)) = [1] 0.00/0.98
POL(MARK(x1)) = x1 0.00/0.98
POL(c1(x1)) = x1 0.00/0.98
POL(c12(x1)) = x1 0.00/0.98
POL(c13(x1)) = x1 0.00/0.98
POL(c14(x1, x2)) = x1 + x2 0.00/0.98
POL(c15(x1)) = x1 0.00/0.98
POL(eq(x1, x2)) = [2] 0.00/0.98
POL(inf(x1)) = x1 0.00/0.98
POL(length(x1)) = x1 0.00/0.98
POL(s(x1)) = x1 0.00/0.98
POL(take(x1, x2)) = [2] + x1 + x2
Tuples:
a__eq(0, 0) → true 0.00/0.98
a__eq(s(z0), s(z1)) → a__eq(z0, z1) 0.00/0.98
a__eq(z0, z1) → false 0.00/0.98
a__eq(z0, z1) → eq(z0, z1) 0.00/0.98
a__inf(z0) → cons(z0, inf(s(z0))) 0.00/0.98
a__inf(z0) → inf(z0) 0.00/0.98
a__take(0, z0) → nil 0.00/0.98
a__take(s(z0), cons(z1, z2)) → cons(z1, take(z0, z2)) 0.00/0.98
a__take(z0, z1) → take(z0, z1) 0.00/0.98
a__length(nil) → 0 0.00/0.98
a__length(cons(z0, z1)) → s(length(z1)) 0.00/0.98
a__length(z0) → length(z0) 0.00/0.98
mark(eq(z0, z1)) → a__eq(z0, z1) 0.00/0.98
mark(inf(z0)) → a__inf(mark(z0)) 0.00/0.98
mark(take(z0, z1)) → a__take(mark(z0), mark(z1)) 0.00/0.98
mark(length(z0)) → a__length(mark(z0)) 0.00/0.98
mark(0) → 0 0.00/0.98
mark(true) → true 0.00/0.98
mark(s(z0)) → s(z0) 0.00/0.98
mark(false) → false 0.00/0.98
mark(cons(z0, z1)) → cons(z0, z1) 0.00/0.98
mark(nil) → nil
S tuples:
A__EQ(s(z0), s(z1)) → c1(A__EQ(z0, z1)) 0.00/0.98
MARK(eq(z0, z1)) → c12(A__EQ(z0, z1)) 0.00/0.98
MARK(inf(z0)) → c13(MARK(z0)) 0.00/0.98
MARK(take(z0, z1)) → c14(MARK(z0), MARK(z1)) 0.00/0.98
MARK(length(z0)) → c15(MARK(z0))
K tuples:
A__EQ(s(z0), s(z1)) → c1(A__EQ(z0, z1)) 0.00/0.98
MARK(length(z0)) → c15(MARK(z0))
Defined Rule Symbols:
MARK(inf(z0)) → c13(MARK(z0)) 0.00/0.98
MARK(eq(z0, z1)) → c12(A__EQ(z0, z1)) 0.00/0.98
MARK(take(z0, z1)) → c14(MARK(z0), MARK(z1))
a__eq, a__inf, a__take, a__length, mark
A__EQ, MARK
c1, c12, c13, c14, c15
We considered the (Usable) Rules:none
A__EQ(s(z0), s(z1)) → c1(A__EQ(z0, z1)) 0.00/0.98
MARK(length(z0)) → c15(MARK(z0))
The order we found is given by the following interpretation:
A__EQ(s(z0), s(z1)) → c1(A__EQ(z0, z1)) 0.00/0.98
MARK(eq(z0, z1)) → c12(A__EQ(z0, z1)) 0.00/0.98
MARK(inf(z0)) → c13(MARK(z0)) 0.00/0.98
MARK(take(z0, z1)) → c14(MARK(z0), MARK(z1)) 0.00/0.98
MARK(length(z0)) → c15(MARK(z0))
POL(A__EQ(x1, x2)) = [5] + x2 0.00/0.98
POL(MARK(x1)) = [2] + x1 0.00/0.98
POL(c1(x1)) = x1 0.00/0.98
POL(c12(x1)) = x1 0.00/0.98
POL(c13(x1)) = x1 0.00/0.98
POL(c14(x1, x2)) = x1 + x2 0.00/0.98
POL(c15(x1)) = x1 0.00/0.98
POL(eq(x1, x2)) = [3] + x2 0.00/0.98
POL(inf(x1)) = x1 0.00/0.98
POL(length(x1)) = [1] + x1 0.00/0.98
POL(s(x1)) = [2] + x1 0.00/0.98
POL(take(x1, x2)) = [3] + x1 + x2
Tuples:
a__eq(0, 0) → true 0.00/0.98
a__eq(s(z0), s(z1)) → a__eq(z0, z1) 0.00/0.98
a__eq(z0, z1) → false 0.00/0.98
a__eq(z0, z1) → eq(z0, z1) 0.00/0.98
a__inf(z0) → cons(z0, inf(s(z0))) 0.00/0.98
a__inf(z0) → inf(z0) 0.00/0.98
a__take(0, z0) → nil 0.00/0.98
a__take(s(z0), cons(z1, z2)) → cons(z1, take(z0, z2)) 0.00/0.98
a__take(z0, z1) → take(z0, z1) 0.00/0.98
a__length(nil) → 0 0.00/0.98
a__length(cons(z0, z1)) → s(length(z1)) 0.00/0.98
a__length(z0) → length(z0) 0.00/0.98
mark(eq(z0, z1)) → a__eq(z0, z1) 0.00/0.98
mark(inf(z0)) → a__inf(mark(z0)) 0.00/0.98
mark(take(z0, z1)) → a__take(mark(z0), mark(z1)) 0.00/0.98
mark(length(z0)) → a__length(mark(z0)) 0.00/0.98
mark(0) → 0 0.00/0.98
mark(true) → true 0.00/0.98
mark(s(z0)) → s(z0) 0.00/0.98
mark(false) → false 0.00/0.98
mark(cons(z0, z1)) → cons(z0, z1) 0.00/0.98
mark(nil) → nil
S tuples:none
A__EQ(s(z0), s(z1)) → c1(A__EQ(z0, z1)) 0.00/0.98
MARK(eq(z0, z1)) → c12(A__EQ(z0, z1)) 0.00/0.98
MARK(inf(z0)) → c13(MARK(z0)) 0.00/0.98
MARK(take(z0, z1)) → c14(MARK(z0), MARK(z1)) 0.00/0.98
MARK(length(z0)) → c15(MARK(z0))
Defined Rule Symbols:
MARK(inf(z0)) → c13(MARK(z0)) 0.00/0.98
MARK(eq(z0, z1)) → c12(A__EQ(z0, z1)) 0.00/0.98
MARK(take(z0, z1)) → c14(MARK(z0), MARK(z1)) 0.00/0.98
A__EQ(s(z0), s(z1)) → c1(A__EQ(z0, z1)) 0.00/0.98
MARK(length(z0)) → c15(MARK(z0))
a__eq, a__inf, a__take, a__length, mark
A__EQ, MARK
c1, c12, c13, c14, c15