YES(O(1), O(n^2)) 0.00/0.89 YES(O(1), O(n^2)) 0.00/0.91 0.00/0.91 0.00/0.91
0.00/0.91 0.00/0.910 CpxTRS0.00/0.91
↳1 CpxTrsToCdtProof (BOTH BOUNDS(ID, ID))0.00/0.91
↳2 CdtProblem0.00/0.91
↳3 CdtLeafRemovalProof (ComplexityIfPolyImplication)0.00/0.91
↳4 CdtProblem0.00/0.91
↳5 CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))))0.00/0.91
↳6 CdtProblem0.00/0.91
↳7 CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^2))))0.00/0.91
↳8 CdtProblem0.00/0.91
↳9 SIsEmptyProof (BOTH BOUNDS(ID, ID))0.00/0.91
↳10 BOUNDS(O(1), O(1))0.00/0.91
selects(x', revprefix, Cons(x, xs)) → Cons(Cons(x', revapp(revprefix, Cons(x, xs))), selects(x, Cons(x', revprefix), xs)) 0.00/0.91
select(Cons(x, xs)) → selects(x, Nil, xs) 0.00/0.91
revapp(Cons(x, xs), rest) → revapp(xs, Cons(x, rest)) 0.00/0.91
selects(x, revprefix, Nil) → Cons(Cons(x, revapp(revprefix, Nil)), Nil) 0.00/0.91
select(Nil) → Nil 0.00/0.91
revapp(Nil, rest) → rest
Tuples:
selects(z0, z1, Cons(z2, z3)) → Cons(Cons(z0, revapp(z1, Cons(z2, z3))), selects(z2, Cons(z0, z1), z3)) 0.00/0.91
selects(z0, z1, Nil) → Cons(Cons(z0, revapp(z1, Nil)), Nil) 0.00/0.91
select(Cons(z0, z1)) → selects(z0, Nil, z1) 0.00/0.91
select(Nil) → Nil 0.00/0.91
revapp(Cons(z0, z1), z2) → revapp(z1, Cons(z0, z2)) 0.00/0.91
revapp(Nil, z0) → z0
S tuples:
SELECTS(z0, z1, Cons(z2, z3)) → c(REVAPP(z1, Cons(z2, z3)), SELECTS(z2, Cons(z0, z1), z3)) 0.00/0.91
SELECTS(z0, z1, Nil) → c1(REVAPP(z1, Nil)) 0.00/0.91
SELECT(Cons(z0, z1)) → c2(SELECTS(z0, Nil, z1)) 0.00/0.92
REVAPP(Cons(z0, z1), z2) → c4(REVAPP(z1, Cons(z0, z2)))
K tuples:none
SELECTS(z0, z1, Cons(z2, z3)) → c(REVAPP(z1, Cons(z2, z3)), SELECTS(z2, Cons(z0, z1), z3)) 0.00/0.92
SELECTS(z0, z1, Nil) → c1(REVAPP(z1, Nil)) 0.00/0.92
SELECT(Cons(z0, z1)) → c2(SELECTS(z0, Nil, z1)) 0.00/0.92
REVAPP(Cons(z0, z1), z2) → c4(REVAPP(z1, Cons(z0, z2)))
selects, select, revapp
SELECTS, SELECT, REVAPP
c, c1, c2, c4
SELECT(Cons(z0, z1)) → c2(SELECTS(z0, Nil, z1))
Tuples:
selects(z0, z1, Cons(z2, z3)) → Cons(Cons(z0, revapp(z1, Cons(z2, z3))), selects(z2, Cons(z0, z1), z3)) 0.00/0.92
selects(z0, z1, Nil) → Cons(Cons(z0, revapp(z1, Nil)), Nil) 0.00/0.92
select(Cons(z0, z1)) → selects(z0, Nil, z1) 0.00/0.92
select(Nil) → Nil 0.00/0.92
revapp(Cons(z0, z1), z2) → revapp(z1, Cons(z0, z2)) 0.00/0.92
revapp(Nil, z0) → z0
S tuples:
SELECTS(z0, z1, Cons(z2, z3)) → c(REVAPP(z1, Cons(z2, z3)), SELECTS(z2, Cons(z0, z1), z3)) 0.00/0.92
SELECTS(z0, z1, Nil) → c1(REVAPP(z1, Nil)) 0.00/0.92
REVAPP(Cons(z0, z1), z2) → c4(REVAPP(z1, Cons(z0, z2)))
K tuples:none
SELECTS(z0, z1, Cons(z2, z3)) → c(REVAPP(z1, Cons(z2, z3)), SELECTS(z2, Cons(z0, z1), z3)) 0.00/0.92
SELECTS(z0, z1, Nil) → c1(REVAPP(z1, Nil)) 0.00/0.92
REVAPP(Cons(z0, z1), z2) → c4(REVAPP(z1, Cons(z0, z2)))
selects, select, revapp
SELECTS, REVAPP
c, c1, c4
We considered the (Usable) Rules:none
SELECTS(z0, z1, Cons(z2, z3)) → c(REVAPP(z1, Cons(z2, z3)), SELECTS(z2, Cons(z0, z1), z3)) 0.00/0.92
SELECTS(z0, z1, Nil) → c1(REVAPP(z1, Nil))
The order we found is given by the following interpretation:
SELECTS(z0, z1, Cons(z2, z3)) → c(REVAPP(z1, Cons(z2, z3)), SELECTS(z2, Cons(z0, z1), z3)) 0.00/0.92
SELECTS(z0, z1, Nil) → c1(REVAPP(z1, Nil)) 0.00/0.92
REVAPP(Cons(z0, z1), z2) → c4(REVAPP(z1, Cons(z0, z2)))
POL(Cons(x1, x2)) = [1] + x1 + x2 0.00/0.92
POL(Nil) = [5] 0.00/0.92
POL(REVAPP(x1, x2)) = [4] 0.00/0.92
POL(SELECTS(x1, x2, x3)) = [5]x3 0.00/0.92
POL(c(x1, x2)) = x1 + x2 0.00/0.92
POL(c1(x1)) = x1 0.00/0.92
POL(c4(x1)) = x1
Tuples:
selects(z0, z1, Cons(z2, z3)) → Cons(Cons(z0, revapp(z1, Cons(z2, z3))), selects(z2, Cons(z0, z1), z3)) 0.00/0.92
selects(z0, z1, Nil) → Cons(Cons(z0, revapp(z1, Nil)), Nil) 0.00/0.92
select(Cons(z0, z1)) → selects(z0, Nil, z1) 0.00/0.92
select(Nil) → Nil 0.00/0.92
revapp(Cons(z0, z1), z2) → revapp(z1, Cons(z0, z2)) 0.00/0.92
revapp(Nil, z0) → z0
S tuples:
SELECTS(z0, z1, Cons(z2, z3)) → c(REVAPP(z1, Cons(z2, z3)), SELECTS(z2, Cons(z0, z1), z3)) 0.00/0.92
SELECTS(z0, z1, Nil) → c1(REVAPP(z1, Nil)) 0.00/0.92
REVAPP(Cons(z0, z1), z2) → c4(REVAPP(z1, Cons(z0, z2)))
K tuples:
REVAPP(Cons(z0, z1), z2) → c4(REVAPP(z1, Cons(z0, z2)))
Defined Rule Symbols:
SELECTS(z0, z1, Cons(z2, z3)) → c(REVAPP(z1, Cons(z2, z3)), SELECTS(z2, Cons(z0, z1), z3)) 0.00/0.92
SELECTS(z0, z1, Nil) → c1(REVAPP(z1, Nil))
selects, select, revapp
SELECTS, REVAPP
c, c1, c4
We considered the (Usable) Rules:none
REVAPP(Cons(z0, z1), z2) → c4(REVAPP(z1, Cons(z0, z2)))
The order we found is given by the following interpretation:
SELECTS(z0, z1, Cons(z2, z3)) → c(REVAPP(z1, Cons(z2, z3)), SELECTS(z2, Cons(z0, z1), z3)) 0.00/0.92
SELECTS(z0, z1, Nil) → c1(REVAPP(z1, Nil)) 0.00/0.92
REVAPP(Cons(z0, z1), z2) → c4(REVAPP(z1, Cons(z0, z2)))
POL(Cons(x1, x2)) = [1] + x2 0.00/0.92
POL(Nil) = 0 0.00/0.92
POL(REVAPP(x1, x2)) = x1 0.00/0.92
POL(SELECTS(x1, x2, x3)) = x2 + [2]x32 + x2·x3 0.00/0.92
POL(c(x1, x2)) = x1 + x2 0.00/0.92
POL(c1(x1)) = x1 0.00/0.92
POL(c4(x1)) = x1
Tuples:
selects(z0, z1, Cons(z2, z3)) → Cons(Cons(z0, revapp(z1, Cons(z2, z3))), selects(z2, Cons(z0, z1), z3)) 0.00/0.92
selects(z0, z1, Nil) → Cons(Cons(z0, revapp(z1, Nil)), Nil) 0.00/0.92
select(Cons(z0, z1)) → selects(z0, Nil, z1) 0.00/0.92
select(Nil) → Nil 0.00/0.92
revapp(Cons(z0, z1), z2) → revapp(z1, Cons(z0, z2)) 0.00/0.92
revapp(Nil, z0) → z0
S tuples:none
SELECTS(z0, z1, Cons(z2, z3)) → c(REVAPP(z1, Cons(z2, z3)), SELECTS(z2, Cons(z0, z1), z3)) 0.00/0.92
SELECTS(z0, z1, Nil) → c1(REVAPP(z1, Nil)) 0.00/0.92
REVAPP(Cons(z0, z1), z2) → c4(REVAPP(z1, Cons(z0, z2)))
Defined Rule Symbols:
SELECTS(z0, z1, Cons(z2, z3)) → c(REVAPP(z1, Cons(z2, z3)), SELECTS(z2, Cons(z0, z1), z3)) 0.00/0.92
SELECTS(z0, z1, Nil) → c1(REVAPP(z1, Nil)) 0.00/0.92
REVAPP(Cons(z0, z1), z2) → c4(REVAPP(z1, Cons(z0, z2)))
selects, select, revapp
SELECTS, REVAPP
c, c1, c4