R
↳Dependency Pair Analysis
DBL(s(X)) -> DBL(X)
DBLS(cons(X, Y)) -> DBL(X)
DBLS(cons(X, Y)) -> DBLS(Y)
SEL(s(X), cons(Y, Z)) -> SEL(X, Z)
INDX(cons(X, Y), Z) -> SEL(X, Z)
INDX(cons(X, Y), Z) -> INDX(Y, Z)
FROM(X) -> FROM(s(X))
R
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
DBL(s(X)) -> DBL(X)
dbl(0) -> 0
dbl(s(X)) -> s(s(dbl(X)))
dbls(nil) -> nil
dbls(cons(X, Y)) -> cons(dbl(X), dbls(Y))
sel(0, cons(X, Y)) -> X
sel(s(X), cons(Y, Z)) -> sel(X, Z)
indx(nil, X) -> nil
indx(cons(X, Y), Z) -> cons(sel(X, Z), indx(Y, Z))
from(X) -> cons(X, from(s(X)))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 6
↳Size-Change Principle
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
DBL(s(X)) -> DBL(X)
none
innermost
|
|
trivial
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳Usable Rules (Innermost)
→DP Problem 3
↳UsableRules
SEL(s(X), cons(Y, Z)) -> SEL(X, Z)
dbl(0) -> 0
dbl(s(X)) -> s(s(dbl(X)))
dbls(nil) -> nil
dbls(cons(X, Y)) -> cons(dbl(X), dbls(Y))
sel(0, cons(X, Y)) -> X
sel(s(X), cons(Y, Z)) -> sel(X, Z)
indx(nil, X) -> nil
indx(cons(X, Y), Z) -> cons(sel(X, Z), indx(Y, Z))
from(X) -> cons(X, from(s(X)))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 7
↳Size-Change Principle
→DP Problem 3
↳UsableRules
SEL(s(X), cons(Y, Z)) -> SEL(X, Z)
none
innermost
|
|
trivial
cons(x1, x2) -> cons(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳Usable Rules (Innermost)
FROM(X) -> FROM(s(X))
dbl(0) -> 0
dbl(s(X)) -> s(s(dbl(X)))
dbls(nil) -> nil
dbls(cons(X, Y)) -> cons(dbl(X), dbls(Y))
sel(0, cons(X, Y)) -> X
sel(s(X), cons(Y, Z)) -> sel(X, Z)
indx(nil, X) -> nil
indx(cons(X, Y), Z) -> cons(sel(X, Z), indx(Y, Z))
from(X) -> cons(X, from(s(X)))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 8
↳Non Termination
FROM(X) -> FROM(s(X))
none
innermost
FROM(X) -> FROM(s(X))