TIMEOUT

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (1152ms).
 | – Problem 2 was processed with processor SubtermCriterion (3ms).
 |    | – Problem 10 was processed with processor PolynomialLinearRange4iUR (38ms).
 | – Problem 3 was processed with processor SubtermCriterion (2ms).
 | – Problem 4 remains open; application of the following processors failed [SubtermCriterion (0ms), DependencyGraph (7ms), PolynomialLinearRange4iUR (3401ms), DependencyGraph (25ms), PolynomialLinearRange4iUR (2745ms), DependencyGraph (3ms), PolynomialLinearRange8NegiUR (30000ms), DependencyGraph (timeout), ReductionPairSAT (3566ms), DependencyGraph (3ms), SizeChangePrinciple (timeout)].
 | – Problem 5 was processed with processor SubtermCriterion (3ms).
 | – Problem 6 was processed with processor SubtermCriterion (0ms).
 | – Problem 7 was processed with processor SubtermCriterion (1ms).
 | – Problem 8 was processed with processor SubtermCriterion (1ms).
 | – Problem 9 was processed with processor SubtermCriterion (1ms).

The following open problems remain:



Open Dependency Pair Problem 4

Dependency Pairs

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

Rewrite Rules

active(f(X)) → mark(cons(X, f(g(X))))active(g(0)) → mark(s(0))
active(g(s(X))) → mark(s(s(g(X))))active(sel(0, cons(X, Y))) → mark(X)
active(sel(s(X), cons(Y, Z))) → mark(sel(X, Z))active(f(X)) → f(active(X))
active(cons(X1, X2)) → cons(active(X1), X2)active(g(X)) → g(active(X))
active(s(X)) → s(active(X))active(sel(X1, X2)) → sel(active(X1), X2)
active(sel(X1, X2)) → sel(X1, active(X2))f(mark(X)) → mark(f(X))
cons(mark(X1), X2) → mark(cons(X1, X2))g(mark(X)) → mark(g(X))
s(mark(X)) → mark(s(X))sel(mark(X1), X2) → mark(sel(X1, X2))
sel(X1, mark(X2)) → mark(sel(X1, X2))proper(f(X)) → f(proper(X))
proper(cons(X1, X2)) → cons(proper(X1), proper(X2))proper(g(X)) → g(proper(X))
proper(0) → ok(0)proper(s(X)) → s(proper(X))
proper(sel(X1, X2)) → sel(proper(X1), proper(X2))f(ok(X)) → ok(f(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))g(ok(X)) → ok(g(X))
s(ok(X)) → ok(s(X))sel(ok(X1), ok(X2)) → ok(sel(X1, X2))
top(mark(X)) → top(proper(X))top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: f, g, 0, s, active, ok, mark, proper, sel, top, cons


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

sel#(mark(X1), X2) → sel#(X1, X2)active#(f(X)) → f#(g(X))
g#(mark(X)) → g#(X)proper#(cons(X1, X2)) → proper#(X1)
active#(g(X)) → active#(X)top#(ok(X)) → top#(active(X))
g#(ok(X)) → g#(X)cons#(mark(X1), X2) → cons#(X1, X2)
active#(f(X)) → g#(X)cons#(ok(X1), ok(X2)) → cons#(X1, X2)
active#(f(X)) → cons#(X, f(g(X)))top#(ok(X)) → active#(X)
proper#(sel(X1, X2)) → sel#(proper(X1), proper(X2))active#(cons(X1, X2)) → cons#(active(X1), X2)
active#(g(0)) → s#(0)active#(sel(X1, X2)) → active#(X2)
active#(sel(X1, X2)) → active#(X1)proper#(sel(X1, X2)) → proper#(X2)
f#(mark(X)) → f#(X)top#(mark(X)) → proper#(X)
f#(ok(X)) → f#(X)proper#(f(X)) → f#(proper(X))
active#(sel(X1, X2)) → sel#(active(X1), X2)active#(sel(X1, X2)) → sel#(X1, active(X2))
active#(sel(s(X), cons(Y, Z))) → sel#(X, Z)proper#(f(X)) → proper#(X)
top#(mark(X)) → top#(proper(X))proper#(cons(X1, X2)) → proper#(X2)
active#(g(s(X))) → s#(s(g(X)))active#(s(X)) → s#(active(X))
sel#(X1, mark(X2)) → sel#(X1, X2)s#(ok(X)) → s#(X)
s#(mark(X)) → s#(X)proper#(sel(X1, X2)) → proper#(X1)
active#(f(X)) → f#(active(X))proper#(s(X)) → proper#(X)
proper#(cons(X1, X2)) → cons#(proper(X1), proper(X2))active#(s(X)) → active#(X)
sel#(ok(X1), ok(X2)) → sel#(X1, X2)proper#(s(X)) → s#(proper(X))
proper#(g(X)) → g#(proper(X))active#(g(X)) → g#(active(X))
active#(g(s(X))) → s#(g(X))proper#(g(X)) → proper#(X)
active#(f(X)) → active#(X)active#(g(s(X))) → g#(X)
active#(cons(X1, X2)) → active#(X1)

