TIMEOUT

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (7901ms).
 | – Problem 2 was processed with processor SubtermCriterion (2ms).
 | – Problem 3 remains open; application of the following processors failed [SubtermCriterion (0ms), DependencyGraph (4ms), PolynomialLinearRange4iUR (3333ms), DependencyGraph (6ms), PolynomialLinearRange4iUR (7549ms), DependencyGraph (4ms), PolynomialLinearRange8NegiUR (30000ms), ReductionPairSAT (7887ms), DependencyGraph (20ms), SizeChangePrinciple (timeout)].
 | – 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 (1ms).
 | – Problem 8 was processed with processor SubtermCriterion (1ms).
 | – Problem 9 was processed with processor SubtermCriterion (3ms).
 |    | – Problem 16 was processed with processor PolynomialLinearRange4iUR (77ms).
 | – Problem 10 was processed with processor SubtermCriterion (2ms).
 | – Problem 11 was processed with processor SubtermCriterion (2ms).
 | – Problem 12 was processed with processor SubtermCriterion (3ms).
 | – Problem 13 was processed with processor SubtermCriterion (1ms).
 |    | – Problem 17 was processed with processor PolynomialLinearRange4iUR (57ms).
 | – Problem 14 was processed with processor SubtermCriterion (2ms).
 | – Problem 15 was processed with processor SubtermCriterion (1ms).

The following open problems remain:



Open Dependency Pair Problem 3

Dependency Pairs

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

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, top, nil, cons


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

proper#(sel1(X1, X2))proper#(X1)proper#(cons(X1, X2))proper#(X1)
top#(ok(X))top#(active(X))dbls#(ok(X))dbls#(X)
active#(sel1(X1, X2))active#(X2)proper#(s1(X))proper#(X)
active#(dbl(s(X)))s#(dbl(X))active#(sel1(X1, X2))active#(X1)
cons#(ok(X1), ok(X2))cons#(X1, X2)active#(dbls(cons(X, Y)))cons#(dbl(X), dbls(Y))
dbls#(mark(X))dbls#(X)from#(ok(X))from#(X)
active#(s1(X))active#(X)active#(sel(X1, X2))active#(X2)
indx#(ok(X1), ok(X2))indx#(X1, X2)proper#(quote(X))quote#(proper(X))
active#(s1(X))s1#(active(X))sel1#(ok(X1), ok(X2))sel1#(X1, X2)
active#(dbl(s(X)))dbl#(X)proper#(indx(X1, X2))proper#(X1)
top#(mark(X))proper#(X)indx#(mark(X1), X2)indx#(X1, X2)
proper#(from(X))proper#(X)active#(quote(X))quote#(active(X))
top#(mark(X))top#(proper(X))active#(sel(s(X), cons(Y, Z)))sel#(X, Z)
proper#(cons(X1, X2))proper#(X2)active#(dbl(s(X)))s#(s(dbl(X)))
s1#(ok(X))s1#(X)active#(quote(s(X)))quote#(X)
sel#(X1, mark(X2))sel#(X1, X2)dbl1#(mark(X))dbl1#(X)
active#(indx(cons(X, Y), Z))cons#(sel(X, Z), indx(Y, Z))dbl1#(ok(X))dbl1#(X)
active#(from(X))s#(X)proper#(s(X))proper#(X)
quote#(mark(X))quote#(X)active#(dbl1(s(X)))s1#(dbl1(X))
active#(dbl1(X))active#(X)sel1#(mark(X1), X2)sel1#(X1, X2)
proper#(sel1(X1, X2))proper#(X2)sel#(ok(X1), ok(X2))sel#(X1, X2)
active#(dbls(X))active#(X)proper#(quote(X))proper#(X)
active#(dbls(X))dbls#(active(X))active#(quote(s(X)))s1#(quote(X))
sel#(mark(X1), X2)sel#(X1, X2)active#(dbl1(s(X)))s1#(s1(dbl1(X)))
active#(dbls(cons(X, Y)))dbls#(Y)proper#(indx(X1, X2))proper#(X2)
active#(sel1(X1, X2))sel1#(X1, active(X2))active#(dbl1(s(X)))dbl1#(X)
active#(indx(cons(X, Y), Z))indx#(Y, Z)top#(ok(X))active#(X)
proper#(sel(X1, X2))sel#(proper(X1), proper(X2))active#(dbl1(X))dbl1#(active(X))
sel1#(X1, mark(X2))sel1#(X1, X2)quote#(ok(X))quote#(X)
active#(sel1(s(X), cons(Y, Z)))sel1#(X, Z)active#(quote(sel(X, Y)))sel1#(X, Y)
active#(sel(X1, X2))active#(X1)active#(indx(cons(X, Y), Z))sel#(X, Z)
proper#(s1(X))s1#(proper(X))active#(from(X))cons#(X, from(s(X)))
active#(dbl(X))active#(X)proper#(from(X))from#(proper(X))
proper#(sel(X1, X2))proper#(X2)active#(dbls(cons(X, Y)))dbl#(X)
proper#(indx(X1, X2))indx#(proper(X1), proper(X2))proper#(dbls(X))dbls#(proper(X))
active#(sel1(X1, X2))sel1#(active(X1), X2)active#(sel(X1, X2))sel#(X1, active(X2))
active#(sel(X1, X2))sel#(active(X1), X2)s1#(mark(X))s1#(X)
active#(indx(X1, X2))active#(X1)proper#(dbl(X))proper#(X)
dbl#(mark(X))dbl#(X)active#(dbl(X))dbl#(active(X))
s#(ok(X))s#(X)proper#(sel1(X1, X2))sel1#(proper(X1), proper(X2))
proper#(sel(X1, X2))proper#(X1)dbl#(ok(X))dbl#(X)
proper#(cons(X1, X2))cons#(proper(X1), proper(X2))proper#(dbl(X))dbl#(proper(X))
proper#(dbl1(X))proper#(X)active#(quote(dbl(X)))dbl1#(X)
proper#(s(X))s#(proper(X))proper#(dbls(X))proper#(X)
active#(quote(X))active#(X)proper#(dbl1(X))dbl1#(proper(X))
active#(indx(X1, X2))indx#(active(X1), X2)active#(from(X))from#(s(X))

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, cons, nil, top

