YES
pairNs → cons(0, incr(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incr(XS))
take(0, XS) → nil
take(s(N), cons(X, XS)) → cons(X, take(N, XS))
zip(nil, XS) → nil
zip(X, nil) → nil
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zip(XS, YS))
tail(cons(X, XS)) → XS
repItems(nil) → nil
repItems(cons(X, XS)) → cons(X, cons(X, repItems(XS)))
pairNs: empty set
cons: {1}
0: empty set
incr: {1}
oddNs: empty set
s: {1}
take: {1, 2}
nil: empty set
zip: {1, 2}
pair: {1, 2}
tail: {1}
repItems: {1}
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
pairNs → cons(0, incr(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incr(XS))
take(0, XS) → nil
take(s(N), cons(X, XS)) → cons(X, take(N, XS))
zip(nil, XS) → nil
zip(X, nil) → nil
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zip(XS, YS))
tail(cons(X, XS)) → XS
repItems(nil) → nil
repItems(cons(X, XS)) → cons(X, cons(X, repItems(XS)))
pairNs: empty set
cons: {1}
0: empty set
incr: {1}
oddNs: empty set
s: {1}
take: {1, 2}
nil: empty set
zip: {1, 2}
pair: {1, 2}
tail: {1}
repItems: {1}
We applied the Zantema [34] to transform the context-sensitive TRS to an usual TRS.
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ Incomplete Giesl Middeldorp-Transformation
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
take(0, XS) → nil
take(s(N), cons(X, XS)) → cons(X, takeInact(N, a(XS)))
zip(nil, XS) → nil
zip(X, nil) → nil
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zipInact(a(XS), a(YS)))
tail(cons(X, XS)) → a(XS)
repItems(nil) → nil
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
zip(x1, x2) → zipInact(x1, x2)
a(zipInact(x1, x2)) → zip(x1, x2)
repItems(x1) → repItemsInact(x1)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
take(x1, x2) → takeInact(x1, x2)
a(takeInact(x1, x2)) → take(x1, x2)
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
take(0, XS) → nil
take(s(N), cons(X, XS)) → cons(X, takeInact(N, a(XS)))
zip(nil, XS) → nil
zip(X, nil) → nil
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zipInact(a(XS), a(YS)))
tail(cons(X, XS)) → a(XS)
repItems(nil) → nil
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
zip(x1, x2) → zipInact(x1, x2)
a(zipInact(x1, x2)) → zip(x1, x2)
repItems(x1) → repItemsInact(x1)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
take(x1, x2) → takeInact(x1, x2)
a(takeInact(x1, x2)) → take(x1, x2)
Used ordering:
tail(cons(X, XS)) → a(XS)
POL(0) = 0
POL(a(x1)) = x1
POL(cons(x1, x2)) = 2·x1 + x2
POL(consInact(x1, x2)) = 2·x1 + x2
POL(incr(x1)) = 2·x1
POL(incrInact(x1)) = 2·x1
POL(nil) = 0
POL(oddNs) = 0
POL(pair(x1, x2)) = x1 + x2
POL(pairNs) = 0
POL(repItems(x1)) = 2·x1
POL(repItemsInact(x1)) = 2·x1
POL(s(x1)) = x1
POL(tail(x1)) = 2 + 2·x1
POL(take(x1, x2)) = x1 + x2
POL(takeInact(x1, x2)) = x1 + x2
POL(zip(x1, x2)) = 2·x1 + 2·x2
POL(zipInact(x1, x2)) = 2·x1 + 2·x2
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ Incomplete Giesl Middeldorp-Transformation
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
take(0, XS) → nil
take(s(N), cons(X, XS)) → cons(X, takeInact(N, a(XS)))
zip(nil, XS) → nil
zip(X, nil) → nil
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zipInact(a(XS), a(YS)))
repItems(nil) → nil
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
zip(x1, x2) → zipInact(x1, x2)
a(zipInact(x1, x2)) → zip(x1, x2)
repItems(x1) → repItemsInact(x1)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
take(x1, x2) → takeInact(x1, x2)
a(takeInact(x1, x2)) → take(x1, x2)
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
take(0, XS) → nil
take(s(N), cons(X, XS)) → cons(X, takeInact(N, a(XS)))
zip(nil, XS) → nil
zip(X, nil) → nil
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zipInact(a(XS), a(YS)))
repItems(nil) → nil
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
zip(x1, x2) → zipInact(x1, x2)
a(zipInact(x1, x2)) → zip(x1, x2)
repItems(x1) → repItemsInact(x1)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
take(x1, x2) → takeInact(x1, x2)
a(takeInact(x1, x2)) → take(x1, x2)
Used ordering:
take(0, XS) → nil
zip(nil, XS) → nil
zip(X, nil) → nil
repItems(nil) → nil
take(x1, x2) → takeInact(x1, x2)
POL(0) = 0
POL(a(x1)) = 2·x1
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(consInact(x1, x2)) = x1 + x2
POL(incr(x1)) = 2·x1
POL(incrInact(x1)) = x1
POL(nil) = 1
POL(oddNs) = 0
POL(pair(x1, x2)) = 2·x1 + x2
POL(pairNs) = 0
POL(repItems(x1)) = 2·x1
POL(repItemsInact(x1)) = x1
POL(s(x1)) = x1
POL(take(x1, x2)) = 2 + 2·x1 + 2·x2
POL(takeInact(x1, x2)) = 1 + x1 + x2
POL(zip(x1, x2)) = 2·x1 + 2·x2
POL(zipInact(x1, x2)) = x1 + x2
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ Incomplete Giesl Middeldorp-Transformation
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
take(s(N), cons(X, XS)) → cons(X, takeInact(N, a(XS)))
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zipInact(a(XS), a(YS)))
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
zip(x1, x2) → zipInact(x1, x2)
a(zipInact(x1, x2)) → zip(x1, x2)
repItems(x1) → repItemsInact(x1)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
a(takeInact(x1, x2)) → take(x1, x2)
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
take(s(N), cons(X, XS)) → cons(X, takeInact(N, a(XS)))
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zipInact(a(XS), a(YS)))
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
zip(x1, x2) → zipInact(x1, x2)
a(zipInact(x1, x2)) → zip(x1, x2)
repItems(x1) → repItemsInact(x1)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
a(takeInact(x1, x2)) → take(x1, x2)
Used ordering:
a(takeInact(x1, x2)) → take(x1, x2)
POL(0) = 0
POL(a(x1)) = 2·x1
POL(cons(x1, x2)) = x1 + x2
POL(consInact(x1, x2)) = x1 + x2
POL(incr(x1)) = 2·x1
POL(incrInact(x1)) = x1
POL(oddNs) = 0
POL(pair(x1, x2)) = 2·x1 + 2·x2
POL(pairNs) = 0
POL(repItems(x1)) = 2·x1
POL(repItemsInact(x1)) = x1
POL(s(x1)) = x1
POL(take(x1, x2)) = 2 + x1 + 2·x2
POL(takeInact(x1, x2)) = 2 + x1 + x2
POL(zip(x1, x2)) = 2·x1 + 2·x2
POL(zipInact(x1, x2)) = x1 + x2
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ Incomplete Giesl Middeldorp-Transformation
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
take(s(N), cons(X, XS)) → cons(X, takeInact(N, a(XS)))
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zipInact(a(XS), a(YS)))
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
zip(x1, x2) → zipInact(x1, x2)
a(zipInact(x1, x2)) → zip(x1, x2)
repItems(x1) → repItemsInact(x1)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
take(s(N), cons(X, XS)) → cons(X, takeInact(N, a(XS)))
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zipInact(a(XS), a(YS)))
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
zip(x1, x2) → zipInact(x1, x2)
a(zipInact(x1, x2)) → zip(x1, x2)
repItems(x1) → repItemsInact(x1)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
Used ordering:
take(s(N), cons(X, XS)) → cons(X, takeInact(N, a(XS)))
POL(0) = 0
POL(a(x1)) = x1
POL(cons(x1, x2)) = x1 + x2
POL(consInact(x1, x2)) = x1 + x2
POL(incr(x1)) = 2·x1
POL(incrInact(x1)) = 2·x1
POL(oddNs) = 0
POL(pair(x1, x2)) = x1 + x2
POL(pairNs) = 0
POL(repItems(x1)) = 2·x1
POL(repItemsInact(x1)) = 2·x1
POL(s(x1)) = 2·x1
POL(take(x1, x2)) = 1 + 2·x1 + 2·x2
POL(takeInact(x1, x2)) = x1 + x2
POL(zip(x1, x2)) = x1 + 2·x2
POL(zipInact(x1, x2)) = x1 + 2·x2
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ Incomplete Giesl Middeldorp-Transformation
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zipInact(a(XS), a(YS)))
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
zip(x1, x2) → zipInact(x1, x2)
a(zipInact(x1, x2)) → zip(x1, x2)
repItems(x1) → repItemsInact(x1)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zipInact(a(XS), a(YS)))
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
zip(x1, x2) → zipInact(x1, x2)
a(zipInact(x1, x2)) → zip(x1, x2)
repItems(x1) → repItemsInact(x1)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
Used ordering:
repItems(x1) → repItemsInact(x1)
POL(0) = 0
POL(a(x1)) = 2·x1
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(consInact(x1, x2)) = x1 + x2
POL(incr(x1)) = 2·x1
POL(incrInact(x1)) = x1
POL(oddNs) = 0
POL(pair(x1, x2)) = 2·x1 + x2
POL(pairNs) = 0
POL(repItems(x1)) = 2 + 2·x1
POL(repItemsInact(x1)) = 1 + x1
POL(s(x1)) = 2·x1
POL(zip(x1, x2)) = 2·x1 + 2·x2
POL(zipInact(x1, x2)) = x1 + x2
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ Incomplete Giesl Middeldorp-Transformation
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zipInact(a(XS), a(YS)))
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
zip(x1, x2) → zipInact(x1, x2)
a(zipInact(x1, x2)) → zip(x1, x2)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zipInact(a(XS), a(YS)))
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
zip(x1, x2) → zipInact(x1, x2)
a(zipInact(x1, x2)) → zip(x1, x2)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
Used ordering:
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zipInact(a(XS), a(YS)))
zip(x1, x2) → zipInact(x1, x2)
POL(0) = 0
POL(a(x1)) = 2·x1
POL(cons(x1, x2)) = x1 + x2
POL(consInact(x1, x2)) = x1 + x2
POL(incr(x1)) = 2·x1
POL(incrInact(x1)) = x1
POL(oddNs) = 0
POL(pair(x1, x2)) = 2·x1 + x2
POL(pairNs) = 0
POL(repItems(x1)) = 2·x1
POL(repItemsInact(x1)) = x1
POL(s(x1)) = 2·x1
POL(zip(x1, x2)) = 2 + 2·x1 + 2·x2
POL(zipInact(x1, x2)) = 1 + x1 + x2
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ Incomplete Giesl Middeldorp-Transformation
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
a(zipInact(x1, x2)) → zip(x1, x2)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
a(zipInact(x1, x2)) → zip(x1, x2)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
Used ordering:
a(zipInact(x1, x2)) → zip(x1, x2)
POL(0) = 0
POL(a(x1)) = x1
POL(cons(x1, x2)) = 2·x1 + x2
POL(consInact(x1, x2)) = 2·x1 + x2
POL(incr(x1)) = x1
POL(incrInact(x1)) = x1
POL(oddNs) = 0
POL(pairNs) = 0
POL(repItems(x1)) = 2·x1
POL(repItemsInact(x1)) = 2·x1
POL(s(x1)) = x1
POL(zip(x1, x2)) = x1 + x2
POL(zipInact(x1, x2)) = 1 + 2·x1 + 2·x2
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ Incomplete Giesl Middeldorp-Transformation
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
Used ordering:
repItems(cons(X, XS)) → cons(X, consInact(X, repItemsInact(a(XS))))
POL(0) = 0
POL(a(x1)) = 2·x1
POL(cons(x1, x2)) = 2·x1 + x2
POL(consInact(x1, x2)) = x1 + x2
POL(incr(x1)) = 2·x1
POL(incrInact(x1)) = x1
POL(oddNs) = 0
POL(pairNs) = 0
POL(repItems(x1)) = 2 + 2·x1
POL(repItemsInact(x1)) = 1 + x1
POL(s(x1)) = x1
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ Incomplete Giesl Middeldorp-Transformation
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
a(repItemsInact(x1)) → repItems(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
Used ordering:
a(repItemsInact(x1)) → repItems(x1)
POL(0) = 0
POL(a(x1)) = x1
POL(cons(x1, x2)) = x1 + 2·x2
POL(consInact(x1, x2)) = x1 + 2·x2
POL(incr(x1)) = 2·x1
POL(incrInact(x1)) = 2·x1
POL(oddNs) = 0
POL(pairNs) = 0
POL(repItems(x1)) = 1 + x1
POL(repItemsInact(x1)) = 2 + x1
POL(s(x1)) = x1
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ Incomplete Giesl Middeldorp-Transformation
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
A(incrInact(x1)) → INCR(x1)
A(consInact(x1, x2)) → CONS(x1, x2)
INCR(cons(X, XS)) → CONS(s(X), incrInact(a(XS)))
PAIRNS → ODDNS
ODDNS → PAIRNS
ODDNS → INCR(pairNs)
INCR(cons(X, XS)) → A(XS)
PAIRNS → CONS(0, incrInact(oddNs))
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ Incomplete Giesl Middeldorp-Transformation
A(incrInact(x1)) → INCR(x1)
A(consInact(x1, x2)) → CONS(x1, x2)
INCR(cons(X, XS)) → CONS(s(X), incrInact(a(XS)))
PAIRNS → ODDNS
ODDNS → PAIRNS
ODDNS → INCR(pairNs)
INCR(cons(X, XS)) → A(XS)
PAIRNS → CONS(0, incrInact(oddNs))
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
A(incrInact(x1)) → INCR(x1)
INCR(cons(X, XS)) → A(XS)
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
A(incrInact(x1)) → INCR(x1)
INCR(cons(X, XS)) → A(XS)
From the DPs we obtained the following set of size-change graphs:
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ Incomplete Giesl Middeldorp-Transformation
PAIRNS → ODDNS
ODDNS → PAIRNS
pairNs → cons(0, incrInact(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incrInact(a(XS)))
a(x) → x
incr(x1) → incrInact(x1)
a(incrInact(x1)) → incr(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ NonTerminationProof
↳ Incomplete Giesl Middeldorp-Transformation
PAIRNS → ODDNS
ODDNS → PAIRNS
PAIRNS → ODDNS
ODDNS → PAIRNS
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(0, XS) → nil
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(nil, XS) → nil
zipActive(X, nil) → nil
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
tailActive(cons(X, XS)) → mark(XS)
repItemsActive(nil) → nil
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(0, XS) → nil
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(nil, XS) → nil
zipActive(X, nil) → nil
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
tailActive(cons(X, XS)) → mark(XS)
repItemsActive(nil) → nil
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
Used ordering:
tailActive(cons(X, XS)) → mark(XS)
POL(0) = 0
POL(cons(x1, x2)) = x1 + x2
POL(incr(x1)) = 2·x1
POL(incrActive(x1)) = 2·x1
POL(mark(x1)) = x1
POL(nil) = 0
POL(oddNs) = 0
POL(oddNsActive) = 0
POL(pair(x1, x2)) = x1 + x2
POL(pairNs) = 0
POL(pairNsActive) = 0
POL(repItems(x1)) = 2·x1
POL(repItemsActive(x1)) = 2·x1
POL(s(x1)) = 2·x1
POL(tail(x1)) = 1 + x1
POL(tailActive(x1)) = 1 + x1
POL(take(x1, x2)) = 2·x1 + x2
POL(takeActive(x1, x2)) = 2·x1 + x2
POL(zip(x1, x2)) = x1 + 2·x2
POL(zipActive(x1, x2)) = x1 + 2·x2
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(0, XS) → nil
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(nil, XS) → nil
zipActive(X, nil) → nil
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(nil) → nil
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(0, XS) → nil
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(nil, XS) → nil
zipActive(X, nil) → nil
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(nil) → nil
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
Used ordering:
repItemsActive(nil) → nil
POL(0) = 0
POL(cons(x1, x2)) = x1 + x2
POL(incr(x1)) = x1
POL(incrActive(x1)) = x1
POL(mark(x1)) = x1
POL(nil) = 0
POL(oddNs) = 0
POL(oddNsActive) = 0
POL(pair(x1, x2)) = x1 + 2·x2
POL(pairNs) = 0
POL(pairNsActive) = 0
POL(repItems(x1)) = 1 + 2·x1
POL(repItemsActive(x1)) = 1 + 2·x1
POL(s(x1)) = x1
POL(tail(x1)) = 2·x1
POL(tailActive(x1)) = 2·x1
POL(take(x1, x2)) = x1 + x2
POL(takeActive(x1, x2)) = x1 + x2
POL(zip(x1, x2)) = 2·x1 + 2·x2
POL(zipActive(x1, x2)) = 2·x1 + 2·x2
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(0, XS) → nil
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(nil, XS) → nil
zipActive(X, nil) → nil
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(0, XS) → nil
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(nil, XS) → nil
zipActive(X, nil) → nil
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
Used ordering:
takeActive(0, XS) → nil
POL(0) = 0
POL(cons(x1, x2)) = x1 + x2
POL(incr(x1)) = 2·x1
POL(incrActive(x1)) = 2·x1
POL(mark(x1)) = x1
POL(nil) = 0
POL(oddNs) = 0
POL(oddNsActive) = 0
POL(pair(x1, x2)) = x1 + x2
POL(pairNs) = 0
POL(pairNsActive) = 0
POL(repItems(x1)) = 2·x1
POL(repItemsActive(x1)) = 2·x1
POL(s(x1)) = 2·x1
POL(tail(x1)) = x1
POL(tailActive(x1)) = x1
POL(take(x1, x2)) = 1 + x1 + x2
POL(takeActive(x1, x2)) = 1 + x1 + x2
POL(zip(x1, x2)) = x1 + x2
POL(zipActive(x1, x2)) = x1 + x2
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(nil, XS) → nil
zipActive(X, nil) → nil
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(nil, XS) → nil
zipActive(X, nil) → nil
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
Used ordering:
zipActive(nil, XS) → nil
zipActive(X, nil) → nil
POL(0) = 0
POL(cons(x1, x2)) = 2·x1 + x2
POL(incr(x1)) = 2·x1
POL(incrActive(x1)) = 2·x1
POL(mark(x1)) = x1
POL(nil) = 1
POL(oddNs) = 0
POL(oddNsActive) = 0
POL(pair(x1, x2)) = 2·x1 + 2·x2
POL(pairNs) = 0
POL(pairNsActive) = 0
POL(repItems(x1)) = 2·x1
POL(repItemsActive(x1)) = 2·x1
POL(s(x1)) = 2·x1
POL(tail(x1)) = x1
POL(tailActive(x1)) = x1
POL(take(x1, x2)) = x1 + 2·x2
POL(takeActive(x1, x2)) = x1 + 2·x2
POL(zip(x1, x2)) = 2·x1 + 2·x2
POL(zipActive(x1, x2)) = 2·x1 + 2·x2
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
MARK(take(x1, x2)) → MARK(x2)
ODDNSACTIVE → INCRACTIVE(pairNsActive)
MARK(zip(x1, x2)) → MARK(x2)
REPITEMSACTIVE(cons(X, XS)) → MARK(X)
MARK(pairNs) → PAIRNSACTIVE
MARK(zip(x1, x2)) → MARK(x1)
MARK(take(x1, x2)) → TAKEACTIVE(mark(x1), mark(x2))
MARK(oddNs) → ODDNSACTIVE
TAKEACTIVE(s(N), cons(X, XS)) → MARK(X)
MARK(incr(x1)) → MARK(x1)
MARK(cons(x1, x2)) → MARK(x1)
MARK(pair(x1, x2)) → MARK(x2)
ZIPACTIVE(cons(X, XS), cons(Y, YS)) → MARK(Y)
MARK(take(x1, x2)) → MARK(x1)
MARK(tail(x1)) → TAILACTIVE(mark(x1))
ZIPACTIVE(cons(X, XS), cons(Y, YS)) → MARK(X)
MARK(incr(x1)) → INCRACTIVE(mark(x1))
MARK(zip(x1, x2)) → ZIPACTIVE(mark(x1), mark(x2))
MARK(pair(x1, x2)) → MARK(x1)
INCRACTIVE(cons(X, XS)) → MARK(X)
MARK(s(x1)) → MARK(x1)
MARK(tail(x1)) → MARK(x1)
MARK(repItems(x1)) → MARK(x1)
MARK(repItems(x1)) → REPITEMSACTIVE(mark(x1))
ODDNSACTIVE → PAIRNSACTIVE
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
MARK(take(x1, x2)) → MARK(x2)
ODDNSACTIVE → INCRACTIVE(pairNsActive)
MARK(zip(x1, x2)) → MARK(x2)
REPITEMSACTIVE(cons(X, XS)) → MARK(X)
MARK(pairNs) → PAIRNSACTIVE
MARK(zip(x1, x2)) → MARK(x1)
MARK(take(x1, x2)) → TAKEACTIVE(mark(x1), mark(x2))
MARK(oddNs) → ODDNSACTIVE
TAKEACTIVE(s(N), cons(X, XS)) → MARK(X)
MARK(incr(x1)) → MARK(x1)
MARK(cons(x1, x2)) → MARK(x1)
MARK(pair(x1, x2)) → MARK(x2)
ZIPACTIVE(cons(X, XS), cons(Y, YS)) → MARK(Y)
MARK(take(x1, x2)) → MARK(x1)
MARK(tail(x1)) → TAILACTIVE(mark(x1))
ZIPACTIVE(cons(X, XS), cons(Y, YS)) → MARK(X)
MARK(incr(x1)) → INCRACTIVE(mark(x1))
MARK(zip(x1, x2)) → ZIPACTIVE(mark(x1), mark(x2))
MARK(pair(x1, x2)) → MARK(x1)
INCRACTIVE(cons(X, XS)) → MARK(X)
MARK(s(x1)) → MARK(x1)
MARK(tail(x1)) → MARK(x1)
MARK(repItems(x1)) → MARK(x1)
MARK(repItems(x1)) → REPITEMSACTIVE(mark(x1))
ODDNSACTIVE → PAIRNSACTIVE
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
MARK(take(x1, x2)) → MARK(x2)
ODDNSACTIVE → INCRACTIVE(pairNsActive)
REPITEMSACTIVE(cons(X, XS)) → MARK(X)
MARK(zip(x1, x2)) → MARK(x2)
MARK(pair(x1, x2)) → MARK(x2)
ZIPACTIVE(cons(X, XS), cons(Y, YS)) → MARK(Y)
MARK(take(x1, x2)) → MARK(x1)
ZIPACTIVE(cons(X, XS), cons(Y, YS)) → MARK(X)
MARK(incr(x1)) → INCRACTIVE(mark(x1))
MARK(pair(x1, x2)) → MARK(x1)
INCRACTIVE(cons(X, XS)) → MARK(X)
MARK(zip(x1, x2)) → ZIPACTIVE(mark(x1), mark(x2))
MARK(zip(x1, x2)) → MARK(x1)
MARK(s(x1)) → MARK(x1)
MARK(tail(x1)) → MARK(x1)
MARK(repItems(x1)) → MARK(x1)
MARK(take(x1, x2)) → TAKEACTIVE(mark(x1), mark(x2))
MARK(oddNs) → ODDNSACTIVE
TAKEACTIVE(s(N), cons(X, XS)) → MARK(X)
MARK(repItems(x1)) → REPITEMSACTIVE(mark(x1))
MARK(incr(x1)) → MARK(x1)
MARK(cons(x1, x2)) → MARK(x1)
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
MARK(zip(x1, x2)) → MARK(x2)
ZIPACTIVE(cons(X, XS), cons(Y, YS)) → MARK(Y)
ZIPACTIVE(cons(X, XS), cons(Y, YS)) → MARK(X)
MARK(zip(x1, x2)) → ZIPACTIVE(mark(x1), mark(x2))
MARK(zip(x1, x2)) → MARK(x1)
POL(0) = 0
POL(INCRACTIVE(x1)) = x1
POL(MARK(x1)) = x1
POL(ODDNSACTIVE) = 0
POL(REPITEMSACTIVE(x1)) = 2·x1
POL(TAKEACTIVE(x1, x2)) = 2·x1 + 2·x2
POL(ZIPACTIVE(x1, x2)) = 1 + x1 + x2
POL(cons(x1, x2)) = x1 + x2
POL(incr(x1)) = x1
POL(incrActive(x1)) = x1
POL(mark(x1)) = x1
POL(nil) = 0
POL(oddNs) = 0
POL(oddNsActive) = 0
POL(pair(x1, x2)) = 2·x1 + x2
POL(pairNs) = 0
POL(pairNsActive) = 0
POL(repItems(x1)) = 2·x1
POL(repItemsActive(x1)) = 2·x1
POL(s(x1)) = x1
POL(tail(x1)) = x1
POL(tailActive(x1)) = x1
POL(take(x1, x2)) = 2·x1 + 2·x2
POL(takeActive(x1, x2)) = 2·x1 + 2·x2
POL(zip(x1, x2)) = 2 + 2·x1 + x2
POL(zipActive(x1, x2)) = 2 + 2·x1 + x2
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
MARK(take(x1, x2)) → MARK(x2)
ODDNSACTIVE → INCRACTIVE(pairNsActive)
REPITEMSACTIVE(cons(X, XS)) → MARK(X)
MARK(pair(x1, x2)) → MARK(x2)
MARK(take(x1, x2)) → MARK(x1)
MARK(incr(x1)) → INCRACTIVE(mark(x1))
MARK(pair(x1, x2)) → MARK(x1)
INCRACTIVE(cons(X, XS)) → MARK(X)
MARK(s(x1)) → MARK(x1)
MARK(tail(x1)) → MARK(x1)
MARK(repItems(x1)) → MARK(x1)
MARK(take(x1, x2)) → TAKEACTIVE(mark(x1), mark(x2))
MARK(oddNs) → ODDNSACTIVE
TAKEACTIVE(s(N), cons(X, XS)) → MARK(X)
MARK(incr(x1)) → MARK(x1)
MARK(repItems(x1)) → REPITEMSACTIVE(mark(x1))
MARK(cons(x1, x2)) → MARK(x1)
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
MARK(tail(x1)) → MARK(x1)
POL(0) = 0
POL(INCRACTIVE(x1)) = 2·x1
POL(MARK(x1)) = x1
POL(ODDNSACTIVE) = 0
POL(REPITEMSACTIVE(x1)) = x1
POL(TAKEACTIVE(x1, x2)) = x1 + 2·x2
POL(cons(x1, x2)) = x1 + x2
POL(incr(x1)) = 2·x1
POL(incrActive(x1)) = 2·x1
POL(mark(x1)) = x1
POL(nil) = 0
POL(oddNs) = 0
POL(oddNsActive) = 0
POL(pair(x1, x2)) = x1 + x2
POL(pairNs) = 0
POL(pairNsActive) = 0
POL(repItems(x1)) = 2·x1
POL(repItemsActive(x1)) = 2·x1
POL(s(x1)) = 2·x1
POL(tail(x1)) = 1 + x1
POL(tailActive(x1)) = 1 + x1
POL(take(x1, x2)) = x1 + 2·x2
POL(takeActive(x1, x2)) = x1 + 2·x2
POL(zip(x1, x2)) = x1 + x2
POL(zipActive(x1, x2)) = x1 + x2
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
MARK(take(x1, x2)) → MARK(x2)
ODDNSACTIVE → INCRACTIVE(pairNsActive)
REPITEMSACTIVE(cons(X, XS)) → MARK(X)
MARK(pair(x1, x2)) → MARK(x2)
MARK(take(x1, x2)) → MARK(x1)
MARK(incr(x1)) → INCRACTIVE(mark(x1))
MARK(pair(x1, x2)) → MARK(x1)
INCRACTIVE(cons(X, XS)) → MARK(X)
MARK(s(x1)) → MARK(x1)
MARK(repItems(x1)) → MARK(x1)
MARK(take(x1, x2)) → TAKEACTIVE(mark(x1), mark(x2))
MARK(oddNs) → ODDNSACTIVE
TAKEACTIVE(s(N), cons(X, XS)) → MARK(X)
MARK(repItems(x1)) → REPITEMSACTIVE(mark(x1))
MARK(incr(x1)) → MARK(x1)
MARK(cons(x1, x2)) → MARK(x1)
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
REPITEMSACTIVE(cons(X, XS)) → MARK(X)
MARK(repItems(x1)) → MARK(x1)
MARK(repItems(x1)) → REPITEMSACTIVE(mark(x1))
POL(0) = 0
POL(INCRACTIVE(x1)) = 2·x1
POL(MARK(x1)) = 2·x1
POL(ODDNSACTIVE) = 0
POL(REPITEMSACTIVE(x1)) = 1 + 2·x1
POL(TAKEACTIVE(x1, x2)) = 2·x1 + 2·x2
POL(cons(x1, x2)) = x1 + x2
POL(incr(x1)) = 2·x1
POL(incrActive(x1)) = 2·x1
POL(mark(x1)) = x1
POL(nil) = 0
POL(oddNs) = 0
POL(oddNsActive) = 0
POL(pair(x1, x2)) = 2·x1 + x2
POL(pairNs) = 0
POL(pairNsActive) = 0
POL(repItems(x1)) = 1 + 2·x1
POL(repItemsActive(x1)) = 1 + 2·x1
POL(s(x1)) = 2·x1
POL(tail(x1)) = x1
POL(tailActive(x1)) = x1
POL(take(x1, x2)) = 2·x1 + x2
POL(takeActive(x1, x2)) = 2·x1 + x2
POL(zip(x1, x2)) = 2·x1 + x2
POL(zipActive(x1, x2)) = 2·x1 + x2
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
MARK(take(x1, x2)) → MARK(x2)
ODDNSACTIVE → INCRACTIVE(pairNsActive)
MARK(pair(x1, x2)) → MARK(x2)
MARK(take(x1, x2)) → MARK(x1)
MARK(incr(x1)) → INCRACTIVE(mark(x1))
MARK(pair(x1, x2)) → MARK(x1)
INCRACTIVE(cons(X, XS)) → MARK(X)
MARK(s(x1)) → MARK(x1)
MARK(take(x1, x2)) → TAKEACTIVE(mark(x1), mark(x2))
MARK(oddNs) → ODDNSACTIVE
TAKEACTIVE(s(N), cons(X, XS)) → MARK(X)
MARK(incr(x1)) → MARK(x1)
MARK(cons(x1, x2)) → MARK(x1)
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
MARK(take(x1, x2)) → MARK(x2)
MARK(take(x1, x2)) → MARK(x1)
MARK(take(x1, x2)) → TAKEACTIVE(mark(x1), mark(x2))
TAKEACTIVE(s(N), cons(X, XS)) → MARK(X)
POL(0) = 0
POL(INCRACTIVE(x1)) = 2·x1
POL(MARK(x1)) = 2·x1
POL(ODDNSACTIVE) = 0
POL(TAKEACTIVE(x1, x2)) = 1 + x1 + x2
POL(cons(x1, x2)) = 2·x1 + x2
POL(incr(x1)) = 2·x1
POL(incrActive(x1)) = 2·x1
POL(mark(x1)) = x1
POL(nil) = 2
POL(oddNs) = 0
POL(oddNsActive) = 0
POL(pair(x1, x2)) = x1 + x2
POL(pairNs) = 0
POL(pairNsActive) = 0
POL(repItems(x1)) = 2·x1
POL(repItemsActive(x1)) = 2·x1
POL(s(x1)) = x1
POL(tail(x1)) = x1
POL(tailActive(x1)) = x1
POL(take(x1, x2)) = 1 + x1 + x2
POL(takeActive(x1, x2)) = 1 + x1 + x2
POL(zip(x1, x2)) = x1 + x2
POL(zipActive(x1, x2)) = x1 + x2
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
INCRACTIVE(cons(X, XS)) → MARK(X)
MARK(pair(x1, x2)) → MARK(x1)
ODDNSACTIVE → INCRACTIVE(pairNsActive)
MARK(s(x1)) → MARK(x1)
MARK(pair(x1, x2)) → MARK(x2)
MARK(oddNs) → ODDNSACTIVE
MARK(incr(x1)) → MARK(x1)
MARK(incr(x1)) → INCRACTIVE(mark(x1))
MARK(cons(x1, x2)) → MARK(x1)
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
ODDNSACTIVE → INCRACTIVE(pairNsActive)
POL(0) = 0
POL(INCRACTIVE(x1)) = x1
POL(MARK(x1)) = 2·x1
POL(ODDNSACTIVE) = 2
POL(cons(x1, x2)) = 2·x1 + x2
POL(incr(x1)) = x1
POL(incrActive(x1)) = x1
POL(mark(x1)) = x1
POL(nil) = 0
POL(oddNs) = 1
POL(oddNsActive) = 1
POL(pair(x1, x2)) = x1 + x2
POL(pairNs) = 1
POL(pairNsActive) = 1
POL(repItems(x1)) = 2·x1
POL(repItemsActive(x1)) = 2·x1
POL(s(x1)) = x1
POL(tail(x1)) = x1
POL(tailActive(x1)) = x1
POL(take(x1, x2)) = x1 + x2
POL(takeActive(x1, x2)) = x1 + x2
POL(zip(x1, x2)) = x1 + x2
POL(zipActive(x1, x2)) = x1 + x2
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
MARK(pair(x1, x2)) → MARK(x1)
INCRACTIVE(cons(X, XS)) → MARK(X)
MARK(s(x1)) → MARK(x1)
MARK(pair(x1, x2)) → MARK(x2)
MARK(oddNs) → ODDNSACTIVE
MARK(incr(x1)) → INCRACTIVE(mark(x1))
MARK(incr(x1)) → MARK(x1)
MARK(cons(x1, x2)) → MARK(x1)
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
MARK(pair(x1, x2)) → MARK(x1)
INCRACTIVE(cons(X, XS)) → MARK(X)
MARK(s(x1)) → MARK(x1)
MARK(pair(x1, x2)) → MARK(x2)
MARK(incr(x1)) → MARK(x1)
MARK(incr(x1)) → INCRACTIVE(mark(x1))
MARK(cons(x1, x2)) → MARK(x1)
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(pair(x1, x2)) → MARK(x1)
MARK(pair(x1, x2)) → MARK(x2)
MARK(incr(x1)) → INCRACTIVE(mark(x1))
MARK(cons(x1, x2)) → MARK(x1)
Used ordering: Polynomial interpretation [25]:
INCRACTIVE(cons(X, XS)) → MARK(X)
MARK(s(x1)) → MARK(x1)
MARK(incr(x1)) → MARK(x1)
POL(0) = 0
POL(INCRACTIVE(x1)) = x1
POL(MARK(x1)) = 1 + x1
POL(cons(x1, x2)) = 1 + x1
POL(incr(x1)) = x1
POL(incrActive(x1)) = x1
POL(mark(x1)) = x1
POL(nil) = 0
POL(oddNs) = 1
POL(oddNsActive) = 1
POL(pair(x1, x2)) = 1 + x1 + x2
POL(pairNs) = 1
POL(pairNsActive) = 1
POL(repItems(x1)) = x1
POL(repItemsActive(x1)) = x1
POL(s(x1)) = x1
POL(tail(x1)) = 0
POL(tailActive(x1)) = 0
POL(take(x1, x2)) = x2
POL(takeActive(x1, x2)) = x2
POL(zip(x1, x2)) = x1 + x2
POL(zipActive(x1, x2)) = x1 + x2
oddNsActive → oddNs
mark(nil) → nil
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
mark(incr(x1)) → incrActive(mark(x1))
zipActive(x1, x2) → zip(x1, x2)
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
mark(repItems(x1)) → repItemsActive(mark(x1))
pairNsActive → pairNs
mark(0) → 0
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
mark(cons(x1, x2)) → cons(mark(x1), x2)
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
repItemsActive(x1) → repItems(x1)
mark(oddNs) → oddNsActive
mark(s(x1)) → s(mark(x1))
incrActive(x1) → incr(x1)
oddNsActive → incrActive(pairNsActive)
mark(tail(x1)) → tailActive(mark(x1))
mark(pairNs) → pairNsActive
pairNsActive → cons(0, incr(oddNs))
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
tailActive(x1) → tail(x1)
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
INCRACTIVE(cons(X, XS)) → MARK(X)
MARK(s(x1)) → MARK(x1)
MARK(incr(x1)) → MARK(x1)
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
MARK(s(x1)) → MARK(x1)
MARK(incr(x1)) → MARK(x1)
mark(pairNs) → pairNsActive
pairNsActive → pairNs
mark(oddNs) → oddNsActive
oddNsActive → oddNs
mark(incr(x1)) → incrActive(mark(x1))
incrActive(x1) → incr(x1)
mark(take(x1, x2)) → takeActive(mark(x1), mark(x2))
takeActive(x1, x2) → take(x1, x2)
mark(zip(x1, x2)) → zipActive(mark(x1), mark(x2))
zipActive(x1, x2) → zip(x1, x2)
mark(tail(x1)) → tailActive(mark(x1))
tailActive(x1) → tail(x1)
mark(repItems(x1)) → repItemsActive(mark(x1))
repItemsActive(x1) → repItems(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
mark(pair(x1, x2)) → pair(mark(x1), mark(x2))
pairNsActive → cons(0, incr(oddNs))
oddNsActive → incrActive(pairNsActive)
incrActive(cons(X, XS)) → cons(s(mark(X)), incr(XS))
takeActive(s(N), cons(X, XS)) → cons(mark(X), take(N, XS))
zipActive(cons(X, XS), cons(Y, YS)) → cons(pair(mark(X), mark(Y)), zip(XS, YS))
repItemsActive(cons(X, XS)) → cons(mark(X), cons(X, repItems(XS)))
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDPSizeChangeProof
MARK(s(x1)) → MARK(x1)
MARK(incr(x1)) → MARK(x1)
From the DPs we obtained the following set of size-change graphs: