R
↳Removing Redundant Rules
adx(nil) -> nil
head(cons(X, L)) -> X
was used.
POL(adx(x1)) = 2·x1 POL(0) = 0 POL(cons(x1, x2)) = x1 + x2 POL(nats) = 0 POL(tail(x1)) = x1 POL(incr(x1)) = x1 POL(nil) = 1 POL(s(x1)) = x1 POL(zeros) = 0 POL(head(x1)) = 2 + x1
R
↳RRRPolo
→TRS2
↳Removing Redundant Rules
tail(cons(X, L)) -> L
was used.
POL(adx(x1)) = x1 POL(0) = 0 POL(cons(x1, x2)) = x1 + x2 POL(nats) = 0 POL(tail(x1)) = 1 + x1 POL(incr(x1)) = x1 POL(nil) = 0 POL(s(x1)) = x1 POL(zeros) = 0
R
↳RRRPolo
→TRS2
↳RRRPolo
→TRS3
↳Removing Redundant Rules
nats -> adx(zeros)
was used.
POL(adx(x1)) = x1 POL(0) = 0 POL(cons(x1, x2)) = x1 + x2 POL(nats) = 1 POL(incr(x1)) = x1 POL(nil) = 0 POL(s(x1)) = x1 POL(zeros) = 0
R
↳RRRPolo
→TRS2
↳RRRPolo
→TRS3
↳RRRPolo
...
→TRS4
↳Overlay and local confluence Check
R
↳RRRPolo
→TRS2
↳RRRPolo
→TRS3
↳RRRPolo
...
→TRS5
↳Dependency Pair Analysis
INCR(cons(X, L)) -> INCR(L)
ADX(cons(X, L)) -> INCR(cons(X, adx(L)))
ADX(cons(X, L)) -> ADX(L)
ZEROS -> ZEROS
R
↳RRRPolo
→TRS2
↳RRRPolo
→TRS3
↳RRRPolo
...
→DP Problem 1
↳Usable Rules (Innermost)
INCR(cons(X, L)) -> INCR(L)
incr(cons(X, L)) -> cons(s(X), incr(L))
incr(nil) -> nil
adx(cons(X, L)) -> incr(cons(X, adx(L)))
zeros -> cons(0, zeros)
innermost
R
↳RRRPolo
→TRS2
↳RRRPolo
→TRS3
↳RRRPolo
...
→DP Problem 4
↳Size-Change Principle
INCR(cons(X, L)) -> INCR(L)
none
innermost
|
|
trivial
cons(x1, x2) -> cons(x1, x2)
R
↳RRRPolo
→TRS2
↳RRRPolo
→TRS3
↳RRRPolo
...
→DP Problem 2
↳Usable Rules (Innermost)
ZEROS -> ZEROS
incr(cons(X, L)) -> cons(s(X), incr(L))
incr(nil) -> nil
adx(cons(X, L)) -> incr(cons(X, adx(L)))
zeros -> cons(0, zeros)
innermost
R
↳RRRPolo
→TRS2
↳RRRPolo
→TRS3
↳RRRPolo
...
→DP Problem 5
↳Non Termination
ZEROS -> ZEROS
none
innermost
ZEROS -> ZEROS