Strategy


The following SCCs where found

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

dbl#(ok(X)) → dbl#(X)dbl#(mark(X)) → dbl#(X)

dbl1#(ok(X)) → dbl1#(X)dbl1#(mark(X)) → dbl1#(X)

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

proper#(sel1(X1, X2)) → proper#(X1)proper#(cons(X1, X2)) → proper#(X1)
proper#(cons(X1, X2)) → proper#(X2)proper#(s1(X)) → proper#(X)
proper#(dbl(X)) → proper#(X)proper#(indx(X1, X2)) → proper#(X2)
proper#(sel(X1, X2)) → proper#(X1)proper#(s(X)) → proper#(X)
proper#(dbl1(X)) → proper#(X)proper#(sel1(X1, X2)) → proper#(X2)
proper#(dbls(X)) → proper#(X)proper#(quote(X)) → proper#(X)
proper#(sel(X1, X2)) → proper#(X2)proper#(indx(X1, X2)) → proper#(X1)
proper#(from(X)) → proper#(X)

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

dbls#(ok(X)) → dbls#(X)dbls#(mark(X)) → dbls#(X)

active#(dbl1(X)) → active#(X)active#(sel(X1, X2)) → active#(X2)
active#(s1(X)) → active#(X)active#(sel1(X1, X2)) → active#(X2)
active#(indx(X1, X2)) → active#(X1)active#(sel(X1, X2)) → active#(X1)
active#(dbl(X)) → active#(X)active#(dbls(X)) → active#(X)
active#(sel1(X1, X2)) → active#(X1)active#(quote(X)) → active#(X)

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

