0 QTRS
↳1 Overlay + Local Confluence (⇔)
↳2 QTRS
↳3 DependencyPairsProof (⇔)
↳4 QDP
↳5 DependencyGraphProof (⇔)
↳6 AND
↳7 QDP
↳8 QDPOrderProof (⇔)
↳9 QDP
↳10 PisEmptyProof (⇔)
↳11 TRUE
↳12 QDP
↳13 QDPOrderProof (⇔)
↳14 QDP
↳15 PisEmptyProof (⇔)
↳16 TRUE
↳17 QDP
nats → adx(zeros)
zeros → cons(0, zeros)
incr(cons(X, Y)) → cons(s(X), incr(Y))
adx(cons(X, Y)) → incr(cons(X, adx(Y)))
hd(cons(X, Y)) → X
tl(cons(X, Y)) → Y
nats → adx(zeros)
zeros → cons(0, zeros)
incr(cons(X, Y)) → cons(s(X), incr(Y))
adx(cons(X, Y)) → incr(cons(X, adx(Y)))
hd(cons(X, Y)) → X
tl(cons(X, Y)) → Y
nats
zeros
incr(cons(x0, x1))
adx(cons(x0, x1))
hd(cons(x0, x1))
tl(cons(x0, x1))
NATS → ADX(zeros)
NATS → ZEROS
ZEROS → ZEROS
INCR(cons(X, Y)) → INCR(Y)
ADX(cons(X, Y)) → INCR(cons(X, adx(Y)))
ADX(cons(X, Y)) → ADX(Y)
nats → adx(zeros)
zeros → cons(0, zeros)
incr(cons(X, Y)) → cons(s(X), incr(Y))
adx(cons(X, Y)) → incr(cons(X, adx(Y)))
hd(cons(X, Y)) → X
tl(cons(X, Y)) → Y
nats
zeros
incr(cons(x0, x1))
adx(cons(x0, x1))
hd(cons(x0, x1))
tl(cons(x0, x1))
INCR(cons(X, Y)) → INCR(Y)
nats → adx(zeros)
zeros → cons(0, zeros)
incr(cons(X, Y)) → cons(s(X), incr(Y))
adx(cons(X, Y)) → incr(cons(X, adx(Y)))
hd(cons(X, Y)) → X
tl(cons(X, Y)) → Y
nats
zeros
incr(cons(x0, x1))
adx(cons(x0, x1))
hd(cons(x0, x1))
tl(cons(x0, x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
INCR(cons(X, Y)) → INCR(Y)
trivial
cons2: multiset
nats → adx(zeros)
zeros → cons(0, zeros)
incr(cons(X, Y)) → cons(s(X), incr(Y))
adx(cons(X, Y)) → incr(cons(X, adx(Y)))
hd(cons(X, Y)) → X
tl(cons(X, Y)) → Y
nats
zeros
incr(cons(x0, x1))
adx(cons(x0, x1))
hd(cons(x0, x1))
tl(cons(x0, x1))
ADX(cons(X, Y)) → ADX(Y)
nats → adx(zeros)
zeros → cons(0, zeros)
incr(cons(X, Y)) → cons(s(X), incr(Y))
adx(cons(X, Y)) → incr(cons(X, adx(Y)))
hd(cons(X, Y)) → X
tl(cons(X, Y)) → Y
nats
zeros
incr(cons(x0, x1))
adx(cons(x0, x1))
hd(cons(x0, x1))
tl(cons(x0, x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ADX(cons(X, Y)) → ADX(Y)
trivial
cons2: multiset
nats → adx(zeros)
zeros → cons(0, zeros)
incr(cons(X, Y)) → cons(s(X), incr(Y))
adx(cons(X, Y)) → incr(cons(X, adx(Y)))
hd(cons(X, Y)) → X
tl(cons(X, Y)) → Y
nats
zeros
incr(cons(x0, x1))
adx(cons(x0, x1))
hd(cons(x0, x1))
tl(cons(x0, x1))
ZEROS → ZEROS
nats → adx(zeros)
zeros → cons(0, zeros)
incr(cons(X, Y)) → cons(s(X), incr(Y))
adx(cons(X, Y)) → incr(cons(X, adx(Y)))
hd(cons(X, Y)) → X
tl(cons(X, Y)) → Y
nats
zeros
incr(cons(x0, x1))
adx(cons(x0, x1))
hd(cons(x0, x1))
tl(cons(x0, x1))