YES(O(1), O(n^2)) 5.95/1.93 YES(O(1), O(n^2)) 5.95/1.96 5.95/1.96 5.95/1.96
5.95/1.96 5.95/1.970 CpxTRS5.95/1.97
↳1 CpxTrsToCdtProof (BOTH BOUNDS(ID, ID))5.95/1.97
↳2 CdtProblem5.95/1.97
↳3 CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))))5.95/1.97
↳4 CdtProblem5.95/1.97
↳5 CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^2))))5.95/1.97
↳6 CdtProblem5.95/1.97
↳7 CdtKnowledgeProof (BOTH BOUNDS(ID, ID))5.95/1.97
↳8 CdtProblem5.95/1.97
↳9 CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^2))))5.95/1.97
↳10 CdtProblem5.95/1.97
↳11 SIsEmptyProof (BOTH BOUNDS(ID, ID))5.95/1.97
↳12 BOUNDS(O(1), O(1))5.95/1.97
sort(nil) → nil 5.95/1.97
sort(cons(x, y)) → insert(x, sort(y)) 5.95/1.97
insert(x, nil) → cons(x, nil) 5.95/1.97
insert(x, cons(v, w)) → choose(x, cons(v, w), x, v) 5.95/1.97
choose(x, cons(v, w), y, 0) → cons(x, cons(v, w)) 5.95/1.97
choose(x, cons(v, w), 0, s(z)) → cons(v, insert(x, w)) 5.95/1.97
choose(x, cons(v, w), s(y), s(z)) → choose(x, cons(v, w), y, z)
Tuples:
sort(nil) → nil 5.95/1.97
sort(cons(z0, z1)) → insert(z0, sort(z1)) 5.95/1.97
insert(z0, nil) → cons(z0, nil) 5.95/1.97
insert(z0, cons(z1, z2)) → choose(z0, cons(z1, z2), z0, z1) 5.95/1.97
choose(z0, cons(z1, z2), z3, 0) → cons(z0, cons(z1, z2)) 5.95/1.97
choose(z0, cons(z1, z2), 0, s(z3)) → cons(z1, insert(z0, z2)) 5.95/1.97
choose(z0, cons(z1, z2), s(z3), s(z4)) → choose(z0, cons(z1, z2), z3, z4)
S tuples:
SORT(cons(z0, z1)) → c1(INSERT(z0, sort(z1)), SORT(z1)) 5.95/1.97
INSERT(z0, cons(z1, z2)) → c3(CHOOSE(z0, cons(z1, z2), z0, z1)) 5.95/1.97
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2)) 5.95/1.97
CHOOSE(z0, cons(z1, z2), s(z3), s(z4)) → c6(CHOOSE(z0, cons(z1, z2), z3, z4))
K tuples:none
SORT(cons(z0, z1)) → c1(INSERT(z0, sort(z1)), SORT(z1)) 5.95/1.97
INSERT(z0, cons(z1, z2)) → c3(CHOOSE(z0, cons(z1, z2), z0, z1)) 5.95/1.97
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2)) 5.95/1.97
CHOOSE(z0, cons(z1, z2), s(z3), s(z4)) → c6(CHOOSE(z0, cons(z1, z2), z3, z4))
sort, insert, choose
SORT, INSERT, CHOOSE
c1, c3, c5, c6
We considered the (Usable) Rules:
SORT(cons(z0, z1)) → c1(INSERT(z0, sort(z1)), SORT(z1))
And the Tuples:
sort(nil) → nil 5.95/1.97
sort(cons(z0, z1)) → insert(z0, sort(z1)) 5.95/1.97
insert(z0, nil) → cons(z0, nil) 5.95/1.97
insert(z0, cons(z1, z2)) → choose(z0, cons(z1, z2), z0, z1) 5.95/1.97
choose(z0, cons(z1, z2), z3, 0) → cons(z0, cons(z1, z2)) 5.95/1.97
choose(z0, cons(z1, z2), 0, s(z3)) → cons(z1, insert(z0, z2)) 5.95/1.97
choose(z0, cons(z1, z2), s(z3), s(z4)) → choose(z0, cons(z1, z2), z3, z4)
The order we found is given by the following interpretation:
SORT(cons(z0, z1)) → c1(INSERT(z0, sort(z1)), SORT(z1)) 5.95/1.98
INSERT(z0, cons(z1, z2)) → c3(CHOOSE(z0, cons(z1, z2), z0, z1)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), s(z3), s(z4)) → c6(CHOOSE(z0, cons(z1, z2), z3, z4))
POL(0) = 0 5.95/1.98
POL(CHOOSE(x1, x2, x3, x4)) = 0 5.95/1.98
POL(INSERT(x1, x2)) = 0 5.95/1.98
POL(SORT(x1)) = [2]x1 5.95/1.98
POL(c1(x1, x2)) = x1 + x2 5.95/1.98
POL(c3(x1)) = x1 5.95/1.98
POL(c5(x1)) = x1 5.95/1.98
POL(c6(x1)) = x1 5.95/1.98
POL(choose(x1, x2, x3, x4)) = [3] + [3]x1 + [3]x4 5.95/1.98
POL(cons(x1, x2)) = [1] + x1 + x2 5.95/1.98
POL(insert(x1, x2)) = [5] + [5]x1 5.95/1.98
POL(nil) = 0 5.95/1.98
POL(s(x1)) = x1 5.95/1.98
POL(sort(x1)) = 0
Tuples:
sort(nil) → nil 5.95/1.98
sort(cons(z0, z1)) → insert(z0, sort(z1)) 5.95/1.98
insert(z0, nil) → cons(z0, nil) 5.95/1.98
insert(z0, cons(z1, z2)) → choose(z0, cons(z1, z2), z0, z1) 5.95/1.98
choose(z0, cons(z1, z2), z3, 0) → cons(z0, cons(z1, z2)) 5.95/1.98
choose(z0, cons(z1, z2), 0, s(z3)) → cons(z1, insert(z0, z2)) 5.95/1.98
choose(z0, cons(z1, z2), s(z3), s(z4)) → choose(z0, cons(z1, z2), z3, z4)
S tuples:
SORT(cons(z0, z1)) → c1(INSERT(z0, sort(z1)), SORT(z1)) 5.95/1.98
INSERT(z0, cons(z1, z2)) → c3(CHOOSE(z0, cons(z1, z2), z0, z1)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), s(z3), s(z4)) → c6(CHOOSE(z0, cons(z1, z2), z3, z4))
K tuples:
INSERT(z0, cons(z1, z2)) → c3(CHOOSE(z0, cons(z1, z2), z0, z1)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), s(z3), s(z4)) → c6(CHOOSE(z0, cons(z1, z2), z3, z4))
Defined Rule Symbols:
SORT(cons(z0, z1)) → c1(INSERT(z0, sort(z1)), SORT(z1))
sort, insert, choose
SORT, INSERT, CHOOSE
c1, c3, c5, c6
We considered the (Usable) Rules:
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2))
And the Tuples:
sort(nil) → nil 5.95/1.98
sort(cons(z0, z1)) → insert(z0, sort(z1)) 5.95/1.98
insert(z0, nil) → cons(z0, nil) 5.95/1.98
insert(z0, cons(z1, z2)) → choose(z0, cons(z1, z2), z0, z1) 5.95/1.98
choose(z0, cons(z1, z2), z3, 0) → cons(z0, cons(z1, z2)) 5.95/1.98
choose(z0, cons(z1, z2), 0, s(z3)) → cons(z1, insert(z0, z2)) 5.95/1.98
choose(z0, cons(z1, z2), s(z3), s(z4)) → choose(z0, cons(z1, z2), z3, z4)
The order we found is given by the following interpretation:
SORT(cons(z0, z1)) → c1(INSERT(z0, sort(z1)), SORT(z1)) 5.95/1.98
INSERT(z0, cons(z1, z2)) → c3(CHOOSE(z0, cons(z1, z2), z0, z1)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), s(z3), s(z4)) → c6(CHOOSE(z0, cons(z1, z2), z3, z4))
POL(0) = 0 5.95/1.98
POL(CHOOSE(x1, x2, x3, x4)) = x2 5.95/1.98
POL(INSERT(x1, x2)) = x2 5.95/1.98
POL(SORT(x1)) = x12 5.95/1.98
POL(c1(x1, x2)) = x1 + x2 5.95/1.98
POL(c3(x1)) = x1 5.95/1.98
POL(c5(x1)) = x1 5.95/1.98
POL(c6(x1)) = x1 5.95/1.98
POL(choose(x1, x2, x3, x4)) = [1] + x2 5.95/1.98
POL(cons(x1, x2)) = [1] + x2 5.95/1.98
POL(insert(x1, x2)) = [1] + x2 5.95/1.98
POL(nil) = 0 5.95/1.98
POL(s(x1)) = 0 5.95/1.98
POL(sort(x1)) = [2]x1
Tuples:
sort(nil) → nil 5.95/1.98
sort(cons(z0, z1)) → insert(z0, sort(z1)) 5.95/1.98
insert(z0, nil) → cons(z0, nil) 5.95/1.98
insert(z0, cons(z1, z2)) → choose(z0, cons(z1, z2), z0, z1) 5.95/1.98
choose(z0, cons(z1, z2), z3, 0) → cons(z0, cons(z1, z2)) 5.95/1.98
choose(z0, cons(z1, z2), 0, s(z3)) → cons(z1, insert(z0, z2)) 5.95/1.98
choose(z0, cons(z1, z2), s(z3), s(z4)) → choose(z0, cons(z1, z2), z3, z4)
S tuples:
SORT(cons(z0, z1)) → c1(INSERT(z0, sort(z1)), SORT(z1)) 5.95/1.98
INSERT(z0, cons(z1, z2)) → c3(CHOOSE(z0, cons(z1, z2), z0, z1)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), s(z3), s(z4)) → c6(CHOOSE(z0, cons(z1, z2), z3, z4))
K tuples:
INSERT(z0, cons(z1, z2)) → c3(CHOOSE(z0, cons(z1, z2), z0, z1)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), s(z3), s(z4)) → c6(CHOOSE(z0, cons(z1, z2), z3, z4))
Defined Rule Symbols:
SORT(cons(z0, z1)) → c1(INSERT(z0, sort(z1)), SORT(z1)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2))
sort, insert, choose
SORT, INSERT, CHOOSE
c1, c3, c5, c6
INSERT(z0, cons(z1, z2)) → c3(CHOOSE(z0, cons(z1, z2), z0, z1)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2))
Tuples:
sort(nil) → nil 5.95/1.98
sort(cons(z0, z1)) → insert(z0, sort(z1)) 5.95/1.98
insert(z0, nil) → cons(z0, nil) 5.95/1.98
insert(z0, cons(z1, z2)) → choose(z0, cons(z1, z2), z0, z1) 5.95/1.98
choose(z0, cons(z1, z2), z3, 0) → cons(z0, cons(z1, z2)) 5.95/1.98
choose(z0, cons(z1, z2), 0, s(z3)) → cons(z1, insert(z0, z2)) 5.95/1.98
choose(z0, cons(z1, z2), s(z3), s(z4)) → choose(z0, cons(z1, z2), z3, z4)
S tuples:
SORT(cons(z0, z1)) → c1(INSERT(z0, sort(z1)), SORT(z1)) 5.95/1.98
INSERT(z0, cons(z1, z2)) → c3(CHOOSE(z0, cons(z1, z2), z0, z1)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), s(z3), s(z4)) → c6(CHOOSE(z0, cons(z1, z2), z3, z4))
K tuples:
CHOOSE(z0, cons(z1, z2), s(z3), s(z4)) → c6(CHOOSE(z0, cons(z1, z2), z3, z4))
Defined Rule Symbols:
SORT(cons(z0, z1)) → c1(INSERT(z0, sort(z1)), SORT(z1)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2)) 5.95/1.98
INSERT(z0, cons(z1, z2)) → c3(CHOOSE(z0, cons(z1, z2), z0, z1))
sort, insert, choose
SORT, INSERT, CHOOSE
c1, c3, c5, c6
We considered the (Usable) Rules:
CHOOSE(z0, cons(z1, z2), s(z3), s(z4)) → c6(CHOOSE(z0, cons(z1, z2), z3, z4))
And the Tuples:
sort(nil) → nil 5.95/1.98
sort(cons(z0, z1)) → insert(z0, sort(z1)) 5.95/1.98
insert(z0, nil) → cons(z0, nil) 5.95/1.98
insert(z0, cons(z1, z2)) → choose(z0, cons(z1, z2), z0, z1) 5.95/1.98
choose(z0, cons(z1, z2), z3, 0) → cons(z0, cons(z1, z2)) 5.95/1.98
choose(z0, cons(z1, z2), 0, s(z3)) → cons(z1, insert(z0, z2)) 5.95/1.98
choose(z0, cons(z1, z2), s(z3), s(z4)) → choose(z0, cons(z1, z2), z3, z4)
The order we found is given by the following interpretation:
SORT(cons(z0, z1)) → c1(INSERT(z0, sort(z1)), SORT(z1)) 5.95/1.98
INSERT(z0, cons(z1, z2)) → c3(CHOOSE(z0, cons(z1, z2), z0, z1)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), s(z3), s(z4)) → c6(CHOOSE(z0, cons(z1, z2), z3, z4))
POL(0) = 0 5.95/1.98
POL(CHOOSE(x1, x2, x3, x4)) = [2]x3 + x1·x2 5.95/1.98
POL(INSERT(x1, x2)) = [2]x1 + x1·x2 5.95/1.98
POL(SORT(x1)) = x12 5.95/1.98
POL(c1(x1, x2)) = x1 + x2 5.95/1.98
POL(c3(x1)) = x1 5.95/1.98
POL(c5(x1)) = x1 5.95/1.98
POL(c6(x1)) = x1 5.95/1.98
POL(choose(x1, x2, x3, x4)) = [2] + x1 + x2 5.95/1.98
POL(cons(x1, x2)) = [2] + x1 + x2 5.95/1.98
POL(insert(x1, x2)) = [2] + x1 + x2 5.95/1.98
POL(nil) = 0 5.95/1.98
POL(s(x1)) = [2] + x1 5.95/1.98
POL(sort(x1)) = x1
Tuples:
sort(nil) → nil 5.95/1.98
sort(cons(z0, z1)) → insert(z0, sort(z1)) 5.95/1.98
insert(z0, nil) → cons(z0, nil) 5.95/1.98
insert(z0, cons(z1, z2)) → choose(z0, cons(z1, z2), z0, z1) 5.95/1.98
choose(z0, cons(z1, z2), z3, 0) → cons(z0, cons(z1, z2)) 5.95/1.98
choose(z0, cons(z1, z2), 0, s(z3)) → cons(z1, insert(z0, z2)) 5.95/1.98
choose(z0, cons(z1, z2), s(z3), s(z4)) → choose(z0, cons(z1, z2), z3, z4)
S tuples:none
SORT(cons(z0, z1)) → c1(INSERT(z0, sort(z1)), SORT(z1)) 5.95/1.98
INSERT(z0, cons(z1, z2)) → c3(CHOOSE(z0, cons(z1, z2), z0, z1)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), s(z3), s(z4)) → c6(CHOOSE(z0, cons(z1, z2), z3, z4))
Defined Rule Symbols:
SORT(cons(z0, z1)) → c1(INSERT(z0, sort(z1)), SORT(z1)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), 0, s(z3)) → c5(INSERT(z0, z2)) 5.95/1.98
INSERT(z0, cons(z1, z2)) → c3(CHOOSE(z0, cons(z1, z2), z0, z1)) 5.95/1.98
CHOOSE(z0, cons(z1, z2), s(z3), s(z4)) → c6(CHOOSE(z0, cons(z1, z2), z3, z4))
sort, insert, choose
SORT, INSERT, CHOOSE
c1, c3, c5, c6