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 QDP
↳17 QDPOrderProof (⇔)
↳18 QDP
↳19 PisEmptyProof (⇔)
↳20 TRUE
from(X) → cons(X, n__from(n__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)
s(X) → n__s(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__zWquot(X1, X2)) → zWquot(activate(X1), activate(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)) → S(quot(minus(X, Y), s(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(activate(X))
ACTIVATE(n__from(X)) → ACTIVATE(X)
ACTIVATE(n__s(X)) → S(activate(X))
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__zWquot(X1, X2)) → ZWQUOT(activate(X1), activate(X2))
ACTIVATE(n__zWquot(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__zWquot(X1, X2)) → ACTIVATE(X2)
from(X) → cons(X, n__from(n__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)
s(X) → n__s(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__zWquot(X1, X2)) → zWquot(activate(X1), activate(X2))
activate(X) → X
MINUS(s(X), s(Y)) → MINUS(X, Y)
from(X) → cons(X, n__from(n__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)
s(X) → n__s(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__zWquot(X1, X2)) → zWquot(activate(X1), activate(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
s1: [1]
from(X) → cons(X, n__from(n__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)
s(X) → n__s(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__zWquot(X1, X2)) → zWquot(activate(X1), activate(X2))
activate(X) → X
QUOT(s(X), s(Y)) → QUOT(minus(X, Y), s(Y))
from(X) → cons(X, n__from(n__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)
s(X) → n__s(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__zWquot(X1, X2)) → zWquot(activate(X1), activate(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 > s1 > minus1 > 0
QUOT2 > s1 > ns1 > 0
minus1: [1]
QUOT2: [1,2]
s1: [1]
ns1: [1]
0: []
s(X) → n__s(X)
minus(s(X), s(Y)) → minus(X, Y)
minus(X, 0) → 0
from(X) → cons(X, n__from(n__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)
s(X) → n__s(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__zWquot(X1, X2)) → zWquot(activate(X1), activate(X2))
activate(X) → X
ZWQUOT(cons(X, XS), cons(Y, YS)) → ACTIVATE(XS)
ACTIVATE(n__from(X)) → ACTIVATE(X)
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__zWquot(X1, X2)) → ZWQUOT(activate(X1), activate(X2))
ZWQUOT(cons(X, XS), cons(Y, YS)) → ACTIVATE(YS)
ACTIVATE(n__zWquot(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__zWquot(X1, X2)) → ACTIVATE(X2)
from(X) → cons(X, n__from(n__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)
s(X) → n__s(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__zWquot(X1, X2)) → zWquot(activate(X1), activate(X2))
activate(X) → X
SEL(s(N), cons(X, XS)) → SEL(N, activate(XS))
from(X) → cons(X, n__from(n__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)
s(X) → n__s(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__zWquot(X1, X2)) → zWquot(activate(X1), activate(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))
SEL2 > activate1 > s1 > ns1
SEL2 > activate1 > from1 > nfrom1 > ns1
SEL2 > activate1 > zWquot > nzWquot > ns1
SEL2 > activate1 > zWquot > nil > ns1
minus2 > 0 > ns1
from1: [1]
minus2: [1,2]
nfrom1: [1]
s1: [1]
activate1: [1]
SEL2: [1,2]
ns1: [1]
0: []
zWquot: []
nil: []
nzWquot: []
from(X) → cons(X, n__from(n__s(X)))
zWquot(cons(X, XS), cons(Y, YS)) → cons(quot(X, Y), n__zWquot(activate(XS), activate(YS)))
from(X) → n__from(X)
zWquot(XS, nil) → nil
zWquot(nil, XS) → nil
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
s(X) → n__s(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__zWquot(X1, X2)) → zWquot(activate(X1), activate(X2))
activate(X) → X
from(X) → cons(X, n__from(n__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)
s(X) → n__s(X)
zWquot(X1, X2) → n__zWquot(X1, X2)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(n__zWquot(X1, X2)) → zWquot(activate(X1), activate(X2))
activate(X) → X