TIMEOUT

The TRS could not be proven terminating. The proof attempt took 60000 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (874ms).
 | – Problem 2 remains open; application of the following processors failed [SubtermCriterion (2ms), DependencyGraph (6ms), PolynomialLinearRange4iUR (2976ms), DependencyGraph (2ms), PolynomialLinearRange8NegiUR (timeout), DependencyGraph (2ms), ReductionPairSAT (3019ms), DependencyGraph (44ms), SizeChangePrinciple (timeout)].
 | – Problem 3 was processed with processor SubtermCriterion (1ms).
 | – Problem 4 was processed with processor SubtermCriterion (1ms).
 | – Problem 5 was processed with processor SubtermCriterion (3ms).
 | – Problem 6 was processed with processor SubtermCriterion (1ms).
 | – Problem 7 was processed with processor SubtermCriterion (0ms).
 | – Problem 8 was processed with processor SubtermCriterion (1ms).
 | – Problem 9 was processed with processor SubtermCriterion (1ms).
 | – Problem 10 was processed with processor SubtermCriterion (1ms).

The following open problems remain:



Open Dependency Pair Problem 2

Dependency Pairs

top#(mark(X)) → top#(proper(X))top#(ok(X)) → top#(active(X))

Rewrite Rules

active(nats) → mark(adx(zeros))active(zeros) → mark(cons(0, zeros))
active(incr(cons(X, Y))) → mark(cons(s(X), incr(Y)))active(adx(cons(X, Y))) → mark(incr(cons(X, adx(Y))))
active(hd(cons(X, Y))) → mark(X)active(tl(cons(X, Y))) → mark(Y)
active(adx(X)) → adx(active(X))active(incr(X)) → incr(active(X))
active(hd(X)) → hd(active(X))active(tl(X)) → tl(active(X))
adx(mark(X)) → mark(adx(X))incr(mark(X)) → mark(incr(X))
hd(mark(X)) → mark(hd(X))tl(mark(X)) → mark(tl(X))
proper(nats) → ok(nats)proper(adx(X)) → adx(proper(X))
proper(zeros) → ok(zeros)proper(cons(X1, X2)) → cons(proper(X1), proper(X2))
proper(0) → ok(0)proper(incr(X)) → incr(proper(X))
proper(s(X)) → s(proper(X))proper(hd(X)) → hd(proper(X))
proper(tl(X)) → tl(proper(X))adx(ok(X)) → ok(adx(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))incr(ok(X)) → ok(incr(X))
s(ok(X)) → ok(s(X))hd(ok(X)) → ok(hd(X))
tl(ok(X)) → ok(tl(X))top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: tl, mark, hd, nats, 0, s, zeros, adx, active, ok, incr, proper, top, cons


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

proper#(cons(X1, X2)) → proper#(X1)active#(adx(cons(X, Y))) → cons#(X, adx(Y))
active#(adx(X)) → active#(X)top#(ok(X)) → top#(active(X))
active#(incr(cons(X, Y))) → cons#(s(X), incr(Y))incr#(ok(X)) → incr#(X)
cons#(ok(X1), ok(X2)) → cons#(X1, X2)tl#(ok(X)) → tl#(X)
proper#(incr(X)) → incr#(proper(X))top#(ok(X)) → active#(X)
active#(tl(X)) → tl#(active(X))proper#(adx(X)) → proper#(X)
proper#(incr(X)) → proper#(X)adx#(ok(X)) → adx#(X)
incr#(mark(X)) → incr#(X)proper#(hd(X)) → proper#(X)
active#(tl(X)) → active#(X)top#(mark(X)) → proper#(X)
active#(adx(cons(X, Y))) → adx#(Y)active#(incr(cons(X, Y))) → incr#(Y)
proper#(hd(X)) → hd#(proper(X))top#(mark(X)) → top#(proper(X))
active#(incr(X)) → active#(X)active#(adx(X)) → adx#(active(X))
active#(adx(cons(X, Y))) → incr#(cons(X, adx(Y)))proper#(cons(X1, X2)) → proper#(X2)
hd#(mark(X)) → hd#(X)active#(incr(X)) → incr#(active(X))
active#(hd(X)) → hd#(active(X))s#(ok(X)) → s#(X)
active#(nats) → adx#(zeros)proper#(adx(X)) → adx#(proper(X))
adx#(mark(X)) → adx#(X)proper#(s(X)) → proper#(X)
proper#(cons(X1, X2)) → cons#(proper(X1), proper(X2))active#(incr(cons(X, Y))) → s#(X)
tl#(mark(X)) → tl#(X)proper#(s(X)) → s#(proper(X))
active#(hd(X)) → active#(X)active#(zeros) → cons#(0, zeros)
proper#(tl(X)) → tl#(proper(X))proper#(tl(X)) → proper#(X)
hd#(ok(X)) → hd#(X)

