R
↳Dependency Pair Analysis
FILTER(cons(X, Y), 0, M) -> FILTER(Y, M, M)
FILTER(cons(X, Y), s(N), M) -> FILTER(Y, N, M)
SIEVE(cons(0, Y)) -> SIEVE(Y)
SIEVE(cons(s(N), Y)) -> SIEVE(filter(Y, N, N))
SIEVE(cons(s(N), Y)) -> FILTER(Y, N, N)
NATS(N) -> NATS(s(N))
ZPRIMES -> SIEVE(nats(s(s(0))))
ZPRIMES -> NATS(s(s(0)))
R
↳DPs
→DP Problem 1
↳Polynomial Ordering
→DP Problem 2
↳Inst
→DP Problem 3
↳Remaining
FILTER(cons(X, Y), s(N), M) -> FILTER(Y, N, M)
FILTER(cons(X, Y), 0, M) -> FILTER(Y, M, M)
filter(cons(X, Y), 0, M) -> cons(0, filter(Y, M, M))
filter(cons(X, Y), s(N), M) -> cons(X, filter(Y, N, M))
sieve(cons(0, Y)) -> cons(0, sieve(Y))
sieve(cons(s(N), Y)) -> cons(s(N), sieve(filter(Y, N, N)))
nats(N) -> cons(N, nats(s(N)))
zprimes -> sieve(nats(s(s(0))))
FILTER(cons(X, Y), s(N), M) -> FILTER(Y, N, M)
FILTER(cons(X, Y), 0, M) -> FILTER(Y, M, M)
POL(FILTER(x1, x2, x3)) = x1 POL(0) = 0 POL(cons(x1, x2)) = 1 + x2 POL(s(x1)) = 0
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 4
↳Dependency Graph
→DP Problem 2
↳Inst
→DP Problem 3
↳Remaining
filter(cons(X, Y), 0, M) -> cons(0, filter(Y, M, M))
filter(cons(X, Y), s(N), M) -> cons(X, filter(Y, N, M))
sieve(cons(0, Y)) -> cons(0, sieve(Y))
sieve(cons(s(N), Y)) -> cons(s(N), sieve(filter(Y, N, N)))
nats(N) -> cons(N, nats(s(N)))
zprimes -> sieve(nats(s(s(0))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Instantiation Transformation
→DP Problem 3
↳Remaining
NATS(N) -> NATS(s(N))
filter(cons(X, Y), 0, M) -> cons(0, filter(Y, M, M))
filter(cons(X, Y), s(N), M) -> cons(X, filter(Y, N, M))
sieve(cons(0, Y)) -> cons(0, sieve(Y))
sieve(cons(s(N), Y)) -> cons(s(N), sieve(filter(Y, N, N)))
nats(N) -> cons(N, nats(s(N)))
zprimes -> sieve(nats(s(s(0))))
one new Dependency Pair is created:
NATS(N) -> NATS(s(N))
NATS(s(N'')) -> NATS(s(s(N'')))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Inst
→DP Problem 5
↳Instantiation Transformation
→DP Problem 3
↳Remaining
NATS(s(N'')) -> NATS(s(s(N'')))
filter(cons(X, Y), 0, M) -> cons(0, filter(Y, M, M))
filter(cons(X, Y), s(N), M) -> cons(X, filter(Y, N, M))
sieve(cons(0, Y)) -> cons(0, sieve(Y))
sieve(cons(s(N), Y)) -> cons(s(N), sieve(filter(Y, N, N)))
nats(N) -> cons(N, nats(s(N)))
zprimes -> sieve(nats(s(s(0))))
one new Dependency Pair is created:
NATS(s(N'')) -> NATS(s(s(N'')))
NATS(s(s(N''''))) -> NATS(s(s(s(N''''))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Inst
→DP Problem 5
↳Inst
...
→DP Problem 6
↳Instantiation Transformation
→DP Problem 3
↳Remaining
NATS(s(s(N''''))) -> NATS(s(s(s(N''''))))
filter(cons(X, Y), 0, M) -> cons(0, filter(Y, M, M))
filter(cons(X, Y), s(N), M) -> cons(X, filter(Y, N, M))
sieve(cons(0, Y)) -> cons(0, sieve(Y))
sieve(cons(s(N), Y)) -> cons(s(N), sieve(filter(Y, N, N)))
nats(N) -> cons(N, nats(s(N)))
zprimes -> sieve(nats(s(s(0))))
one new Dependency Pair is created:
NATS(s(s(N''''))) -> NATS(s(s(s(N''''))))
NATS(s(s(s(N'''''')))) -> NATS(s(s(s(s(N'''''')))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Inst
→DP Problem 5
↳Inst
...
→DP Problem 7
↳Instantiation Transformation
→DP Problem 3
↳Remaining
NATS(s(s(s(N'''''')))) -> NATS(s(s(s(s(N'''''')))))
filter(cons(X, Y), 0, M) -> cons(0, filter(Y, M, M))
filter(cons(X, Y), s(N), M) -> cons(X, filter(Y, N, M))
sieve(cons(0, Y)) -> cons(0, sieve(Y))
sieve(cons(s(N), Y)) -> cons(s(N), sieve(filter(Y, N, N)))
nats(N) -> cons(N, nats(s(N)))
zprimes -> sieve(nats(s(s(0))))
one new Dependency Pair is created:
NATS(s(s(s(N'''''')))) -> NATS(s(s(s(s(N'''''')))))
NATS(s(s(s(s(N''''''''))))) -> NATS(s(s(s(s(s(N''''''''))))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Inst
→DP Problem 5
↳Inst
...
→DP Problem 8
↳Instantiation Transformation
→DP Problem 3
↳Remaining
NATS(s(s(s(s(N''''''''))))) -> NATS(s(s(s(s(s(N''''''''))))))
filter(cons(X, Y), 0, M) -> cons(0, filter(Y, M, M))
filter(cons(X, Y), s(N), M) -> cons(X, filter(Y, N, M))
sieve(cons(0, Y)) -> cons(0, sieve(Y))
sieve(cons(s(N), Y)) -> cons(s(N), sieve(filter(Y, N, N)))
nats(N) -> cons(N, nats(s(N)))
zprimes -> sieve(nats(s(s(0))))
one new Dependency Pair is created:
NATS(s(s(s(s(N''''''''))))) -> NATS(s(s(s(s(s(N''''''''))))))
NATS(s(s(s(s(s(N'''''''''')))))) -> NATS(s(s(s(s(s(s(N'''''''''')))))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Inst
→DP Problem 3
↳Remaining Obligation(s)
NATS(s(s(s(s(s(N'''''''''')))))) -> NATS(s(s(s(s(s(s(N'''''''''')))))))
filter(cons(X, Y), 0, M) -> cons(0, filter(Y, M, M))
filter(cons(X, Y), s(N), M) -> cons(X, filter(Y, N, M))
sieve(cons(0, Y)) -> cons(0, sieve(Y))
sieve(cons(s(N), Y)) -> cons(s(N), sieve(filter(Y, N, N)))
nats(N) -> cons(N, nats(s(N)))
zprimes -> sieve(nats(s(s(0))))
SIEVE(cons(s(N), Y)) -> SIEVE(filter(Y, N, N))
SIEVE(cons(0, Y)) -> SIEVE(Y)
filter(cons(X, Y), 0, M) -> cons(0, filter(Y, M, M))
filter(cons(X, Y), s(N), M) -> cons(X, filter(Y, N, M))
sieve(cons(0, Y)) -> cons(0, sieve(Y))
sieve(cons(s(N), Y)) -> cons(s(N), sieve(filter(Y, N, N)))
nats(N) -> cons(N, nats(s(N)))
zprimes -> sieve(nats(s(s(0))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Inst
→DP Problem 3
↳Remaining Obligation(s)
NATS(s(s(s(s(s(N'''''''''')))))) -> NATS(s(s(s(s(s(s(N'''''''''')))))))
filter(cons(X, Y), 0, M) -> cons(0, filter(Y, M, M))
filter(cons(X, Y), s(N), M) -> cons(X, filter(Y, N, M))
sieve(cons(0, Y)) -> cons(0, sieve(Y))
sieve(cons(s(N), Y)) -> cons(s(N), sieve(filter(Y, N, N)))
nats(N) -> cons(N, nats(s(N)))
zprimes -> sieve(nats(s(s(0))))
SIEVE(cons(s(N), Y)) -> SIEVE(filter(Y, N, N))
SIEVE(cons(0, Y)) -> SIEVE(Y)
filter(cons(X, Y), 0, M) -> cons(0, filter(Y, M, M))
filter(cons(X, Y), s(N), M) -> cons(X, filter(Y, N, M))
sieve(cons(0, Y)) -> cons(0, sieve(Y))
sieve(cons(s(N), Y)) -> cons(s(N), sieve(filter(Y, N, N)))
nats(N) -> cons(N, nats(s(N)))
zprimes -> sieve(nats(s(s(0))))