0 QTRS
↳1 Overlay + Local Confluence (⇔)
↳2 QTRS
↳3 DependencyPairsProof (⇔)
↳4 QDP
↳5 DependencyGraphProof (⇔)
↳6 AND
↳7 QDP
↳8 QDP
↳9 QDPOrderProof (⇔)
↳10 QDP
↳11 PisEmptyProof (⇔)
↳12 TRUE
↳13 QDP
↳14 QDPOrderProof (⇔)
↳15 QDP
↳16 PisEmptyProof (⇔)
↳17 TRUE
incr(nil) → nil
incr(cons(X, L)) → cons(s(X), incr(L))
adx(nil) → nil
adx(cons(X, L)) → incr(cons(X, adx(L)))
nats → adx(zeros)
zeros → cons(0, zeros)
head(cons(X, L)) → X
tail(cons(X, L)) → L
incr(nil) → nil
incr(cons(X, L)) → cons(s(X), incr(L))
adx(nil) → nil
adx(cons(X, L)) → incr(cons(X, adx(L)))
nats → adx(zeros)
zeros → cons(0, zeros)
head(cons(X, L)) → X
tail(cons(X, L)) → L
incr(nil)
incr(cons(x0, x1))
adx(nil)
adx(cons(x0, x1))
nats
zeros
head(cons(x0, x1))
tail(cons(x0, x1))
INCR(cons(X, L)) → INCR(L)
ADX(cons(X, L)) → INCR(cons(X, adx(L)))
ADX(cons(X, L)) → ADX(L)
NATS → ADX(zeros)
NATS → ZEROS
ZEROS → ZEROS
incr(nil) → nil
incr(cons(X, L)) → cons(s(X), incr(L))
adx(nil) → nil
adx(cons(X, L)) → incr(cons(X, adx(L)))
nats → adx(zeros)
zeros → cons(0, zeros)
head(cons(X, L)) → X
tail(cons(X, L)) → L
incr(nil)
incr(cons(x0, x1))
adx(nil)
adx(cons(x0, x1))
nats
zeros
head(cons(x0, x1))
tail(cons(x0, x1))
ZEROS → ZEROS
incr(nil) → nil
incr(cons(X, L)) → cons(s(X), incr(L))
adx(nil) → nil
adx(cons(X, L)) → incr(cons(X, adx(L)))
nats → adx(zeros)
zeros → cons(0, zeros)
head(cons(X, L)) → X
tail(cons(X, L)) → L
incr(nil)
incr(cons(x0, x1))
adx(nil)
adx(cons(x0, x1))
nats
zeros
head(cons(x0, x1))
tail(cons(x0, x1))
INCR(cons(X, L)) → INCR(L)
incr(nil) → nil
incr(cons(X, L)) → cons(s(X), incr(L))
adx(nil) → nil
adx(cons(X, L)) → incr(cons(X, adx(L)))
nats → adx(zeros)
zeros → cons(0, zeros)
head(cons(X, L)) → X
tail(cons(X, L)) → L
incr(nil)
incr(cons(x0, x1))
adx(nil)
adx(cons(x0, x1))
nats
zeros
head(cons(x0, x1))
tail(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, L)) → INCR(L)
cons2 > INCR1
INCR1: [1]
cons2: [1,2]
incr(nil) → nil
incr(cons(X, L)) → cons(s(X), incr(L))
adx(nil) → nil
adx(cons(X, L)) → incr(cons(X, adx(L)))
nats → adx(zeros)
zeros → cons(0, zeros)
head(cons(X, L)) → X
tail(cons(X, L)) → L
incr(nil)
incr(cons(x0, x1))
adx(nil)
adx(cons(x0, x1))
nats
zeros
head(cons(x0, x1))
tail(cons(x0, x1))
ADX(cons(X, L)) → ADX(L)
incr(nil) → nil
incr(cons(X, L)) → cons(s(X), incr(L))
adx(nil) → nil
adx(cons(X, L)) → incr(cons(X, adx(L)))
nats → adx(zeros)
zeros → cons(0, zeros)
head(cons(X, L)) → X
tail(cons(X, L)) → L
incr(nil)
incr(cons(x0, x1))
adx(nil)
adx(cons(x0, x1))
nats
zeros
head(cons(x0, x1))
tail(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, L)) → ADX(L)
cons2 > ADX1
ADX1: [1]
cons2: [1,2]
incr(nil) → nil
incr(cons(X, L)) → cons(s(X), incr(L))
adx(nil) → nil
adx(cons(X, L)) → incr(cons(X, adx(L)))
nats → adx(zeros)
zeros → cons(0, zeros)
head(cons(X, L)) → X
tail(cons(X, L)) → L
incr(nil)
incr(cons(x0, x1))
adx(nil)
adx(cons(x0, x1))
nats
zeros
head(cons(x0, x1))
tail(cons(x0, x1))