Rewrite Rules

active(nats) → mark(adx(zeros))active(zeros) → mark(cons(0, zeros))
active(incr(cons(X, Y))) → mark(cons(s(X), incr(Y)))active(adx(cons(X, Y))) → mark(incr(cons(X, adx(Y))))
active(hd(cons(X, Y))) → mark(X)active(tl(cons(X, Y))) → mark(Y)
active(adx(X)) → adx(active(X))active(incr(X)) → incr(active(X))
active(hd(X)) → hd(active(X))active(tl(X)) → tl(active(X))
adx(mark(X)) → mark(adx(X))incr(mark(X)) → mark(incr(X))
hd(mark(X)) → mark(hd(X))tl(mark(X)) → mark(tl(X))
proper(nats) → ok(nats)proper(adx(X)) → adx(proper(X))
proper(zeros) → ok(zeros)proper(cons(X1, X2)) → cons(proper(X1), proper(X2))
proper(0) → ok(0)proper(incr(X)) → incr(proper(X))
proper(s(X)) → s(proper(X))proper(hd(X)) → hd(proper(X))
proper(tl(X)) → tl(proper(X))adx(ok(X)) → ok(adx(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))incr(ok(X)) → ok(incr(X))
s(ok(X)) → ok(s(X))hd(ok(X)) → ok(hd(X))
tl(ok(X)) → ok(tl(X))top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: tl, mark, hd, nats, 0, s, zeros, adx, active, ok, incr, proper, cons, top

Strategy


The following SCCs where found

tl#(mark(X)) → tl#(X)tl#(ok(X)) → tl#(X)

proper#(s(X)) → proper#(X)proper#(adx(X)) → proper#(X)
proper#(cons(X1, X2)) → proper#(X1)proper#(cons(X1, X2)) → proper#(X2)
proper#(incr(X)) → proper#(X)proper#(hd(X)) → proper#(X)
proper#(tl(X)) → proper#(X)

hd#(mark(X)) → hd#(X)hd#(ok(X)) → hd#(X)

active#(incr(X)) → active#(X)active#(adx(X)) → active#(X)
active#(hd(X)) → active#(X)active#(tl(X)) → active#(X)

incr#(ok(X)) → incr#(X)incr#(mark(X)) → incr#(X)

cons#(ok(X1), ok(X2)) → cons#(X1, X2)

adx#(mark(X)) → adx#(X)adx#(ok(X)) → adx#(X)

s#(ok(X)) → s#(X)

top#(mark(X)) → top#(proper(X))top#(ok(X)) → top#(active(X))

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

incr#(ok(X)) → incr#(X)incr#(mark(X)) → incr#(X)

Rewrite Rules

active(nats) → mark(adx(zeros))active(zeros) → mark(cons(0, zeros))
active(incr(cons(X, Y))) → mark(cons(s(X), incr(Y)))active(adx(cons(X, Y))) → mark(incr(cons(X, adx(Y))))
active(hd(cons(X, Y))) → mark(X)active(tl(cons(X, Y))) → mark(Y)
active(adx(X)) → adx(active(X))active(incr(X)) → incr(active(X))
active(hd(X)) → hd(active(X))active(tl(X)) → tl(active(X))
adx(mark(X)) → mark(adx(X))incr(mark(X)) → mark(incr(X))
hd(mark(X)) → mark(hd(X))tl(mark(X)) → mark(tl(X))
proper(nats) → ok(nats)proper(adx(X)) → adx(proper(X))
proper(zeros) → ok(zeros)proper(cons(X1, X2)) → cons(proper(X1), proper(X2))
proper(0) → ok(0)proper(incr(X)) → incr(proper(X))
proper(s(X)) → s(proper(X))proper(hd(X)) → hd(proper(X))
proper(tl(X)) → tl(proper(X))adx(ok(X)) → ok(adx(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))incr(ok(X)) → ok(incr(X))
s(ok(X)) → ok(s(X))hd(ok(X)) → ok(hd(X))
tl(ok(X)) → ok(tl(X))top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: tl, mark, hd, nats, 0, s, zeros, adx, active, ok, incr, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

