YES(O(1), O(n^2)) 13.83/7.85 YES(O(1), O(n^2)) 13.83/7.87 13.83/7.87 13.83/7.87
13.83/7.87 13.83/7.870 CpxTRS13.83/7.87
↳1 CpxTrsToCdtProof (BOTH BOUNDS(ID, ID))13.83/7.87
↳2 CdtProblem13.83/7.87
↳3 CdtUnreachableProof (⇔)13.83/7.87
↳4 CdtProblem13.83/7.87
↳5 CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID))13.83/7.87
↳6 CdtProblem13.83/7.87
↳7 CdtNarrowingProof (BOTH BOUNDS(ID, ID))13.83/7.87
↳8 CdtProblem13.83/7.87
↳9 CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID))13.83/7.87
↳10 CdtProblem13.83/7.87
↳11 CdtLeafRemovalProof (BOTH BOUNDS(ID, ID))13.83/7.87
↳12 CdtProblem13.83/7.87
↳13 CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))))13.83/7.87
↳14 CdtProblem13.83/7.87
↳15 CdtNarrowingProof (BOTH BOUNDS(ID, ID))13.83/7.87
↳16 CdtProblem13.83/7.87
↳17 CdtLeafRemovalProof (ComplexityIfPolyImplication)13.83/7.87
↳18 CdtProblem13.83/7.87
↳19 CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))))13.83/7.87
↳20 CdtProblem13.83/7.87
↳21 CdtKnowledgeProof (BOTH BOUNDS(ID, ID))13.83/7.87
↳22 CdtProblem13.83/7.87
↳23 CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^2))))13.83/7.87
↳24 CdtProblem13.83/7.87
↳25 SIsEmptyProof (BOTH BOUNDS(ID, ID))13.83/7.87
↳26 BOUNDS(O(1), O(1))13.83/7.87
p(0) → s(s(0)) 13.83/7.87
p(s(x)) → x 13.83/7.87
p(p(s(x))) → p(x) 13.83/7.87
le(p(s(x)), x) → le(x, x) 13.83/7.87
le(0, y) → true 13.83/7.87
le(s(x), 0) → false 13.83/7.87
le(s(x), s(y)) → le(x, y) 13.83/7.87
minus(x, y) → if(le(x, y), x, y) 13.83/7.87
if(true, x, y) → 0 13.83/7.87
if(false, x, y) → s(minus(p(x), y))
Tuples:
p(0) → s(s(0)) 13.83/7.87
p(s(z0)) → z0 13.83/7.87
p(p(s(z0))) → p(z0) 13.83/7.87
le(p(s(z0)), z0) → le(z0, z0) 13.83/7.87
le(0, z0) → true 13.83/7.87
le(s(z0), 0) → false 13.83/7.87
le(s(z0), s(z1)) → le(z0, z1) 13.83/7.87
minus(z0, z1) → if(le(z0, z1), z0, z1) 13.83/7.90
if(true, z0, z1) → 0 13.83/7.90
if(false, z0, z1) → s(minus(p(z0), z1))
S tuples:
P(p(s(z0))) → c2(P(z0)) 13.83/7.90
LE(p(s(z0)), z0) → c3(LE(z0, z0)) 13.83/7.90
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 13.83/7.90
MINUS(z0, z1) → c7(IF(le(z0, z1), z0, z1), LE(z0, z1)) 13.83/7.90
IF(false, z0, z1) → c9(MINUS(p(z0), z1), P(z0))
K tuples:none
P(p(s(z0))) → c2(P(z0)) 13.83/7.90
LE(p(s(z0)), z0) → c3(LE(z0, z0)) 13.83/7.90
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.90
MINUS(z0, z1) → c7(IF(le(z0, z1), z0, z1), LE(z0, z1)) 14.19/7.90
IF(false, z0, z1) → c9(MINUS(p(z0), z1), P(z0))
p, le, minus, if
P, LE, MINUS, IF
c2, c3, c6, c7, c9
P(p(s(z0))) → c2(P(z0)) 14.19/7.90
LE(p(s(z0)), z0) → c3(LE(z0, z0))
Tuples:
p(0) → s(s(0)) 14.19/7.90
p(s(z0)) → z0 14.19/7.90
p(p(s(z0))) → p(z0) 14.19/7.90
le(p(s(z0)), z0) → le(z0, z0) 14.19/7.90
le(0, z0) → true 14.19/7.90
le(s(z0), 0) → false 14.19/7.90
le(s(z0), s(z1)) → le(z0, z1) 14.19/7.90
minus(z0, z1) → if(le(z0, z1), z0, z1) 14.19/7.90
if(true, z0, z1) → 0 14.19/7.90
if(false, z0, z1) → s(minus(p(z0), z1))
S tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.90
MINUS(z0, z1) → c7(IF(le(z0, z1), z0, z1), LE(z0, z1)) 14.19/7.90
IF(false, z0, z1) → c9(MINUS(p(z0), z1), P(z0))
K tuples:none
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.90
MINUS(z0, z1) → c7(IF(le(z0, z1), z0, z1), LE(z0, z1)) 14.19/7.90
IF(false, z0, z1) → c9(MINUS(p(z0), z1), P(z0))
p, le, minus, if
LE, MINUS, IF
c6, c7, c9
Tuples:
p(0) → s(s(0)) 14.19/7.90
p(s(z0)) → z0 14.19/7.90
p(p(s(z0))) → p(z0) 14.19/7.90
le(p(s(z0)), z0) → le(z0, z0) 14.19/7.90
le(0, z0) → true 14.19/7.90
le(s(z0), 0) → false 14.19/7.90
le(s(z0), s(z1)) → le(z0, z1) 14.19/7.90
minus(z0, z1) → if(le(z0, z1), z0, z1) 14.19/7.90
if(true, z0, z1) → 0 14.19/7.90
if(false, z0, z1) → s(minus(p(z0), z1))
S tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.90
MINUS(z0, z1) → c7(IF(le(z0, z1), z0, z1), LE(z0, z1)) 14.19/7.90
IF(false, z0, z1) → c9(MINUS(p(z0), z1))
K tuples:none
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.90
MINUS(z0, z1) → c7(IF(le(z0, z1), z0, z1), LE(z0, z1)) 14.19/7.90
IF(false, z0, z1) → c9(MINUS(p(z0), z1))
p, le, minus, if
LE, MINUS, IF
c6, c7, c9
MINUS(0, z0) → c7(IF(true, 0, z0), LE(0, z0)) 14.19/7.90
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0), LE(s(z0), 0)) 14.19/7.90
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1)))
Tuples:
p(0) → s(s(0)) 14.19/7.90
p(s(z0)) → z0 14.19/7.90
p(p(s(z0))) → p(z0) 14.19/7.90
le(p(s(z0)), z0) → le(z0, z0) 14.19/7.90
le(0, z0) → true 14.19/7.90
le(s(z0), 0) → false 14.19/7.90
le(s(z0), s(z1)) → le(z0, z1) 14.19/7.90
minus(z0, z1) → if(le(z0, z1), z0, z1) 14.19/7.90
if(true, z0, z1) → 0 14.19/7.90
if(false, z0, z1) → s(minus(p(z0), z1))
S tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.90
IF(false, z0, z1) → c9(MINUS(p(z0), z1)) 14.19/7.90
MINUS(0, z0) → c7(IF(true, 0, z0), LE(0, z0)) 14.19/7.90
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0), LE(s(z0), 0)) 14.19/7.90
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1)))
K tuples:none
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.90
IF(false, z0, z1) → c9(MINUS(p(z0), z1)) 14.19/7.90
MINUS(0, z0) → c7(IF(true, 0, z0), LE(0, z0)) 14.19/7.90
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0), LE(s(z0), 0)) 14.19/7.90
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1)))
p, le, minus, if
LE, IF, MINUS
c6, c9, c7
Tuples:
p(0) → s(s(0)) 14.19/7.90
p(s(z0)) → z0 14.19/7.90
p(p(s(z0))) → p(z0) 14.19/7.90
le(p(s(z0)), z0) → le(z0, z0) 14.19/7.90
le(0, z0) → true 14.19/7.90
le(s(z0), 0) → false 14.19/7.90
le(s(z0), s(z1)) → le(z0, z1) 14.19/7.90
minus(z0, z1) → if(le(z0, z1), z0, z1) 14.19/7.90
if(true, z0, z1) → 0 14.19/7.90
if(false, z0, z1) → s(minus(p(z0), z1))
S tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.90
IF(false, z0, z1) → c9(MINUS(p(z0), z1)) 14.19/7.90
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.90
MINUS(0, z0) → c7 14.19/7.90
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0))
K tuples:none
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.90
IF(false, z0, z1) → c9(MINUS(p(z0), z1)) 14.19/7.90
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.90
MINUS(0, z0) → c7 14.19/7.90
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0))
p, le, minus, if
LE, IF, MINUS
c6, c9, c7, c7, c7
MINUS(0, z0) → c7
Tuples:
p(0) → s(s(0)) 14.19/7.90
p(s(z0)) → z0 14.19/7.90
p(p(s(z0))) → p(z0) 14.19/7.90
le(p(s(z0)), z0) → le(z0, z0) 14.19/7.91
le(0, z0) → true 14.19/7.91
le(s(z0), 0) → false 14.19/7.91
le(s(z0), s(z1)) → le(z0, z1) 14.19/7.91
minus(z0, z1) → if(le(z0, z1), z0, z1) 14.19/7.91
if(true, z0, z1) → 0 14.19/7.91
if(false, z0, z1) → s(minus(p(z0), z1))
S tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.91
IF(false, z0, z1) → c9(MINUS(p(z0), z1)) 14.19/7.91
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.91
MINUS(0, z0) → c7 14.19/7.91
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0))
K tuples:none
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.91
IF(false, z0, z1) → c9(MINUS(p(z0), z1)) 14.19/7.91
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.91
MINUS(0, z0) → c7 14.19/7.91
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0))
p, le, minus, if
LE, IF, MINUS
c6, c9, c7, c7, c7
We considered the (Usable) Rules:
MINUS(0, z0) → c7
And the Tuples:
le(0, z0) → true 14.19/7.91
le(s(z0), 0) → false 14.19/7.91
le(s(z0), s(z1)) → le(z0, z1) 14.19/7.91
p(0) → s(s(0)) 14.19/7.91
p(s(z0)) → z0
The order we found is given by the following interpretation:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.91
IF(false, z0, z1) → c9(MINUS(p(z0), z1)) 14.19/7.91
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.91
MINUS(0, z0) → c7 14.19/7.91
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0))
POL(0) = [4] 14.19/7.91
POL(IF(x1, x2, x3)) = [2]x2 14.19/7.91
POL(LE(x1, x2)) = 0 14.19/7.91
POL(MINUS(x1, x2)) = [2]x1 14.19/7.91
POL(c6(x1)) = x1 14.19/7.91
POL(c7) = 0 14.19/7.91
POL(c7(x1)) = x1 14.19/7.91
POL(c7(x1, x2)) = x1 + x2 14.19/7.91
POL(c9(x1)) = x1 14.19/7.91
POL(false) = 0 14.19/7.91
POL(le(x1, x2)) = 0 14.19/7.91
POL(p(x1)) = x1 14.19/7.91
POL(s(x1)) = x1 14.19/7.91
POL(true) = [3]
Tuples:
p(0) → s(s(0)) 14.19/7.91
p(s(z0)) → z0 14.19/7.91
p(p(s(z0))) → p(z0) 14.19/7.91
le(p(s(z0)), z0) → le(z0, z0) 14.19/7.91
le(0, z0) → true 14.19/7.91
le(s(z0), 0) → false 14.19/7.91
le(s(z0), s(z1)) → le(z0, z1) 14.19/7.91
minus(z0, z1) → if(le(z0, z1), z0, z1) 14.19/7.91
if(true, z0, z1) → 0 14.19/7.91
if(false, z0, z1) → s(minus(p(z0), z1))
S tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.91
IF(false, z0, z1) → c9(MINUS(p(z0), z1)) 14.19/7.91
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.91
MINUS(0, z0) → c7 14.19/7.91
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0))
K tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.91
IF(false, z0, z1) → c9(MINUS(p(z0), z1)) 14.19/7.91
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.91
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0))
Defined Rule Symbols:
MINUS(0, z0) → c7
p, le, minus, if
LE, IF, MINUS
c6, c9, c7, c7, c7
IF(false, 0, x1) → c9(MINUS(s(s(0)), x1)) 14.19/7.91
IF(false, s(z0), x1) → c9(MINUS(z0, x1))
Tuples:
p(0) → s(s(0)) 14.19/7.91
p(s(z0)) → z0 14.19/7.91
p(p(s(z0))) → p(z0) 14.19/7.91
le(p(s(z0)), z0) → le(z0, z0) 14.19/7.91
le(0, z0) → true 14.19/7.91
le(s(z0), 0) → false 14.19/7.91
le(s(z0), s(z1)) → le(z0, z1) 14.19/7.91
minus(z0, z1) → if(le(z0, z1), z0, z1) 14.19/7.91
if(true, z0, z1) → 0 14.19/7.91
if(false, z0, z1) → s(minus(p(z0), z1))
S tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.91
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.91
MINUS(0, z0) → c7 14.19/7.91
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0)) 14.19/7.91
IF(false, 0, x1) → c9(MINUS(s(s(0)), x1)) 14.19/7.91
IF(false, s(z0), x1) → c9(MINUS(z0, x1))
K tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.91
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.91
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0)) 14.19/7.91
IF(false, 0, x1) → c9(MINUS(s(s(0)), x1)) 14.19/7.91
IF(false, s(z0), x1) → c9(MINUS(z0, x1))
Defined Rule Symbols:
MINUS(0, z0) → c7
p, le, minus, if
LE, MINUS, IF
c6, c7, c7, c7, c9
Removed 1 trailing nodes:
IF(false, 0, x1) → c9(MINUS(s(s(0)), x1))
MINUS(0, z0) → c7
Tuples:
p(0) → s(s(0)) 14.19/7.92
p(s(z0)) → z0 14.19/7.92
p(p(s(z0))) → p(z0) 14.19/7.92
le(p(s(z0)), z0) → le(z0, z0) 14.19/7.92
le(0, z0) → true 14.19/7.92
le(s(z0), 0) → false 14.19/7.92
le(s(z0), s(z1)) → le(z0, z1) 14.19/7.92
minus(z0, z1) → if(le(z0, z1), z0, z1) 14.19/7.92
if(true, z0, z1) → 0 14.19/7.92
if(false, z0, z1) → s(minus(p(z0), z1))
S tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.92
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.92
MINUS(0, z0) → c7 14.19/7.92
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0)) 14.19/7.92
IF(false, s(z0), x1) → c9(MINUS(z0, x1))
K tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.92
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.92
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0)) 14.19/7.92
IF(false, s(z0), x1) → c9(MINUS(z0, x1))
Defined Rule Symbols:
MINUS(0, z0) → c7
p, le, minus, if
LE, MINUS, IF
c6, c7, c7, c7, c9
We considered the (Usable) Rules:
IF(false, s(z0), x1) → c9(MINUS(z0, x1))
And the Tuples:
le(0, z0) → true 14.19/7.92
le(s(z0), 0) → false 14.19/7.92
le(s(z0), s(z1)) → le(z0, z1)
The order we found is given by the following interpretation:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.92
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.92
MINUS(0, z0) → c7 14.19/7.92
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0)) 14.19/7.92
IF(false, s(z0), x1) → c9(MINUS(z0, x1))
POL(0) = 0 14.19/7.92
POL(IF(x1, x2, x3)) = x2 14.19/7.92
POL(LE(x1, x2)) = 0 14.19/7.92
POL(MINUS(x1, x2)) = x1 14.19/7.92
POL(c6(x1)) = x1 14.19/7.92
POL(c7) = 0 14.19/7.92
POL(c7(x1)) = x1 14.19/7.92
POL(c7(x1, x2)) = x1 + x2 14.19/7.92
POL(c9(x1)) = x1 14.19/7.92
POL(false) = 0 14.19/7.92
POL(le(x1, x2)) = 0 14.19/7.92
POL(s(x1)) = [1] + x1 14.19/7.92
POL(true) = [3]
Tuples:
p(0) → s(s(0)) 14.19/7.92
p(s(z0)) → z0 14.19/7.92
p(p(s(z0))) → p(z0) 14.19/7.92
le(p(s(z0)), z0) → le(z0, z0) 14.19/7.92
le(0, z0) → true 14.19/7.92
le(s(z0), 0) → false 14.19/7.92
le(s(z0), s(z1)) → le(z0, z1) 14.19/7.92
minus(z0, z1) → if(le(z0, z1), z0, z1) 14.19/7.92
if(true, z0, z1) → 0 14.19/7.92
if(false, z0, z1) → s(minus(p(z0), z1))
S tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.92
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.92
MINUS(0, z0) → c7 14.19/7.92
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0)) 14.19/7.92
IF(false, s(z0), x1) → c9(MINUS(z0, x1))
K tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.92
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.92
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0))
Defined Rule Symbols:
MINUS(0, z0) → c7 14.19/7.92
IF(false, s(z0), x1) → c9(MINUS(z0, x1))
p, le, minus, if
LE, MINUS, IF
c6, c7, c7, c7, c9
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.92
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0)) 14.19/7.92
IF(false, s(z0), x1) → c9(MINUS(z0, x1)) 14.19/7.92
IF(false, s(z0), x1) → c9(MINUS(z0, x1))
Tuples:
p(0) → s(s(0)) 14.19/7.92
p(s(z0)) → z0 14.19/7.92
p(p(s(z0))) → p(z0) 14.19/7.92
le(p(s(z0)), z0) → le(z0, z0) 14.19/7.92
le(0, z0) → true 14.19/7.92
le(s(z0), 0) → false 14.19/7.92
le(s(z0), s(z1)) → le(z0, z1) 14.19/7.92
minus(z0, z1) → if(le(z0, z1), z0, z1) 14.19/7.92
if(true, z0, z1) → 0 14.19/7.92
if(false, z0, z1) → s(minus(p(z0), z1))
S tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.92
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.92
MINUS(0, z0) → c7 14.19/7.92
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0)) 14.19/7.92
IF(false, s(z0), x1) → c9(MINUS(z0, x1))
K tuples:
LE(s(z0), s(z1)) → c6(LE(z0, z1))
Defined Rule Symbols:
MINUS(0, z0) → c7 14.19/7.92
IF(false, s(z0), x1) → c9(MINUS(z0, x1)) 14.19/7.92
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.92
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0))
p, le, minus, if
LE, MINUS, IF
c6, c7, c7, c7, c9
We considered the (Usable) Rules:
LE(s(z0), s(z1)) → c6(LE(z0, z1))
And the Tuples:
le(0, z0) → true 14.19/7.92
le(s(z0), 0) → false 14.19/7.92
le(s(z0), s(z1)) → le(z0, z1)
The order we found is given by the following interpretation:
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.92
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.92
MINUS(0, z0) → c7 14.19/7.92
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0)) 14.19/7.92
IF(false, s(z0), x1) → c9(MINUS(z0, x1))
POL(0) = 0 14.19/7.92
POL(IF(x1, x2, x3)) = [2] + x22 14.19/7.92
POL(LE(x1, x2)) = x1 14.19/7.92
POL(MINUS(x1, x2)) = [2] + [2]x1 + x12 14.19/7.92
POL(c6(x1)) = x1 14.19/7.92
POL(c7) = 0 14.19/7.92
POL(c7(x1)) = x1 14.19/7.92
POL(c7(x1, x2)) = x1 + x2 14.19/7.92
POL(c9(x1)) = x1 14.19/7.92
POL(false) = 0 14.19/7.92
POL(le(x1, x2)) = 0 14.19/7.92
POL(s(x1)) = [1] + x1 14.19/7.92
POL(true) = [3]
Tuples:
p(0) → s(s(0)) 14.19/7.92
p(s(z0)) → z0 14.19/7.92
p(p(s(z0))) → p(z0) 14.19/7.92
le(p(s(z0)), z0) → le(z0, z0) 14.19/7.92
le(0, z0) → true 14.19/7.92
le(s(z0), 0) → false 14.19/7.92
le(s(z0), s(z1)) → le(z0, z1) 14.19/7.92
minus(z0, z1) → if(le(z0, z1), z0, z1) 14.19/7.92
if(true, z0, z1) → 0 14.19/7.92
if(false, z0, z1) → s(minus(p(z0), z1))
S tuples:none
LE(s(z0), s(z1)) → c6(LE(z0, z1)) 14.19/7.92
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.92
MINUS(0, z0) → c7 14.19/7.92
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0)) 14.19/7.92
IF(false, s(z0), x1) → c9(MINUS(z0, x1))
Defined Rule Symbols:
MINUS(0, z0) → c7 14.19/7.92
IF(false, s(z0), x1) → c9(MINUS(z0, x1)) 14.19/7.92
MINUS(s(z0), s(z1)) → c7(IF(le(z0, z1), s(z0), s(z1)), LE(s(z0), s(z1))) 14.19/7.92
MINUS(s(z0), 0) → c7(IF(false, s(z0), 0)) 14.19/7.92
LE(s(z0), s(z1)) → c6(LE(z0, z1))
p, le, minus, if
LE, MINUS, IF
c6, c7, c7, c7, c9