0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPOrderProof (⇔)
↳7 QDP
↳8 PisEmptyProof (⇔)
↳9 TRUE
↳10 QDP
↳11 QDPOrderProof (⇔)
↳12 QDP
↳13 PisEmptyProof (⇔)
↳14 TRUE
↳15 QDP
↳16 QDPOrderProof (⇔)
↳17 QDP
↳18 PisEmptyProof (⇔)
↳19 TRUE
↳20 QDP
↳21 QDPOrderProof (⇔)
↳22 QDP
↳23 PisEmptyProof (⇔)
↳24 TRUE
from(X) → cons(X, n__from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, activate(XS))
minus(X, 0) → 0
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)))
zWquot(XS, nil) → nil
zWquot(nil, XS) → nil
zWquot(cons(X, XS), cons(Y, YS)) → cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X) → n__from(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(X)
activate(n__zWquot(X1, X2)) → zWquot(X1, X2)
activate(X) → X
SEL(s(N), cons(X, XS)) → SEL(N, activate(XS))
SEL(s(N), cons(X, XS)) → ACTIVATE(XS)
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)
ZWQUOT(cons(X, XS), cons(Y, YS)) → QUOT(X, Y)
ZWQUOT(cons(X, XS), cons(Y, YS)) → ACTIVATE(XS)
ZWQUOT(cons(X, XS), cons(Y, YS)) → ACTIVATE(YS)
ACTIVATE(n__from(X)) → FROM(X)
ACTIVATE(n__zWquot(X1, X2)) → ZWQUOT(X1, X2)
from(X) → cons(X, n__from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, activate(XS))
minus(X, 0) → 0
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)))
zWquot(XS, nil) → nil
zWquot(nil, XS) → nil
zWquot(cons(X, XS), cons(Y, YS)) → cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X) → n__from(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(X)
activate(n__zWquot(X1, X2)) → zWquot(X1, X2)
activate(X) → X
MINUS(s(X), s(Y)) → MINUS(X, Y)
from(X) → cons(X, n__from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, activate(XS))
minus(X, 0) → 0
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)))
zWquot(XS, nil) → nil
zWquot(nil, XS) → nil
zWquot(cons(X, XS), cons(Y, YS)) → cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X) → n__from(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(X)
activate(n__zWquot(X1, X2)) → zWquot(X1, X2)
activate(X) → X
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)
trivial
MINUS1: [1]
s1: multiset
from(X) → cons(X, n__from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, activate(XS))
minus(X, 0) → 0
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)))
zWquot(XS, nil) → nil
zWquot(nil, XS) → nil
zWquot(cons(X, XS), cons(Y, YS)) → cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X) → n__from(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(X)
activate(n__zWquot(X1, X2)) → zWquot(X1, X2)
activate(X) → X
QUOT(s(X), s(Y)) → QUOT(minus(X, Y), s(Y))
from(X) → cons(X, n__from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, activate(XS))
minus(X, 0) → 0
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)))
zWquot(XS, nil) → nil
zWquot(nil, XS) → nil
zWquot(cons(X, XS), cons(Y, YS)) → cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X) → n__from(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(X)
activate(n__zWquot(X1, X2)) → zWquot(X1, X2)
activate(X) → X
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))
QUOT2 > s > [minus, 0]
QUOT2: [2,1]
s: multiset
minus: []
0: multiset
minus(X, 0) → 0
minus(s(X), s(Y)) → minus(X, Y)
from(X) → cons(X, n__from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, activate(XS))
minus(X, 0) → 0
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)))
zWquot(XS, nil) → nil
zWquot(nil, XS) → nil
zWquot(cons(X, XS), cons(Y, YS)) → cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X) → n__from(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(X)
activate(n__zWquot(X1, X2)) → zWquot(X1, X2)
activate(X) → X
ZWQUOT(cons(X, XS), cons(Y, YS)) → ACTIVATE(XS)
ACTIVATE(n__zWquot(X1, X2)) → ZWQUOT(X1, X2)
ZWQUOT(cons(X, XS), cons(Y, YS)) → ACTIVATE(YS)
from(X) → cons(X, n__from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, activate(XS))
minus(X, 0) → 0
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)))
zWquot(XS, nil) → nil
zWquot(nil, XS) → nil
zWquot(cons(X, XS), cons(Y, YS)) → cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X) → n__from(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(X)
activate(n__zWquot(X1, X2)) → zWquot(X1, X2)
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ZWQUOT(cons(X, XS), cons(Y, YS)) → ACTIVATE(XS)
ACTIVATE(n__zWquot(X1, X2)) → ZWQUOT(X1, X2)
ZWQUOT(cons(X, XS), cons(Y, YS)) → ACTIVATE(YS)
nzWquot2 > [ZWQUOT2, cons2, ACTIVATE1]
ZWQUOT2: multiset
cons2: multiset
ACTIVATE1: multiset
nzWquot2: multiset
from(X) → cons(X, n__from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, activate(XS))
minus(X, 0) → 0
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)))
zWquot(XS, nil) → nil
zWquot(nil, XS) → nil
zWquot(cons(X, XS), cons(Y, YS)) → cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X) → n__from(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(X)
activate(n__zWquot(X1, X2)) → zWquot(X1, X2)
activate(X) → X
SEL(s(N), cons(X, XS)) → SEL(N, activate(XS))
from(X) → cons(X, n__from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, activate(XS))
minus(X, 0) → 0
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)))
zWquot(XS, nil) → nil
zWquot(nil, XS) → nil
zWquot(cons(X, XS), cons(Y, YS)) → cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X) → n__from(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(X)
activate(n__zWquot(X1, X2)) → zWquot(X1, X2)
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SEL(s(N), cons(X, XS)) → SEL(N, activate(XS))
s1 > [SEL1, activate1, nfrom1, nzWquot2, nil, quot2, 0, minus]
[cons2, zWquot2] > [SEL1, activate1, nfrom1, nzWquot2, nil, quot2, 0, minus]
from1 > [SEL1, activate1, nfrom1, nzWquot2, nil, quot2, 0, minus]
SEL1: multiset
s1: multiset
cons2: multiset
activate1: multiset
nfrom1: multiset
from1: multiset
nzWquot2: multiset
zWquot2: multiset
nil: multiset
quot2: [1,2]
0: multiset
minus: []
from(X) → cons(X, n__from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, activate(XS))
minus(X, 0) → 0
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)))
zWquot(XS, nil) → nil
zWquot(nil, XS) → nil
zWquot(cons(X, XS), cons(Y, YS)) → cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X) → n__from(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(X)
activate(n__zWquot(X1, X2)) → zWquot(X1, X2)
activate(X) → X