0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPOrderProof (⇔)
↳7 QDP
↳8 DependencyGraphProof (⇔)
↳9 TRUE
↳10 QDP
↳11 QDP
nats → cons(0, n__incr(nats))
pairs → cons(0, n__incr(odds))
odds → incr(pairs)
incr(cons(X, XS)) → cons(s(X), n__incr(activate(XS)))
head(cons(X, XS)) → X
tail(cons(X, XS)) → activate(XS)
incr(X) → n__incr(X)
activate(n__incr(X)) → incr(X)
activate(X) → X
NATS → NATS
PAIRS → ODDS
ODDS → INCR(pairs)
ODDS → PAIRS
INCR(cons(X, XS)) → ACTIVATE(XS)
TAIL(cons(X, XS)) → ACTIVATE(XS)
ACTIVATE(n__incr(X)) → INCR(X)
nats → cons(0, n__incr(nats))
pairs → cons(0, n__incr(odds))
odds → incr(pairs)
incr(cons(X, XS)) → cons(s(X), n__incr(activate(XS)))
head(cons(X, XS)) → X
tail(cons(X, XS)) → activate(XS)
incr(X) → n__incr(X)
activate(n__incr(X)) → incr(X)
activate(X) → X
ACTIVATE(n__incr(X)) → INCR(X)
INCR(cons(X, XS)) → ACTIVATE(XS)
nats → cons(0, n__incr(nats))
pairs → cons(0, n__incr(odds))
odds → incr(pairs)
incr(cons(X, XS)) → cons(s(X), n__incr(activate(XS)))
head(cons(X, XS)) → X
tail(cons(X, XS)) → activate(XS)
incr(X) → n__incr(X)
activate(n__incr(X)) → incr(X)
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVATE(n__incr(X)) → INCR(X)
trivial
nincr1: multiset
INCR(cons(X, XS)) → ACTIVATE(XS)
nats → cons(0, n__incr(nats))
pairs → cons(0, n__incr(odds))
odds → incr(pairs)
incr(cons(X, XS)) → cons(s(X), n__incr(activate(XS)))
head(cons(X, XS)) → X
tail(cons(X, XS)) → activate(XS)
incr(X) → n__incr(X)
activate(n__incr(X)) → incr(X)
activate(X) → X
ODDS → PAIRS
PAIRS → ODDS
nats → cons(0, n__incr(nats))
pairs → cons(0, n__incr(odds))
odds → incr(pairs)
incr(cons(X, XS)) → cons(s(X), n__incr(activate(XS)))
head(cons(X, XS)) → X
tail(cons(X, XS)) → activate(XS)
incr(X) → n__incr(X)
activate(n__incr(X)) → incr(X)
activate(X) → X
NATS → NATS
nats → cons(0, n__incr(nats))
pairs → cons(0, n__incr(odds))
odds → incr(pairs)
incr(cons(X, XS)) → cons(s(X), n__incr(activate(XS)))
head(cons(X, XS)) → X
tail(cons(X, XS)) → activate(XS)
incr(X) → n__incr(X)
activate(n__incr(X)) → incr(X)
activate(X) → X