Termination w.r.t. Q of the following Term Rewriting System could not be shown:
Q restricted rewrite system:
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
↳ QTRS
↳ DependencyPairsProof
Q restricted rewrite system:
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
Using Dependency Pairs [1,15] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:
ACTIVATE(n__inf(X)) → ACTIVATE(X)
LENGTH(cons(X, L)) → S(n__length(activate(L)))
TAKE(s(X), cons(Y, L)) → ACTIVATE(X)
LENGTH(cons(X, L)) → ACTIVATE(L)
ACTIVATE(n__take(X1, X2)) → TAKE(activate(X1), activate(X2))
TAKE(s(X), cons(Y, L)) → ACTIVATE(Y)
ACTIVATE(n__length(X)) → LENGTH(activate(X))
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__s(X)) → S(X)
EQ(n__s(X), n__s(Y)) → ACTIVATE(X)
ACTIVATE(n__inf(X)) → INF(activate(X))
EQ(n__s(X), n__s(Y)) → EQ(activate(X), activate(Y))
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X2)
TAKE(s(X), cons(Y, L)) → ACTIVATE(L)
ACTIVATE(n__0) → 01
EQ(n__s(X), n__s(Y)) → ACTIVATE(Y)
ACTIVATE(n__length(X)) → ACTIVATE(X)
LENGTH(nil) → 01
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
Q DP problem:
The TRS P consists of the following rules:
ACTIVATE(n__inf(X)) → ACTIVATE(X)
LENGTH(cons(X, L)) → S(n__length(activate(L)))
TAKE(s(X), cons(Y, L)) → ACTIVATE(X)
LENGTH(cons(X, L)) → ACTIVATE(L)
ACTIVATE(n__take(X1, X2)) → TAKE(activate(X1), activate(X2))
TAKE(s(X), cons(Y, L)) → ACTIVATE(Y)
ACTIVATE(n__length(X)) → LENGTH(activate(X))
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__s(X)) → S(X)
EQ(n__s(X), n__s(Y)) → ACTIVATE(X)
ACTIVATE(n__inf(X)) → INF(activate(X))
EQ(n__s(X), n__s(Y)) → EQ(activate(X), activate(Y))
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X2)
TAKE(s(X), cons(Y, L)) → ACTIVATE(L)
ACTIVATE(n__0) → 01
EQ(n__s(X), n__s(Y)) → ACTIVATE(Y)
ACTIVATE(n__length(X)) → ACTIVATE(X)
LENGTH(nil) → 01
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 2 SCCs with 7 less nodes.
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
ACTIVATE(n__inf(X)) → ACTIVATE(X)
TAKE(s(X), cons(Y, L)) → ACTIVATE(X)
LENGTH(cons(X, L)) → ACTIVATE(L)
TAKE(s(X), cons(Y, L)) → ACTIVATE(Y)
ACTIVATE(n__take(X1, X2)) → TAKE(activate(X1), activate(X2))
ACTIVATE(n__length(X)) → LENGTH(activate(X))
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__length(X)) → ACTIVATE(X)
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X2)
TAKE(s(X), cons(Y, L)) → ACTIVATE(L)
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].
The following pairs can be oriented strictly and are deleted.
ACTIVATE(n__inf(X)) → ACTIVATE(X)
The remaining pairs can at least be oriented weakly.
TAKE(s(X), cons(Y, L)) → ACTIVATE(X)
LENGTH(cons(X, L)) → ACTIVATE(L)
TAKE(s(X), cons(Y, L)) → ACTIVATE(Y)
ACTIVATE(n__take(X1, X2)) → TAKE(activate(X1), activate(X2))
ACTIVATE(n__length(X)) → LENGTH(activate(X))
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__length(X)) → ACTIVATE(X)
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X2)
TAKE(s(X), cons(Y, L)) → ACTIVATE(L)
Used ordering: Polynomial interpretation [25,35]:
POL(LENGTH(x1)) = x_1
POL(n__length(x1)) = (4)x_1
POL(n__inf(x1)) = 1/4 + (15/4)x_1
POL(activate(x1)) = x_1
POL(n__s(x1)) = (1/4)x_1
POL(take(x1, x2)) = (4)x_1 + (4)x_2
POL(0) = 0
POL(TAKE(x1, x2)) = x_1 + x_2
POL(cons(x1, x2)) = (1/2)x_1 + (1/4)x_2
POL(inf(x1)) = 1/4 + (15/4)x_1
POL(n__0) = 0
POL(n__take(x1, x2)) = (4)x_1 + (4)x_2
POL(s(x1)) = (1/4)x_1
POL(length(x1)) = (4)x_1
POL(nil) = 0
POL(ACTIVATE(x1)) = (1/4)x_1
The value of delta used in the strict ordering is 1/16.
The following usable rules [17] were oriented:
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
length(nil) → 0
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
take(0, X) → nil
inf(X) → cons(X, n__inf(n__s(X)))
inf(X) → n__inf(X)
s(X) → n__s(X)
0 → n__0
length(cons(X, L)) → s(n__length(activate(L)))
activate(n__s(X)) → s(X)
activate(n__0) → 0
length(X) → n__length(X)
take(X1, X2) → n__take(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
LENGTH(cons(X, L)) → ACTIVATE(L)
TAKE(s(X), cons(Y, L)) → ACTIVATE(X)
ACTIVATE(n__take(X1, X2)) → TAKE(activate(X1), activate(X2))
TAKE(s(X), cons(Y, L)) → ACTIVATE(Y)
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__length(X)) → LENGTH(activate(X))
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X2)
ACTIVATE(n__length(X)) → ACTIVATE(X)
TAKE(s(X), cons(Y, L)) → ACTIVATE(L)
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].
The following pairs can be oriented strictly and are deleted.
TAKE(s(X), cons(Y, L)) → ACTIVATE(X)
ACTIVATE(n__take(X1, X2)) → TAKE(activate(X1), activate(X2))
TAKE(s(X), cons(Y, L)) → ACTIVATE(Y)
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__take(X1, X2)) → ACTIVATE(X2)
TAKE(s(X), cons(Y, L)) → ACTIVATE(L)
The remaining pairs can at least be oriented weakly.
LENGTH(cons(X, L)) → ACTIVATE(L)
ACTIVATE(n__length(X)) → LENGTH(activate(X))
ACTIVATE(n__length(X)) → ACTIVATE(X)
Used ordering: Polynomial interpretation [25,35]:
POL(LENGTH(x1)) = (2)x_1
POL(n__length(x1)) = (2)x_1
POL(n__inf(x1)) = (15/4)x_1
POL(activate(x1)) = x_1
POL(n__s(x1)) = (3/4)x_1
POL(take(x1, x2)) = 2 + (15/4)x_1 + (3/2)x_2
POL(0) = 7/4
POL(cons(x1, x2)) = (3/4)x_1 + (3/4)x_2
POL(TAKE(x1, x2)) = 1/4 + (2)x_1 + (3/2)x_2
POL(inf(x1)) = (15/4)x_1
POL(n__0) = 7/4
POL(n__take(x1, x2)) = 2 + (15/4)x_1 + (3/2)x_2
POL(s(x1)) = (3/4)x_1
POL(length(x1)) = (2)x_1
POL(nil) = 2
POL(ACTIVATE(x1)) = x_1
The value of delta used in the strict ordering is 1/4.
The following usable rules [17] were oriented:
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
length(nil) → 0
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
take(0, X) → nil
inf(X) → cons(X, n__inf(n__s(X)))
inf(X) → n__inf(X)
s(X) → n__s(X)
0 → n__0
length(cons(X, L)) → s(n__length(activate(L)))
activate(n__s(X)) → s(X)
activate(n__0) → 0
length(X) → n__length(X)
take(X1, X2) → n__take(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
LENGTH(cons(X, L)) → ACTIVATE(L)
ACTIVATE(n__length(X)) → LENGTH(activate(X))
ACTIVATE(n__length(X)) → ACTIVATE(X)
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].
The following pairs can be oriented strictly and are deleted.
ACTIVATE(n__length(X)) → LENGTH(activate(X))
ACTIVATE(n__length(X)) → ACTIVATE(X)
The remaining pairs can at least be oriented weakly.
LENGTH(cons(X, L)) → ACTIVATE(L)
Used ordering: Polynomial interpretation [25]:
POL(0) = 0
POL(ACTIVATE(x1)) = 1 + x1
POL(LENGTH(x1)) = 1 + x1
POL(activate(x1)) = x1
POL(cons(x1, x2)) = x2
POL(inf(x1)) = 0
POL(length(x1)) = 1 + x1
POL(n__0) = 0
POL(n__inf(x1)) = 0
POL(n__length(x1)) = 1 + x1
POL(n__s(x1)) = x1
POL(n__take(x1, x2)) = x1
POL(nil) = 0
POL(s(x1)) = x1
POL(take(x1, x2)) = x1
The following usable rules [17] were oriented:
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
length(nil) → 0
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
take(0, X) → nil
inf(X) → cons(X, n__inf(n__s(X)))
inf(X) → n__inf(X)
s(X) → n__s(X)
0 → n__0
length(cons(X, L)) → s(n__length(activate(L)))
activate(n__s(X)) → s(X)
activate(n__0) → 0
length(X) → n__length(X)
take(X1, X2) → n__take(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
LENGTH(cons(X, L)) → ACTIVATE(L)
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 0 SCCs with 1 less node.
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(X), n__s(Y)) → EQ(activate(X), activate(Y))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(X), n__s(Y)) → EQ(activate(X), activate(Y)) at position [0] we obtained the following new rules:
EQ(n__s(x0), n__s(y1)) → EQ(x0, activate(y1))
EQ(n__s(n__take(x0, x1)), n__s(y1)) → EQ(take(activate(x0), activate(x1)), activate(y1))
EQ(n__s(n__0), n__s(y1)) → EQ(0, activate(y1))
EQ(n__s(n__length(x0)), n__s(y1)) → EQ(length(activate(x0)), activate(y1))
EQ(n__s(n__inf(x0)), n__s(y1)) → EQ(inf(activate(x0)), activate(y1))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(s(x0), activate(y1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(x0), n__s(y1)) → EQ(x0, activate(y1))
EQ(n__s(n__0), n__s(y1)) → EQ(0, activate(y1))
EQ(n__s(n__length(x0)), n__s(y1)) → EQ(length(activate(x0)), activate(y1))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(s(x0), activate(y1))
EQ(n__s(n__inf(x0)), n__s(y1)) → EQ(inf(activate(x0)), activate(y1))
EQ(n__s(n__take(x0, x1)), n__s(y1)) → EQ(take(activate(x0), activate(x1)), activate(y1))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(x0), n__s(y1)) → EQ(x0, activate(y1)) at position [1] we obtained the following new rules:
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, s(x0))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(y0), n__s(n__0)) → EQ(y0, 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, s(x0))
EQ(n__s(n__0), n__s(y1)) → EQ(0, activate(y1))
EQ(n__s(n__length(x0)), n__s(y1)) → EQ(length(activate(x0)), activate(y1))
EQ(n__s(y0), n__s(n__0)) → EQ(y0, 0)
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__inf(x0)), n__s(y1)) → EQ(inf(activate(x0)), activate(y1))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(s(x0), activate(y1))
EQ(n__s(n__take(x0, x1)), n__s(y1)) → EQ(take(activate(x0), activate(x1)), activate(y1))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(n__take(x0, x1)), n__s(y1)) → EQ(take(activate(x0), activate(x1)), activate(y1)) at position [1] we obtained the following new rules:
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), s(x0))
EQ(n__s(n__take(y0, y1)), n__s(n__0)) → EQ(take(activate(y0), activate(y1)), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__length(x0)), n__s(y1)) → EQ(length(activate(x0)), activate(y1))
EQ(n__s(y0), n__s(n__0)) → EQ(y0, 0)
EQ(n__s(n__inf(x0)), n__s(y1)) → EQ(inf(activate(x0)), activate(y1))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(s(x0), activate(y1))
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, s(x0))
EQ(n__s(n__0), n__s(y1)) → EQ(0, activate(y1))
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__take(y0, y1)), n__s(n__0)) → EQ(take(activate(y0), activate(y1)), 0)
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(n__0), n__s(y1)) → EQ(0, activate(y1)) at position [0] we obtained the following new rules:
EQ(n__s(n__0), n__s(y0)) → EQ(n__0, activate(y0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__length(x0)), n__s(y1)) → EQ(length(activate(x0)), activate(y1))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(s(x0), activate(y1))
EQ(n__s(n__inf(x0)), n__s(y1)) → EQ(inf(activate(x0)), activate(y1))
EQ(n__s(y0), n__s(n__0)) → EQ(y0, 0)
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, s(x0))
EQ(n__s(n__0), n__s(y0)) → EQ(n__0, activate(y0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), s(x0))
EQ(n__s(n__take(y0, y1)), n__s(n__0)) → EQ(take(activate(y0), activate(y1)), 0)
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__length(x0)), n__s(y1)) → EQ(length(activate(x0)), activate(y1))
EQ(n__s(n__inf(x0)), n__s(y1)) → EQ(inf(activate(x0)), activate(y1))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(s(x0), activate(y1))
EQ(n__s(y0), n__s(n__0)) → EQ(y0, 0)
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, s(x0))
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__take(y0, y1)), n__s(n__0)) → EQ(take(activate(y0), activate(y1)), 0)
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(n__length(x0)), n__s(y1)) → EQ(length(activate(x0)), activate(y1)) at position [1] we obtained the following new rules:
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(n__length(y0)), n__s(n__0)) → EQ(length(activate(y0)), 0)
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), s(x0))
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(y0), n__s(n__0)) → EQ(y0, 0)
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(s(x0), activate(y1))
EQ(n__s(n__inf(x0)), n__s(y1)) → EQ(inf(activate(x0)), activate(y1))
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__0)) → EQ(length(activate(y0)), 0)
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, s(x0))
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), s(x0))
EQ(n__s(n__take(y0, y1)), n__s(n__0)) → EQ(take(activate(y0), activate(y1)), 0)
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(n__inf(x0)), n__s(y1)) → EQ(inf(activate(x0)), activate(y1)) at position [1] we obtained the following new rules:
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), s(x0))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), 0)
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(y0), n__s(n__0)) → EQ(y0, 0)
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(s(x0), activate(y1))
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), 0)
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(n__length(y0)), n__s(n__0)) → EQ(length(activate(y0)), 0)
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, s(x0))
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), s(x0))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), s(x0))
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__0)) → EQ(take(activate(y0), activate(y1)), 0)
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(n__s(x0)), n__s(y1)) → EQ(s(x0), activate(y1)) at position [0] we obtained the following new rules:
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), 0)
EQ(n__s(y0), n__s(n__0)) → EQ(y0, 0)
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(n__length(y0)), n__s(n__0)) → EQ(length(activate(y0)), 0)
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, s(x0))
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), s(x0))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), s(x0))
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(n__take(y0, y1)), n__s(n__0)) → EQ(take(activate(y0), activate(y1)), 0)
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, s(x0)) at position [1] we obtained the following new rules:
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, n__s(x0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(y0), n__s(n__0)) → EQ(y0, 0)
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), 0)
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(n__length(y0)), n__s(n__0)) → EQ(length(activate(y0)), 0)
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, n__s(x0))
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), s(x0))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), s(x0))
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__0)) → EQ(take(activate(y0), activate(y1)), 0)
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(y0), n__s(n__0)) → EQ(y0, 0) at position [1] we obtained the following new rules:
EQ(n__s(y0), n__s(n__0)) → EQ(y0, n__0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), 0)
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(n__length(y0)), n__s(n__0)) → EQ(length(activate(y0)), 0)
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), s(x0))
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, n__s(x0))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), s(x0))
EQ(n__s(y0), n__s(n__0)) → EQ(y0, n__0)
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(n__take(y0, y1)), n__s(n__0)) → EQ(take(activate(y0), activate(y1)), 0)
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), s(x0))
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), 0)
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(n__length(y0)), n__s(n__0)) → EQ(length(activate(y0)), 0)
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, n__s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), s(x0))
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), s(x0))
EQ(n__s(n__take(y0, y1)), n__s(n__0)) → EQ(take(activate(y0), activate(y1)), 0)
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), s(x0)) at position [1] we obtained the following new rules:
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), n__s(x0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), 0)
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), n__s(x0))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(n__length(y0)), n__s(n__0)) → EQ(length(activate(y0)), 0)
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, n__s(x0))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), s(x0))
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__0)) → EQ(take(activate(y0), activate(y1)), 0)
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(n__take(y0, y1)), n__s(n__0)) → EQ(take(activate(y0), activate(y1)), 0) at position [1] we obtained the following new rules:
EQ(n__s(n__take(y0, y1)), n__s(n__0)) → EQ(take(activate(y0), activate(y1)), n__0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), 0)
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), n__s(x0))
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(n__length(y0)), n__s(n__0)) → EQ(length(activate(y0)), 0)
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, n__s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), s(x0))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), s(x0))
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__0)) → EQ(take(activate(y0), activate(y1)), n__0)
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), s(x0))
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), 0)
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), n__s(x0))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(n__length(y0)), n__s(n__0)) → EQ(length(activate(y0)), 0)
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, n__s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), s(x0))
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(n__length(y0)), n__s(n__0)) → EQ(length(activate(y0)), 0) at position [1] we obtained the following new rules:
EQ(n__s(n__length(y0)), n__s(n__0)) → EQ(length(activate(y0)), n__0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), s(x0))
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), 0)
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), n__s(x0))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, n__s(x0))
EQ(n__s(n__length(y0)), n__s(n__0)) → EQ(length(activate(y0)), n__0)
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), s(x0))
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), 0)
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), n__s(x0))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, n__s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), s(x0))
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), s(x0)) at position [1] we obtained the following new rules:
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), n__s(x0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), s(x0))
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), n__s(x0))
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), 0)
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), n__s(x0))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, n__s(x0))
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), s(x0)) at position [1] we obtained the following new rules:
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), n__s(x0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), n__s(x0))
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), 0)
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), n__s(x0))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, n__s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), n__s(x0))
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), 0) at position [1] we obtained the following new rules:
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), n__0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), n__s(x0))
EQ(n__s(n__inf(y0)), n__s(n__0)) → EQ(inf(activate(y0)), n__0)
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), n__s(x0))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, n__s(x0))
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), n__s(x0))
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), n__s(x0))
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), n__s(x0))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, n__s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), n__s(x0))
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].
The following pairs can be oriented strictly and are deleted.
EQ(n__s(n__length(y0)), n__s(n__s(x0))) → EQ(length(activate(y0)), n__s(x0))
EQ(n__s(n__inf(y0)), n__s(n__take(x0, x1))) → EQ(inf(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__inf(x0))) → EQ(take(activate(y0), activate(y1)), inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__length(x0))) → EQ(take(activate(y0), activate(y1)), length(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(n__take(x0, x1))) → EQ(take(activate(y0), activate(y1)), take(activate(x0), activate(x1)))
EQ(n__s(n__length(y0)), n__s(n__take(x0, x1))) → EQ(length(activate(y0)), take(activate(x0), activate(x1)))
EQ(n__s(n__take(y0, y1)), n__s(n__s(x0))) → EQ(take(activate(y0), activate(y1)), n__s(x0))
EQ(n__s(n__s(x0)), n__s(y1)) → EQ(n__s(x0), activate(y1))
EQ(n__s(y0), n__s(n__inf(x0))) → EQ(y0, inf(activate(x0)))
EQ(n__s(n__take(y0, y1)), n__s(x0)) → EQ(take(activate(y0), activate(y1)), x0)
EQ(n__s(n__length(y0)), n__s(x0)) → EQ(length(activate(y0)), x0)
EQ(n__s(y0), n__s(n__take(x0, x1))) → EQ(y0, take(activate(x0), activate(x1)))
EQ(n__s(n__inf(y0)), n__s(x0)) → EQ(inf(activate(y0)), x0)
EQ(n__s(y0), n__s(n__s(x0))) → EQ(y0, n__s(x0))
EQ(n__s(y0), n__s(x0)) → EQ(y0, x0)
EQ(n__s(n__inf(y0)), n__s(n__s(x0))) → EQ(inf(activate(y0)), n__s(x0))
EQ(n__s(y0), n__s(n__length(x0))) → EQ(y0, length(activate(x0)))
The remaining pairs can at least be oriented weakly.
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
Used ordering: Polynomial interpretation [25]:
POL(0) = 1
POL(EQ(x1, x2)) = x1 + x2
POL(activate(x1)) = 1 + x1
POL(cons(x1, x2)) = 0
POL(inf(x1)) = 1
POL(length(x1)) = 1
POL(n__0) = 0
POL(n__inf(x1)) = 0
POL(n__length(x1)) = 0
POL(n__s(x1)) = 1 + x1
POL(n__take(x1, x2)) = 1
POL(nil) = 0
POL(s(x1)) = 1 + x1
POL(take(x1, x2)) = 1
The following usable rules [17] were oriented:
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
length(nil) → 0
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
take(0, X) → nil
inf(X) → cons(X, n__inf(n__s(X)))
inf(X) → n__inf(X)
s(X) → n__s(X)
0 → n__0
length(cons(X, L)) → s(n__length(activate(L)))
activate(n__s(X)) → s(X)
activate(n__0) → 0
length(X) → n__length(X)
take(X1, X2) → n__take(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].
The following pairs can be oriented strictly and are deleted.
EQ(n__s(n__inf(y0)), n__s(n__inf(x0))) → EQ(inf(activate(y0)), inf(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__inf(x0))) → EQ(length(activate(y0)), inf(activate(x0)))
The remaining pairs can at least be oriented weakly.
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
Used ordering: Polynomial interpretation [25]:
POL(0) = 1
POL(EQ(x1, x2)) = x2
POL(activate(x1)) = 1
POL(cons(x1, x2)) = 0
POL(inf(x1)) = 1
POL(length(x1)) = 1
POL(n__0) = 0
POL(n__inf(x1)) = 1
POL(n__length(x1)) = 0
POL(n__s(x1)) = 1 + x1
POL(n__take(x1, x2)) = 0
POL(nil) = 0
POL(s(x1)) = 1 + x1
POL(take(x1, x2)) = 1
The following usable rules [17] were oriented:
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
length(nil) → 0
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
take(0, X) → nil
inf(X) → cons(X, n__inf(n__s(X)))
inf(X) → n__inf(X)
s(X) → n__s(X)
0 → n__0
length(cons(X, L)) → s(n__length(activate(L)))
length(X) → n__length(X)
take(X1, X2) → n__take(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].
The following pairs can be oriented strictly and are deleted.
EQ(n__s(n__inf(y0)), n__s(n__length(x0))) → EQ(inf(activate(y0)), length(activate(x0)))
The remaining pairs can at least be oriented weakly.
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
Used ordering: Matrix interpretation [3]:
Non-tuple symbols:
M( n__length(x1) ) = | | + | | · | x1 |
M( take(x1, x2) ) = | | + | | · | x1 | + | | · | x2 |
M( cons(x1, x2) ) = | | + | | · | x1 | + | | · | x2 |
M( n__take(x1, x2) ) = | | + | | · | x1 | + | | · | x2 |
Tuple symbols:
M( EQ(x1, x2) ) = | 0 | + | | · | x1 | + | | · | x2 |
Matrix type:
We used a basic matrix type which is not further parametrizeable.
As matrix orders are CE-compatible, we used usable rules w.r.t. argument filtering in the order.
The following usable rules [17] were oriented:
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
length(nil) → 0
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
take(0, X) → nil
inf(X) → cons(X, n__inf(n__s(X)))
inf(X) → n__inf(X)
s(X) → n__s(X)
0 → n__0
length(cons(X, L)) → s(n__length(activate(L)))
length(X) → n__length(X)
take(X1, X2) → n__take(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
EQ(n__s(n__length(y0)), n__s(n__length(x0))) → EQ(length(activate(y0)), length(activate(x0)))
The TRS R consists of the following rules:
eq(n__0, n__0) → true
eq(n__s(X), n__s(Y)) → eq(activate(X), activate(Y))
eq(X, Y) → false
inf(X) → cons(X, n__inf(n__s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(activate(Y), n__take(activate(X), activate(L)))
length(nil) → 0
length(cons(X, L)) → s(n__length(activate(L)))
0 → n__0
s(X) → n__s(X)
inf(X) → n__inf(X)
take(X1, X2) → n__take(X1, X2)
length(X) → n__length(X)
activate(n__0) → 0
activate(n__s(X)) → s(X)
activate(n__inf(X)) → inf(activate(X))
activate(n__take(X1, X2)) → take(activate(X1), activate(X2))
activate(n__length(X)) → length(activate(X))
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.