YES
0 QTRS
↳1 DependencyPairsProof (⇔, 0 ms)
↳2 QDP
↳3 DependencyGraphProof (⇔, 0 ms)
↳4 AND
↳5 QDP
↳6 UsableRulesProof (⇔, 0 ms)
↳7 QDP
↳8 MRRProof (⇔, 0 ms)
↳9 QDP
↳10 DependencyGraphProof (⇔, 0 ms)
↳11 TRUE
↳12 QDP
↳13 UsableRulesProof (⇔, 0 ms)
↳14 QDP
↳15 QDPSizeChangeProof (⇔, 0 ms)
↳16 YES
↳17 QDP
↳18 QDPOrderProof (⇔, 0 ms)
↳19 QDP
↳20 PisEmptyProof (⇔, 0 ms)
↳21 YES
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(minus(x, s(0)), minus(y, s(s(z)))) → plus(minus(y, s(s(z))), minus(x, s(0)))
plus(plus(x, s(0)), plus(y, s(s(z)))) → plus(plus(y, s(s(z))), plus(x, s(0)))
MINUS(s(x), s(y)) → MINUS(x, y)
QUOT(s(x), s(y)) → QUOT(minus(x, y), s(y))
QUOT(s(x), s(y)) → MINUS(x, y)
PLUS(s(x), y) → PLUS(x, y)
PLUS(minus(x, s(0)), minus(y, s(s(z)))) → PLUS(minus(y, s(s(z))), minus(x, s(0)))
PLUS(plus(x, s(0)), plus(y, s(s(z)))) → PLUS(plus(y, s(s(z))), plus(x, s(0)))
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(minus(x, s(0)), minus(y, s(s(z)))) → plus(minus(y, s(s(z))), minus(x, s(0)))
plus(plus(x, s(0)), plus(y, s(s(z)))) → plus(plus(y, s(s(z))), plus(x, s(0)))
PLUS(minus(x, s(0)), minus(y, s(s(z)))) → PLUS(minus(y, s(s(z))), minus(x, s(0)))
PLUS(s(x), y) → PLUS(x, y)
PLUS(plus(x, s(0)), plus(y, s(s(z)))) → PLUS(plus(y, s(s(z))), plus(x, s(0)))
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(minus(x, s(0)), minus(y, s(s(z)))) → plus(minus(y, s(s(z))), minus(x, s(0)))
plus(plus(x, s(0)), plus(y, s(s(z)))) → plus(plus(y, s(s(z))), plus(x, s(0)))
PLUS(minus(x, s(0)), minus(y, s(s(z)))) → PLUS(minus(y, s(s(z))), minus(x, s(0)))
PLUS(s(x), y) → PLUS(x, y)
PLUS(plus(x, s(0)), plus(y, s(s(z)))) → PLUS(plus(y, s(s(z))), plus(x, s(0)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(plus(x, s(0)), plus(y, s(s(z)))) → plus(plus(y, s(s(z))), plus(x, s(0)))
plus(minus(x, s(0)), minus(y, s(s(z)))) → plus(minus(y, s(s(z))), minus(x, s(0)))
minus(s(x), s(y)) → minus(x, y)
minus(x, 0) → x
PLUS(s(x), y) → PLUS(x, y)
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
minus(s(x), s(y)) → minus(x, y)
minus(x, 0) → x
POL(0) = 0
POL(PLUS(x1, x2)) = 2·x1 + 2·x2
POL(minus(x1, x2)) = 2 + 2·x1 + x2
POL(plus(x1, x2)) = 1 + 2·x1 + 2·x2
POL(s(x1)) = 1 + x1
PLUS(minus(x, s(0)), minus(y, s(s(z)))) → PLUS(minus(y, s(s(z))), minus(x, s(0)))
PLUS(plus(x, s(0)), plus(y, s(s(z)))) → PLUS(plus(y, s(s(z))), plus(x, s(0)))
plus(plus(x, s(0)), plus(y, s(s(z)))) → plus(plus(y, s(s(z))), plus(x, s(0)))
plus(minus(x, s(0)), minus(y, s(s(z)))) → plus(minus(y, s(s(z))), minus(x, s(0)))
MINUS(s(x), s(y)) → MINUS(x, y)
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(minus(x, s(0)), minus(y, s(s(z)))) → plus(minus(y, s(s(z))), minus(x, s(0)))
plus(plus(x, s(0)), plus(y, s(s(z)))) → plus(plus(y, s(s(z))), plus(x, s(0)))
MINUS(s(x), s(y)) → MINUS(x, y)
From the DPs we obtained the following set of size-change graphs:
QUOT(s(x), s(y)) → QUOT(minus(x, y), s(y))
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(minus(x, s(0)), minus(y, s(s(z)))) → plus(minus(y, s(s(z))), minus(x, s(0)))
plus(plus(x, s(0)), plus(y, s(s(z)))) → plus(plus(y, s(s(z))), plus(x, s(0)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
QUOT(s(x), s(y)) → QUOT(minus(x, y), s(y))
trivial
s_1=1
dummyConstant=1
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
plus(0, y) → y
plus(s(x), y) → s(plus(x, y))
plus(minus(x, s(0)), minus(y, s(s(z)))) → plus(minus(y, s(s(z))), minus(x, s(0)))
plus(plus(x, s(0)), plus(y, s(s(z)))) → plus(plus(y, s(s(z))), plus(x, s(0)))