YES
0 QTRS
↳1 Overlay + Local Confluence (⇔, 0 ms)
↳2 QTRS
↳3 DependencyPairsProof (⇔, 0 ms)
↳4 QDP
↳5 DependencyGraphProof (⇔, 0 ms)
↳6 AND
↳7 QDP
↳8 UsableRulesProof (⇔, 0 ms)
↳9 QDP
↳10 QReductionProof (⇔, 0 ms)
↳11 QDP
↳12 QDPSizeChangeProof (⇔, 0 ms)
↳13 YES
↳14 QDP
↳15 UsableRulesProof (⇔, 0 ms)
↳16 QDP
↳17 QReductionProof (⇔, 0 ms)
↳18 QDP
↳19 QDPSizeChangeProof (⇔, 0 ms)
↳20 YES
↳21 QDP
↳22 UsableRulesProof (⇔, 0 ms)
↳23 QDP
↳24 QReductionProof (⇔, 0 ms)
↳25 QDP
↳26 TransformationProof (⇔, 0 ms)
↳27 QDP
↳28 DependencyGraphProof (⇔, 0 ms)
↳29 QDP
↳30 TransformationProof (⇔, 0 ms)
↳31 QDP
↳32 DependencyGraphProof (⇔, 0 ms)
↳33 QDP
↳34 QDPOrderProof (⇔, 0 ms)
↳35 QDP
↳36 DependencyGraphProof (⇔, 0 ms)
↳37 TRUE
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
quot(x, s(y)) → if_quot(le(s(y), x), x, s(y))
if_quot(true, x, y) → s(quot(minus(x, y), y))
if_quot(false, x, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
quot(x, s(y)) → if_quot(le(s(y), x), x, s(y))
if_quot(true, x, y) → s(quot(minus(x, y), y))
if_quot(false, x, y) → 0
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
quot(x0, s(x1))
if_quot(true, x0, x1)
if_quot(false, x0, x1)
MINUS(s(x), s(y)) → MINUS(x, y)
LE(s(x), s(y)) → LE(x, y)
QUOT(x, s(y)) → IF_QUOT(le(s(y), x), x, s(y))
QUOT(x, s(y)) → LE(s(y), x)
IF_QUOT(true, x, y) → QUOT(minus(x, y), y)
IF_QUOT(true, x, y) → MINUS(x, y)
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
quot(x, s(y)) → if_quot(le(s(y), x), x, s(y))
if_quot(true, x, y) → s(quot(minus(x, y), y))
if_quot(false, x, y) → 0
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
quot(x0, s(x1))
if_quot(true, x0, x1)
if_quot(false, x0, x1)
LE(s(x), s(y)) → LE(x, y)
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
quot(x, s(y)) → if_quot(le(s(y), x), x, s(y))
if_quot(true, x, y) → s(quot(minus(x, y), y))
if_quot(false, x, y) → 0
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
quot(x0, s(x1))
if_quot(true, x0, x1)
if_quot(false, x0, x1)
LE(s(x), s(y)) → LE(x, y)
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
quot(x0, s(x1))
if_quot(true, x0, x1)
if_quot(false, x0, x1)
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
quot(x0, s(x1))
if_quot(true, x0, x1)
if_quot(false, x0, x1)
LE(s(x), s(y)) → LE(x, y)
From the DPs we obtained the following set of size-change graphs:
MINUS(s(x), s(y)) → MINUS(x, y)
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
quot(x, s(y)) → if_quot(le(s(y), x), x, s(y))
if_quot(true, x, y) → s(quot(minus(x, y), y))
if_quot(false, x, y) → 0
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
quot(x0, s(x1))
if_quot(true, x0, x1)
if_quot(false, x0, x1)
MINUS(s(x), s(y)) → MINUS(x, y)
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
quot(x0, s(x1))
if_quot(true, x0, x1)
if_quot(false, x0, x1)
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
quot(x0, s(x1))
if_quot(true, x0, x1)
if_quot(false, x0, x1)
MINUS(s(x), s(y)) → MINUS(x, y)
From the DPs we obtained the following set of size-change graphs:
IF_QUOT(true, x, y) → QUOT(minus(x, y), y)
QUOT(x, s(y)) → IF_QUOT(le(s(y), x), x, s(y))
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
quot(x, s(y)) → if_quot(le(s(y), x), x, s(y))
if_quot(true, x, y) → s(quot(minus(x, y), y))
if_quot(false, x, y) → 0
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
quot(x0, s(x1))
if_quot(true, x0, x1)
if_quot(false, x0, x1)
IF_QUOT(true, x, y) → QUOT(minus(x, y), y)
QUOT(x, s(y)) → IF_QUOT(le(s(y), x), x, s(y))
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, y) → true
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
quot(x0, s(x1))
if_quot(true, x0, x1)
if_quot(false, x0, x1)
quot(x0, s(x1))
if_quot(true, x0, x1)
if_quot(false, x0, x1)
IF_QUOT(true, x, y) → QUOT(minus(x, y), y)
QUOT(x, s(y)) → IF_QUOT(le(s(y), x), x, s(y))
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, y) → true
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
QUOT(0, s(x0)) → IF_QUOT(false, 0, s(x0)) → QUOT(0, s(x0)) → IF_QUOT(false, 0, s(x0))
QUOT(s(x1), s(x0)) → IF_QUOT(le(x0, x1), s(x1), s(x0)) → QUOT(s(x1), s(x0)) → IF_QUOT(le(x0, x1), s(x1), s(x0))
IF_QUOT(true, x, y) → QUOT(minus(x, y), y)
QUOT(0, s(x0)) → IF_QUOT(false, 0, s(x0))
QUOT(s(x1), s(x0)) → IF_QUOT(le(x0, x1), s(x1), s(x0))
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, y) → true
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
QUOT(s(x1), s(x0)) → IF_QUOT(le(x0, x1), s(x1), s(x0))
IF_QUOT(true, x, y) → QUOT(minus(x, y), y)
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, y) → true
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
IF_QUOT(true, x0, 0) → QUOT(x0, 0) → IF_QUOT(true, x0, 0) → QUOT(x0, 0)
IF_QUOT(true, s(x0), s(x1)) → QUOT(minus(x0, x1), s(x1)) → IF_QUOT(true, s(x0), s(x1)) → QUOT(minus(x0, x1), s(x1))
QUOT(s(x1), s(x0)) → IF_QUOT(le(x0, x1), s(x1), s(x0))
IF_QUOT(true, x0, 0) → QUOT(x0, 0)
IF_QUOT(true, s(x0), s(x1)) → QUOT(minus(x0, x1), s(x1))
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, y) → true
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
IF_QUOT(true, s(x0), s(x1)) → QUOT(minus(x0, x1), s(x1))
QUOT(s(x1), s(x0)) → IF_QUOT(le(x0, x1), s(x1), s(x0))
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, y) → true
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
IF_QUOT(true, s(x0), s(x1)) → QUOT(minus(x0, x1), s(x1))
trivial
s_1=1
dummyConstant=1
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
QUOT(s(x1), s(x0)) → IF_QUOT(le(x0, x1), s(x1), s(x0))
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, y) → true
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
minus(x0, 0)
minus(s(x0), s(x1))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))