0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDP
↳7 QDPOrderProof (⇔)
↳8 QDP
↳9 QDPOrderProof (⇔)
↳10 QDP
↳11 PisEmptyProof (⇔)
↳12 TRUE
↳13 QDP
↳14 QDPOrderProof (⇔)
↳15 QDP
↳16 PisEmptyProof (⇔)
↳17 TRUE
↳18 QDP
minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(x), y))
MINUS(minus(x, y), z) → MINUS(x, plus(y, z))
MINUS(minus(x, y), z) → PLUS(y, z)
MINUS(s(x), s(y)) → MINUS(x, y)
PLUS(s(x), y) → PLUS(x, s(y))
PLUS(s(x), y) → PLUS(y, x)
DIV(x, y) → QUOT(x, y, 0)
QUOT(s(x), s(y), z) → QUOT(minus(p(ack(0, x)), y), s(y), s(z))
QUOT(s(x), s(y), z) → MINUS(p(ack(0, x)), y)
QUOT(s(x), s(y), z) → P(ack(0, x))
QUOT(s(x), s(y), z) → ACK(0, x)
ACK(0, x) → PLUS(x, s(0))
ACK(s(x), 0) → ACK(x, s(0))
ACK(s(x), s(y)) → ACK(x, ack(s(x), y))
ACK(s(x), s(y)) → ACK(s(x), y)
minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(x), y))
PLUS(s(x), y) → PLUS(y, x)
PLUS(s(x), y) → PLUS(x, s(y))
minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(x), y))
ACK(s(x), s(y)) → ACK(x, ack(s(x), y))
ACK(s(x), 0) → ACK(x, s(0))
ACK(s(x), s(y)) → ACK(s(x), y)
minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(x), y))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACK(s(x), s(y)) → ACK(x, ack(s(x), y))
ACK(s(x), 0) → ACK(x, s(0))
s1 > ACK1 > ack1
0 > ACK1 > ack1
ACK1: multiset
s1: multiset
ack1: multiset
0: multiset
ACK(s(x), s(y)) → ACK(s(x), y)
minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(x), y))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACK(s(x), s(y)) → ACK(s(x), y)
ACK2 > s1
ACK2: [2,1]
s1: [1]
minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(x), y))
MINUS(s(x), s(y)) → MINUS(x, y)
MINUS(minus(x, y), z) → MINUS(x, plus(y, z))
minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(x), y))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MINUS(s(x), s(y)) → MINUS(x, y)
MINUS(minus(x, y), z) → MINUS(x, plus(y, z))
s1 > MINUS1
minus1 > plus > MINUS1
0 > MINUS1
MINUS1: multiset
s1: multiset
minus1: multiset
plus: multiset
0: multiset
minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(x), y))
QUOT(s(x), s(y), z) → QUOT(minus(p(ack(0, x)), y), s(y), s(z))
minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(x), y))