incr#(ok(X)) → incr#(X)incr#(mark(X)) → incr#(X)

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

active#(incr(X)) → active#(X)active#(adx(X)) → active#(X)
active#(hd(X)) → active#(X)active#(tl(X)) → active#(X)

Rewrite Rules

active(nats) → mark(adx(zeros))active(zeros) → mark(cons(0, zeros))
active(incr(cons(X, Y))) → mark(cons(s(X), incr(Y)))active(adx(cons(X, Y))) → mark(incr(cons(X, adx(Y))))
active(hd(cons(X, Y))) → mark(X)active(tl(cons(X, Y))) → mark(Y)
active(adx(X)) → adx(active(X))active(incr(X)) → incr(active(X))
active(hd(X)) → hd(active(X))active(tl(X)) → tl(active(X))
adx(mark(X)) → mark(adx(X))incr(mark(X)) → mark(incr(X))
hd(mark(X)) → mark(hd(X))tl(mark(X)) → mark(tl(X))
proper(nats) → ok(nats)proper(adx(X)) → adx(proper(X))
proper(zeros) → ok(zeros)proper(cons(X1, X2)) → cons(proper(X1), proper(X2))
proper(0) → ok(0)proper(incr(X)) → incr(proper(X))
proper(s(X)) → s(proper(X))proper(hd(X)) → hd(proper(X))
proper(tl(X)) → tl(proper(X))adx(ok(X)) → ok(adx(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))incr(ok(X)) → ok(incr(X))
s(ok(X)) → ok(s(X))hd(ok(X)) → ok(hd(X))
tl(ok(X)) → ok(tl(X))top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: tl, mark, hd, nats, 0, s, zeros, adx, active, ok, incr, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

active#(incr(X)) → active#(X)active#(adx(X)) → active#(X)
active#(hd(X)) → active#(X)active#(tl(X)) → active#(X)

Problem 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

adx#(mark(X)) → adx#(X)adx#(ok(X)) → adx#(X)

Rewrite Rules

active(nats) → mark(adx(zeros))active(zeros) → mark(cons(0, zeros))
active(incr(cons(X, Y))) → mark(cons(s(X), incr(Y)))active(adx(cons(X, Y))) → mark(incr(cons(X, adx(Y))))
active(hd(cons(X, Y))) → mark(X)active(tl(cons(X, Y))) → mark(Y)
active(adx(X)) → adx(active(X))active(incr(X)) → incr(active(X))
active(hd(X)) → hd(active(X))active(tl(X)) → tl(active(X))
adx(mark(X)) → mark(adx(X))incr(mark(X)) → mark(incr(X))
hd(mark(X)) → mark(hd(X))tl(mark(X)) → mark(tl(X))
proper(nats) → ok(nats)proper(adx(X)) → adx(proper(X))
proper(zeros) → ok(zeros)proper(cons(X1, X2)) → cons(proper(X1), proper(X2))
proper(0) → ok(0)proper(incr(X)) → incr(proper(X))
proper(s(X)) → s(proper(X))proper(hd(X)) → hd(proper(X))
proper(tl(X)) → tl(proper(X))adx(ok(X)) → ok(adx(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))incr(ok(X)) → ok(incr(X))
s(ok(X)) → ok(s(X))hd(ok(X)) → ok(hd(X))
tl(ok(X)) → ok(tl(X))top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: tl, mark, hd, nats, 0, s, zeros, adx, active, ok, incr, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

adx#(mark(X)) → adx#(X)adx#(ok(X)) → adx#(X)

Problem 6: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

hd#(mark(X)) → hd#(X)hd#(ok(X)) → hd#(X)

Rewrite Rules

