MAYBE 18.35/7.31 MAYBE 18.35/7.34 18.35/7.34 18.35/7.34
18.35/7.34 18.35/7.340 CpxTRS18.35/7.34
↳1 CpxTrsToCdtProof (BOTH BOUNDS(ID, ID))18.35/7.34
↳2 CdtProblem18.35/7.34
↳3 CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))))18.35/7.34
↳4 CdtProblem18.35/7.34
↳5 CdtNarrowingProof (BOTH BOUNDS(ID, ID))18.35/7.34
↳6 CdtProblem18.35/7.34
↳7 CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID))18.35/7.34
↳8 CdtProblem18.35/7.34
↳9 CdtNarrowingProof (BOTH BOUNDS(ID, ID))18.35/7.34
↳10 CdtProblem18.35/7.34
↳11 CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID))18.35/7.34
↳12 CdtProblem18.35/7.34
↳13 CdtLeafRemovalProof (BOTH BOUNDS(ID, ID))18.35/7.34
↳14 CdtProblem18.35/7.34
↳15 CdtNarrowingProof (BOTH BOUNDS(ID, ID))18.35/7.34
↳16 CdtProblem18.35/7.34
↳17 CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID))18.35/7.34
↳18 CdtProblem18.35/7.34
↳19 CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID))18.35/7.34
↳20 CdtProblem18.35/7.34
↳21 CdtLeafRemovalProof (ComplexityIfPolyImplication)18.35/7.34
↳22 CdtProblem18.35/7.34
↳23 CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID))18.35/7.34
↳24 CdtProblem18.35/7.34
↳25 CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID))18.35/7.34
↳26 CdtProblem18.35/7.34
↳27 CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID))18.35/7.34
↳28 CdtProblem18.35/7.34
↳29 CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID))18.35/7.34
↳30 CdtProblem18.35/7.34
qsort(nil) → nil 18.35/7.34
qsort(.(x, y)) → ++(qsort(lowers(x, y)), .(x, qsort(greaters(x, y)))) 18.35/7.34
lowers(x, nil) → nil 18.35/7.34
lowers(x, .(y, z)) → if(<=(y, x), .(y, lowers(x, z)), lowers(x, z)) 18.35/7.34
greaters(x, nil) → nil 18.35/7.34
greaters(x, .(y, z)) → if(<=(y, x), greaters(x, z), .(y, greaters(x, z)))
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
QSORT(.(z0, z1)) → c1(QSORT(lowers(z0, z1)), LOWERS(z0, z1), QSORT(greaters(z0, z1)), GREATERS(z0, z1)) 18.35/7.34
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
K tuples:none
QSORT(.(z0, z1)) → c1(QSORT(lowers(z0, z1)), LOWERS(z0, z1), QSORT(greaters(z0, z1)), GREATERS(z0, z1)) 18.35/7.34
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
qsort, lowers, greaters
QSORT, LOWERS, GREATERS
c1, c3, c5
We considered the (Usable) Rules:
QSORT(.(z0, z1)) → c1(QSORT(lowers(z0, z1)), LOWERS(z0, z1), QSORT(greaters(z0, z1)), GREATERS(z0, z1))
And the Tuples:
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
The order we found is given by the following interpretation:
QSORT(.(z0, z1)) → c1(QSORT(lowers(z0, z1)), LOWERS(z0, z1), QSORT(greaters(z0, z1)), GREATERS(z0, z1)) 18.35/7.34
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
POL(.(x1, x2)) = [4] 18.35/7.34
POL(<=(x1, x2)) = [5] + x1 + x2 18.35/7.34
POL(GREATERS(x1, x2)) = 0 18.35/7.34
POL(LOWERS(x1, x2)) = 0 18.35/7.34
POL(QSORT(x1)) = [4]x1 18.35/7.34
POL(c1(x1, x2, x3, x4)) = x1 + x2 + x3 + x4 18.35/7.34
POL(c3(x1, x2)) = x1 + x2 18.35/7.34
POL(c5(x1, x2)) = x1 + x2 18.35/7.34
POL(greaters(x1, x2)) = [2] 18.35/7.34
POL(if(x1, x2, x3)) = 0 18.35/7.34
POL(lowers(x1, x2)) = 0 18.35/7.34
POL(nil) = 0
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
QSORT(.(z0, z1)) → c1(QSORT(lowers(z0, z1)), LOWERS(z0, z1), QSORT(greaters(z0, z1)), GREATERS(z0, z1)) 18.35/7.34
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
K tuples:
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
Defined Rule Symbols:
QSORT(.(z0, z1)) → c1(QSORT(lowers(z0, z1)), LOWERS(z0, z1), QSORT(greaters(z0, z1)), GREATERS(z0, z1))
qsort, lowers, greaters
QSORT, LOWERS, GREATERS
c1, c3, c5
QSORT(.(z0, nil)) → c1(QSORT(nil), LOWERS(z0, nil), QSORT(greaters(z0, nil)), GREATERS(z0, nil)) 18.35/7.34
QSORT(.(z0, .(z1, z2))) → c1(QSORT(if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2))), LOWERS(z0, .(z1, z2)), QSORT(greaters(z0, .(z1, z2))), GREATERS(z0, .(z1, z2)))
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2)) 18.35/7.34
QSORT(.(z0, nil)) → c1(QSORT(nil), LOWERS(z0, nil), QSORT(greaters(z0, nil)), GREATERS(z0, nil)) 18.35/7.34
QSORT(.(z0, .(z1, z2))) → c1(QSORT(if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2))), LOWERS(z0, .(z1, z2)), QSORT(greaters(z0, .(z1, z2))), GREATERS(z0, .(z1, z2)))
K tuples:
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
Defined Rule Symbols:
QSORT(.(z0, z1)) → c1(QSORT(lowers(z0, z1)), LOWERS(z0, z1), QSORT(greaters(z0, z1)), GREATERS(z0, z1))
qsort, lowers, greaters
LOWERS, GREATERS, QSORT
c3, c5, c1
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2)) 18.35/7.34
QSORT(.(z0, nil)) → c1(QSORT(greaters(z0, nil))) 18.35/7.34
QSORT(.(z0, .(z1, z2))) → c1(LOWERS(z0, .(z1, z2)), QSORT(greaters(z0, .(z1, z2))), GREATERS(z0, .(z1, z2)))
K tuples:
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
Defined Rule Symbols:
QSORT(.(z0, z1)) → c1(QSORT(lowers(z0, z1)), LOWERS(z0, z1), QSORT(greaters(z0, z1)), GREATERS(z0, z1))
qsort, lowers, greaters
LOWERS, GREATERS, QSORT
c3, c5, c1, c1
QSORT(.(z0, nil)) → c1(QSORT(nil))
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2)) 18.35/7.34
QSORT(.(z0, .(z1, z2))) → c1(LOWERS(z0, .(z1, z2)), QSORT(greaters(z0, .(z1, z2))), GREATERS(z0, .(z1, z2))) 18.35/7.34
QSORT(.(z0, nil)) → c1(QSORT(nil))
K tuples:
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
Defined Rule Symbols:
QSORT(.(z0, z1)) → c1(QSORT(lowers(z0, z1)), LOWERS(z0, z1), QSORT(greaters(z0, z1)), GREATERS(z0, z1))
qsort, lowers, greaters
LOWERS, GREATERS, QSORT
c3, c5, c1, c1
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2)) 18.35/7.34
QSORT(.(z0, .(z1, z2))) → c1(LOWERS(z0, .(z1, z2)), QSORT(greaters(z0, .(z1, z2))), GREATERS(z0, .(z1, z2))) 18.35/7.34
QSORT(.(z0, nil)) → c1
K tuples:
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
Defined Rule Symbols:
QSORT(.(z0, z1)) → c1(QSORT(lowers(z0, z1)), LOWERS(z0, z1), QSORT(greaters(z0, z1)), GREATERS(z0, z1))
qsort, lowers, greaters
LOWERS, GREATERS, QSORT
c3, c5, c1, c1
QSORT(.(z0, nil)) → c1
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2)) 18.35/7.34
QSORT(.(z0, .(z1, z2))) → c1(LOWERS(z0, .(z1, z2)), QSORT(greaters(z0, .(z1, z2))), GREATERS(z0, .(z1, z2))) 18.35/7.34
QSORT(.(z0, nil)) → c1
K tuples:none
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
qsort, lowers, greaters
LOWERS, GREATERS, QSORT
c3, c5, c1, c1
QSORT(.(z0, .(z1, z2))) → c1(LOWERS(z0, .(z1, z2)), QSORT(if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))), GREATERS(z0, .(z1, z2)))
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2)) 18.35/7.34
QSORT(.(z0, nil)) → c1 18.35/7.34
QSORT(.(z0, .(z1, z2))) → c1(LOWERS(z0, .(z1, z2)), QSORT(if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))), GREATERS(z0, .(z1, z2)))
K tuples:none
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
qsort, lowers, greaters
LOWERS, GREATERS, QSORT
c3, c5, c1, c1
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2)) 18.35/7.34
QSORT(.(z0, nil)) → c1 18.35/7.34
QSORT(.(z0, .(z1, z2))) → c1(LOWERS(z0, .(z1, z2)), GREATERS(z0, .(z1, z2)))
K tuples:none
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
qsort, lowers, greaters
LOWERS, GREATERS, QSORT
c3, c5, c1, c1
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2)) 18.35/7.34
QSORT(.(z0, nil)) → c1 18.35/7.34
QSORT(.(z0, .(z1, z2))) → c(LOWERS(z0, .(z1, z2))) 18.35/7.34
QSORT(.(z0, .(z1, z2))) → c(GREATERS(z0, .(z1, z2)))
K tuples:none
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
qsort, lowers, greaters
LOWERS, GREATERS, QSORT
c3, c5, c1, c
Removed 1 trailing nodes:
QSORT(.(z0, .(z1, z2))) → c(LOWERS(z0, .(z1, z2))) 18.35/7.34
QSORT(.(z0, .(z1, z2))) → c(GREATERS(z0, .(z1, z2)))
QSORT(.(z0, nil)) → c1
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
K tuples:none
LOWERS(z0, .(z1, z2)) → c3(LOWERS(z0, z2), LOWERS(z0, z2)) 18.35/7.34
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2))
qsort, lowers, greaters
LOWERS, GREATERS
c3, c5
LOWERS(z0, .(z1, .(y1, y2))) → c3(LOWERS(z0, .(y1, y2)), LOWERS(z0, .(y1, y2)))
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2)) 18.35/7.34
LOWERS(z0, .(z1, .(y1, y2))) → c3(LOWERS(z0, .(y1, y2)), LOWERS(z0, .(y1, y2)))
K tuples:none
GREATERS(z0, .(z1, z2)) → c5(GREATERS(z0, z2), GREATERS(z0, z2)) 18.35/7.34
LOWERS(z0, .(z1, .(y1, y2))) → c3(LOWERS(z0, .(y1, y2)), LOWERS(z0, .(y1, y2)))
qsort, lowers, greaters
GREATERS, LOWERS
c5, c3
GREATERS(z0, .(z1, .(y1, y2))) → c5(GREATERS(z0, .(y1, y2)), GREATERS(z0, .(y1, y2)))
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
LOWERS(z0, .(z1, .(y1, y2))) → c3(LOWERS(z0, .(y1, y2)), LOWERS(z0, .(y1, y2))) 18.35/7.34
GREATERS(z0, .(z1, .(y1, y2))) → c5(GREATERS(z0, .(y1, y2)), GREATERS(z0, .(y1, y2)))
K tuples:none
LOWERS(z0, .(z1, .(y1, y2))) → c3(LOWERS(z0, .(y1, y2)), LOWERS(z0, .(y1, y2))) 18.35/7.34
GREATERS(z0, .(z1, .(y1, y2))) → c5(GREATERS(z0, .(y1, y2)), GREATERS(z0, .(y1, y2)))
qsort, lowers, greaters
LOWERS, GREATERS
c3, c5
LOWERS(z0, .(z1, .(z2, .(y2, y3)))) → c3(LOWERS(z0, .(z2, .(y2, y3))), LOWERS(z0, .(z2, .(y2, y3))))
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
GREATERS(z0, .(z1, .(y1, y2))) → c5(GREATERS(z0, .(y1, y2)), GREATERS(z0, .(y1, y2))) 18.35/7.34
LOWERS(z0, .(z1, .(z2, .(y2, y3)))) → c3(LOWERS(z0, .(z2, .(y2, y3))), LOWERS(z0, .(z2, .(y2, y3))))
K tuples:none
GREATERS(z0, .(z1, .(y1, y2))) → c5(GREATERS(z0, .(y1, y2)), GREATERS(z0, .(y1, y2))) 18.35/7.34
LOWERS(z0, .(z1, .(z2, .(y2, y3)))) → c3(LOWERS(z0, .(z2, .(y2, y3))), LOWERS(z0, .(z2, .(y2, y3))))
qsort, lowers, greaters
GREATERS, LOWERS
c5, c3
GREATERS(z0, .(z1, .(z2, .(y2, y3)))) → c5(GREATERS(z0, .(z2, .(y2, y3))), GREATERS(z0, .(z2, .(y2, y3))))
Tuples:
qsort(nil) → nil 18.35/7.34
qsort(.(z0, z1)) → ++(qsort(lowers(z0, z1)), .(z0, qsort(greaters(z0, z1)))) 18.35/7.34
lowers(z0, nil) → nil 18.35/7.34
lowers(z0, .(z1, z2)) → if(<=(z1, z0), .(z1, lowers(z0, z2)), lowers(z0, z2)) 18.35/7.34
greaters(z0, nil) → nil 18.35/7.34
greaters(z0, .(z1, z2)) → if(<=(z1, z0), greaters(z0, z2), .(z1, greaters(z0, z2)))
S tuples:
LOWERS(z0, .(z1, .(z2, .(y2, y3)))) → c3(LOWERS(z0, .(z2, .(y2, y3))), LOWERS(z0, .(z2, .(y2, y3)))) 18.35/7.34
GREATERS(z0, .(z1, .(z2, .(y2, y3)))) → c5(GREATERS(z0, .(z2, .(y2, y3))), GREATERS(z0, .(z2, .(y2, y3))))
K tuples:none
LOWERS(z0, .(z1, .(z2, .(y2, y3)))) → c3(LOWERS(z0, .(z2, .(y2, y3))), LOWERS(z0, .(z2, .(y2, y3)))) 18.35/7.34
GREATERS(z0, .(z1, .(z2, .(y2, y3)))) → c5(GREATERS(z0, .(z2, .(y2, y3))), GREATERS(z0, .(z2, .(y2, y3))))
qsort, lowers, greaters
LOWERS, GREATERS
c3, c5