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
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
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
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 3
↳Size-Change Principle
→DP Problem 2
↳UsableRules
ACTIVATE(ncons(X1, X2)) -> ACTIVATE(X1)
ACTIVATE(ns(X)) -> ACTIVATE(X)
ACTIVATE(nfrom(X)) -> ACTIVATE(X)
none
innermost
|
|
trivial
ncons(x1, x2) -> ncons(x1, x2)
nfrom(x1) -> nfrom(x1)
ns(x1) -> ns(x1)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳Usable Rules (Innermost)
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
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 4
↳Narrowing Transformation
LENGTH1(X) -> LENGTH(activate(X))
LENGTH(ncons(X, Y)) -> LENGTH1(activate(Y))
cons(X1, X2) -> ncons(X1, X2)
activate(ns(X)) -> s(activate(X))
activate(ncons(X1, X2)) -> cons(activate(X1), X2)
activate(X) -> X
activate(nfrom(X)) -> from(activate(X))
activate(nnil) -> nil
s(X) -> ns(X)
nil -> nnil
from(X) -> cons(X, nfrom(ns(X)))
from(X) -> nfrom(X)
innermost
five new Dependency Pairs are created:
LENGTH1(X) -> LENGTH(activate(X))
LENGTH1(ns(X'')) -> LENGTH(s(activate(X'')))
LENGTH1(ncons(X1', X2')) -> LENGTH(cons(activate(X1'), X2'))
LENGTH1(X'') -> LENGTH(X'')
LENGTH1(nfrom(X'')) -> LENGTH(from(activate(X'')))
LENGTH1(nnil) -> LENGTH(nil)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 4
↳Nar
...
→DP Problem 5
↳Narrowing Transformation
LENGTH1(nfrom(X'')) -> LENGTH(from(activate(X'')))
LENGTH1(X'') -> LENGTH(X'')
LENGTH1(ncons(X1', X2')) -> LENGTH(cons(activate(X1'), X2'))
LENGTH1(ns(X'')) -> LENGTH(s(activate(X'')))
LENGTH(ncons(X, Y)) -> LENGTH1(activate(Y))
cons(X1, X2) -> ncons(X1, X2)
activate(ns(X)) -> s(activate(X))
activate(ncons(X1, X2)) -> cons(activate(X1), X2)
activate(X) -> X
activate(nfrom(X)) -> from(activate(X))
activate(nnil) -> nil
s(X) -> ns(X)
nil -> nnil
from(X) -> cons(X, nfrom(ns(X)))
from(X) -> nfrom(X)
innermost
five new Dependency Pairs are created:
LENGTH(ncons(X, Y)) -> LENGTH1(activate(Y))
LENGTH(ncons(X, ns(X''))) -> LENGTH1(s(activate(X'')))
LENGTH(ncons(X, ncons(X1', X2'))) -> LENGTH1(cons(activate(X1'), X2'))
LENGTH(ncons(X, Y')) -> LENGTH1(Y')
LENGTH(ncons(X, nfrom(X''))) -> LENGTH1(from(activate(X'')))
LENGTH(ncons(X, nnil)) -> LENGTH1(nil)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 4
↳Nar
...
→DP Problem 6
↳Rewriting Transformation
LENGTH(ncons(X, nnil)) -> LENGTH1(nil)
LENGTH(ncons(X, nfrom(X''))) -> LENGTH1(from(activate(X'')))
LENGTH1(X'') -> LENGTH(X'')
LENGTH(ncons(X, Y')) -> LENGTH1(Y')
LENGTH1(ncons(X1', X2')) -> LENGTH(cons(activate(X1'), X2'))
LENGTH(ncons(X, ncons(X1', X2'))) -> LENGTH1(cons(activate(X1'), X2'))
LENGTH1(ns(X'')) -> LENGTH(s(activate(X'')))
LENGTH(ncons(X, ns(X''))) -> LENGTH1(s(activate(X'')))
LENGTH1(nfrom(X'')) -> LENGTH(from(activate(X'')))
cons(X1, X2) -> ncons(X1, X2)
activate(ns(X)) -> s(activate(X))
activate(ncons(X1, X2)) -> cons(activate(X1), X2)
activate(X) -> X
activate(nfrom(X)) -> from(activate(X))
activate(nnil) -> nil
s(X) -> ns(X)
nil -> nnil
from(X) -> cons(X, nfrom(ns(X)))
from(X) -> nfrom(X)
innermost
one new Dependency Pair is created:
LENGTH(ncons(X, nnil)) -> LENGTH1(nil)
LENGTH(ncons(X, nnil)) -> LENGTH1(nnil)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 4
↳Nar
...
→DP Problem 7
↳Negative Polynomial Order
LENGTH(ncons(X, nnil)) -> LENGTH1(nnil)
LENGTH1(nfrom(X'')) -> LENGTH(from(activate(X'')))
LENGTH(ncons(X, Y')) -> LENGTH1(Y')
LENGTH1(X'') -> LENGTH(X'')
LENGTH(ncons(X, ncons(X1', X2'))) -> LENGTH1(cons(activate(X1'), X2'))
LENGTH1(ncons(X1', X2')) -> LENGTH(cons(activate(X1'), X2'))
LENGTH(ncons(X, ns(X''))) -> LENGTH1(s(activate(X'')))
LENGTH1(ns(X'')) -> LENGTH(s(activate(X'')))
LENGTH(ncons(X, nfrom(X''))) -> LENGTH1(from(activate(X'')))
cons(X1, X2) -> ncons(X1, X2)
activate(ns(X)) -> s(activate(X))
activate(ncons(X1, X2)) -> cons(activate(X1), X2)
activate(X) -> X
activate(nfrom(X)) -> from(activate(X))
activate(nnil) -> nil
s(X) -> ns(X)
nil -> nnil
from(X) -> cons(X, nfrom(ns(X)))
from(X) -> nfrom(X)
innermost
LENGTH(ncons(X, nnil)) -> LENGTH1(nnil)
LENGTH(ncons(X, ncons(X1', X2'))) -> LENGTH1(cons(activate(X1'), X2'))
cons(X1, X2) -> ncons(X1, X2)
s(X) -> ns(X)
from(X) -> cons(X, nfrom(ns(X)))
from(X) -> nfrom(X)
POL( LENGTH(x1) ) = max{0, x1 - 1}
POL( ncons(x1, x2) ) = x2 + 1
POL( nnil ) = 1
POL( LENGTH1(x1) ) = max{0, x1 - 1}
POL( ns(x1) ) = 0
POL( s(x1) ) = 0
POL( cons(x1, x2) ) = x2 + 1
POL( nfrom(x1) ) = 0
POL( from(x1) ) = 1
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 4
↳Nar
...
→DP Problem 8
↳Negative Polynomial Order
LENGTH1(nfrom(X'')) -> LENGTH(from(activate(X'')))
LENGTH(ncons(X, Y')) -> LENGTH1(Y')
LENGTH1(X'') -> LENGTH(X'')
LENGTH1(ncons(X1', X2')) -> LENGTH(cons(activate(X1'), X2'))
LENGTH(ncons(X, ns(X''))) -> LENGTH1(s(activate(X'')))
LENGTH1(ns(X'')) -> LENGTH(s(activate(X'')))
LENGTH(ncons(X, nfrom(X''))) -> LENGTH1(from(activate(X'')))
cons(X1, X2) -> ncons(X1, X2)
activate(ns(X)) -> s(activate(X))
activate(ncons(X1, X2)) -> cons(activate(X1), X2)
activate(X) -> X
activate(nfrom(X)) -> from(activate(X))
activate(nnil) -> nil
s(X) -> ns(X)
nil -> nnil
from(X) -> cons(X, nfrom(ns(X)))
from(X) -> nfrom(X)
innermost
LENGTH(ncons(X, ns(X''))) -> LENGTH1(s(activate(X'')))
cons(X1, X2) -> ncons(X1, X2)
s(X) -> ns(X)
from(X) -> cons(X, nfrom(ns(X)))
from(X) -> nfrom(X)
POL( LENGTH(x1) ) = max{0, x1 - 1}
POL( ncons(x1, x2) ) = x2 + 1
POL( ns(x1) ) = 1
POL( LENGTH1(x1) ) = max{0, x1 - 1}
POL( s(x1) ) = 1
POL( cons(x1, x2) ) = x2 + 1
POL( nfrom(x1) ) = 0
POL( from(x1) ) = 1
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 4
↳Nar
...
→DP Problem 9
↳Remaining Obligation(s)
LENGTH1(nfrom(X'')) -> LENGTH(from(activate(X'')))
LENGTH(ncons(X, Y')) -> LENGTH1(Y')
LENGTH1(X'') -> LENGTH(X'')
LENGTH1(ncons(X1', X2')) -> LENGTH(cons(activate(X1'), X2'))
LENGTH1(ns(X'')) -> LENGTH(s(activate(X'')))
LENGTH(ncons(X, nfrom(X''))) -> LENGTH1(from(activate(X'')))
cons(X1, X2) -> ncons(X1, X2)
activate(ns(X)) -> s(activate(X))
activate(ncons(X1, X2)) -> cons(activate(X1), X2)
activate(X) -> X
activate(nfrom(X)) -> from(activate(X))
activate(nnil) -> nil
s(X) -> ns(X)
nil -> nnil
from(X) -> cons(X, nfrom(ns(X)))
from(X) -> nfrom(X)
innermost