active(nats) → mark(adx(zeros))active(zeros) → mark(cons(0, zeros))
active(incr(cons(X, Y))) → mark(cons(s(X), incr(Y)))active(adx(cons(X, Y))) → mark(incr(cons(X, adx(Y))))
active(hd(cons(X, Y))) → mark(X)active(tl(cons(X, Y))) → mark(Y)
active(adx(X)) → adx(active(X))active(incr(X)) → incr(active(X))
active(hd(X)) → hd(active(X))active(tl(X)) → tl(active(X))
adx(mark(X)) → mark(adx(X))incr(mark(X)) → mark(incr(X))
hd(mark(X)) → mark(hd(X))tl(mark(X)) → mark(tl(X))
proper(nats) → ok(nats)proper(adx(X)) → adx(proper(X))
proper(zeros) → ok(zeros)proper(cons(X1, X2)) → cons(proper(X1), proper(X2))
proper(0) → ok(0)proper(incr(X)) → incr(proper(X))
proper(s(X)) → s(proper(X))proper(hd(X)) → hd(proper(X))
proper(tl(X)) → tl(proper(X))adx(ok(X)) → ok(adx(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))incr(ok(X)) → ok(incr(X))
s(ok(X)) → ok(s(X))hd(ok(X)) → ok(hd(X))
tl(ok(X)) → ok(tl(X))top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: tl, mark, hd, nats, 0, s, zeros, adx, active, ok, incr, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

hd#(mark(X)) → hd#(X)hd#(ok(X)) → hd#(X)

Problem 7: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

tl#(mark(X)) → tl#(X)tl#(ok(X)) → tl#(X)

Rewrite Rules

active(nats) → mark(adx(zeros))active(zeros) → mark(cons(0, zeros))
active(incr(cons(X, Y))) → mark(cons(s(X), incr(Y)))active(adx(cons(X, Y))) → mark(incr(cons(X, adx(Y))))
active(hd(cons(X, Y))) → mark(X)active(tl(cons(X, Y))) → mark(Y)
active(adx(X)) → adx(active(X))active(incr(X)) → incr(active(X))
active(hd(X)) → hd(active(X))active(tl(X)) → tl(active(X))
adx(mark(X)) → mark(adx(X))incr(mark(X)) → mark(incr(X))
hd(mark(X)) → mark(hd(X))tl(mark(X)) → mark(tl(X))
proper(nats) → ok(nats)proper(adx(X)) → adx(proper(X))
proper(zeros) → ok(zeros)proper(cons(X1, X2)) → cons(proper(X1), proper(X2))
proper(0) → ok(0)proper(incr(X)) → incr(proper(X))
proper(s(X)) → s(proper(X))proper(hd(X)) → hd(proper(X))
proper(tl(X)) → tl(proper(X))adx(ok(X)) → ok(adx(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))incr(ok(X)) → ok(incr(X))
s(ok(X)) → ok(s(X))hd(ok(X)) → ok(hd(X))
tl(ok(X)) → ok(tl(X))top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: tl, mark, hd, nats, 0, s, zeros, adx, active, ok, incr, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

tl#(mark(X)) → tl#(X)tl#(ok(X)) → tl#(X)

Problem 8: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

s#(ok(X)) → s#(X)

Rewrite Rules

active(nats) → mark(adx(zeros))active(zeros) → mark(cons(0, zeros))
active(incr(cons(X, Y))) → mark(cons(s(X), incr(Y)))active(adx(cons(X, Y))) → mark(incr(cons(X, adx(Y))))
active(hd(cons(X, Y))) → mark(X)active(tl(cons(X, Y))) → mark(Y)
active(adx(X)) → adx(active(X))active(incr(X)) → incr(active(X))
active(hd(X)) → hd(active(X))active(tl(X)) → tl(active(X))
adx(mark(X)) → mark(adx(X))incr(mark(X)) → mark(incr(X))
hd(mark(X)) → mark(hd(X))tl(mark(X)) → mark(tl(X))
proper(nats) → ok(nats)proper(adx(X)) → adx(proper(X))
proper(zeros) → ok(zeros)proper(cons(X1, X2)) → cons(proper(X1), proper(X2))
proper(0) → ok(0)proper(incr(X)) → incr(proper(X))
proper(s(X)) → s(proper(X))proper(hd(X)) → hd(proper(X))
proper(tl(X)) → tl(proper(X))adx(ok(X)) → ok(adx(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))incr(ok(X)) → ok(incr(X))
s(ok(X)) → ok(s(X))hd(ok(X)) → ok(hd(X))
tl(ok(X)) → ok(tl(X))top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: tl, mark, hd, nats, 0, s, zeros, adx, active, ok, incr, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