Rewrite Rules

active(f(X)) → mark(cons(X, f(g(X))))active(g(0)) → mark(s(0))
active(g(s(X))) → mark(s(s(g(X))))active(sel(0, cons(X, Y))) → mark(X)
active(sel(s(X), cons(Y, Z))) → mark(sel(X, Z))active(f(X)) → f(active(X))
active(cons(X1, X2)) → cons(active(X1), X2)active(g(X)) → g(active(X))
active(s(X)) → s(active(X))active(sel(X1, X2)) → sel(active(X1), X2)
active(sel(X1, X2)) → sel(X1, active(X2))f(mark(X)) → mark(f(X))
cons(mark(X1), X2) → mark(cons(X1, X2))g(mark(X)) → mark(g(X))
s(mark(X)) → mark(s(X))sel(mark(X1), X2) → mark(sel(X1, X2))
sel(X1, mark(X2)) → mark(sel(X1, X2))proper(f(X)) → f(proper(X))
proper(cons(X1, X2)) → cons(proper(X1), proper(X2))proper(g(X)) → g(proper(X))
proper(0) → ok(0)proper(s(X)) → s(proper(X))
proper(sel(X1, X2)) → sel(proper(X1), proper(X2))f(ok(X)) → ok(f(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))g(ok(X)) → ok(g(X))
s(ok(X)) → ok(s(X))sel(ok(X1), ok(X2)) → ok(sel(X1, X2))
top(mark(X)) → top(proper(X))top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: f, g, 0, s, active, mark, ok, proper, sel, cons, top

Strategy


The following SCCs where found

f#(mark(X)) → f#(X)f#(ok(X)) → f#(X)

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

sel#(mark(X1), X2) → sel#(X1, X2)sel#(ok(X1), ok(X2)) → sel#(X1, X2)
sel#(X1, mark(X2)) → sel#(X1, X2)

proper#(sel(X1, X2)) → proper#(X1)proper#(s(X)) → proper#(X)
proper#(cons(X1, X2)) → proper#(X1)proper#(f(X)) → proper#(X)
proper#(cons(X1, X2)) → proper#(X2)proper#(g(X)) → proper#(X)
proper#(sel(X1, X2)) → proper#(X2)

active#(sel(X1, X2)) → active#(X2)active#(g(X)) → active#(X)
active#(s(X)) → active#(X)active#(sel(X1, X2)) → active#(X1)
active#(f(X)) → active#(X)active#(cons(X1, X2)) → active#(X1)

g#(mark(X)) → g#(X)g#(ok(X)) → g#(X)

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

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

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

sel#(mark(X1), X2) → sel#(X1, X2)sel#(ok(X1), ok(X2)) → sel#(X1, X2)
sel#(X1, mark(X2)) → sel#(X1, X2)

Rewrite Rules

active(f(X)) → mark(cons(X, f(g(X))))active(g(0)) → mark(s(0))
active(g(s(X))) → mark(s(s(g(X))))active(sel(0, cons(X, Y))) → mark(X)
active(sel(s(X), cons(Y, Z))) → mark(sel(X, Z))active(f(X)) → f(active(X))
active(cons(X1, X2)) → cons(active(X1), X2)active(g(X)) → g(active(X))
active(s(X)) → s(active(X))active(sel(X1, X2)) → sel(active(X1), X2)
active(sel(X1, X2)) → sel(X1, active(X2))f(mark(X)) → mark(f(X))
cons(mark(X1), X2) → mark(cons(X1, X2))g(mark(X)) → mark(g(X))
s(mark(X)) → mark(s(X))sel(mark(X1), X2) → mark(sel(X1, X2))
sel(X1, mark(X2)) → mark(sel(X1, X2))proper(f(X)) → f(proper(X))
proper(cons(X1, X2)) → cons(proper(X1), proper(X2))proper(g(X)) → g(proper(X))
proper(0) → ok(0)proper(s(X)) → s(proper(X))
proper(sel(X1, X2)) → sel(proper(X1), proper(X2))f(ok(X)) → ok(f(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))g(ok(X)) → ok(g(X))
s(ok(X)) → ok(s(X))sel(ok(X1), ok(X2)) → ok(sel(X1, X2))
top(mark(X)) → top(proper(X))top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: f, g, 0, s, active, mark, ok, proper, sel, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

