Term Rewriting System R:
[X, Y, X1, X2]
from(X) -> cons(X, nfrom(ns(X)))
from(X) -> nfrom(X)
length(nnil) -> 0
length(ncons(X, Y)) -> s(length1(activate(Y)))
length1(X) -> length(activate(X))
s(X) -> ns(X)
nil -> nnil
cons(X1, X2) -> ncons(X1, X2)
activate(nfrom(X)) -> from(activate(X))
activate(ns(X)) -> s(activate(X))
activate(nnil) -> nil
activate(ncons(X1, X2)) -> cons(activate(X1), X2)
activate(X) -> X
Termination of R to be shown.
R
↳Dependency Pair Analysis
R contains the following Dependency Pairs:
FROM(X) -> CONS(X, nfrom(ns(X)))
LENGTH(ncons(X, Y)) -> S(length1(activate(Y)))
LENGTH(ncons(X, Y)) -> LENGTH1(activate(Y))
LENGTH(ncons(X, Y)) -> ACTIVATE(Y)
LENGTH1(X) -> LENGTH(activate(X))
LENGTH1(X) -> ACTIVATE(X)
ACTIVATE(nfrom(X)) -> FROM(activate(X))
ACTIVATE(nfrom(X)) -> ACTIVATE(X)
ACTIVATE(ns(X)) -> S(activate(X))
ACTIVATE(ns(X)) -> ACTIVATE(X)
ACTIVATE(nnil) -> NIL
ACTIVATE(ncons(X1, X2)) -> CONS(activate(X1), X2)
ACTIVATE(ncons(X1, X2)) -> ACTIVATE(X1)
Furthermore, R contains two SCCs.
R
↳DPs
→DP Problem 1
↳Size-Change Principle
→DP Problem 2
↳NonTerm
Dependency Pairs:
ACTIVATE(ncons(X1, X2)) -> ACTIVATE(X1)
ACTIVATE(ns(X)) -> ACTIVATE(X)
ACTIVATE(nfrom(X)) -> ACTIVATE(X)
Rules:
from(X) -> cons(X, nfrom(ns(X)))
from(X) -> nfrom(X)
length(nnil) -> 0
length(ncons(X, Y)) -> s(length1(activate(Y)))
length1(X) -> length(activate(X))
s(X) -> ns(X)
nil -> nnil
cons(X1, X2) -> ncons(X1, X2)
activate(nfrom(X)) -> from(activate(X))
activate(ns(X)) -> s(activate(X))
activate(nnil) -> nil
activate(ncons(X1, X2)) -> cons(activate(X1), X2)
activate(X) -> X
We number the DPs as follows:
- ACTIVATE(ncons(X1, X2)) -> ACTIVATE(X1)
- ACTIVATE(ns(X)) -> ACTIVATE(X)
- ACTIVATE(nfrom(X)) -> ACTIVATE(X)
and get the following Size-Change Graph(s):
which lead(s) to this/these maximal multigraph(s):
DP: empty set
Oriented Rules: none
We used the order Homeomorphic Embedding Order with Non-Strict Precedence.
trivial
with Argument Filtering System:
ncons(x1, x2) -> ncons(x1, x2)
nfrom(x1) -> nfrom(x1)
ns(x1) -> ns(x1)
We obtain no new DP problems.
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳Non Termination
Dependency Pairs:
LENGTH1(X) -> LENGTH(activate(X))
LENGTH(ncons(X, Y)) -> LENGTH1(activate(Y))
Rules:
from(X) -> cons(X, nfrom(ns(X)))
from(X) -> nfrom(X)
length(nnil) -> 0
length(ncons(X, Y)) -> s(length1(activate(Y)))
length1(X) -> length(activate(X))
s(X) -> ns(X)
nil -> nnil
cons(X1, X2) -> ncons(X1, X2)
activate(nfrom(X)) -> from(activate(X))
activate(ns(X)) -> s(activate(X))
activate(nnil) -> nil
activate(ncons(X1, X2)) -> cons(activate(X1), X2)
activate(X) -> X
Found an infinite P-chain over R:
P =
LENGTH1(X) -> LENGTH(activate(X))
LENGTH(ncons(X, Y)) -> LENGTH1(activate(Y))
R =
from(X) -> cons(X, nfrom(ns(X)))
from(X) -> nfrom(X)
length(nnil) -> 0
length(ncons(X, Y)) -> s(length1(activate(Y)))
length1(X) -> length(activate(X))
s(X) -> ns(X)
nil -> nnil
cons(X1, X2) -> ncons(X1, X2)
activate(nfrom(X)) -> from(activate(X))
activate(ns(X)) -> s(activate(X))
activate(nnil) -> nil
activate(ncons(X1, X2)) -> cons(activate(X1), X2)
activate(X) -> X
s = LENGTH(activate(activate(nfrom(X'))))
evaluates to t =LENGTH(activate(activate(nfrom(ns(activate(X'))))))
Thus, s starts an infinite chain as s matches t.
Non-Termination of R could be shown.
Duration:
0:01 minutes