s#(ok(X)) → s#(X)

Problem 9: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

cons#(ok(X1), ok(X2)) → cons#(X1, X2)

Rewrite Rules

active(nats) → mark(adx(zeros))active(zeros) → mark(cons(0, zeros))
active(incr(cons(X, Y))) → mark(cons(s(X), incr(Y)))active(adx(cons(X, Y))) → mark(incr(cons(X, adx(Y))))
active(hd(cons(X, Y))) → mark(X)active(tl(cons(X, Y))) → mark(Y)
active(adx(X)) → adx(active(X))active(incr(X)) → incr(active(X))
active(hd(X)) → hd(active(X))active(tl(X)) → tl(active(X))
adx(mark(X)) → mark(adx(X))incr(mark(X)) → mark(incr(X))
hd(mark(X)) → mark(hd(X))tl(mark(X)) → mark(tl(X))
proper(nats) → ok(nats)proper(adx(X)) → adx(proper(X))
proper(zeros) → ok(zeros)proper(cons(X1, X2)) → cons(proper(X1), proper(X2))
proper(0) → ok(0)proper(incr(X)) → incr(proper(X))
proper(s(X)) → s(proper(X))proper(hd(X)) → hd(proper(X))
proper(tl(X)) → tl(proper(X))adx(ok(X)) → ok(adx(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))incr(ok(X)) → ok(incr(X))
s(ok(X)) → ok(s(X))hd(ok(X)) → ok(hd(X))
tl(ok(X)) → ok(tl(X))top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: tl, mark, hd, nats, 0, s, zeros, adx, active, ok, incr, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

cons#(ok(X1), ok(X2)) → cons#(X1, X2)

Problem 10: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

proper#(s(X)) → proper#(X)proper#(adx(X)) → proper#(X)
proper#(cons(X1, X2)) → proper#(X1)proper#(cons(X1, X2)) → proper#(X2)
proper#(incr(X)) → proper#(X)proper#(hd(X)) → proper#(X)
proper#(tl(X)) → proper#(X)

Rewrite Rules

active(nats) → mark(adx(zeros))active(zeros) → mark(cons(0, zeros))
active(incr(cons(X, Y))) → mark(cons(s(X), incr(Y)))active(adx(cons(X, Y))) → mark(incr(cons(X, adx(Y))))
active(hd(cons(X, Y))) → mark(X)active(tl(cons(X, Y))) → mark(Y)
active(adx(X)) → adx(active(X))active(incr(X)) → incr(active(X))
active(hd(X)) → hd(active(X))active(tl(X)) → tl(active(X))
adx(mark(X)) → mark(adx(X))incr(mark(X)) → mark(incr(X))
hd(mark(X)) → mark(hd(X))tl(mark(X)) → mark(tl(X))
proper(nats) → ok(nats)proper(adx(X)) → adx(proper(X))
proper(zeros) → ok(zeros)proper(cons(X1, X2)) → cons(proper(X1), proper(X2))
proper(0) → ok(0)proper(incr(X)) → incr(proper(X))
proper(s(X)) → s(proper(X))proper(hd(X)) → hd(proper(X))
proper(tl(X)) → tl(proper(X))adx(ok(X)) → ok(adx(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))incr(ok(X)) → ok(incr(X))
s(ok(X)) → ok(s(X))hd(ok(X)) → ok(hd(X))
tl(ok(X)) → ok(tl(X))top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: tl, mark, hd, nats, 0, s, zeros, adx, active, ok, incr, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

proper#(adx(X)) → proper#(X)proper#(s(X)) → proper#(X)
proper#(cons(X1, X2)) → proper#(X1)proper#(cons(X1, X2)) → proper#(X2)
proper#(incr(X)) → proper#(X)proper#(hd(X)) → proper#(X)
proper#(tl(X)) → proper#(X)