sel#(mark(X1), X2) → sel#(X1, X2)sel#(ok(X1), ok(X2)) → sel#(X1, X2)

Problem 10: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

sel#(X1, mark(X2)) → sel#(X1, X2)

Rewrite Rules

active(f(X)) → mark(cons(X, f(g(X))))active(g(0)) → mark(s(0))
active(g(s(X))) → mark(s(s(g(X))))active(sel(0, cons(X, Y))) → mark(X)
active(sel(s(X), cons(Y, Z))) → mark(sel(X, Z))active(f(X)) → f(active(X))
active(cons(X1, X2)) → cons(active(X1), X2)active(g(X)) → g(active(X))
active(s(X)) → s(active(X))active(sel(X1, X2)) → sel(active(X1), X2)
active(sel(X1, X2)) → sel(X1, active(X2))f(mark(X)) → mark(f(X))
cons(mark(X1), X2) → mark(cons(X1, X2))g(mark(X)) → mark(g(X))
s(mark(X)) → mark(s(X))sel(mark(X1), X2) → mark(sel(X1, X2))
sel(X1, mark(X2)) → mark(sel(X1, X2))proper(f(X)) → f(proper(X))
proper(cons(X1, X2)) → cons(proper(X1), proper(X2))proper(g(X)) → g(proper(X))
proper(0) → ok(0)proper(s(X)) → s(proper(X))
proper(sel(X1, X2)) → sel(proper(X1), proper(X2))f(ok(X)) → ok(f(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))g(ok(X)) → ok(g(X))
s(ok(X)) → ok(s(X))sel(ok(X1), ok(X2)) → ok(sel(X1, X2))
top(mark(X)) → top(proper(X))top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: f, g, 0, s, active, ok, mark, proper, sel, top, cons

Strategy


Polynomial Interpretation

There are no usable rules

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

sel#(X1, mark(X2)) → sel#(X1, X2)

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(f(X)) → mark(cons(X, f(g(X))))active(g(0)) → mark(s(0))
active(g(s(X))) → mark(s(s(g(X))))active(sel(0, cons(X, Y))) → mark(X)
active(sel(s(X), cons(Y, Z))) → mark(sel(X, Z))active(f(X)) → f(active(X))
active(cons(X1, X2)) → cons(active(X1), X2)active(g(X)) → g(active(X))
active(s(X)) → s(active(X))active(sel(X1, X2)) → sel(active(X1), X2)
active(sel(X1, X2)) → sel(X1, active(X2))f(mark(X)) → mark(f(X))
cons(mark(X1), X2) → mark(cons(X1, X2))g(mark(X)) → mark(g(X))
s(mark(X)) → mark(s(X))sel(mark(X1), X2) → mark(sel(X1, X2))
sel(X1, mark(X2)) → mark(sel(X1, X2))proper(f(X)) → f(proper(X))
proper(cons(X1, X2)) → cons(proper(X1), proper(X2))proper(g(X)) → g(proper(X))
proper(0) → ok(0)proper(s(X)) → s(proper(X))
proper(sel(X1, X2)) → sel(proper(X1), proper(X2))f(ok(X)) → ok(f(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))g(ok(X)) → ok(g(X))
s(ok(X)) → ok(s(X))sel(ok(X1), ok(X2)) → ok(sel(X1, X2))
top(mark(X)) → top(proper(X))top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: f, g, 0, s, active, mark, ok, proper, sel, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

g#(mark(X)) → g#(X)g#(ok(X)) → g#(X)

Rewrite Rules