from#(ok(X)) → from#(X)

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

s1#(mark(X)) → s1#(X)s1#(ok(X)) → s1#(X)

quote#(ok(X)) → quote#(X)quote#(mark(X)) → quote#(X)

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

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

dbl1#(ok(X))dbl1#(X)dbl1#(mark(X))dbl1#(X)

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, cons, nil, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

dbl1#(ok(X))dbl1#(X)dbl1#(mark(X))dbl1#(X)

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

indx#(ok(X1), ok(X2))indx#(X1, X2)indx#(mark(X1), X2)indx#(X1, X2)

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, cons, nil, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

indx#(ok(X1), ok(X2))indx#(X1, X2)indx#(mark(X1), X2)indx#(X1, X2)

Problem 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

s1#(mark(X))s1#(X)s1#(ok(X))s1#(X)

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, cons, nil, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

s1#(mark(X))s1#(X)s1#(ok(X))s1#(X)

Problem 6: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, cons, nil, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 7: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

from#(ok(X))from#(X)

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, cons, nil, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

from#(ok(X))from#(X)

Problem 8: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

dbl#(ok(X))dbl#(X)dbl#(mark(X))dbl#(X)

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, cons, nil, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

dbl#(ok(X))dbl#(X)dbl#(mark(X))dbl#(X)

Problem 9: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

sel1#(X1, mark(X2))sel1#(X1, X2)sel1#(mark(X1), X2)sel1#(X1, X2)
sel1#(ok(X1), ok(X2))sel1#(X1, X2)

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, cons, nil, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

sel1#(mark(X1), X2)sel1#(X1, X2)sel1#(ok(X1), ok(X2))sel1#(X1, X2)

Problem 16: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

sel1#(X1, mark(X2))sel1#(X1, X2)

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, top, nil, 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:

sel1#(X1, mark(X2))sel1#(X1, X2)

Problem 10: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

proper#(sel1(X1, X2))proper#(X1)proper#(cons(X1, X2))proper#(X1)
proper#(cons(X1, X2))proper#(X2)proper#(dbl(X))proper#(X)
proper#(s1(X))proper#(X)proper#(indx(X1, X2))proper#(X2)
proper#(sel(X1, X2))proper#(X1)proper#(s(X))proper#(X)
proper#(sel1(X1, X2))proper#(X2)proper#(dbl1(X))proper#(X)
proper#(dbls(X))proper#(X)proper#(quote(X))proper#(X)
proper#(sel(X1, X2))proper#(X2)proper#(indx(X1, X2))proper#(X1)
proper#(from(X))proper#(X)

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, cons, nil, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

proper#(sel1(X1, X2))proper#(X1)proper#(cons(X1, X2))proper#(X1)
proper#(cons(X1, X2))proper#(X2)proper#(dbl(X))proper#(X)
proper#(s1(X))proper#(X)proper#(indx(X1, X2))proper#(X2)
proper#(sel(X1, X2))proper#(X1)proper#(s(X))proper#(X)
proper#(dbl1(X))proper#(X)proper#(sel1(X1, X2))proper#(X2)
proper#(dbls(X))proper#(X)proper#(quote(X))proper#(X)
proper#(sel(X1, X2))proper#(X2)proper#(indx(X1, X2))proper#(X1)
proper#(from(X))proper#(X)

Problem 11: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

active#(dbl1(X))active#(X)active#(sel(X1, X2))active#(X2)
active#(s1(X))active#(X)active#(sel1(X1, X2))active#(X2)
active#(indx(X1, X2))active#(X1)active#(sel(X1, X2))active#(X1)
active#(dbl(X))active#(X)active#(dbls(X))active#(X)
active#(sel1(X1, X2))active#(X1)active#(quote(X))active#(X)

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, cons, nil, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

