0 QTRS
↳1 Overlay + Local Confluence (⇔)
↳2 QTRS
↳3 DependencyPairsProof (⇔)
↳4 QDP
↳5 DependencyGraphProof (⇔)
↳6 AND
↳7 QDP
↳8 UsableRulesProof (⇔)
↳9 QDP
↳10 QReductionProof (⇔)
↳11 QDP
↳12 QDPSizeChangeProof (⇔)
↳13 YES
↳14 QDP
↳15 UsableRulesProof (⇔)
↳16 QDP
↳17 QReductionProof (⇔)
↳18 QDP
↳19 QDPSizeChangeProof (⇔)
↳20 YES
↳21 QDP
↳22 UsableRulesProof (⇔)
↳23 QDP
↳24 QReductionProof (⇔)
↳25 QDP
↳26 QDPSizeChangeProof (⇔)
↳27 YES
↳28 QDP
↳29 UsableRulesProof (⇔)
↳30 QDP
↳31 QReductionProof (⇔)
↳32 QDP
↳33 Instantiation (⇔)
↳34 QDP
↳35 Instantiation (⇔)
↳36 QDP
↳37 NonTerminationProof (⇔)
↳38 NO
from(X) → cons(X, from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, 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), zWquot(XS, YS))
from(X) → cons(X, from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, 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), zWquot(XS, YS))
from(x0)
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
zWquot(x0, nil)
zWquot(nil, x0)
zWquot(cons(x0, x1), cons(x2, x3))
FROM(X) → FROM(s(X))
SEL(s(N), cons(X, XS)) → SEL(N, 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)) → ZWQUOT(XS, YS)
from(X) → cons(X, from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, 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), zWquot(XS, YS))
from(x0)
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
zWquot(x0, nil)
zWquot(nil, x0)
zWquot(cons(x0, x1), cons(x2, x3))
MINUS(s(X), s(Y)) → MINUS(X, Y)
from(X) → cons(X, from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, 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), zWquot(XS, YS))
from(x0)
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
zWquot(x0, nil)
zWquot(nil, x0)
zWquot(cons(x0, x1), cons(x2, x3))
MINUS(s(X), s(Y)) → MINUS(X, Y)
from(x0)
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
zWquot(x0, nil)
zWquot(nil, x0)
zWquot(cons(x0, x1), cons(x2, x3))
from(x0)
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
zWquot(x0, nil)
zWquot(nil, x0)
zWquot(cons(x0, x1), cons(x2, x3))
MINUS(s(X), s(Y)) → MINUS(X, Y)
From the DPs we obtained the following set of size-change graphs:
ZWQUOT(cons(X, XS), cons(Y, YS)) → ZWQUOT(XS, YS)
from(X) → cons(X, from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, 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), zWquot(XS, YS))
from(x0)
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
zWquot(x0, nil)
zWquot(nil, x0)
zWquot(cons(x0, x1), cons(x2, x3))
ZWQUOT(cons(X, XS), cons(Y, YS)) → ZWQUOT(XS, YS)
from(x0)
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
zWquot(x0, nil)
zWquot(nil, x0)
zWquot(cons(x0, x1), cons(x2, x3))
from(x0)
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
zWquot(x0, nil)
zWquot(nil, x0)
zWquot(cons(x0, x1), cons(x2, x3))
ZWQUOT(cons(X, XS), cons(Y, YS)) → ZWQUOT(XS, YS)
From the DPs we obtained the following set of size-change graphs:
SEL(s(N), cons(X, XS)) → SEL(N, XS)
from(X) → cons(X, from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, 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), zWquot(XS, YS))
from(x0)
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
zWquot(x0, nil)
zWquot(nil, x0)
zWquot(cons(x0, x1), cons(x2, x3))
SEL(s(N), cons(X, XS)) → SEL(N, XS)
from(x0)
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
zWquot(x0, nil)
zWquot(nil, x0)
zWquot(cons(x0, x1), cons(x2, x3))
from(x0)
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
zWquot(x0, nil)
zWquot(nil, x0)
zWquot(cons(x0, x1), cons(x2, x3))
SEL(s(N), cons(X, XS)) → SEL(N, XS)
From the DPs we obtained the following set of size-change graphs:
FROM(X) → FROM(s(X))
from(X) → cons(X, from(s(X)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, 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), zWquot(XS, YS))
from(x0)
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
zWquot(x0, nil)
zWquot(nil, x0)
zWquot(cons(x0, x1), cons(x2, x3))
FROM(X) → FROM(s(X))
from(x0)
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
zWquot(x0, nil)
zWquot(nil, x0)
zWquot(cons(x0, x1), cons(x2, x3))
from(x0)
sel(0, cons(x0, x1))
sel(s(x0), cons(x1, x2))
minus(x0, 0)
minus(s(x0), s(x1))
quot(0, s(x0))
quot(s(x0), s(x1))
zWquot(x0, nil)
zWquot(nil, x0)
zWquot(cons(x0, x1), cons(x2, x3))
FROM(X) → FROM(s(X))
FROM(s(z0)) → FROM(s(s(z0)))
FROM(s(z0)) → FROM(s(s(z0)))
FROM(s(s(z0))) → FROM(s(s(s(z0))))
FROM(s(s(z0))) → FROM(s(s(s(z0))))