active(f(X)) → mark(cons(X, f(g(X))))active(g(0)) → mark(s(0))
active(g(s(X))) → mark(s(s(g(X))))active(sel(0, cons(X, Y))) → mark(X)
active(sel(s(X), cons(Y, Z))) → mark(sel(X, Z))active(f(X)) → f(active(X))
active(cons(X1, X2)) → cons(active(X1), X2)active(g(X)) → g(active(X))
active(s(X)) → s(active(X))active(sel(X1, X2)) → sel(active(X1), X2)
active(sel(X1, X2)) → sel(X1, active(X2))f(mark(X)) → mark(f(X))
cons(mark(X1), X2) → mark(cons(X1, X2))g(mark(X)) → mark(g(X))
s(mark(X)) → mark(s(X))sel(mark(X1), X2) → mark(sel(X1, X2))
sel(X1, mark(X2)) → mark(sel(X1, X2))proper(f(X)) → f(proper(X))
proper(cons(X1, X2)) → cons(proper(X1), proper(X2))proper(g(X)) → g(proper(X))
proper(0) → ok(0)proper(s(X)) → s(proper(X))
proper(sel(X1, X2)) → sel(proper(X1), proper(X2))f(ok(X)) → ok(f(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))g(ok(X)) → ok(g(X))
s(ok(X)) → ok(s(X))sel(ok(X1), ok(X2)) → ok(sel(X1, X2))
top(mark(X)) → top(proper(X))top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: f, g, 0, s, active, mark, ok, proper, sel, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

g#(mark(X)) → g#(X)g#(ok(X)) → g#(X)

Problem 6: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

f#(mark(X)) → f#(X)f#(ok(X)) → f#(X)

Rewrite Rules

active(f(X)) → mark(cons(X, f(g(X))))active(g(0)) → mark(s(0))
active(g(s(X))) → mark(s(s(g(X))))active(sel(0, cons(X, Y))) → mark(X)
active(sel(s(X), cons(Y, Z))) → mark(sel(X, Z))active(f(X)) → f(active(X))
active(cons(X1, X2)) → cons(active(X1), X2)active(g(X)) → g(active(X))
active(s(X)) → s(active(X))active(sel(X1, X2)) → sel(active(X1), X2)
active(sel(X1, X2)) → sel(X1, active(X2))f(mark(X)) → mark(f(X))
cons(mark(X1), X2) → mark(cons(X1, X2))g(mark(X)) → mark(g(X))
s(mark(X)) → mark(s(X))sel(mark(X1), X2) → mark(sel(X1, X2))
sel(X1, mark(X2)) → mark(sel(X1, X2))proper(f(X)) → f(proper(X))
proper(cons(X1, X2)) → cons(proper(X1), proper(X2))proper(g(X)) → g(proper(X))
proper(0) → ok(0)proper(s(X)) → s(proper(X))
proper(sel(X1, X2)) → sel(proper(X1), proper(X2))f(ok(X)) → ok(f(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))g(ok(X)) → ok(g(X))
s(ok(X)) → ok(s(X))sel(ok(X1), ok(X2)) → ok(sel(X1, X2))
top(mark(X)) → top(proper(X))top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: f, g, 0, s, active, mark, ok, proper, sel, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

f#(mark(X)) → f#(X)f#(ok(X)) → f#(X)

Problem 7: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

active#(sel(X1, X2)) → active#(X2)active#(g(X)) → active#(X)
active#(s(X)) → active#(X)active#(sel(X1, X2)) → active#(X1)
active#(f(X)) → active#(X)active#(cons(X1, X2)) → active#(X1)

Rewrite Rules

active(f(X)) → mark(cons(X, f(g(X))))active(g(0)) → mark(s(0))
active(g(s(X))) → mark(s(s(g(X))))active(sel(0, cons(X, Y))) → mark(X)
active(sel(s(X), cons(Y, Z))) → mark(sel(X, Z))active(f(X)) → f(active(X))
active(cons(X1, X2)) → cons(active(X1), X2)active(g(X)) → g(active(X))
active(s(X)) → s(active(X))active(sel(X1, X2)) → sel(active(X1), X2)
active(sel(X1, X2)) → sel(X1, active(X2))f(mark(X)) → mark(f(X))
cons(mark(X1), X2) → mark(cons(X1, X2))g(mark(X)) → mark(g(X))
s(mark(X)) → mark(s(X))sel(mark(X1), X2) → mark(sel(X1, X2))
sel(X1, mark(X2)) → mark(sel(X1, X2))proper(f(X)) → f(proper(X))
proper(cons(X1, X2)) → cons(proper(X1), proper(X2))proper(g(X)) → g(proper(X))
proper(0) → ok(0)proper(s(X)) → s(proper(X))
proper(sel(X1, X2)) → sel(proper(X1), proper(X2))f(ok(X)) → ok(f(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))g(ok(X)) → ok(g(X))
s(ok(X)) → ok(s(X))sel(ok(X1), ok(X2)) → ok(sel(X1, X2))
top(mark(X)) → top(proper(X))top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: f, g, 0, s, active, mark, ok, proper, sel, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

