R
↳Dependency Pair Analysis
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)
R
↳DPs
→DP Problem 1
↳Polynomial Ordering
→DP Problem 2
↳Nar
ACTIVATE(ncons(X1, X2)) -> ACTIVATE(X1)
ACTIVATE(ns(X)) -> ACTIVATE(X)
ACTIVATE(nfrom(X)) -> ACTIVATE(X)
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
innermost
ACTIVATE(ncons(X1, X2)) -> ACTIVATE(X1)
POL(n__cons(x1, x2)) = 1 + x1 POL(n__from(x1)) = x1 POL(n__s(x1)) = x1 POL(ACTIVATE(x1)) = x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 3
↳Polynomial Ordering
→DP Problem 2
↳Nar
ACTIVATE(ns(X)) -> ACTIVATE(X)
ACTIVATE(nfrom(X)) -> ACTIVATE(X)
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
innermost
ACTIVATE(ns(X)) -> ACTIVATE(X)
POL(n__from(x1)) = x1 POL(n__s(x1)) = 1 + x1 POL(ACTIVATE(x1)) = x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 3
↳Polo
...
→DP Problem 4
↳Polynomial Ordering
→DP Problem 2
↳Nar
ACTIVATE(nfrom(X)) -> ACTIVATE(X)
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
innermost
ACTIVATE(nfrom(X)) -> ACTIVATE(X)
POL(n__from(x1)) = 1 + x1 POL(ACTIVATE(x1)) = x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 3
↳Polo
...
→DP Problem 5
↳Dependency Graph
→DP Problem 2
↳Nar
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
innermost
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Narrowing Transformation
LENGTH1(X) -> LENGTH(activate(X))
LENGTH(ncons(X, Y)) -> LENGTH1(activate(Y))
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
innermost
five new Dependency Pairs are created:
LENGTH1(X) -> LENGTH(activate(X))
LENGTH1(nfrom(X'')) -> LENGTH(from(activate(X'')))
LENGTH1(ns(X'')) -> LENGTH(s(activate(X'')))
LENGTH1(nnil) -> LENGTH(nil)
LENGTH1(ncons(X1', X2')) -> LENGTH(cons(activate(X1'), X2'))
LENGTH1(X'') -> LENGTH(X'')
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 6
↳Remaining Obligation(s)
LENGTH1(X'') -> LENGTH(X'')
LENGTH1(ncons(X1', X2')) -> LENGTH(cons(activate(X1'), X2'))
LENGTH1(nnil) -> LENGTH(nil)
LENGTH1(ns(X'')) -> LENGTH(s(activate(X'')))
LENGTH1(nfrom(X'')) -> LENGTH(from(activate(X'')))
LENGTH(ncons(X, Y)) -> LENGTH1(activate(Y))
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
innermost