active#(s1(X))active#(X)active#(dbl1(X))active#(X)
active#(sel(X1, X2))active#(X2)active#(sel1(X1, X2))active#(X2)
active#(sel(X1, X2))active#(X1)active#(indx(X1, X2))active#(X1)
active#(dbls(X))active#(X)active#(dbl(X))active#(X)
active#(sel1(X1, X2))active#(X1)active#(quote(X))active#(X)

Problem 12: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

quote#(ok(X))quote#(X)quote#(mark(X))quote#(X)

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, cons, nil, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

quote#(ok(X))quote#(X)quote#(mark(X))quote#(X)

Problem 13: 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(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, cons, nil, 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 17: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, top, nil, 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 14: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

dbls#(ok(X))dbls#(X)dbls#(mark(X))dbls#(X)

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, cons, nil, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

dbls#(ok(X))dbls#(X)dbls#(mark(X))dbls#(X)

Problem 15: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(dbl(0))mark(0)active(dbl(s(X)))mark(s(s(dbl(X))))
active(dbls(nil))mark(nil)active(dbls(cons(X, Y)))mark(cons(dbl(X), dbls(Y)))
active(sel(0, cons(X, Y)))mark(X)active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))
active(indx(nil, X))mark(nil)active(indx(cons(X, Y), Z))mark(cons(sel(X, Z), indx(Y, Z)))
active(from(X))mark(cons(X, from(s(X))))active(dbl1(0))mark(01)
active(dbl1(s(X)))mark(s1(s1(dbl1(X))))active(sel1(0, cons(X, Y)))mark(X)
active(sel1(s(X), cons(Y, Z)))mark(sel1(X, Z))active(quote(0))mark(01)
active(quote(s(X)))mark(s1(quote(X)))active(quote(dbl(X)))mark(dbl1(X))
active(quote(sel(X, Y)))mark(sel1(X, Y))active(dbl(X))dbl(active(X))
active(dbls(X))dbls(active(X))active(sel(X1, X2))sel(active(X1), X2)
active(sel(X1, X2))sel(X1, active(X2))active(indx(X1, X2))indx(active(X1), X2)
active(dbl1(X))dbl1(active(X))active(s1(X))s1(active(X))
active(sel1(X1, X2))sel1(active(X1), X2)active(sel1(X1, X2))sel1(X1, active(X2))
active(quote(X))quote(active(X))dbl(mark(X))mark(dbl(X))
dbls(mark(X))mark(dbls(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))indx(mark(X1), X2)mark(indx(X1, X2))
dbl1(mark(X))mark(dbl1(X))s1(mark(X))mark(s1(X))
sel1(mark(X1), X2)mark(sel1(X1, X2))sel1(X1, mark(X2))mark(sel1(X1, X2))
quote(mark(X))mark(quote(X))proper(dbl(X))dbl(proper(X))
proper(0)ok(0)proper(s(X))s(proper(X))
proper(dbls(X))dbls(proper(X))proper(nil)ok(nil)
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(sel(X1, X2))sel(proper(X1), proper(X2))
proper(indx(X1, X2))indx(proper(X1), proper(X2))proper(from(X))from(proper(X))
proper(dbl1(X))dbl1(proper(X))proper(01)ok(01)
proper(s1(X))s1(proper(X))proper(sel1(X1, X2))sel1(proper(X1), proper(X2))
proper(quote(X))quote(proper(X))dbl(ok(X))ok(dbl(X))
s(ok(X))ok(s(X))dbls(ok(X))ok(dbls(X))
cons(ok(X1), ok(X2))ok(cons(X1, X2))sel(ok(X1), ok(X2))ok(sel(X1, X2))
indx(ok(X1), ok(X2))ok(indx(X1, X2))from(ok(X))ok(from(X))
dbl1(ok(X))ok(dbl1(X))s1(ok(X))ok(s1(X))
sel1(ok(X1), ok(X2))ok(sel1(X1, X2))quote(ok(X))ok(quote(X))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: s1, dbl1, mark, dbl, from, 01, dbls, 0, sel1, s, indx, quote, active, ok, proper, sel, cons, nil, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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