0 QTRS
↳1 AAECC Innermost (⇔)
↳2 QTRS
↳3 DependencyPairsProof (⇔)
↳4 QDP
↳5 DependencyGraphProof (⇔)
↳6 AND
↳7 QDP
↳8 QDPOrderProof (⇔)
↳9 QDP
↳10 PisEmptyProof (⇔)
↳11 TRUE
↳12 QDP
↳13 QDPOrderProof (⇔)
↳14 QDP
↳15 PisEmptyProof (⇔)
↳16 TRUE
↳17 QDP
↳18 QDP
↳19 QDPOrderProof (⇔)
↳20 QDP
↳21 PisEmptyProof (⇔)
↳22 TRUE
eq(0, 0) → true
eq(s(X), s(Y)) → eq(X, Y)
eq(X, Y) → false
inf(X) → cons(X, inf(s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(Y, take(X, L))
length(nil) → 0
length(cons(X, L)) → s(length(L))
length(nil) → 0
length(cons(X, L)) → s(length(L))
inf(X) → cons(X, inf(s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(Y, take(X, L))
eq(0, 0) → true
eq(s(X), s(Y)) → eq(X, Y)
eq(X, Y) → false
eq(0, 0) → true
eq(s(X), s(Y)) → eq(X, Y)
eq(X, Y) → false
inf(X) → cons(X, inf(s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(Y, take(X, L))
length(nil) → 0
length(cons(X, L)) → s(length(L))
eq(x0, x1)
inf(x0)
take(0, x0)
take(s(x0), cons(x1, x2))
length(nil)
length(cons(x0, x1))
EQ(s(X), s(Y)) → EQ(X, Y)
INF(X) → INF(s(X))
TAKE(s(X), cons(Y, L)) → TAKE(X, L)
LENGTH(cons(X, L)) → LENGTH(L)
eq(0, 0) → true
eq(s(X), s(Y)) → eq(X, Y)
eq(X, Y) → false
inf(X) → cons(X, inf(s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(Y, take(X, L))
length(nil) → 0
length(cons(X, L)) → s(length(L))
eq(x0, x1)
inf(x0)
take(0, x0)
take(s(x0), cons(x1, x2))
length(nil)
length(cons(x0, x1))
LENGTH(cons(X, L)) → LENGTH(L)
eq(0, 0) → true
eq(s(X), s(Y)) → eq(X, Y)
eq(X, Y) → false
inf(X) → cons(X, inf(s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(Y, take(X, L))
length(nil) → 0
length(cons(X, L)) → s(length(L))
eq(x0, x1)
inf(x0)
take(0, x0)
take(s(x0), cons(x1, x2))
length(nil)
length(cons(x0, x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
LENGTH(cons(X, L)) → LENGTH(L)
trivial
cons2: multiset
eq(0, 0) → true
eq(s(X), s(Y)) → eq(X, Y)
eq(X, Y) → false
inf(X) → cons(X, inf(s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(Y, take(X, L))
length(nil) → 0
length(cons(X, L)) → s(length(L))
eq(x0, x1)
inf(x0)
take(0, x0)
take(s(x0), cons(x1, x2))
length(nil)
length(cons(x0, x1))
TAKE(s(X), cons(Y, L)) → TAKE(X, L)
eq(0, 0) → true
eq(s(X), s(Y)) → eq(X, Y)
eq(X, Y) → false
inf(X) → cons(X, inf(s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(Y, take(X, L))
length(nil) → 0
length(cons(X, L)) → s(length(L))
eq(x0, x1)
inf(x0)
take(0, x0)
take(s(x0), cons(x1, x2))
length(nil)
length(cons(x0, x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TAKE(s(X), cons(Y, L)) → TAKE(X, L)
trivial
TAKE1: multiset
s1: multiset
eq(0, 0) → true
eq(s(X), s(Y)) → eq(X, Y)
eq(X, Y) → false
inf(X) → cons(X, inf(s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(Y, take(X, L))
length(nil) → 0
length(cons(X, L)) → s(length(L))
eq(x0, x1)
inf(x0)
take(0, x0)
take(s(x0), cons(x1, x2))
length(nil)
length(cons(x0, x1))
INF(X) → INF(s(X))
eq(0, 0) → true
eq(s(X), s(Y)) → eq(X, Y)
eq(X, Y) → false
inf(X) → cons(X, inf(s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(Y, take(X, L))
length(nil) → 0
length(cons(X, L)) → s(length(L))
eq(x0, x1)
inf(x0)
take(0, x0)
take(s(x0), cons(x1, x2))
length(nil)
length(cons(x0, x1))
EQ(s(X), s(Y)) → EQ(X, Y)
eq(0, 0) → true
eq(s(X), s(Y)) → eq(X, Y)
eq(X, Y) → false
inf(X) → cons(X, inf(s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(Y, take(X, L))
length(nil) → 0
length(cons(X, L)) → s(length(L))
eq(x0, x1)
inf(x0)
take(0, x0)
take(s(x0), cons(x1, x2))
length(nil)
length(cons(x0, x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
EQ(s(X), s(Y)) → EQ(X, Y)
[EQ1, s1]
EQ1: multiset
s1: [1]
eq(0, 0) → true
eq(s(X), s(Y)) → eq(X, Y)
eq(X, Y) → false
inf(X) → cons(X, inf(s(X)))
take(0, X) → nil
take(s(X), cons(Y, L)) → cons(Y, take(X, L))
length(nil) → 0
length(cons(X, L)) → s(length(L))
eq(x0, x1)
inf(x0)
take(0, x0)
take(s(x0), cons(x1, x2))
length(nil)
length(cons(x0, x1))