R
↳Dependency Pair Analysis
INCR(cons(X, L)) -> INCR(L)
ADX(cons(X, L)) -> INCR(cons(X, adx(L)))
ADX(cons(X, L)) -> ADX(L)
NATS -> ADX(zeros)
NATS -> ZEROS
ZEROS -> ZEROS
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
→DP Problem 2
↳Remaining
→DP Problem 3
↳Remaining
INCR(cons(X, L)) -> INCR(L)
incr(nil) -> nil
incr(cons(X, L)) -> cons(s(X), incr(L))
adx(nil) -> nil
adx(cons(X, L)) -> incr(cons(X, adx(L)))
nats -> adx(zeros)
zeros -> cons(0, zeros)
head(cons(X, L)) -> X
tail(cons(X, L)) -> L
innermost
one new Dependency Pair is created:
INCR(cons(X, L)) -> INCR(L)
INCR(cons(X, cons(X'', L''))) -> INCR(cons(X'', L''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 4
↳Forward Instantiation Transformation
→DP Problem 2
↳Remaining
→DP Problem 3
↳Remaining
INCR(cons(X, cons(X'', L''))) -> INCR(cons(X'', L''))
incr(nil) -> nil
incr(cons(X, L)) -> cons(s(X), incr(L))
adx(nil) -> nil
adx(cons(X, L)) -> incr(cons(X, adx(L)))
nats -> adx(zeros)
zeros -> cons(0, zeros)
head(cons(X, L)) -> X
tail(cons(X, L)) -> L
innermost
one new Dependency Pair is created:
INCR(cons(X, cons(X'', L''))) -> INCR(cons(X'', L''))
INCR(cons(X, cons(X'''', cons(X''''', L'''')))) -> INCR(cons(X'''', cons(X''''', L'''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 4
↳FwdInst
...
→DP Problem 5
↳Polynomial Ordering
→DP Problem 2
↳Remaining
→DP Problem 3
↳Remaining
INCR(cons(X, cons(X'''', cons(X''''', L'''')))) -> INCR(cons(X'''', cons(X''''', L'''')))
incr(nil) -> nil
incr(cons(X, L)) -> cons(s(X), incr(L))
adx(nil) -> nil
adx(cons(X, L)) -> incr(cons(X, adx(L)))
nats -> adx(zeros)
zeros -> cons(0, zeros)
head(cons(X, L)) -> X
tail(cons(X, L)) -> L
innermost
INCR(cons(X, cons(X'''', cons(X''''', L'''')))) -> INCR(cons(X'''', cons(X''''', L'''')))
POL(cons(x1, x2)) = 1 + x2 POL(INCR(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 4
↳FwdInst
...
→DP Problem 6
↳Dependency Graph
→DP Problem 2
↳Remaining
→DP Problem 3
↳Remaining
incr(nil) -> nil
incr(cons(X, L)) -> cons(s(X), incr(L))
adx(nil) -> nil
adx(cons(X, L)) -> incr(cons(X, adx(L)))
nats -> adx(zeros)
zeros -> cons(0, zeros)
head(cons(X, L)) -> X
tail(cons(X, L)) -> L
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Remaining Obligation(s)
→DP Problem 3
↳Remaining Obligation(s)
ZEROS -> ZEROS
incr(nil) -> nil
incr(cons(X, L)) -> cons(s(X), incr(L))
adx(nil) -> nil
adx(cons(X, L)) -> incr(cons(X, adx(L)))
nats -> adx(zeros)
zeros -> cons(0, zeros)
head(cons(X, L)) -> X
tail(cons(X, L)) -> L
innermost
ADX(cons(X, L)) -> ADX(L)
incr(nil) -> nil
incr(cons(X, L)) -> cons(s(X), incr(L))
adx(nil) -> nil
adx(cons(X, L)) -> incr(cons(X, adx(L)))
nats -> adx(zeros)
zeros -> cons(0, zeros)
head(cons(X, L)) -> X
tail(cons(X, L)) -> L
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Remaining Obligation(s)
→DP Problem 3
↳Remaining Obligation(s)
ZEROS -> ZEROS
incr(nil) -> nil
incr(cons(X, L)) -> cons(s(X), incr(L))
adx(nil) -> nil
adx(cons(X, L)) -> incr(cons(X, adx(L)))
nats -> adx(zeros)
zeros -> cons(0, zeros)
head(cons(X, L)) -> X
tail(cons(X, L)) -> L
innermost
ADX(cons(X, L)) -> ADX(L)
incr(nil) -> nil
incr(cons(X, L)) -> cons(s(X), incr(L))
adx(nil) -> nil
adx(cons(X, L)) -> incr(cons(X, adx(L)))
nats -> adx(zeros)
zeros -> cons(0, zeros)
head(cons(X, L)) -> X
tail(cons(X, L)) -> L
innermost