TIMEOUT
The TRS could not be proven terminating. The proof attempt took 60000 ms.
Problem 1 was processed with processor DependencyGraph (419ms). | Problem 2 remains open; application of the following processors failed [SubtermCriterion (1ms), DependencyGraph (3ms), PolynomialLinearRange4iUR (0ms), DependencyGraph (35ms), PolynomialOrderingProcessor (0ms), DependencyGraph (3ms), PolynomialLinearRange4 (220ms), DependencyGraph (3ms), PolynomialLinearRange4 (190ms), DependencyGraph (2ms), PolynomialLinearRange4 (120ms), DependencyGraph (3ms), ReductionPairSAT (7920ms), DependencyGraph (2ms), SizeChangePrinciple (timeout)]. | Problem 3 was processed with processor PolynomialLinearRange4 (86ms). | | Problem 4 was processed with processor PolynomialLinearRange4 (22ms).
U63#(tt, N, X, XS) | → | splitAt#(N, XS) | U62#(tt, N, X, XS) | → | U63#(tt, N, X, XS) | |
splitAt#(s(N), cons(X, XS)) | → | U61#(tt, N, X, XS) | U61#(tt, N, X, XS) | → | U62#(tt, N, X, XS) |
U11(tt, N, XS) | → | U12(tt, N, XS) | U12(tt, N, XS) | → | snd(splitAt(N, XS)) | |
U21(tt, X) | → | U22(tt, X) | U22(tt, X) | → | X | |
U31(tt, N) | → | U32(tt, N) | U32(tt, N) | → | N | |
U41(tt, N, XS) | → | U42(tt, N, XS) | U42(tt, N, XS) | → | head(afterNth(N, XS)) | |
U51(tt, Y) | → | U52(tt, Y) | U52(tt, Y) | → | Y | |
U61(tt, N, X, XS) | → | U62(tt, N, X, XS) | U62(tt, N, X, XS) | → | U63(tt, N, X, XS) | |
U63(tt, N, X, XS) | → | U64(splitAt(N, XS), X) | U64(pair(YS, ZS), X) | → | pair(cons(X, YS), ZS) | |
U71(tt, XS) | → | U72(tt, XS) | U72(tt, XS) | → | XS | |
U81(tt, N, XS) | → | U82(tt, N, XS) | U82(tt, N, XS) | → | fst(splitAt(N, XS)) | |
afterNth(N, XS) | → | U11(tt, N, XS) | fst(pair(X, Y)) | → | U21(tt, X) | |
head(cons(N, XS)) | → | U31(tt, N) | natsFrom(N) | → | cons(N, natsFrom(s(N))) | |
sel(N, XS) | → | U41(tt, N, XS) | snd(pair(X, Y)) | → | U51(tt, Y) | |
splitAt(0, XS) | → | pair(nil, XS) | splitAt(s(N), cons(X, XS)) | → | U61(tt, N, X, XS) | |
tail(cons(N, XS)) | → | U71(tt, XS) | take(N, XS) | → | U81(tt, N, XS) |
Termination of terms over the following signature is verified: pair, natsFrom, fst, U64, U63, U62, U61, U42, U41, head, U21, U22, snd, cons, tail, splitAt, U71, U72, 0, s, U51, tt, take, U82, U52, U81, U11, U12, afterNth, U31, U32, sel, nil
U63#(tt, N, X, XS) | → | T(N) | U63#(tt, N, X, XS) | → | U64#(splitAt(N, XS), X) | |
U22#(tt, X) | → | T(X) | U63#(tt, N, X, XS) | → | T(XS) | |
U21#(tt, X) | → | U22#(tt, X) | U64#(pair(YS, ZS), X) | → | T(X) | |
U11#(tt, N, XS) | → | U12#(tt, N, XS) | U82#(tt, N, XS) | → | T(N) | |
U63#(tt, N, X, XS) | → | splitAt#(N, XS) | U42#(tt, N, XS) | → | T(N) | |
U41#(tt, N, XS) | → | U42#(tt, N, XS) | U82#(tt, N, XS) | → | fst#(splitAt(N, XS)) | |
U62#(tt, N, X, XS) | → | U63#(tt, N, X, XS) | U42#(tt, N, XS) | → | head#(afterNth(N, XS)) | |
head#(cons(N, XS)) | → | U31#(tt, N) | U51#(tt, Y) | → | U52#(tt, Y) | |
T(s(x_1)) | → | T(x_1) | U12#(tt, N, XS) | → | splitAt#(N, XS) | |
fst#(pair(X, Y)) | → | U21#(tt, X) | afterNth#(N, XS) | → | U11#(tt, N, XS) | |
snd#(pair(X, Y)) | → | U51#(tt, Y) | U61#(tt, N, X, XS) | → | U62#(tt, N, X, XS) | |
T(natsFrom(x_1)) | → | T(x_1) | U12#(tt, N, XS) | → | T(XS) | |
U72#(tt, XS) | → | T(XS) | U12#(tt, N, XS) | → | snd#(splitAt(N, XS)) | |
U12#(tt, N, XS) | → | T(N) | T(natsFrom(s(N))) | → | natsFrom#(s(N)) | |
U32#(tt, N) | → | T(N) | U42#(tt, N, XS) | → | T(XS) | |
U82#(tt, N, XS) | → | splitAt#(N, XS) | splitAt#(s(N), cons(X, XS)) | → | U61#(tt, N, X, XS) | |
U31#(tt, N) | → | U32#(tt, N) | U81#(tt, N, XS) | → | U82#(tt, N, XS) | |
U42#(tt, N, XS) | → | afterNth#(N, XS) | U52#(tt, Y) | → | T(Y) | |
take#(N, XS) | → | U81#(tt, N, XS) | U71#(tt, XS) | → | U72#(tt, XS) | |
tail#(cons(N, XS)) | → | U71#(tt, XS) | U82#(tt, N, XS) | → | T(XS) | |
sel#(N, XS) | → | U41#(tt, N, XS) |
U11(tt, N, XS) | → | U12(tt, N, XS) | U12(tt, N, XS) | → | snd(splitAt(N, XS)) | |
U21(tt, X) | → | U22(tt, X) | U22(tt, X) | → | X | |
U31(tt, N) | → | U32(tt, N) | U32(tt, N) | → | N | |
U41(tt, N, XS) | → | U42(tt, N, XS) | U42(tt, N, XS) | → | head(afterNth(N, XS)) | |
U51(tt, Y) | → | U52(tt, Y) | U52(tt, Y) | → | Y | |
U61(tt, N, X, XS) | → | U62(tt, N, X, XS) | U62(tt, N, X, XS) | → | U63(tt, N, X, XS) | |
U63(tt, N, X, XS) | → | U64(splitAt(N, XS), X) | U64(pair(YS, ZS), X) | → | pair(cons(X, YS), ZS) | |
U71(tt, XS) | → | U72(tt, XS) | U72(tt, XS) | → | XS | |
U81(tt, N, XS) | → | U82(tt, N, XS) | U82(tt, N, XS) | → | fst(splitAt(N, XS)) | |
afterNth(N, XS) | → | U11(tt, N, XS) | fst(pair(X, Y)) | → | U21(tt, X) | |
head(cons(N, XS)) | → | U31(tt, N) | natsFrom(N) | → | cons(N, natsFrom(s(N))) | |
sel(N, XS) | → | U41(tt, N, XS) | snd(pair(X, Y)) | → | U51(tt, Y) | |
splitAt(0, XS) | → | pair(nil, XS) | splitAt(s(N), cons(X, XS)) | → | U61(tt, N, X, XS) | |
tail(cons(N, XS)) | → | U71(tt, XS) | take(N, XS) | → | U81(tt, N, XS) |
Termination of terms over the following signature is verified: pair, natsFrom, U64, fst, U63, U62, U61, U42, U41, head, U21, snd, U22, cons, tail, splitAt, U71, U72, 0, s, U51, tt, take, U82, U81, U52, U11, U12, U31, afterNth, U32, sel, nil
Context-sensitive strategy:
μ(0) = μ(T) = μ(tt) = μ(nil) = ∅
μ(natsFrom#) = μ(U11#) = μ(fst#) = μ(U31#) = μ(natsFrom) = μ(U21#) = μ(U62#) = μ(tail#) = μ(U52#) = μ(U64) = μ(fst) = μ(U63) = μ(U62) = μ(U41#) = μ(U61) = μ(U72#) = μ(snd#) = μ(head) = μ(U21) = μ(U22) = μ(U12#) = μ(U22#) = μ(U61#) = μ(U51#) = μ(tail) = μ(U71) = μ(U72) = μ(U42#) = μ(U71#) = μ(U32#) = μ(U31) = μ(U32) = μ(U64#) = μ(U81#) = μ(U42) = μ(U41) = μ(cons) = μ(snd) = μ(U63#) = μ(U82#) = μ(U51) = μ(s) = μ(U82) = μ(U81) = μ(U52) = μ(U11) = μ(U12) = μ(head#) = {1}
μ(sel#) = μ(take#) = μ(splitAt#) = μ(pair) = μ(splitAt) = μ(afterNth#) = μ(take) = μ(afterNth) = μ(sel) = {1, 2}
U63#(tt, N, X, XS) → splitAt#(N, XS) | U62#(tt, N, X, XS) → U63#(tt, N, X, XS) |
splitAt#(s(N), cons(X, XS)) → U61#(tt, N, X, XS) | U61#(tt, N, X, XS) → U62#(tt, N, X, XS) |
T(natsFrom(x_1)) → T(x_1) | T(s(x_1)) → T(x_1) |
T(natsFrom(x_1)) | → | T(x_1) | T(s(x_1)) | → | T(x_1) |
U11(tt, N, XS) | → | U12(tt, N, XS) | U12(tt, N, XS) | → | snd(splitAt(N, XS)) | |
U21(tt, X) | → | U22(tt, X) | U22(tt, X) | → | X | |
U31(tt, N) | → | U32(tt, N) | U32(tt, N) | → | N | |
U41(tt, N, XS) | → | U42(tt, N, XS) | U42(tt, N, XS) | → | head(afterNth(N, XS)) | |
U51(tt, Y) | → | U52(tt, Y) | U52(tt, Y) | → | Y | |
U61(tt, N, X, XS) | → | U62(tt, N, X, XS) | U62(tt, N, X, XS) | → | U63(tt, N, X, XS) | |
U63(tt, N, X, XS) | → | U64(splitAt(N, XS), X) | U64(pair(YS, ZS), X) | → | pair(cons(X, YS), ZS) | |
U71(tt, XS) | → | U72(tt, XS) | U72(tt, XS) | → | XS | |
U81(tt, N, XS) | → | U82(tt, N, XS) | U82(tt, N, XS) | → | fst(splitAt(N, XS)) | |
afterNth(N, XS) | → | U11(tt, N, XS) | fst(pair(X, Y)) | → | U21(tt, X) | |
head(cons(N, XS)) | → | U31(tt, N) | natsFrom(N) | → | cons(N, natsFrom(s(N))) | |
sel(N, XS) | → | U41(tt, N, XS) | snd(pair(X, Y)) | → | U51(tt, Y) | |
splitAt(0, XS) | → | pair(nil, XS) | splitAt(s(N), cons(X, XS)) | → | U61(tt, N, X, XS) | |
tail(cons(N, XS)) | → | U71(tt, XS) | take(N, XS) | → | U81(tt, N, XS) |
Termination of terms over the following signature is verified: pair, natsFrom, U64, fst, U63, U62, U61, U42, U41, head, U21, snd, U22, cons, tail, splitAt, U71, U72, 0, s, U51, tt, take, U82, U81, U52, U11, U12, U31, afterNth, U32, sel, nil
Context-sensitive strategy:
μ(0) = μ(T) = μ(tt) = μ(nil) = ∅
μ(natsFrom#) = μ(U11#) = μ(fst#) = μ(U31#) = μ(natsFrom) = μ(U21#) = μ(U62#) = μ(tail#) = μ(U52#) = μ(U64) = μ(fst) = μ(U63) = μ(U41#) = μ(U62) = μ(U61) = μ(snd#) = μ(U72#) = μ(head) = μ(U21) = μ(U22) = μ(U12#) = μ(U22#) = μ(U61#) = μ(U51#) = μ(tail) = μ(U71) = μ(U72) = μ(U42#) = μ(U71#) = μ(U32#) = μ(U31) = μ(U32) = μ(U64#) = μ(U81#) = μ(U42) = μ(U41) = μ(cons) = μ(snd) = μ(U63#) = μ(U82#) = μ(s) = μ(U51) = μ(U82) = μ(U52) = μ(U81) = μ(U11) = μ(U12) = μ(head#) = {1}
μ(sel#) = μ(take#) = μ(splitAt#) = μ(pair) = μ(splitAt) = μ(afterNth#) = μ(take) = μ(afterNth) = μ(sel) = {1, 2}
There are no usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
T(s(x_1)) | → | T(x_1) |
T(natsFrom(x_1)) | → | T(x_1) |
U11(tt, N, XS) | → | U12(tt, N, XS) | U12(tt, N, XS) | → | snd(splitAt(N, XS)) | |
U21(tt, X) | → | U22(tt, X) | U22(tt, X) | → | X | |
U31(tt, N) | → | U32(tt, N) | U32(tt, N) | → | N | |
U41(tt, N, XS) | → | U42(tt, N, XS) | U42(tt, N, XS) | → | head(afterNth(N, XS)) | |
U51(tt, Y) | → | U52(tt, Y) | U52(tt, Y) | → | Y | |
U61(tt, N, X, XS) | → | U62(tt, N, X, XS) | U62(tt, N, X, XS) | → | U63(tt, N, X, XS) | |
U63(tt, N, X, XS) | → | U64(splitAt(N, XS), X) | U64(pair(YS, ZS), X) | → | pair(cons(X, YS), ZS) | |
U71(tt, XS) | → | U72(tt, XS) | U72(tt, XS) | → | XS | |
U81(tt, N, XS) | → | U82(tt, N, XS) | U82(tt, N, XS) | → | fst(splitAt(N, XS)) | |
afterNth(N, XS) | → | U11(tt, N, XS) | fst(pair(X, Y)) | → | U21(tt, X) | |
head(cons(N, XS)) | → | U31(tt, N) | natsFrom(N) | → | cons(N, natsFrom(s(N))) | |
sel(N, XS) | → | U41(tt, N, XS) | snd(pair(X, Y)) | → | U51(tt, Y) | |
splitAt(0, XS) | → | pair(nil, XS) | splitAt(s(N), cons(X, XS)) | → | U61(tt, N, X, XS) | |
tail(cons(N, XS)) | → | U71(tt, XS) | take(N, XS) | → | U81(tt, N, XS) |
Termination of terms over the following signature is verified: pair, natsFrom, fst, U64, U63, U62, U61, U42, U41, head, U21, U22, snd, cons, tail, splitAt, U71, U72, 0, s, U51, tt, take, U82, U52, U81, U11, U12, afterNth, U31, U32, sel, nil
Context-sensitive strategy:
μ(0) = μ(T) = μ(tt) = μ(nil) = ∅
μ(natsFrom#) = μ(U11#) = μ(fst#) = μ(U31#) = μ(natsFrom) = μ(U21#) = μ(U62#) = μ(tail#) = μ(U52#) = μ(U64) = μ(fst) = μ(U63) = μ(U62) = μ(U41#) = μ(U61) = μ(U72#) = μ(snd#) = μ(head) = μ(U21) = μ(U22) = μ(U12#) = μ(U22#) = μ(U61#) = μ(U51#) = μ(tail) = μ(U71) = μ(U72) = μ(U42#) = μ(U71#) = μ(U32#) = μ(U31) = μ(U32) = μ(U64#) = μ(U81#) = μ(U42) = μ(U41) = μ(cons) = μ(snd) = μ(U63#) = μ(U82#) = μ(U51) = μ(s) = μ(U82) = μ(U81) = μ(U52) = μ(U11) = μ(U12) = μ(head#) = {1}
μ(sel#) = μ(take#) = μ(splitAt#) = μ(pair) = μ(splitAt) = μ(afterNth#) = μ(take) = μ(afterNth) = μ(sel) = {1, 2}
There are no usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
T(natsFrom(x_1)) | → | T(x_1) |