(0) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
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))))
Q is empty.
(1) Overlay + Local Confluence (EQUIVALENT transformation)
The TRS is overlay and locally confluent. By [NOC] we can switch to innermost.
(2) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
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))))
The set Q consists of the following terms:
filter(cons(x0, x1), 0, x2)
filter(cons(x0, x1), s(x2), x3)
sieve(cons(0, x0))
sieve(cons(s(x0), x1))
nats(x0)
zprimes
(3) DependencyPairsProof (EQUIVALENT transformation)
Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.
(4) Obligation:
Q DP problem:
The TRS P consists of the following rules:
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)))
The TRS R consists of the following rules:
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))))
The set Q consists of the following terms:
filter(cons(x0, x1), 0, x2)
filter(cons(x0, x1), s(x2), x3)
sieve(cons(0, x0))
sieve(cons(s(x0), x1))
nats(x0)
zprimes
We have to consider all minimal (P,Q,R)-chains.
(5) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 3 less nodes.
(6) Complex Obligation (AND)
(7) Obligation:
Q DP problem:
The TRS P consists of the following rules:
NATS(N) → NATS(s(N))
The TRS R consists of the following rules:
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))))
The set Q consists of the following terms:
filter(cons(x0, x1), 0, x2)
filter(cons(x0, x1), s(x2), x3)
sieve(cons(0, x0))
sieve(cons(s(x0), x1))
nats(x0)
zprimes
We have to consider all minimal (P,Q,R)-chains.
(8) UsableRulesProof (EQUIVALENT transformation)
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.
(9) Obligation:
Q DP problem:
The TRS P consists of the following rules:
NATS(N) → NATS(s(N))
R is empty.
The set Q consists of the following terms:
filter(cons(x0, x1), 0, x2)
filter(cons(x0, x1), s(x2), x3)
sieve(cons(0, x0))
sieve(cons(s(x0), x1))
nats(x0)
zprimes
We have to consider all minimal (P,Q,R)-chains.
(10) QReductionProof (EQUIVALENT transformation)
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].
filter(cons(x0, x1), 0, x2)
filter(cons(x0, x1), s(x2), x3)
sieve(cons(0, x0))
sieve(cons(s(x0), x1))
nats(x0)
zprimes
(11) Obligation:
Q DP problem:
The TRS P consists of the following rules:
NATS(N) → NATS(s(N))
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(12) Instantiation (EQUIVALENT transformation)
By instantiating [LPAR04] the rule
NATS(
N) →
NATS(
s(
N)) we obtained the following new rules [LPAR04]:
NATS(s(z0)) → NATS(s(s(z0)))
(13) Obligation:
Q DP problem:
The TRS P consists of the following rules:
NATS(s(z0)) → NATS(s(s(z0)))
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(14) Instantiation (EQUIVALENT transformation)
By instantiating [LPAR04] the rule
NATS(
s(
z0)) →
NATS(
s(
s(
z0))) we obtained the following new rules [LPAR04]:
NATS(s(s(z0))) → NATS(s(s(s(z0))))
(15) Obligation:
Q DP problem:
The TRS P consists of the following rules:
NATS(s(s(z0))) → NATS(s(s(s(z0))))
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(16) NonTerminationProof (EQUIVALENT transformation)
We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.
s =
NATS(
s(
s(
z0))) evaluates to t =
NATS(
s(
s(
s(
z0))))
Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
- Matcher: [z0 / s(z0)]
- Semiunifier: [ ]
Rewriting sequenceThe DP semiunifies directly so there is only one rewrite step from NATS(s(s(z0))) to NATS(s(s(s(z0)))).
(17) NO
(18) Obligation:
Q DP problem:
The TRS P consists of the following rules:
FILTER(cons(X, Y), s(N), M) → FILTER(Y, N, M)
FILTER(cons(X, Y), 0, M) → FILTER(Y, M, M)
The TRS R consists of the following rules:
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))))
The set Q consists of the following terms:
filter(cons(x0, x1), 0, x2)
filter(cons(x0, x1), s(x2), x3)
sieve(cons(0, x0))
sieve(cons(s(x0), x1))
nats(x0)
zprimes
We have to consider all minimal (P,Q,R)-chains.
(19) UsableRulesProof (EQUIVALENT transformation)
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.
(20) Obligation:
Q DP problem:
The TRS P consists of the following rules:
FILTER(cons(X, Y), s(N), M) → FILTER(Y, N, M)
FILTER(cons(X, Y), 0, M) → FILTER(Y, M, M)
R is empty.
The set Q consists of the following terms:
filter(cons(x0, x1), 0, x2)
filter(cons(x0, x1), s(x2), x3)
sieve(cons(0, x0))
sieve(cons(s(x0), x1))
nats(x0)
zprimes
We have to consider all minimal (P,Q,R)-chains.
(21) QReductionProof (EQUIVALENT transformation)
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].
filter(cons(x0, x1), 0, x2)
filter(cons(x0, x1), s(x2), x3)
sieve(cons(0, x0))
sieve(cons(s(x0), x1))
nats(x0)
zprimes
(22) Obligation:
Q DP problem:
The TRS P consists of the following rules:
FILTER(cons(X, Y), s(N), M) → FILTER(Y, N, M)
FILTER(cons(X, Y), 0, M) → FILTER(Y, M, M)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(23) QDPSizeChangeProof (EQUIVALENT transformation)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
- FILTER(cons(X, Y), s(N), M) → FILTER(Y, N, M)
The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3
- FILTER(cons(X, Y), 0, M) → FILTER(Y, M, M)
The graph contains the following edges 1 > 1, 3 >= 2, 3 >= 3
(24) YES
(25) Obligation:
Q DP problem:
The TRS P consists of the following rules:
SIEVE(cons(s(N), Y)) → SIEVE(filter(Y, N, N))
SIEVE(cons(0, Y)) → SIEVE(Y)
The TRS R consists of the following rules:
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))))
The set Q consists of the following terms:
filter(cons(x0, x1), 0, x2)
filter(cons(x0, x1), s(x2), x3)
sieve(cons(0, x0))
sieve(cons(s(x0), x1))
nats(x0)
zprimes
We have to consider all minimal (P,Q,R)-chains.
(26) UsableRulesProof (EQUIVALENT transformation)
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.
(27) Obligation:
Q DP problem:
The TRS P consists of the following rules:
SIEVE(cons(s(N), Y)) → SIEVE(filter(Y, N, N))
SIEVE(cons(0, Y)) → SIEVE(Y)
The TRS R consists of the following rules:
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))
The set Q consists of the following terms:
filter(cons(x0, x1), 0, x2)
filter(cons(x0, x1), s(x2), x3)
sieve(cons(0, x0))
sieve(cons(s(x0), x1))
nats(x0)
zprimes
We have to consider all minimal (P,Q,R)-chains.
(28) QReductionProof (EQUIVALENT transformation)
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].
sieve(cons(0, x0))
sieve(cons(s(x0), x1))
nats(x0)
zprimes
(29) Obligation:
Q DP problem:
The TRS P consists of the following rules:
SIEVE(cons(s(N), Y)) → SIEVE(filter(Y, N, N))
SIEVE(cons(0, Y)) → SIEVE(Y)
The TRS R consists of the following rules:
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))
The set Q consists of the following terms:
filter(cons(x0, x1), 0, x2)
filter(cons(x0, x1), s(x2), x3)
We have to consider all minimal (P,Q,R)-chains.
(30) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
SIEVE(cons(s(N), Y)) → SIEVE(filter(Y, N, N))
SIEVE(cons(0, Y)) → SIEVE(Y)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
SIEVE(
x1) =
x1
cons(
x1,
x2) =
cons(
x2)
filter(
x1,
x2,
x3) =
x1
Knuth-Bendix order [KBO] with precedence:
trivial
and weight map:
cons_1=1
dummyConstant=1
The following usable rules [FROCOS05] were oriented:
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))
(31) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
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))
The set Q consists of the following terms:
filter(cons(x0, x1), 0, x2)
filter(cons(x0, x1), s(x2), x3)
We have to consider all minimal (P,Q,R)-chains.
(32) PisEmptyProof (EQUIVALENT transformation)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
(33) YES