active#(g(X)) → active#(X)active#(sel(X1, X2)) → active#(X2)
active#(sel(X1, X2)) → active#(X1)active#(s(X)) → active#(X)
active#(f(X)) → active#(X)active#(cons(X1, X2)) → active#(X1)

Problem 8: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(f(X)) → mark(cons(X, f(g(X))))active(g(0)) → mark(s(0))
active(g(s(X))) → mark(s(s(g(X))))active(sel(0, cons(X, Y))) → mark(X)
active(sel(s(X), cons(Y, Z))) → mark(sel(X, Z))active(f(X)) → f(active(X))
active(cons(X1, X2)) → cons(active(X1), X2)active(g(X)) → g(active(X))
active(s(X)) → s(active(X))active(sel(X1, X2)) → sel(active(X1), X2)
active(sel(X1, X2)) → sel(X1, active(X2))f(mark(X)) → mark(f(X))
cons(mark(X1), X2) → mark(cons(X1, X2))g(mark(X)) → mark(g(X))
s(mark(X)) → mark(s(X))sel(mark(X1), X2) → mark(sel(X1, X2))
sel(X1, mark(X2)) → mark(sel(X1, X2))proper(f(X)) → f(proper(X))
proper(cons(X1, X2)) → cons(proper(X1), proper(X2))proper(g(X)) → g(proper(X))
proper(0) → ok(0)proper(s(X)) → s(proper(X))
proper(sel(X1, X2)) → sel(proper(X1), proper(X2))f(ok(X)) → ok(f(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))g(ok(X)) → ok(g(X))
s(ok(X)) → ok(s(X))sel(ok(X1), ok(X2)) → ok(sel(X1, X2))
top(mark(X)) → top(proper(X))top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: f, g, 0, s, active, mark, ok, proper, sel, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 9: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

proper#(sel(X1, X2)) → proper#(X1)proper#(s(X)) → proper#(X)
proper#(cons(X1, X2)) → proper#(X1)proper#(f(X)) → proper#(X)
proper#(cons(X1, X2)) → proper#(X2)proper#(g(X)) → proper#(X)
proper#(sel(X1, X2)) → proper#(X2)

Rewrite Rules

active(f(X)) → mark(cons(X, f(g(X))))active(g(0)) → mark(s(0))
active(g(s(X))) → mark(s(s(g(X))))active(sel(0, cons(X, Y))) → mark(X)
active(sel(s(X), cons(Y, Z))) → mark(sel(X, Z))active(f(X)) → f(active(X))
active(cons(X1, X2)) → cons(active(X1), X2)active(g(X)) → g(active(X))
active(s(X)) → s(active(X))active(sel(X1, X2)) → sel(active(X1), X2)
active(sel(X1, X2)) → sel(X1, active(X2))f(mark(X)) → mark(f(X))
cons(mark(X1), X2) → mark(cons(X1, X2))g(mark(X)) → mark(g(X))
s(mark(X)) → mark(s(X))sel(mark(X1), X2) → mark(sel(X1, X2))
sel(X1, mark(X2)) → mark(sel(X1, X2))proper(f(X)) → f(proper(X))
proper(cons(X1, X2)) → cons(proper(X1), proper(X2))proper(g(X)) → g(proper(X))
proper(0) → ok(0)proper(s(X)) → s(proper(X))
proper(sel(X1, X2)) → sel(proper(X1), proper(X2))f(ok(X)) → ok(f(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))g(ok(X)) → ok(g(X))
s(ok(X)) → ok(s(X))sel(ok(X1), ok(X2)) → ok(sel(X1, X2))
top(mark(X)) → top(proper(X))top(ok(X)) → top(active(X))

Original Signature

Termination of terms over the following signature is verified: f, g, 0, s, active, mark, ok, proper, sel, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

proper#(sel(X1, X2)) → proper#(X1)proper#(s(X)) → proper#(X)
proper#(cons(X1, X2)) → proper#(X1)proper#(f(X)) → proper#(X)
proper#(cons(X1, X2)) → proper#(X2)proper#(g(X)) → proper#(X)
proper#(sel(X1, X2)) → proper#(X2)