TIMEOUT

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (614ms).
 | – Problem 2 was processed with processor SubtermCriterion (1ms).
 |    | – Problem 9 was processed with processor PolynomialLinearRange4iUR (34ms).
 | – Problem 3 was processed with processor SubtermCriterion (1ms).
 | – Problem 4 was processed with processor SubtermCriterion (1ms).
 | – Problem 5 was processed with processor SubtermCriterion (1ms).
 | – Problem 6 was processed with processor SubtermCriterion (5ms).
 | – Problem 7 was processed with processor ForwardNarrowing (7ms).
 |    | – Problem 10 was processed with processor ForwardNarrowing (6ms).
 |    |    | – Problem 11 was processed with processor ForwardNarrowing (4ms).
 |    |    |    | – Problem 12 was processed with processor ForwardNarrowing (6ms).
 |    |    |    |    | – Problem 13 was processed with processor ForwardNarrowing (6ms).
 |    |    |    |    |    | – Problem 14 was processed with processor ForwardNarrowing (8ms).
 |    |    |    |    |    |    | – Problem 15 was processed with processor ForwardNarrowing (40ms).
 |    |    |    |    |    |    |    | – Problem 16 was processed with processor ForwardNarrowing (52ms).
 |    |    |    |    |    |    |    |    | – Problem 17 was processed with processor ForwardNarrowing (6ms).
 |    |    |    |    |    |    |    |    |    | – Problem 18 was processed with processor ForwardNarrowing (13ms).
 |    |    |    |    |    |    |    |    |    |    | – Problem 19 was processed with processor ForwardNarrowing (10ms).
 |    |    |    |    |    |    |    |    |    |    |    | – Problem 20 was processed with processor ForwardNarrowing (11ms).
 |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 21 was processed with processor ForwardNarrowing (13ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 22 was processed with processor ForwardNarrowing (15ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 23 was processed with processor ForwardNarrowing (16ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 24 was processed with processor ForwardNarrowing (15ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 25 was processed with processor ForwardNarrowing (10ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 26 was processed with processor ForwardNarrowing (19ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 27 was processed with processor ForwardNarrowing (19ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 28 was processed with processor ForwardNarrowing (21ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 29 was processed with processor ForwardNarrowing (44ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 30 was processed with processor ForwardNarrowing (174ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 31 remains open; application of the following processors failed [ForwardNarrowing (136ms), ForwardNarrowing (142ms), ForwardNarrowing (167ms), ForwardNarrowing (159ms), ForwardNarrowing (175ms), ForwardNarrowing (198ms), ForwardNarrowing (73ms), ForwardNarrowing (155ms), ForwardNarrowing (150ms), ForwardNarrowing (139ms), ForwardNarrowing (70ms), ForwardNarrowing (196ms), ForwardNarrowing (223ms), ForwardNarrowing (225ms), ForwardNarrowing (265ms), ForwardNarrowing (252ms), ForwardNarrowing (265ms), ForwardNarrowing (265ms), ForwardNarrowing (296ms), ForwardNarrowing (281ms), ForwardNarrowing (timeout)].
 | – Problem 8 was processed with processor SubtermCriterion (1ms).

The following open problems remain:



Open Dependency Pair Problem 7

Dependency Pairs

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

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, ok, mark, proper, from, top, cons


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

proper#(cons(X1, X2))proper#(X1)top#(ok(X))top#(active(X))
cons#(mark(X1), X2)cons#(X1, X2)active#(from(X))from#(active(X))
cons#(ok(X1), ok(X2))cons#(X1, X2)from#(mark(X))from#(X)
from#(ok(X))from#(X)top#(ok(X))active#(X)
active#(cons(X1, X2))cons#(active(X1), X2)proper#(after(X1, X2))proper#(X2)
active#(from(X))cons#(X, from(s(X)))proper#(from(X))from#(proper(X))
top#(mark(X))proper#(X)proper#(from(X))proper#(X)
active#(after(X1, X2))active#(X2)after#(ok(X1), ok(X2))after#(X1, X2)
top#(mark(X))top#(proper(X))proper#(after(X1, X2))proper#(X1)
after#(X1, mark(X2))after#(X1, X2)proper#(cons(X1, X2))proper#(X2)
active#(after(X1, X2))active#(X1)active#(from(X))active#(X)
active#(after(X1, X2))after#(active(X1), X2)active#(s(X))s#(active(X))
proper#(after(X1, X2))after#(proper(X1), proper(X2))s#(ok(X))s#(X)
s#(mark(X))s#(X)active#(from(X))s#(X)
proper#(s(X))proper#(X)proper#(cons(X1, X2))cons#(proper(X1), proper(X2))
active#(s(X))active#(X)proper#(s(X))s#(proper(X))
active#(after(s(N), cons(X, XS)))after#(N, XS)active#(after(X1, X2))after#(X1, active(X2))
after#(mark(X1), X2)after#(X1, X2)active#(from(X))from#(s(X))
active#(cons(X1, X2))active#(X1)

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


The following SCCs where found

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

proper#(after(X1, X2)) → proper#(X2)proper#(s(X)) → proper#(X)
proper#(cons(X1, X2)) → proper#(X1)proper#(after(X1, X2)) → proper#(X1)
proper#(cons(X1, X2)) → proper#(X2)proper#(from(X)) → proper#(X)

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

active#(from(X)) → active#(X)active#(after(X1, X2)) → active#(X1)
active#(s(X)) → active#(X)active#(after(X1, X2)) → active#(X2)
active#(cons(X1, X2)) → active#(X1)

from#(mark(X)) → from#(X)from#(ok(X)) → from#(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

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

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 9: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

after#(X1, mark(X2))after#(X1, X2)

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, ok, mark, proper, from, 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:

after#(X1, mark(X2))after#(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(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, 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 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, 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 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

active#(from(X))active#(X)active#(after(X1, X2))active#(X1)
active#(s(X))active#(X)active#(after(X1, X2))active#(X2)
active#(cons(X1, X2))active#(X1)

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

active#(s(X))active#(X)active#(from(X))active#(X)
active#(after(X1, X2))active#(X1)active#(after(X1, X2))active#(X2)
active#(cons(X1, X2))active#(X1)

Problem 6: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

proper#(after(X1, X2))proper#(X2)proper#(s(X))proper#(X)
proper#(cons(X1, X2))proper#(X1)proper#(after(X1, X2))proper#(X1)
proper#(cons(X1, X2))proper#(X2)proper#(from(X))proper#(X)

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

proper#(s(X))proper#(X)proper#(after(X1, X2))proper#(X2)
proper#(cons(X1, X2))proper#(X1)proper#(after(X1, X2))proper#(X1)
proper#(cons(X1, X2))proper#(X2)proper#(from(X))proper#(X)

Problem 7: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


The right-hand side of the rule top#(mark(X)) → top#(proper(X)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(proper(_x21))) 
top#(ok(0)) 
top#(cons(proper(_x21), proper(_x22))) 
top#(s(proper(_x21))) 
top#(after(proper(_x21), proper(_x22))) 
Thus, the rule top#(mark(X)) → top#(proper(X)) is replaced by the following rules:
top#(mark(0)) → top#(ok(0))top#(mark(s(_x21))) → top#(s(proper(_x21)))
top#(mark(cons(_x21, _x22))) → top#(cons(proper(_x21), proper(_x22)))top#(mark(from(_x21))) → top#(from(proper(_x21)))
top#(mark(after(_x21, _x22))) → top#(after(proper(_x21), proper(_x22)))

Problem 10: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(0))top#(ok(0))top#(ok(X))top#(active(X))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, ok, mark, proper, from, top, cons

Strategy


The right-hand side of the rule top#(ok(X)) → top#(active(X)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(s(active(_x21))) 
top#(mark(_x21)) 
top#(cons(active(_x21), _x22)) 
top#(after(_x21, active(_x22))) 
top#(from(active(_x21))) 
top#(mark(after(_x22, _x21))) 
top#(mark(cons(_x21, from(s(_x21))))) 
top#(after(active(_x21), _x22)) 
Thus, the rule top#(ok(X)) → top#(active(X)) is replaced by the following rules:
top#(ok(after(s(_x22), cons(_x23, _x21)))) → top#(mark(after(_x22, _x21)))top#(ok(after(_x21, _x22))) → top#(after(active(_x21), _x22))
top#(ok(from(_x21))) → top#(from(active(_x21)))top#(ok(s(_x21))) → top#(s(active(_x21)))
top#(ok(after(_x21, _x22))) → top#(after(_x21, active(_x22)))top#(ok(cons(_x21, _x22))) → top#(cons(active(_x21), _x22))
top#(ok(after(0, _x21))) → top#(mark(_x21))top#(ok(from(_x21))) → top#(mark(cons(_x21, from(s(_x21)))))

Problem 11: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(0))top#(ok(0))top#(ok(from(_x21)))top#(from(active(_x21)))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(ok(after(0, _x21)))top#(mark(_x21))top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))
top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


The right-hand side of the rule top#(mark(0)) → top#(ok(0)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
Thus, the rule top#(mark(0)) → top#(ok(0)) is deleted.

Problem 12: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))
top#(ok(from(_x21)))top#(from(active(_x21)))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))top#(ok(after(0, _x21)))top#(mark(_x21))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, ok, mark, proper, from, top, cons

Strategy


The right-hand side of the rule top#(ok(from(_x21))) → top#(from(active(_x21))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(after(active(_x41), _x42))) 
top#(from(after(_x41, active(_x42)))) 
top#(from(mark(after(_x42, _x41)))) 
top#(from(mark(_x41))) 
top#(from(mark(cons(_x41, from(s(_x41)))))) 
top#(from(s(active(_x41)))) 
top#(from(from(active(_x41)))) 
top#(from(cons(active(_x41), _x42))) 
Thus, the rule top#(ok(from(_x21))) → top#(from(active(_x21))) is replaced by the following rules:
top#(ok(from(after(_x41, _x42)))) → top#(from(after(_x41, active(_x42))))top#(ok(from(after(0, _x41)))) → top#(from(mark(_x41)))
top#(ok(from(from(_x41)))) → top#(from(mark(cons(_x41, from(s(_x41))))))top#(ok(from(after(s(_x42), cons(_x43, _x41))))) → top#(from(mark(after(_x42, _x41))))
top#(ok(from(after(_x41, _x42)))) → top#(from(after(active(_x41), _x42)))top#(ok(from(s(_x41)))) → top#(from(s(active(_x41))))
top#(ok(from(cons(_x41, _x42)))) → top#(from(cons(active(_x41), _x42)))top#(ok(from(from(_x41)))) → top#(from(from(active(_x41))))

Problem 13: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(from(mark(after(_x42, _x41))))top#(ok(from(from(_x41))))top#(from(from(active(_x41))))
top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(ok(after(0, _x21)))top#(mark(_x21))
top#(ok(from(after(_x41, _x42))))top#(from(after(_x41, active(_x42))))top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))
top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))
top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(ok(from(s(_x41))))top#(from(s(active(_x41))))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


The right-hand side of the rule top#(ok(from(after(s(_x42), cons(_x43, _x41))))) → top#(from(mark(after(_x42, _x41)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(mark(from(after(_x42, _x41)))) 
top#(from(mark(ok(after(_x51, _x52))))) 
top#(from(mark(mark(after(_x51, _x52))))) 
Thus, the rule top#(ok(from(after(s(_x42), cons(_x43, _x41))))) → top#(from(mark(after(_x42, _x41)))) is replaced by the following rules:
top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52)))))) → top#(from(mark(ok(after(_x51, _x52)))))top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52))))) → top#(from(mark(mark(after(_x51, _x52)))))
top#(ok(from(after(s(_x42), cons(_x43, _x41))))) → top#(mark(from(after(_x42, _x41))))top#(ok(from(after(s(_x51), cons(_x43, mark(_x52)))))) → top#(from(mark(mark(after(_x51, _x52)))))

Problem 14: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(from(mark(mark(after(_x51, _x52)))))top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))
top#(ok(from(from(_x41))))top#(from(from(active(_x41))))top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(ok(after(0, _x21)))top#(mark(_x21))top#(ok(from(after(_x41, _x42))))top#(from(after(_x41, active(_x42))))
top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))
top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))
top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))top#(ok(from(s(_x41))))top#(from(s(active(_x41))))
top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, ok, mark, proper, from, top, cons

Strategy


The right-hand side of the rule top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52))))) → top#(from(mark(mark(after(_x51, _x52))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(mark(mark(ok(after(_x61, _x62)))))) 
top#(mark(from(mark(after(_x51, _x52))))) 
top#(from(mark(mark(mark(after(_x61, _x62)))))) 
Thus, the rule top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52))))) → top#(from(mark(mark(after(_x51, _x52))))) is replaced by the following rules:
top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52))))) → top#(mark(from(mark(after(_x51, _x52)))))top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62))))) → top#(from(mark(mark(mark(after(_x61, _x62))))))
top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62)))))) → top#(from(mark(mark(ok(after(_x61, _x62))))))top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62)))))) → top#(from(mark(mark(mark(after(_x61, _x62))))))

Problem 15: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))top#(ok(from(from(_x41))))top#(from(from(active(_x41))))
top#(ok(from(after(_x41, _x42))))top#(from(after(_x41, active(_x42))))top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))
top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))
top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))
top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))
top#(ok(after(0, _x21)))top#(mark(_x21))top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))
top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(ok(from(s(_x41))))top#(from(s(active(_x41))))
top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


The right-hand side of the rule top#(ok(from(from(_x41)))) → top#(from(from(active(_x41)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(from(cons(active(_x51), _x52)))) 
top#(from(from(after(_x51, active(_x52))))) 
top#(from(from(from(active(_x51))))) 
top#(from(from(s(active(_x51))))) 
top#(from(from(after(active(_x51), _x52)))) 
top#(from(from(mark(cons(_x51, from(s(_x51))))))) 
top#(from(from(mark(_x51)))) 
top#(from(from(mark(after(_x52, _x51))))) 
Thus, the rule top#(ok(from(from(_x41)))) → top#(from(from(active(_x41)))) is replaced by the following rules:
top#(ok(from(from(s(_x51))))) → top#(from(from(s(active(_x51)))))top#(ok(from(from(from(_x51))))) → top#(from(from(mark(cons(_x51, from(s(_x51)))))))
top#(ok(from(from(after(_x51, _x52))))) → top#(from(from(after(active(_x51), _x52))))top#(ok(from(from(from(_x51))))) → top#(from(from(from(active(_x51)))))
top#(ok(from(from(after(0, _x51))))) → top#(from(from(mark(_x51))))top#(ok(from(from(after(s(_x52), cons(_x53, _x51)))))) → top#(from(from(mark(after(_x52, _x51)))))
top#(ok(from(from(cons(_x51, _x52))))) → top#(from(from(cons(active(_x51), _x52))))top#(ok(from(from(after(_x51, _x52))))) → top#(from(from(after(_x51, active(_x52)))))

Problem 16: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))
top#(ok(from(after(_x41, _x42))))top#(from(after(_x41, active(_x42))))top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))
top#(ok(from(from(after(0, _x51)))))top#(from(from(mark(_x51))))top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))
top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))
top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))
top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))
top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))
top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))
top#(ok(after(0, _x21)))top#(mark(_x21))top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))
top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(ok(from(s(_x41))))top#(from(s(active(_x41))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, ok, mark, proper, from, top, cons

Strategy


The right-hand side of the rule top#(ok(from(after(_x41, _x42)))) → top#(from(after(_x41, active(_x42)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(after(_x41, from(active(_x51))))) 
top#(from(after(_x41, mark(_x51)))) 
top#(from(after(_x41, after(active(_x51), _x52)))) 
top#(from(after(_x41, mark(after(_x52, _x51))))) 
top#(from(mark(after(_x31, active(_x42))))) 
top#(from(after(_x41, s(active(_x51))))) 
top#(from(after(_x41, cons(active(_x51), _x52)))) 
top#(from(after(_x41, mark(cons(_x51, from(s(_x51))))))) 
top#(from(after(_x41, after(_x51, active(_x52))))) 
Thus, the rule top#(ok(from(after(_x41, _x42)))) → top#(from(after(_x41, active(_x42)))) is replaced by the following rules:
top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51)))))) → top#(from(after(_x41, mark(after(_x52, _x51)))))top#(ok(from(after(_x41, s(_x51))))) → top#(from(after(_x41, s(active(_x51)))))
top#(ok(from(after(_x41, after(0, _x51))))) → top#(from(after(_x41, mark(_x51))))top#(ok(from(after(_x41, after(_x51, _x52))))) → top#(from(after(_x41, after(active(_x51), _x52))))
top#(ok(from(after(_x41, cons(_x51, _x52))))) → top#(from(after(_x41, cons(active(_x51), _x52))))top#(ok(from(after(_x41, from(_x51))))) → top#(from(after(_x41, from(active(_x51)))))
top#(ok(from(after(_x41, from(_x51))))) → top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(_x41, after(_x51, _x52))))) → top#(from(after(_x41, after(_x51, active(_x52)))))
top#(ok(from(after(mark(_x31), _x42)))) → top#(from(mark(after(_x31, active(_x42)))))

Problem 17: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(_x41, after(0, _x51)))))top#(from(after(_x41, mark(_x51))))
top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))top#(ok(from(after(_x41, cons(_x51, _x52)))))top#(from(after(_x41, cons(active(_x51), _x52))))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51))))))top#(from(after(_x41, mark(after(_x52, _x51)))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))top#(ok(from(from(after(0, _x51)))))top#(from(from(mark(_x51))))
top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))
top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))
top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))
top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(_x51, active(_x52)))))top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))
top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))
top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(active(_x51), _x52))))top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))
top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(ok(from(after(mark(_x31), _x42))))top#(from(mark(after(_x31, active(_x42)))))
top#(ok(after(0, _x21)))top#(mark(_x21))top#(ok(from(after(_x41, s(_x51)))))top#(from(after(_x41, s(active(_x51)))))
top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))
top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(ok(from(s(_x41))))top#(from(s(active(_x41))))top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, from(active(_x51)))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


The right-hand side of the rule top#(ok(from(after(_x41, after(0, _x51))))) → top#(from(after(_x41, mark(_x51)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(mark(after(_x31, mark(_x51))))) 
top#(from(mark(after(_x31, _x32)))) 
Thus, the rule top#(ok(from(after(_x41, after(0, _x51))))) → top#(from(after(_x41, mark(_x51)))) is replaced by the following rules:
top#(ok(from(after(_x31, after(0, _x32))))) → top#(from(mark(after(_x31, _x32))))top#(ok(from(after(mark(_x31), after(0, _x51))))) → top#(from(mark(after(_x31, mark(_x51)))))

Problem 18: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(_x41, cons(_x51, _x52)))))top#(from(after(_x41, cons(active(_x51), _x52))))
top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51))))))top#(from(after(_x41, mark(after(_x52, _x51)))))top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))
top#(ok(from(from(after(0, _x51)))))top#(from(from(mark(_x51))))top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))
top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))
top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))
top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(_x51, active(_x52)))))
top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))
top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))
top#(ok(from(after(_x31, after(0, _x32)))))top#(from(mark(after(_x31, _x32))))top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))
top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(active(_x51), _x52))))top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))top#(ok(from(after(mark(_x31), _x42))))top#(from(mark(after(_x31, active(_x42)))))
top#(ok(after(0, _x21)))top#(mark(_x21))top#(ok(from(after(_x41, s(_x51)))))top#(from(after(_x41, s(active(_x51)))))
top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))
top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, from(active(_x51)))))top#(ok(from(s(_x41))))top#(from(s(active(_x41))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))top#(ok(from(after(mark(_x31), after(0, _x51)))))top#(from(mark(after(_x31, mark(_x51)))))
top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, ok, mark, proper, from, top, cons

Strategy


The right-hand side of the rule top#(ok(from(after(_x41, cons(_x51, _x52))))) → top#(from(after(_x41, cons(active(_x51), _x52)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(after(_x41, cons(cons(active(_x71), _x72), _x52)))) 
top#(from(after(_x41, cons(s(active(_x71)), _x52)))) 
top#(from(after(_x41, cons(from(active(_x71)), _x52)))) 
top#(from(after(_x41, cons(after(_x71, active(_x72)), _x52)))) 
top#(from(after(_x41, cons(mark(cons(_x71, from(s(_x71)))), _x52)))) 
top#(from(after(_x41, cons(after(active(_x71), _x72), _x52)))) 
top#(from(after(_x41, cons(mark(_x71), _x52)))) 
top#(from(mark(after(_x31, cons(active(_x51), _x52))))) 
top#(from(after(_x41, cons(mark(after(_x72, _x71)), _x52)))) 
Thus, the rule top#(ok(from(after(_x41, cons(_x51, _x52))))) → top#(from(after(_x41, cons(active(_x51), _x52)))) is replaced by the following rules:
top#(ok(from(after(_x41, cons(from(_x71), _x52))))) → top#(from(after(_x41, cons(mark(cons(_x71, from(s(_x71)))), _x52))))top#(ok(from(after(_x41, cons(after(s(_x72), cons(_x73, _x71)), _x52))))) → top#(from(after(_x41, cons(mark(after(_x72, _x71)), _x52))))
top#(ok(from(after(_x41, cons(cons(_x71, _x72), _x52))))) → top#(from(after(_x41, cons(cons(active(_x71), _x72), _x52))))top#(ok(from(after(_x41, cons(s(_x71), _x52))))) → top#(from(after(_x41, cons(s(active(_x71)), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52))))) → top#(from(after(_x41, cons(after(_x71, active(_x72)), _x52))))top#(ok(from(after(mark(_x31), cons(_x51, _x52))))) → top#(from(mark(after(_x31, cons(active(_x51), _x52)))))
top#(ok(from(after(_x41, cons(after(0, _x71), _x52))))) → top#(from(after(_x41, cons(mark(_x71), _x52))))top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52))))) → top#(from(after(_x41, cons(after(active(_x71), _x72), _x52))))
top#(ok(from(after(_x41, cons(from(_x71), _x52))))) → top#(from(after(_x41, cons(from(active(_x71)), _x52))))

Problem 19: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(_x41, cons(cons(_x71, _x72), _x52)))))top#(from(after(_x41, cons(cons(active(_x71), _x72), _x52))))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(mark(_x31), cons(_x51, _x52)))))top#(from(mark(after(_x31, cons(active(_x51), _x52)))))
top#(ok(from(after(_x41, cons(after(0, _x71), _x52)))))top#(from(after(_x41, cons(mark(_x71), _x52))))top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51))))))top#(from(after(_x41, mark(after(_x52, _x51)))))
top#(ok(from(from(after(0, _x51)))))top#(from(from(mark(_x51))))top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))
top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(_x71, active(_x72)), _x52))))top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))
top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(_x51, active(_x52)))))top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))
top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(active(_x51), _x52))))top#(ok(from(after(_x41, cons(s(_x71), _x52)))))top#(from(after(_x41, cons(s(active(_x71)), _x52))))
top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(ok(after(0, _x21)))top#(mark(_x21))top#(ok(from(after(_x41, cons(after(s(_x72), cons(_x73, _x71)), _x52)))))top#(from(after(_x41, cons(mark(after(_x72, _x71)), _x52))))
top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(mark(cons(_x71, from(s(_x71)))), _x52))))top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))
top#(ok(from(after(mark(_x31), after(0, _x51)))))top#(from(mark(after(_x31, mark(_x51)))))top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(active(_x71), _x72), _x52))))top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(from(active(_x71)), _x52))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))
top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))
top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))
top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))top#(ok(from(after(_x31, after(0, _x32)))))top#(from(mark(after(_x31, _x32))))
top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(ok(from(after(mark(_x31), _x42))))top#(from(mark(after(_x31, active(_x42)))))top#(ok(from(after(_x41, s(_x51)))))top#(from(after(_x41, s(active(_x51)))))
top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))
top#(ok(from(s(_x41))))top#(from(s(active(_x41))))top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, from(active(_x51)))))
top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


The right-hand side of the rule top#(ok(from(after(_x41, cons(cons(_x71, _x72), _x52))))) → top#(from(after(_x41, cons(cons(active(_x71), _x72), _x52)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(mark(after(_x31, cons(cons(active(_x71), _x72), _x52))))) 
top#(from(after(_x41, cons(cons(after(active(_x91), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(mark(_x91), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(active(_x91), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(mark(cons(_x91, from(s(_x91)))), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(s(active(_x91)), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(mark(after(_x92, _x91)), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(from(active(_x91)), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(after(_x91, active(_x92)), _x72), _x52)))) 
Thus, the rule top#(ok(from(after(_x41, cons(cons(_x71, _x72), _x52))))) → top#(from(after(_x41, cons(cons(active(_x71), _x72), _x52)))) is replaced by the following rules:
top#(ok(from(after(_x41, cons(cons(after(s(_x92), cons(_x93, _x91)), _x72), _x52))))) → top#(from(after(_x41, cons(cons(mark(after(_x92, _x91)), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(after(active(_x91), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(active(_x71), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52))))) → top#(from(after(_x41, cons(cons(mark(cons(_x91, from(s(_x91)))), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(_x91, _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(active(_x91), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(after(_x91, active(_x92)), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52))))) → top#(from(after(_x41, cons(cons(from(active(_x91)), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(s(_x91), _x72), _x52))))) → top#(from(after(_x41, cons(cons(s(active(_x91)), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(after(0, _x91), _x72), _x52))))) → top#(from(after(_x41, cons(cons(mark(_x91), _x72), _x52))))

Problem 20: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(active(_x71), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(active(_x91), _x92), _x72), _x52))))top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))
top#(ok(from(after(mark(_x31), cons(_x51, _x52)))))top#(from(mark(after(_x31, cons(active(_x51), _x52)))))top#(ok(from(after(_x41, cons(after(0, _x71), _x52)))))top#(from(after(_x41, cons(mark(_x71), _x52))))
top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51))))))top#(from(after(_x41, mark(after(_x52, _x51)))))top#(ok(from(from(after(0, _x51)))))top#(from(from(mark(_x51))))
top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(_x71, active(_x72)), _x52))))
top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))
top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(_x51, active(_x52)))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(active(_x91)), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(after(0, _x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(_x91), _x72), _x52))))
top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(active(_x51), _x52))))
top#(ok(from(after(_x41, cons(s(_x71), _x52)))))top#(from(after(_x41, cons(s(active(_x71)), _x52))))top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(ok(from(after(_x41, cons(cons(s(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(s(active(_x91)), _x72), _x52))))
top#(ok(after(0, _x21)))top#(mark(_x21))top#(ok(from(after(_x41, cons(cons(after(s(_x92), cons(_x93, _x91)), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(after(_x92, _x91)), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(s(_x72), cons(_x73, _x71)), _x52)))))top#(from(after(_x41, cons(mark(after(_x72, _x71)), _x52))))top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(mark(cons(_x71, from(s(_x71)))), _x52))))
top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))top#(ok(from(after(mark(_x31), after(0, _x51)))))top#(from(mark(after(_x31, mark(_x51)))))
top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(active(_x91), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(cons(_x91, from(s(_x91)))), _x72), _x52))))
top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(_x91, active(_x92)), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(active(_x71), _x72), _x52))))top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(from(active(_x71)), _x52))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))
top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))
top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))
top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))top#(ok(from(after(_x31, after(0, _x32)))))top#(from(mark(after(_x31, _x32))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))
top#(ok(from(after(mark(_x31), _x42))))top#(from(mark(after(_x31, active(_x42)))))top#(ok(from(after(_x41, s(_x51)))))top#(from(after(_x41, s(active(_x51)))))
top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, from(active(_x51)))))top#(ok(from(s(_x41))))top#(from(s(active(_x41))))
top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, ok, mark, proper, from, top, cons

Strategy


The right-hand side of the rule top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(active(_x71), _x72), _x52))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(mark(after(_x31, cons(cons(mark(_x101), _x72), _x52))))) 
top#(from(mark(mark(after(_x61, cons(cons(active(_x71), _x72), _x52)))))) 
top#(from(mark(after(_x31, cons(cons(mark(after(_x102, _x101)), _x72), _x52))))) 
top#(from(mark(after(_x31, cons(cons(mark(cons(_x101, from(s(_x101)))), _x72), _x52))))) 
top#(from(mark(after(_x31, cons(cons(after(active(_x101), _x102), _x72), _x52))))) 
top#(from(mark(after(_x31, cons(cons(cons(active(_x101), _x102), _x72), _x52))))) 
top#(from(mark(after(_x31, cons(cons(from(active(_x101)), _x72), _x52))))) 
top#(mark(from(after(_x31, cons(cons(active(_x71), _x72), _x52))))) 
top#(from(mark(after(_x31, cons(cons(s(active(_x101)), _x72), _x52))))) 
top#(from(mark(after(_x31, cons(cons(after(_x101, active(_x102)), _x72), _x52))))) 
Thus, the rule top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(active(_x71), _x72), _x52))))) is replaced by the following rules:
top#(ok(from(after(mark(_x31), cons(cons(after(0, _x101), _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(mark(_x101), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(after(_x101, active(_x102)), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x101, _x102), _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(cons(active(_x101), _x102), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(s(_x101), _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(s(active(_x101)), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(mark(cons(_x101, from(s(_x101)))), _x72), _x52)))))top#(ok(from(after(mark(mark(_x61)), cons(cons(_x71, _x72), _x52))))) → top#(from(mark(mark(after(_x61, cons(cons(active(_x71), _x72), _x52))))))
top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(after(active(_x101), _x102), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(from(active(_x101)), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52))))) → top#(mark(from(after(_x31, cons(cons(active(_x71), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(after(s(_x102), cons(_x103, _x101)), _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(mark(after(_x102, _x101)), _x72), _x52)))))

Problem 21: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(_x41, cons(cons(cons(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(active(_x91), _x92), _x72), _x52))))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(mark(_x31), cons(_x51, _x52)))))top#(from(mark(after(_x31, cons(active(_x51), _x52)))))
top#(ok(from(after(_x41, cons(after(0, _x71), _x52)))))top#(from(after(_x41, cons(mark(_x71), _x52))))top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51))))))top#(from(after(_x41, mark(after(_x52, _x51)))))
top#(ok(from(from(after(0, _x51)))))top#(from(from(mark(_x51))))top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))
top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(_x71, active(_x72)), _x52))))top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))
top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(_x51, active(_x52)))))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(active(_x91)), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(after(0, _x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(_x91), _x72), _x52))))top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))
top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(active(_x51), _x52))))top#(ok(from(after(_x41, cons(s(_x71), _x52)))))top#(from(after(_x41, cons(s(active(_x71)), _x52))))
top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(ok(from(after(mark(_x31), cons(cons(s(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(s(active(_x101)), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(s(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(s(active(_x91)), _x72), _x52))))
top#(ok(after(0, _x21)))top#(mark(_x21))top#(ok(from(after(_x41, cons(cons(after(s(_x92), cons(_x93, _x91)), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(after(_x92, _x91)), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(s(_x72), cons(_x73, _x71)), _x52)))))top#(from(after(_x41, cons(mark(after(_x72, _x71)), _x52))))top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(mark(cons(_x71, from(s(_x71)))), _x52))))
top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(_x101, active(_x102)), _x72), _x52)))))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))
top#(ok(from(after(mark(_x31), after(0, _x51)))))top#(from(mark(after(_x31, mark(_x51)))))top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(active(_x91), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(cons(_x91, from(s(_x91)))), _x72), _x52))))top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))
top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(_x91, active(_x92)), _x72), _x52))))top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(active(_x71), _x72), _x52))))
top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(from(active(_x71)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(active(_x71), _x72), _x52)))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))
top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x101), _x102), _x72), _x52)))))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))
top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(ok(from(after(mark(_x31), cons(cons(after(s(_x102), cons(_x103, _x101)), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(after(_x102, _x101)), _x72), _x52)))))top#(ok(from(after(mark(mark(_x61)), cons(cons(_x71, _x72), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(active(_x71), _x72), _x52))))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(cons(_x101, from(s(_x101)))), _x72), _x52)))))top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))
top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))top#(ok(from(after(_x31, after(0, _x32)))))top#(from(mark(after(_x31, _x32))))
top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(ok(from(after(mark(_x31), _x42))))top#(from(mark(after(_x31, active(_x42)))))top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(active(_x101), _x102), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(from(active(_x101)), _x72), _x52)))))top#(ok(from(after(_x41, s(_x51)))))top#(from(after(_x41, s(active(_x51)))))
top#(ok(from(after(mark(_x31), cons(cons(after(0, _x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(_x101), _x72), _x52)))))top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))
top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))top#(ok(from(s(_x41))))top#(from(s(active(_x41))))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, from(active(_x51)))))top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


The right-hand side of the rule top#(ok(from(after(_x41, cons(cons(cons(_x91, _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(active(_x91), _x92), _x72), _x52)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(after(_x41, cons(cons(cons(mark(after(_x112, _x111)), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(mark(_x111), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x72), _x52)))) 
top#(from(mark(after(_x31, cons(cons(cons(active(_x91), _x92), _x72), _x52))))) 
top#(from(after(_x41, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(from(active(_x111)), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(after(_x111, active(_x112)), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(s(active(_x111)), _x92), _x72), _x52)))) 
Thus, the rule top#(ok(from(after(_x41, cons(cons(cons(_x91, _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(active(_x91), _x92), _x72), _x52)))) is replaced by the following rules:
top#(ok(from(after(mark(_x31), cons(cons(cons(_x91, _x92), _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(cons(active(_x91), _x92), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(0, _x111), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(mark(_x111), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(mark(after(_x112, _x111)), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(s(_x111), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(s(active(_x111)), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(_x111, _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(after(_x111, active(_x112)), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(from(active(_x111)), _x92), _x72), _x52))))

Problem 22: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(_x41, cons(cons(cons(cons(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(mark(_x31), cons(_x51, _x52)))))top#(from(mark(after(_x31, cons(active(_x51), _x52)))))
top#(ok(from(after(_x41, cons(after(0, _x71), _x52)))))top#(from(after(_x41, cons(mark(_x71), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51))))))top#(from(after(_x41, mark(after(_x52, _x51)))))top#(ok(from(from(after(0, _x51)))))top#(from(from(mark(_x51))))
top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(_x71, active(_x72)), _x52))))
top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(_x51, active(_x52)))))
top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(active(_x91)), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(after(0, _x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(_x91), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x91, _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x91), _x92), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x72), _x52))))
top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(active(_x51), _x52))))
top#(ok(from(after(_x41, cons(s(_x71), _x52)))))top#(from(after(_x41, cons(s(active(_x71)), _x52))))top#(ok(from(after(_x41, cons(cons(cons(s(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(s(active(_x111)), _x92), _x72), _x52))))
top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(ok(from(after(mark(_x31), cons(cons(s(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(s(active(_x101)), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(from(active(_x111)), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(s(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(s(active(_x91)), _x72), _x52))))top#(ok(after(0, _x21)))top#(mark(_x21))
top#(ok(from(after(_x41, cons(cons(after(s(_x92), cons(_x93, _x91)), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(after(_x92, _x91)), _x72), _x52))))top#(ok(from(after(_x41, cons(after(s(_x72), cons(_x73, _x71)), _x52)))))top#(from(after(_x41, cons(mark(after(_x72, _x71)), _x52))))
top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(mark(cons(_x71, from(s(_x71)))), _x52))))top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))
top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(_x101, active(_x102)), _x72), _x52)))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(_x111, active(_x112)), _x92), _x72), _x52))))top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))
top#(ok(from(after(mark(_x31), after(0, _x51)))))top#(from(mark(after(_x31, mark(_x51)))))top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(active(_x91), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(0, _x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(_x111), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(_x112, _x111)), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(cons(_x91, from(s(_x91)))), _x72), _x52))))top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))
top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(_x91, active(_x92)), _x72), _x52))))top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(active(_x71), _x72), _x52))))
top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(from(active(_x71)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(active(_x71), _x72), _x52)))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))
top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))
top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x101), _x102), _x72), _x52)))))top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(cons(_x101, from(s(_x101)))), _x72), _x52)))))top#(ok(from(after(mark(mark(_x61)), cons(cons(_x71, _x72), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(active(_x71), _x72), _x52))))))
top#(ok(from(after(mark(_x31), cons(cons(after(s(_x102), cons(_x103, _x101)), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(after(_x102, _x101)), _x72), _x52)))))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))
top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))top#(ok(from(after(_x31, after(0, _x32)))))top#(from(mark(after(_x31, _x32))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))
top#(ok(from(after(mark(_x31), _x42))))top#(from(mark(after(_x31, active(_x42)))))top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(from(active(_x101)), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(active(_x101), _x102), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(after(0, _x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(_x101), _x72), _x52)))))
top#(ok(from(after(_x41, s(_x51)))))top#(from(after(_x41, s(active(_x51)))))top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))
top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, from(active(_x51)))))
top#(ok(from(s(_x41))))top#(from(s(active(_x41))))top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, ok, mark, proper, from, top, cons

Strategy


The right-hand side of the rule top#(ok(from(after(_x41, cons(cons(cons(cons(_x111, _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(after(_x41, cons(cons(cons(cons(from(active(_x131)), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(cons(s(active(_x131)), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(cons(mark(_x131), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(cons(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(cons(after(_x131, active(_x132)), _x112), _x92), _x72), _x52)))) 
top#(from(mark(after(_x31, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52))))) 
top#(from(after(_x41, cons(cons(cons(cons(after(active(_x131), _x132), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(cons(cons(active(_x131), _x132), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(cons(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52)))) 
Thus, the rule top#(ok(from(after(_x41, cons(cons(cons(cons(_x111, _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52)))) is replaced by the following rules:
top#(ok(from(after(_x41, cons(cons(cons(cons(after(0, _x131), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(cons(mark(_x131), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(cons(after(_x131, active(_x132)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(cons(_x131, _x132), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(cons(cons(active(_x131), _x132), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(cons(from(active(_x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(cons(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(cons(after(active(_x131), _x132), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(_x111, _x112), _x92), _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(s(_x131), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(cons(s(active(_x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x132), cons(_x133, _x131)), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(cons(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52))))

Problem 23: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))
top#(ok(from(after(mark(_x31), cons(_x51, _x52)))))top#(from(mark(after(_x31, cons(active(_x51), _x52)))))top#(ok(from(after(_x41, cons(after(0, _x71), _x52)))))top#(from(after(_x41, cons(mark(_x71), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51))))))top#(from(after(_x41, mark(after(_x52, _x51)))))
top#(ok(from(from(after(0, _x51)))))top#(from(from(mark(_x51))))top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))
top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(_x71, active(_x72)), _x52))))top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))
top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(_x51, active(_x52)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(_x111, _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52)))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(active(_x91)), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x132), cons(_x133, _x131)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(after(0, _x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(_x91), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(cons(cons(_x91, _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x91), _x92), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x72), _x52))))top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))
top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(active(_x51), _x52))))top#(ok(from(after(_x41, cons(cons(cons(s(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(s(active(_x111)), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(s(_x71), _x52)))))top#(from(after(_x41, cons(s(active(_x71)), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(ok(from(after(mark(_x31), cons(cons(s(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(s(active(_x101)), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(from(active(_x111)), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(s(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(s(active(_x91)), _x72), _x52))))top#(ok(after(0, _x21)))top#(mark(_x21))
top#(ok(from(after(_x41, cons(cons(after(s(_x92), cons(_x93, _x91)), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(after(_x92, _x91)), _x72), _x52))))top#(ok(from(after(_x41, cons(after(s(_x72), cons(_x73, _x71)), _x52)))))top#(from(after(_x41, cons(mark(after(_x72, _x71)), _x52))))
top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(mark(cons(_x71, from(s(_x71)))), _x52))))top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))
top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(_x101, active(_x102)), _x72), _x52)))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(_x111, active(_x112)), _x92), _x72), _x52))))top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))
top#(ok(from(after(mark(_x31), after(0, _x51)))))top#(from(mark(after(_x31, mark(_x51)))))top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(active(_x91), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(0, _x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(_x111), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(_x112, _x111)), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(cons(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(cons(active(_x131), _x132), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(active(_x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(cons(_x91, from(s(_x91)))), _x72), _x52))))top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))
top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(_x91, active(_x92)), _x72), _x52))))top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(active(_x71), _x72), _x52))))
top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(from(active(_x71)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(active(_x71), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(0, _x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(_x131), _x112), _x92), _x72), _x52))))top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))
top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))
top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(active(_x131), _x132), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x101), _x102), _x72), _x52)))))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))
top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(ok(from(after(mark(_x31), cons(cons(after(s(_x102), cons(_x103, _x101)), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(after(_x102, _x101)), _x72), _x52)))))top#(ok(from(after(mark(mark(_x61)), cons(cons(_x71, _x72), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(active(_x71), _x72), _x52))))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(cons(_x101, from(s(_x101)))), _x72), _x52)))))top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))
top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))top#(ok(from(after(_x31, after(0, _x32)))))top#(from(mark(after(_x31, _x32))))
top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(ok(from(after(mark(_x31), _x42))))top#(from(mark(after(_x31, active(_x42)))))top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(active(_x101), _x102), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(from(active(_x101)), _x72), _x52)))))top#(ok(from(after(_x41, s(_x51)))))top#(from(after(_x41, s(active(_x51)))))
top#(ok(from(after(mark(_x31), cons(cons(after(0, _x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(_x101), _x72), _x52)))))top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))
top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(_x131, active(_x132)), _x112), _x92), _x72), _x52))))
top#(ok(from(s(_x41))))top#(from(s(active(_x41))))top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, from(active(_x51)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(s(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(s(active(_x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


The right-hand side of the rule top#(ok(from(after(mark(_x31), cons(_x51, _x52))))) → top#(from(mark(after(_x31, cons(active(_x51), _x52))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(mark(after(_x31, cons(from(active(_x91)), _x52))))) 
top#(from(mark(after(_x31, cons(after(active(_x91), _x92), _x52))))) 
top#(from(mark(after(_x31, cons(s(active(_x91)), _x52))))) 
top#(from(mark(mark(after(_x61, cons(active(_x51), _x52)))))) 
top#(from(mark(after(_x31, cons(mark(cons(_x91, from(s(_x91)))), _x52))))) 
top#(from(mark(after(_x31, cons(mark(after(_x92, _x91)), _x52))))) 
top#(from(mark(after(_x31, cons(after(_x91, active(_x92)), _x52))))) 
top#(mark(from(after(_x31, cons(active(_x51), _x52))))) 
top#(from(mark(after(_x31, cons(mark(_x91), _x52))))) 
top#(from(mark(after(_x31, cons(cons(active(_x91), _x92), _x52))))) 
Thus, the rule top#(ok(from(after(mark(_x31), cons(_x51, _x52))))) → top#(from(mark(after(_x31, cons(active(_x51), _x52))))) is replaced by the following rules:
top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52))))) → top#(from(mark(after(_x31, cons(after(_x91, active(_x92)), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(_x91, _x92), _x52))))) → top#(from(mark(after(_x31, cons(cons(active(_x91), _x92), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(_x91), _x52))))) → top#(from(mark(after(_x31, cons(from(active(_x91)), _x52)))))top#(ok(from(after(mark(_x31), cons(s(_x91), _x52))))) → top#(from(mark(after(_x31, cons(s(active(_x91)), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(s(_x92), cons(_x93, _x91)), _x52))))) → top#(from(mark(after(_x31, cons(mark(after(_x92, _x91)), _x52)))))top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52))))) → top#(from(mark(after(_x31, cons(after(active(_x91), _x92), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(_x91), _x52))))) → top#(from(mark(after(_x31, cons(mark(cons(_x91, from(s(_x91)))), _x52)))))top#(ok(from(after(mark(mark(_x61)), cons(_x51, _x52))))) → top#(from(mark(mark(after(_x61, cons(active(_x51), _x52))))))
top#(ok(from(after(mark(_x31), cons(_x51, _x52))))) → top#(mark(from(after(_x31, cons(active(_x51), _x52)))))top#(ok(from(after(mark(_x31), cons(after(0, _x91), _x52))))) → top#(from(mark(after(_x31, cons(mark(_x91), _x52)))))

Problem 24: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(mark(_x31), cons(from(_x91), _x52)))))top#(from(mark(after(_x31, cons(from(active(_x91)), _x52)))))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(_x41, cons(after(0, _x71), _x52)))))top#(from(after(_x41, cons(mark(_x71), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(from(_x91), _x52)))))top#(from(mark(after(_x31, cons(mark(cons(_x91, from(s(_x91)))), _x52)))))
top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51))))))top#(from(after(_x41, mark(after(_x52, _x51)))))top#(ok(from(after(mark(_x31), cons(cons(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(active(_x91), _x92), _x52)))))
top#(ok(from(from(after(0, _x51)))))top#(from(from(mark(_x51))))top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))
top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(_x71, active(_x72)), _x52))))top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))
top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(_x111, _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52)))))top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(_x51, active(_x52)))))
top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(active(_x91)), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x132), cons(_x133, _x131)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(after(0, _x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(_x91), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(cons(cons(_x91, _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x91), _x92), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x72), _x52))))top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))
top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(active(_x51), _x52))))top#(ok(from(after(_x41, cons(s(_x71), _x52)))))top#(from(after(_x41, cons(s(active(_x71)), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(s(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(s(active(_x111)), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(ok(from(after(mark(mark(_x61)), cons(_x51, _x52)))))top#(from(mark(mark(after(_x61, cons(active(_x51), _x52))))))top#(ok(from(after(mark(_x31), cons(cons(s(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(s(active(_x101)), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(from(active(_x111)), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(s(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(s(active(_x91)), _x72), _x52))))
top#(ok(after(0, _x21)))top#(mark(_x21))top#(ok(from(after(_x41, cons(cons(after(s(_x92), cons(_x93, _x91)), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(after(_x92, _x91)), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(s(_x72), cons(_x73, _x71)), _x52)))))top#(from(after(_x41, cons(mark(after(_x72, _x71)), _x52))))top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(mark(cons(_x71, from(s(_x71)))), _x52))))
top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(_x101, active(_x102)), _x72), _x52)))))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(ok(from(after(mark(_x31), cons(s(_x91), _x52)))))top#(from(mark(after(_x31, cons(s(active(_x91)), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(_x111, active(_x112)), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(after(0, _x91), _x52)))))top#(from(mark(after(_x31, cons(mark(_x91), _x52)))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))top#(ok(from(after(mark(_x31), after(0, _x51)))))top#(from(mark(after(_x31, mark(_x51)))))
top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(active(_x91), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(0, _x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(_x111), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(_x112, _x111)), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(cons(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(cons(active(_x131), _x132), _x112), _x92), _x72), _x52))))
top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(cons(_x91, from(s(_x91)))), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(active(_x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(after(s(_x92), cons(_x93, _x91)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x92, _x91)), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(active(_x71), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(_x91, active(_x92)), _x72), _x52))))
top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(from(active(_x71)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(active(_x71), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(0, _x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(_x131), _x112), _x92), _x72), _x52))))top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))
top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))
top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(active(_x131), _x132), _x112), _x92), _x72), _x52))))
top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x101), _x102), _x72), _x52)))))top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(cons(_x101, from(s(_x101)))), _x72), _x52)))))top#(ok(from(after(mark(mark(_x61)), cons(cons(_x71, _x72), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(active(_x71), _x72), _x52))))))
top#(ok(from(after(mark(_x31), cons(cons(after(s(_x102), cons(_x103, _x101)), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(after(_x102, _x101)), _x72), _x52)))))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))
top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))top#(ok(from(after(_x31, after(0, _x32)))))top#(from(mark(after(_x31, _x32))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))
top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(after(active(_x91), _x92), _x52)))))top#(ok(from(after(mark(_x31), cons(_x51, _x52)))))top#(mark(from(after(_x31, cons(active(_x51), _x52)))))
top#(ok(from(after(mark(_x31), _x42))))top#(from(mark(after(_x31, active(_x42)))))top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(from(active(_x101)), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(active(_x101), _x102), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(after(0, _x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(_x101), _x72), _x52)))))
top#(ok(from(after(_x41, s(_x51)))))top#(from(after(_x41, s(active(_x51)))))top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))
top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(after(_x91, active(_x92)), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(_x131, active(_x132)), _x112), _x92), _x72), _x52))))
top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, from(active(_x51)))))
top#(ok(from(s(_x41))))top#(from(s(active(_x41))))top#(ok(from(after(_x41, cons(cons(cons(cons(s(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(s(active(_x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, ok, mark, proper, from, top, cons

Strategy


The right-hand side of the rule top#(ok(from(after(mark(_x31), cons(from(_x91), _x52))))) → top#(from(mark(after(_x31, cons(from(active(_x91)), _x52))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(mark(after(_x31, cons(from(after(_x111, active(_x112))), _x52))))) 
top#(from(mark(after(_x31, cons(from(s(active(_x111))), _x52))))) 
top#(from(mark(after(_x31, cons(from(cons(active(_x111), _x112)), _x52))))) 
top#(from(mark(mark(after(_x61, cons(from(active(_x91)), _x52)))))) 
top#(from(mark(after(_x31, cons(from(mark(after(_x112, _x111))), _x52))))) 
top#(from(mark(after(_x31, cons(from(mark(_x111)), _x52))))) 
top#(from(mark(after(_x31, cons(from(after(active(_x111), _x112)), _x52))))) 
top#(from(mark(after(_x31, cons(from(from(active(_x111))), _x52))))) 
top#(from(mark(after(_x31, cons(from(mark(cons(_x111, from(s(_x111))))), _x52))))) 
top#(mark(from(after(_x31, cons(from(active(_x91)), _x52))))) 
Thus, the rule top#(ok(from(after(mark(_x31), cons(from(_x91), _x52))))) → top#(from(mark(after(_x31, cons(from(active(_x91)), _x52))))) is replaced by the following rules:
top#(ok(from(after(mark(_x31), cons(from(_x91), _x52))))) → top#(mark(from(after(_x31, cons(from(active(_x91)), _x52)))))top#(ok(from(after(mark(_x31), cons(from(after(_x111, _x112)), _x52))))) → top#(from(mark(after(_x31, cons(from(after(_x111, active(_x112))), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(cons(_x111, _x112)), _x52))))) → top#(from(mark(after(_x31, cons(from(cons(active(_x111), _x112)), _x52)))))top#(ok(from(after(mark(_x31), cons(from(after(_x111, _x112)), _x52))))) → top#(from(mark(after(_x31, cons(from(after(active(_x111), _x112)), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(from(_x111)), _x52))))) → top#(from(mark(after(_x31, cons(from(mark(cons(_x111, from(s(_x111))))), _x52)))))top#(ok(from(after(mark(_x31), cons(from(after(s(_x112), cons(_x113, _x111))), _x52))))) → top#(from(mark(after(_x31, cons(from(mark(after(_x112, _x111))), _x52)))))
top#(ok(from(after(mark(mark(_x61)), cons(from(_x91), _x52))))) → top#(from(mark(mark(after(_x61, cons(from(active(_x91)), _x52))))))top#(ok(from(after(mark(_x31), cons(from(from(_x111)), _x52))))) → top#(from(mark(after(_x31, cons(from(from(active(_x111))), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(s(_x111)), _x52))))) → top#(from(mark(after(_x31, cons(from(s(active(_x111))), _x52)))))top#(ok(from(after(mark(_x31), cons(from(after(0, _x111)), _x52))))) → top#(from(mark(after(_x31, cons(from(mark(_x111)), _x52)))))

Problem 25: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(_x41, cons(after(0, _x71), _x52)))))top#(from(after(_x41, cons(mark(_x71), _x52))))
top#(ok(from(after(mark(_x31), cons(from(from(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(mark(cons(_x111, from(s(_x111))))), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(from(_x91), _x52)))))top#(from(mark(after(_x31, cons(mark(cons(_x91, from(s(_x91)))), _x52)))))top#(ok(from(after(mark(_x31), cons(from(after(0, _x111)), _x52)))))top#(from(mark(after(_x31, cons(from(mark(_x111)), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(active(_x91), _x92), _x52)))))top#(ok(from(from(after(0, _x51)))))top#(from(from(mark(_x51))))
top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(_x71, active(_x72)), _x52))))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(active(_x91)), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x132), cons(_x133, _x131)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(cons(cons(_x91, _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x91), _x92), _x72), _x52)))))
top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(active(_x51), _x52))))top#(ok(from(after(_x41, cons(cons(cons(s(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(s(active(_x111)), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(s(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(s(active(_x101)), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(s(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(s(active(_x91)), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(from(active(_x111)), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(after(s(_x92), cons(_x93, _x91)), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(after(_x92, _x91)), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(s(_x72), cons(_x73, _x71)), _x52)))))top#(from(after(_x41, cons(mark(after(_x72, _x71)), _x52))))top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(_x111, active(_x112)), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(s(_x91), _x52)))))top#(from(mark(after(_x31, cons(s(active(_x91)), _x52)))))top#(ok(from(after(mark(_x31), cons(from(after(s(_x112), cons(_x113, _x111))), _x52)))))top#(from(mark(after(_x31, cons(from(mark(after(_x112, _x111))), _x52)))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))top#(ok(from(after(mark(_x31), after(0, _x51)))))top#(from(mark(after(_x31, mark(_x51)))))
top#(ok(from(after(_x41, cons(cons(cons(after(0, _x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(_x111), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(_x112, _x111)), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(cons(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(cons(active(_x131), _x132), _x112), _x92), _x72), _x52))))top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))
top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(cons(_x91, from(s(_x91)))), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(active(_x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(from(cons(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(cons(active(_x111), _x112)), _x52)))))top#(ok(from(after(mark(_x31), cons(after(s(_x92), cons(_x93, _x91)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x92, _x91)), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(active(_x71), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(_x91, active(_x92)), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(from(from(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(from(active(_x111))), _x52)))))top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(from(active(_x71)), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(active(_x71), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(0, _x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(_x131), _x112), _x92), _x72), _x52))))
top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(active(_x131), _x132), _x112), _x92), _x72), _x52))))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))top#(ok(from(after(mark(mark(_x61)), cons(cons(_x71, _x72), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(active(_x71), _x72), _x52))))))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(cons(_x101, from(s(_x101)))), _x72), _x52)))))
top#(ok(from(after(_x31, after(0, _x32)))))top#(from(mark(after(_x31, _x32))))top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))
top#(ok(from(after(mark(_x31), cons(_x51, _x52)))))top#(mark(from(after(_x31, cons(active(_x51), _x52)))))top#(ok(from(after(mark(_x31), _x42))))top#(from(mark(after(_x31, active(_x42)))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(from(active(_x101)), _x72), _x52)))))top#(ok(from(after(_x41, s(_x51)))))top#(from(after(_x41, s(active(_x51)))))
top#(ok(from(after(mark(_x31), cons(cons(after(0, _x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(_x101), _x72), _x52)))))top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(_x131, active(_x132)), _x112), _x92), _x72), _x52))))top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))
top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(mark(mark(_x61)), cons(from(_x91), _x52)))))top#(from(mark(mark(after(_x61, cons(from(active(_x91)), _x52))))))
top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51))))))top#(from(after(_x41, mark(after(_x52, _x51)))))top#(ok(from(after(mark(_x31), cons(from(_x91), _x52)))))top#(mark(from(after(_x31, cons(from(active(_x91)), _x52)))))
top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))
top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(_x51, active(_x52)))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(_x111, _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(after(0, _x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(_x91), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x72), _x52))))
top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))top#(ok(from(after(_x41, cons(s(_x71), _x52)))))top#(from(after(_x41, cons(s(active(_x71)), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52))))top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(ok(from(after(mark(mark(_x61)), cons(_x51, _x52)))))top#(from(mark(mark(after(_x61, cons(active(_x51), _x52))))))
top#(ok(after(0, _x21)))top#(mark(_x21))top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(mark(cons(_x71, from(s(_x71)))), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(_x101, active(_x102)), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(from(after(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(after(active(_x111), _x112)), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(0, _x91), _x52)))))top#(from(mark(after(_x31, cons(mark(_x91), _x52)))))top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(active(_x91), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(from(after(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(after(_x111, active(_x112))), _x52)))))top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))
top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))top#(ok(from(after(mark(_x31), cons(cons(cons(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x101), _x102), _x72), _x52)))))
top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))
top#(ok(from(after(mark(_x31), cons(cons(after(s(_x102), cons(_x103, _x101)), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(after(_x102, _x101)), _x72), _x52)))))top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))
top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(after(active(_x91), _x92), _x52)))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(active(_x101), _x102), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(after(_x91, active(_x92)), _x52)))))top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, from(active(_x51)))))top#(ok(from(s(_x41))))top#(from(s(active(_x41))))
top#(ok(from(after(_x41, cons(cons(cons(cons(s(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(s(active(_x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(from(s(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(s(active(_x111))), _x52)))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


The right-hand side of the rule top#(ok(from(after(_x41, cons(after(0, _x71), _x52))))) → top#(from(after(_x41, cons(mark(_x71), _x52)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(after(_x41, mark(cons(_x61, _x62))))) 
top#(from(mark(after(_x31, cons(mark(_x71), _x52))))) 
Thus, the rule top#(ok(from(after(_x41, cons(after(0, _x71), _x52))))) → top#(from(after(_x41, cons(mark(_x71), _x52)))) is replaced by the following rules:
top#(ok(from(after(_x41, cons(after(0, _x61), _x62))))) → top#(from(after(_x41, mark(cons(_x61, _x62)))))top#(ok(from(after(mark(_x31), cons(after(0, _x71), _x52))))) → top#(from(mark(after(_x31, cons(mark(_x71), _x52)))))

Problem 26: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(from(from(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(mark(cons(_x111, from(s(_x111))))), _x52)))))top#(ok(from(after(mark(_x31), cons(from(_x91), _x52)))))top#(from(mark(after(_x31, cons(mark(cons(_x91, from(s(_x91)))), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(after(0, _x111)), _x52)))))top#(from(mark(after(_x31, cons(from(mark(_x111)), _x52)))))top#(ok(from(from(after(0, _x51)))))top#(from(from(mark(_x51))))
top#(ok(from(after(mark(_x31), cons(cons(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(active(_x91), _x92), _x52)))))top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))
top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(_x71, active(_x72)), _x52))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(active(_x91)), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x132), cons(_x133, _x131)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x91, _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x91), _x92), _x72), _x52)))))top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(active(_x51), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(s(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(s(active(_x111)), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(cons(s(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(s(active(_x101)), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(s(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(s(active(_x91)), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(from(active(_x111)), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(after(s(_x92), cons(_x93, _x91)), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(after(_x92, _x91)), _x72), _x52))))top#(ok(from(after(_x41, cons(after(s(_x72), cons(_x73, _x71)), _x52)))))top#(from(after(_x41, cons(mark(after(_x72, _x71)), _x52))))
top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(_x111, active(_x112)), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(s(_x91), _x52)))))top#(from(mark(after(_x31, cons(s(active(_x91)), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(after(s(_x112), cons(_x113, _x111))), _x52)))))top#(from(mark(after(_x31, cons(from(mark(after(_x112, _x111))), _x52)))))top#(ok(from(after(mark(_x31), after(0, _x51)))))top#(from(mark(after(_x31, mark(_x51)))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))top#(ok(from(after(_x41, cons(cons(cons(after(0, _x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(_x111), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(_x112, _x111)), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(cons(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(cons(active(_x131), _x132), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(active(_x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(cons(_x91, from(s(_x91)))), _x72), _x52))))
top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))top#(ok(from(after(mark(_x31), cons(from(cons(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(cons(active(_x111), _x112)), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(s(_x92), cons(_x93, _x91)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x92, _x91)), _x52)))))top#(ok(from(after(mark(_x31), cons(from(from(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(from(active(_x111))), _x52)))))
top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(_x91, active(_x92)), _x72), _x52))))top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(active(_x71), _x72), _x52))))
top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(from(active(_x71)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(active(_x71), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(0, _x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(_x131), _x112), _x92), _x72), _x52))))top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))
top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(active(_x131), _x132), _x112), _x92), _x72), _x52))))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(cons(_x101, from(s(_x101)))), _x72), _x52)))))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(ok(from(after(mark(mark(_x61)), cons(cons(_x71, _x72), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(active(_x71), _x72), _x52))))))top#(ok(from(after(_x31, after(0, _x32)))))top#(from(mark(after(_x31, _x32))))
top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))top#(ok(from(after(mark(_x31), cons(_x51, _x52)))))top#(mark(from(after(_x31, cons(active(_x51), _x52)))))
top#(ok(from(after(mark(_x31), _x42))))top#(from(mark(after(_x31, active(_x42)))))top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(from(active(_x101)), _x72), _x52)))))
top#(ok(from(after(_x41, s(_x51)))))top#(from(after(_x41, s(active(_x51)))))top#(ok(from(after(mark(_x31), cons(cons(after(0, _x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(_x101), _x72), _x52)))))
top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(_x131, active(_x132)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))
top#(ok(from(after(mark(mark(_x61)), cons(from(_x91), _x52)))))top#(from(mark(mark(after(_x61, cons(from(active(_x91)), _x52))))))top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51))))))top#(from(after(_x41, mark(after(_x52, _x51)))))
top#(ok(from(after(mark(_x31), cons(from(_x91), _x52)))))top#(mark(from(after(_x31, cons(from(active(_x91)), _x52)))))top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))
top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(_x51, active(_x52)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(_x111, _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(after(0, _x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(_x91), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x72), _x52))))top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))
top#(ok(from(after(_x41, cons(s(_x71), _x52)))))top#(from(after(_x41, cons(s(active(_x71)), _x52))))top#(ok(from(after(_x41, cons(after(0, _x61), _x62)))))top#(from(after(_x41, mark(cons(_x61, _x62)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52))))top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(ok(from(after(mark(mark(_x61)), cons(_x51, _x52)))))top#(from(mark(mark(after(_x61, cons(active(_x51), _x52))))))
top#(ok(after(0, _x21)))top#(mark(_x21))top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(mark(cons(_x71, from(s(_x71)))), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(_x101, active(_x102)), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(after(0, _x71), _x52)))))top#(from(mark(after(_x31, cons(mark(_x71), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(after(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(after(active(_x111), _x112)), _x52)))))top#(ok(from(after(mark(_x31), cons(after(0, _x91), _x52)))))top#(from(mark(after(_x31, cons(mark(_x91), _x52)))))
top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(active(_x91), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(from(after(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(after(_x111, active(_x112))), _x52)))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x101), _x102), _x72), _x52)))))top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))
top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))top#(ok(from(after(mark(_x31), cons(cons(after(s(_x102), cons(_x103, _x101)), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(after(_x102, _x101)), _x72), _x52)))))
top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))
top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(after(active(_x91), _x92), _x52)))))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(active(_x101), _x102), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(after(_x91, active(_x92)), _x52)))))
top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))top#(ok(from(s(_x41))))top#(from(s(active(_x41))))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, from(active(_x51)))))top#(ok(from(after(mark(_x31), cons(from(s(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(s(active(_x111))), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(s(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(s(active(_x131)), _x112), _x92), _x72), _x52))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, ok, mark, proper, from, top, cons

Strategy


The right-hand side of the rule top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(after(_x41, cons(cons(cons(after(s(active(_x131)), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(after(cons(active(_x131), _x132), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(after(after(_x131, active(_x132)), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(after(mark(_x131), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(after(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(after(from(active(_x131)), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(after(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52)))) 
top#(from(after(_x41, cons(cons(cons(mark(after(active(_x111), _x122)), _x92), _x72), _x52)))) 
top#(from(mark(after(_x31, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52))))) 
top#(from(after(_x41, cons(cons(cons(after(after(active(_x131), _x132), _x112), _x92), _x72), _x52)))) 
Thus, the rule top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52)))) is replaced by the following rules:
top#(ok(from(after(_x41, cons(cons(cons(after(after(0, _x131), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(after(mark(_x131), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(after(_x131, _x132), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(after(after(_x131, active(_x132)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(after(from(_x131), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(after(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(s(_x131), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(after(s(active(_x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(_x111, mark(_x122)), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(mark(after(active(_x111), _x122)), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(after(_x131, _x132), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(after(after(active(_x131), _x132), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(from(_x131), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(after(from(active(_x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(after(s(_x132), cons(_x133, _x131)), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(after(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(cons(_x131, _x132), _x112), _x92), _x72), _x52))))) → top#(from(after(_x41, cons(cons(cons(after(cons(active(_x131), _x132), _x112), _x92), _x72), _x52))))

Problem 27: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(mark(_x31), cons(from(from(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(mark(cons(_x111, from(s(_x111))))), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(_x91), _x52)))))top#(from(mark(after(_x31, cons(mark(cons(_x91, from(s(_x91)))), _x52)))))top#(ok(from(after(mark(_x31), cons(from(after(0, _x111)), _x52)))))top#(from(mark(after(_x31, cons(from(mark(_x111)), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(active(_x91), _x92), _x52)))))top#(ok(from(from(after(0, _x51)))))top#(from(from(mark(_x51))))
top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(_x71, active(_x72)), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(active(_x91)), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x132), cons(_x133, _x131)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x91, _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x91), _x92), _x72), _x52)))))top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(active(_x51), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(s(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(s(active(_x111)), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(cons(s(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(s(active(_x101)), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(after(after(s(_x132), cons(_x133, _x131)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(s(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(s(active(_x91)), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(from(active(_x111)), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(after(s(_x92), cons(_x93, _x91)), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(after(_x92, _x91)), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(s(_x72), cons(_x73, _x71)), _x52)))))top#(from(after(_x41, cons(mark(after(_x72, _x71)), _x52))))top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(_x111, active(_x112)), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(s(_x91), _x52)))))top#(from(mark(after(_x31, cons(s(active(_x91)), _x52)))))top#(ok(from(after(mark(_x31), cons(from(after(s(_x112), cons(_x113, _x111))), _x52)))))top#(from(mark(after(_x31, cons(from(mark(after(_x112, _x111))), _x52)))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))top#(ok(from(after(mark(_x31), after(0, _x51)))))top#(from(mark(after(_x31, mark(_x51)))))
top#(ok(from(after(_x41, cons(cons(cons(after(0, _x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(_x111), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(_x112, _x111)), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(cons(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(cons(active(_x131), _x132), _x112), _x92), _x72), _x52))))top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))
top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(cons(_x91, from(s(_x91)))), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(active(_x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(from(cons(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(cons(active(_x111), _x112)), _x52)))))top#(ok(from(after(mark(_x31), cons(after(s(_x92), cons(_x93, _x91)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x92, _x91)), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(active(_x71), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(_x91, active(_x92)), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(from(from(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(from(active(_x111))), _x52)))))top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(from(active(_x71)), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(active(_x71), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(0, _x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(_x131), _x112), _x92), _x72), _x52))))
top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))top#(ok(from(after(_x41, cons(cons(cons(after(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(after(_x131, active(_x132)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(active(_x131), _x132), _x112), _x92), _x72), _x52))))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(cons(_x101, from(s(_x101)))), _x72), _x52)))))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(ok(from(after(mark(mark(_x61)), cons(cons(_x71, _x72), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(active(_x71), _x72), _x52))))))top#(ok(from(after(_x31, after(0, _x32)))))top#(from(mark(after(_x31, _x32))))
top#(ok(from(after(mark(_x31), cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52)))))top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))
top#(ok(from(after(mark(_x31), cons(_x51, _x52)))))top#(mark(from(after(_x31, cons(active(_x51), _x52)))))top#(ok(from(after(mark(_x31), _x42))))top#(from(mark(after(_x31, active(_x42)))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(from(active(_x101)), _x72), _x52)))))top#(ok(from(after(_x41, s(_x51)))))top#(from(after(_x41, s(active(_x51)))))
top#(ok(from(after(mark(_x31), cons(cons(after(0, _x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(_x101), _x72), _x52)))))top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(_x131, active(_x132)), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(after(active(_x131), _x132), _x112), _x92), _x72), _x52))))
top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))top#(ok(from(after(_x41, cons(cons(cons(after(after(0, _x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(_x131), _x112), _x92), _x72), _x52))))
top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(_x41, cons(cons(cons(after(s(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(s(active(_x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(_x111, mark(_x122)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(active(_x111), _x122)), _x92), _x72), _x52))))top#(ok(from(after(mark(mark(_x61)), cons(from(_x91), _x52)))))top#(from(mark(mark(after(_x61, cons(from(active(_x91)), _x52))))))
top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51))))))top#(from(after(_x41, mark(after(_x52, _x51)))))top#(ok(from(after(mark(_x31), cons(from(_x91), _x52)))))top#(mark(from(after(_x31, cons(from(active(_x91)), _x52)))))
top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))
top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(_x51, active(_x52)))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(_x111, _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(after(0, _x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(_x91), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x72), _x52))))
top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))top#(ok(from(after(_x41, cons(s(_x71), _x52)))))top#(from(after(_x41, cons(s(active(_x71)), _x52))))
top#(ok(from(after(_x41, cons(after(0, _x61), _x62)))))top#(from(after(_x41, mark(cons(_x61, _x62)))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))top#(ok(from(after(_x41, cons(cons(cons(after(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(from(active(_x131)), _x112), _x92), _x72), _x52))))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(ok(from(after(mark(mark(_x61)), cons(_x51, _x52)))))top#(from(mark(mark(after(_x61, cons(active(_x51), _x52))))))
top#(ok(after(0, _x21)))top#(mark(_x21))top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(mark(cons(_x71, from(s(_x71)))), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(_x101, active(_x102)), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(after(0, _x71), _x52)))))top#(from(mark(after(_x31, cons(mark(_x71), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(after(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(after(active(_x111), _x112)), _x52)))))top#(ok(from(after(mark(_x31), cons(after(0, _x91), _x52)))))top#(from(mark(after(_x31, cons(mark(_x91), _x52)))))
top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(active(_x91), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(from(after(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(after(_x111, active(_x112))), _x52)))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x101), _x102), _x72), _x52)))))top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))
top#(ok(from(after(mark(_x31), cons(cons(after(s(_x102), cons(_x103, _x101)), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(after(_x102, _x101)), _x72), _x52)))))top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))
top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(after(active(_x91), _x92), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(active(_x101), _x102), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(after(cons(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(cons(active(_x131), _x132), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(after(_x91, active(_x92)), _x52)))))top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, from(active(_x51)))))top#(ok(from(s(_x41))))top#(from(s(active(_x41))))
top#(ok(from(after(_x41, cons(cons(cons(cons(s(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(s(active(_x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(from(s(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(s(active(_x111))), _x52)))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


The right-hand side of the rule top#(ok(from(after(mark(_x31), cons(from(after(0, _x111)), _x52))))) → top#(from(mark(after(_x31, cons(from(mark(_x111)), _x52))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(mark(mark(after(_x61, cons(from(mark(_x111)), _x52)))))) 
top#(from(mark(after(_x31, cons(mark(from(_x91)), _x52))))) 
top#(mark(from(after(_x31, cons(from(mark(_x111)), _x52))))) 
Thus, the rule top#(ok(from(after(mark(_x31), cons(from(after(0, _x111)), _x52))))) → top#(from(mark(after(_x31, cons(from(mark(_x111)), _x52))))) is replaced by the following rules:
top#(ok(from(after(mark(mark(_x61)), cons(from(after(0, _x111)), _x52))))) → top#(from(mark(mark(after(_x61, cons(from(mark(_x111)), _x52))))))top#(ok(from(after(mark(_x31), cons(from(after(0, _x91)), _x52))))) → top#(from(mark(after(_x31, cons(mark(from(_x91)), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(after(0, _x111)), _x52))))) → top#(mark(from(after(_x31, cons(from(mark(_x111)), _x52)))))

Problem 28: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(after(mark(_x31), cons(from(after(0, _x111)), _x52)))))top#(mark(from(after(_x31, cons(from(mark(_x111)), _x52)))))top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))
top#(ok(from(after(mark(_x31), cons(from(from(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(mark(cons(_x111, from(s(_x111))))), _x52)))))top#(ok(from(after(mark(_x31), cons(from(_x91), _x52)))))top#(from(mark(after(_x31, cons(mark(cons(_x91, from(s(_x91)))), _x52)))))
top#(ok(from(from(after(0, _x51)))))top#(from(from(mark(_x51))))top#(ok(from(after(mark(_x31), cons(cons(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(active(_x91), _x92), _x52)))))
top#(ok(from(after(_x41, _x42))))top#(from(after(active(_x41), _x42)))top#(ok(from(after(_x41, cons(cons(cons(after(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(_x71, active(_x72)), _x52))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(active(_x91)), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x132), cons(_x133, _x131)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x91, _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x91), _x92), _x72), _x52)))))top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(active(_x51), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(s(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(s(active(_x111)), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(cons(s(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(s(active(_x101)), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(after(after(s(_x132), cons(_x133, _x131)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(s(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(s(active(_x91)), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(from(active(_x111)), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(after(s(_x92), cons(_x93, _x91)), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(after(_x92, _x91)), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(s(_x72), cons(_x73, _x71)), _x52)))))top#(from(after(_x41, cons(mark(after(_x72, _x71)), _x52))))top#(ok(from(after(mark(mark(_x61)), cons(from(after(0, _x111)), _x52)))))top#(from(mark(mark(after(_x61, cons(from(mark(_x111)), _x52))))))
top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(ok(from(after(mark(_x31), cons(s(_x91), _x52)))))top#(from(mark(after(_x31, cons(s(active(_x91)), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(_x111, active(_x112)), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(from(after(s(_x112), cons(_x113, _x111))), _x52)))))top#(from(mark(after(_x31, cons(from(mark(after(_x112, _x111))), _x52)))))top#(ok(from(after(mark(_x31), after(0, _x51)))))top#(from(mark(after(_x31, mark(_x51)))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))top#(ok(from(after(_x41, cons(cons(cons(after(0, _x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(_x111), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(_x112, _x111)), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(cons(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(cons(active(_x131), _x132), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(active(_x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(cons(_x91, from(s(_x91)))), _x72), _x52))))
top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))top#(ok(from(after(mark(_x31), cons(from(cons(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(cons(active(_x111), _x112)), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(s(_x92), cons(_x93, _x91)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x92, _x91)), _x52)))))top#(ok(from(after(mark(_x31), cons(from(from(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(from(active(_x111))), _x52)))))
top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(_x91, active(_x92)), _x72), _x52))))top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(active(_x71), _x72), _x52))))
top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(from(active(_x71)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(active(_x71), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(0, _x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(_x131), _x112), _x92), _x72), _x52))))top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))
top#(ok(from(after(_x41, cons(cons(cons(after(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(after(_x131, active(_x132)), _x112), _x92), _x72), _x52))))top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(active(_x131), _x132), _x112), _x92), _x72), _x52))))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(cons(_x101, from(s(_x101)))), _x72), _x52)))))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(ok(from(after(mark(mark(_x61)), cons(cons(_x71, _x72), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(active(_x71), _x72), _x52))))))
top#(ok(from(after(_x31, after(0, _x32)))))top#(from(mark(after(_x31, _x32))))top#(ok(from(after(mark(_x31), cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52)))))
top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))top#(ok(from(after(mark(_x31), cons(_x51, _x52)))))top#(mark(from(after(_x31, cons(active(_x51), _x52)))))
top#(ok(from(after(mark(_x31), _x42))))top#(from(mark(after(_x31, active(_x42)))))top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(from(active(_x101)), _x72), _x52)))))
top#(ok(from(after(_x41, s(_x51)))))top#(from(after(_x41, s(active(_x51)))))top#(ok(from(after(mark(_x31), cons(cons(after(0, _x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(_x101), _x72), _x52)))))
top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(_x131, active(_x132)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(after(active(_x131), _x132), _x112), _x92), _x72), _x52))))top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))
top#(ok(from(after(_x41, cons(cons(cons(after(after(0, _x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(_x131), _x112), _x92), _x72), _x52))))top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))
top#(ok(from(after(_x41, cons(cons(cons(after(s(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(s(active(_x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(_x111, mark(_x122)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(active(_x111), _x122)), _x92), _x72), _x52))))
top#(ok(from(after(mark(mark(_x61)), cons(from(_x91), _x52)))))top#(from(mark(mark(after(_x61, cons(from(active(_x91)), _x52))))))top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51))))))top#(from(after(_x41, mark(after(_x52, _x51)))))
top#(ok(from(after(mark(_x31), cons(from(_x91), _x52)))))top#(mark(from(after(_x31, cons(from(active(_x91)), _x52)))))top#(ok(from(after(mark(_x31), cons(from(after(0, _x91)), _x52)))))top#(from(mark(after(_x31, cons(mark(from(_x91)), _x52)))))
top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))
top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(_x51, active(_x52)))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(_x111, _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(after(0, _x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(_x91), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x72), _x52))))
top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))top#(ok(from(after(_x41, cons(s(_x71), _x52)))))top#(from(after(_x41, cons(s(active(_x71)), _x52))))
top#(ok(from(after(_x41, cons(after(0, _x61), _x62)))))top#(from(after(_x41, mark(cons(_x61, _x62)))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))top#(ok(from(after(_x41, cons(cons(cons(after(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(from(active(_x131)), _x112), _x92), _x72), _x52))))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(ok(from(after(mark(mark(_x61)), cons(_x51, _x52)))))top#(from(mark(mark(after(_x61, cons(active(_x51), _x52))))))
top#(ok(after(0, _x21)))top#(mark(_x21))top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(mark(cons(_x71, from(s(_x71)))), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(_x101, active(_x102)), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(after(0, _x71), _x52)))))top#(from(mark(after(_x31, cons(mark(_x71), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(after(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(after(active(_x111), _x112)), _x52)))))top#(ok(from(after(mark(_x31), cons(after(0, _x91), _x52)))))top#(from(mark(after(_x31, cons(mark(_x91), _x52)))))
top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(active(_x91), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(from(after(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(after(_x111, active(_x112))), _x52)))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))
top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))top#(ok(from(after(mark(_x31), cons(cons(cons(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x101), _x102), _x72), _x52)))))
top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))top#(ok(from(after(mark(_x31), cons(cons(after(s(_x102), cons(_x103, _x101)), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(after(_x102, _x101)), _x72), _x52)))))
top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))
top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(after(active(_x91), _x92), _x52)))))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(ok(from(after(_x41, cons(cons(cons(after(cons(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(cons(active(_x131), _x132), _x112), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(active(_x101), _x102), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(after(_x91, active(_x92)), _x52)))))top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))
top#(ok(from(s(_x41))))top#(from(s(active(_x41))))top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, from(active(_x51)))))
top#(ok(from(after(mark(_x31), cons(from(s(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(s(active(_x111))), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(s(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(s(active(_x131)), _x112), _x92), _x72), _x52))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, ok, mark, proper, from, top, cons

Strategy


The right-hand side of the rule top#(ok(from(after(mark(_x31), cons(cons(_x91, _x92), _x52))))) → top#(from(mark(after(_x31, cons(cons(active(_x91), _x92), _x52))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(mark(from(after(_x31, cons(cons(active(_x91), _x92), _x52))))) 
top#(from(mark(mark(after(_x61, cons(cons(active(_x91), _x92), _x52)))))) 
top#(from(mark(after(_x31, cons(cons(s(active(_x111)), _x92), _x52))))) 
top#(from(mark(after(_x31, cons(cons(mark(after(_x112, _x111)), _x92), _x52))))) 
top#(from(mark(after(_x31, cons(cons(from(active(_x111)), _x92), _x52))))) 
top#(from(mark(after(_x31, cons(cons(after(_x111, active(_x112)), _x92), _x52))))) 
top#(from(mark(after(_x31, cons(cons(after(active(_x111), _x112), _x92), _x52))))) 
top#(from(mark(after(_x31, cons(cons(mark(_x111), _x92), _x52))))) 
top#(from(mark(after(_x31, cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x52))))) 
top#(from(mark(after(_x31, cons(cons(cons(active(_x111), _x112), _x92), _x52))))) 
Thus, the rule top#(ok(from(after(mark(_x31), cons(cons(_x91, _x92), _x52))))) → top#(from(mark(after(_x31, cons(cons(active(_x91), _x92), _x52))))) is replaced by the following rules:
top#(ok(from(after(mark(_x31), cons(cons(_x91, _x92), _x52))))) → top#(mark(from(after(_x31, cons(cons(active(_x91), _x92), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(s(_x111), _x92), _x52))))) → top#(from(mark(after(_x31, cons(cons(s(active(_x111)), _x92), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x111, _x112), _x92), _x52))))) → top#(from(mark(after(_x31, cons(cons(cons(active(_x111), _x112), _x92), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(from(_x111), _x92), _x52))))) → top#(from(mark(after(_x31, cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x52))))) → top#(from(mark(after(_x31, cons(cons(mark(after(_x112, _x111)), _x92), _x52)))))top#(ok(from(after(mark(mark(_x61)), cons(cons(_x91, _x92), _x52))))) → top#(from(mark(mark(after(_x61, cons(cons(active(_x91), _x92), _x52))))))
top#(ok(from(after(mark(_x31), cons(cons(after(0, _x111), _x92), _x52))))) → top#(from(mark(after(_x31, cons(cons(mark(_x111), _x92), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(after(_x111, _x112), _x92), _x52))))) → top#(from(mark(after(_x31, cons(cons(after(_x111, active(_x112)), _x92), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x111), _x92), _x52))))) → top#(from(mark(after(_x31, cons(cons(from(active(_x111)), _x92), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(after(_x111, _x112), _x92), _x52))))) → top#(from(mark(after(_x31, cons(cons(after(active(_x111), _x112), _x92), _x52)))))

Problem 29: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(after(mark(_x31), cons(from(from(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(mark(cons(_x111, from(s(_x111))))), _x52)))))top#(ok(from(after(mark(_x31), cons(from(_x91), _x52)))))top#(from(mark(after(_x31, cons(mark(cons(_x91, from(s(_x91)))), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(after(0, _x141)), _x102)), _x52)))))top#(mark(from(after(_x31, cons(after(_x71, after(s(mark(_x141)), _x102)), _x52)))))top#(ok(from(after(after(_x71, _x72), mark(_x32)))))top#(mark(from(after(after(_x71, active(_x72)), _x32))))
top#(ok(from(after(_x41, cons(after(_x71, s(_x101)), _x52)))))top#(from(after(_x41, cons(after(_x71, s(active(_x101))), _x52))))top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(_x151, _x152))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(after(active(_x151), _x152))), _x102)), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, from(_x101)), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(cons(_x101, from(s(_x101))))), _x52))))top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(mark(_x171)), cons(_x133, mark(mark(_x172)))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(mark(after(_x171, _x172))))), _x112), _x92), _x72), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, after(from(cons(_x141, _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(cons(active(_x141), _x142)), _x102)), _x52))))
top#(ok(from(after(mark(mark(_x61)), cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(mark(after(_x112, _x111)), _x92), _x52))))))top#(ok(from(after(cons(after(_x61, _x62), _x52), _x42))))top#(from(after(cons(after(active(_x61), _x62), _x52), _x42)))
top#(ok(from(after(after(s(ok(mark(_x91))), cons(_x53, ok(mark(_x92)))), _x32))))top#(from(mark(after(ok(mark(mark(after(_x91, _x92)))), _x32))))top#(ok(from(after(s(_x51), _x42))))top#(from(after(s(active(_x51)), _x42)))
top#(ok(from(after(mark(_x31), cons(s(_x91), _x52)))))top#(from(mark(after(_x31, cons(s(active(_x91)), _x52)))))top#(ok(from(after(mark(_x31), cons(from(after(s(_x112), cons(_x113, _x111))), _x52)))))top#(from(mark(after(_x31, cons(from(mark(after(_x112, _x111))), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(after(s(_x142), cons(_x143, _x141))), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(mark(after(_x142, _x141))), _x102)), _x52)))))top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))
top#(ok(from(after(_x41, mark(_x32)))))top#(mark(from(after(active(_x41), _x32))))top#(ok(from(after(_x41, cons(cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(_x112, _x111)), _x92), _x72), _x52))))
top#(ok(from(after(after(s(_x72), cons(_x73, _x71)), mark(_x32)))))top#(from(mark(after(mark(after(_x72, _x71)), _x32))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(active(_x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x161), cons(_x133, mark(mark(_x162)))), _x122), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(mark(mark(after(_x161, _x162))), _x122)), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x132), cons(_x133, _x131)), _x122), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(after(_x132, _x131), _x122)), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(after(_x121, _x122), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(after(_x121, active(_x122)), _x102)), _x52))))top#(ok(from(after(cons(_x51, _x52), mark(_x32)))))top#(from(mark(after(cons(active(_x51), _x52), _x32))))
top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(_x91, active(_x92)), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(from(from(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(from(active(_x111))), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, after(s(after(0, _x141)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(mark(_x141)), _x102)), _x52))))top#(ok(from(after(after(s(_x61), cons(_x53, mark(_x62))), _x42))))top#(from(after(mark(mark(after(_x61, _x62))), _x42)))
top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(from(active(_x71)), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(0, _x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(_x131), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(after(0, _x121)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(mark(from(_x121)), _x102)), _x52)))))top#(ok(from(after(mark(_x31), cons(after(mark(_x91), after(s(_x121), _x102)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x91, after(s(active(_x121)), _x102))), _x52)))))
top#(ok(from(after(after(s(ok(mark(_x71))), cons(_x53, ok(_x72))), _x32))))top#(mark(from(after(ok(mark(after(_x71, _x72))), _x32))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(ok(_x171)), cons(_x133, mark(mark(ok(_x172))))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(mark(ok(after(_x171, _x172))))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(s(_x111), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(s(active(_x111)), _x92), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(active(_x131), _x132), _x112), _x92), _x72), _x52))))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(ok(from(after(mark(mark(_x61)), cons(cons(_x91, _x92), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(active(_x91), _x92), _x52))))))
top#(ok(from(after(cons(from(_x61), _x52), _x42))))top#(from(after(cons(from(active(_x61)), _x52), _x42)))top#(ok(from(after(after(s(ok(_x61)), cons(_x53, ok(_x62))), mark(_x32)))))top#(from(mark(after(mark(ok(after(_x61, _x62))), _x32))))
top#(ok(from(after(_x31, after(0, _x32)))))top#(from(mark(after(_x31, _x32))))top#(ok(from(after(after(s(ok(mark(mark(_x91)))), cons(_x53, ok(_x92))), _x32))))top#(from(mark(after(ok(mark(mark(after(_x91, _x92)))), _x32))))
top#(ok(from(after(s(_x71), mark(_x32)))))top#(from(mark(after(s(active(_x71)), _x32))))top#(ok(from(after(mark(_x31), cons(cons(after(s(ok(_x131)), cons(_x113, ok(_x132))), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(ok(after(_x131, _x132))), _x92), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(after(0, _x141)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(mark(_x141)), _x102)), _x52))))top#(ok(from(after(cons(_x71, _x72), mark(_x32)))))top#(from(mark(after(cons(active(_x71), _x72), _x32))))
top#(ok(from(after(mark(_x31), cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52)))))top#(ok(from(after(cons(after(0, _x61), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(_x61), _x52), _x32))))
top#(ok(from(after(mark(mark(_x61)), cons(after(mark(_x121), after(from(after(0, _x141)), _x102)), _x52)))))top#(from(mark(mark(after(_x61, cons(mark(after(_x121, after(from(mark(_x141)), _x102))), _x52))))))top#(ok(from(after(_x41, cons(cons(from(after(_x111, _x112)), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(after(active(_x111), _x112)), _x72), _x52))))
top#(ok(from(after(mark(_x31), _x42))))top#(from(mark(after(_x31, active(_x42)))))top#(ok(from(after(mark(_x31), cons(cons(from(_x111), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(from(active(_x111)), _x92), _x52)))))
top#(ok(from(after(_x41, s(_x51)))))top#(from(after(_x41, s(active(_x51)))))top#(ok(from(after(mark(_x31), cons(cons(after(0, _x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(_x101), _x72), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(0, _x151))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(mark(_x151))), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(_x151), cons(_x133, mark(_x152))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(after(_x151, _x152))), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(mark(mark(_x61)), cons(after(_x71, after(s(_x121), _x102)), _x52)))))top#(from(mark(mark(after(_x61, cons(after(_x71, after(s(active(_x121)), _x102)), _x52))))))top#(ok(from(after(_x41, cons(cons(cons(after(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(after(active(_x131), _x132), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(after(0, _x111), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(_x111), _x92), _x52)))))top#(ok(from(after(after(_x71, after(0, _x81)), mark(mark(_x52))))))top#(from(mark(mark(after(after(_x71, mark(_x81)), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(_x132), cons(_x133, _x131)), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52)))))top#(ok(from(after(after(_x71, from(_x81)), mark(_x32)))))top#(from(mark(after(after(_x71, from(active(_x81))), _x32))))
top#(ok(from(after(_x41, cons(cons(cons(after(after(0, _x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(_x131), _x112), _x92), _x72), _x52))))top#(ok(from(after(after(_x51, _x52), _x42))))top#(from(after(after(active(_x51), _x52), _x42)))
top#(ok(from(after(_x41, cons(cons(cons(after(after(s(_x132), cons(_x133, _x131)), mark(_x122)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(mark(after(_x132, _x131)), _x122)), _x92), _x72), _x52))))top#(ok(from(after(mark(mark(_x61)), cons(after(_x71, after(s(after(0, _x141)), _x102)), _x52)))))top#(from(mark(mark(after(_x61, cons(after(_x71, after(s(mark(_x141)), _x102)), _x52))))))
top#(ok(from(after(_x41, cons(after(_x71, after(s(after(_x141, _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(after(_x141, active(_x142))), _x102)), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(s(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(s(active(_x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(from(_x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(mark(cons(_x141, from(s(_x141))))), _x102)), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(after(_x111, mark(_x122)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(active(_x111), _x122)), _x92), _x72), _x52))))
top#(ok(from(after(after(0, _x51), _x42))))top#(from(after(mark(_x51), _x42)))top#(ok(from(after(mark(mark(_x61)), cons(from(_x91), _x52)))))top#(from(mark(mark(after(_x61, cons(from(active(_x91)), _x52))))))
top#(ok(from(after(after(mark(_x61), _x72), mark(_x32)))))top#(from(mark(after(mark(after(_x61, active(_x72))), _x32))))top#(ok(from(after(from(_x71), mark(_x32)))))top#(from(mark(after(from(active(_x71)), _x32))))
top#(ok(from(after(mark(_x31), cons(from(_x91), _x52)))))top#(mark(from(after(_x31, cons(from(active(_x91)), _x52)))))top#(ok(from(after(mark(mark(_x61)), cons(after(_x71, after(from(after(0, _x161)), _x102)), _x52)))))top#(from(mark(mark(after(_x61, cons(after(_x71, after(mark(from(_x161)), _x102)), _x52))))))
top#(ok(from(after(mark(_x31), cons(from(after(0, _x91)), _x52)))))top#(from(mark(after(_x31, cons(mark(from(_x91)), _x52)))))top#(ok(from(after(after(_x71, _x72), mark(mark(_x52))))))top#(from(mark(mark(after(after(_x71, active(_x72)), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(_x121), _x102)), _x52)))))top#(mark(from(after(_x31, cons(after(_x71, after(s(active(_x121)), _x102)), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, after(s(from(_x141)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(mark(cons(_x141, from(s(_x141))))), _x102)), _x52))))
top#(ok(from(after(_x41, cons(cons(from(cons(_x111, _x112)), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(cons(active(_x111), _x112)), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(_x121), mark(_x112))), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, mark(after(s(active(_x121)), _x112))), _x52)))))
top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(_x51, active(_x52)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(_x111, _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(after(_x71, _x72), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, active(_x72)), _x52)))))top#(ok(from(after(_x41, cons(after(0, _x61), _x62)))))top#(from(after(_x41, mark(cons(_x61, _x62)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(mark(_x161)), cons(_x133, mark(_x162))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(mark(after(_x161, _x162)))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(after(s(ok(mark(ok(_x101)))), cons(_x53, ok(ok(mark(_x102))))), _x32))))top#(from(mark(after(ok(mark(ok(mark(after(_x101, _x102))))), _x32))))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(ok(from(after(_x41, cons(cons(cons(after(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(from(active(_x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(mark(mark(_x61)), cons(_x51, _x52)))))top#(from(mark(mark(after(_x61, cons(active(_x51), _x52))))))
top#(ok(from(after(after(s(ok(mark(ok(_x91)))), cons(_x53, ok(ok(_x92)))), mark(_x52)))))top#(from(mark(mark(after(ok(mark(ok(after(_x91, _x92)))), _x52)))))top#(ok(from(after(_x41, cons(after(mark(_x81), _x72), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, active(_x72))), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(from(_x151))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(mark(cons(_x151, from(s(_x151)))))), _x102)), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(mark(_x181)), cons(_x133, mark(mark(mark(_x182))))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(mark(mark(mark(after(_x181, _x182)))))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(from(_x151))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(from(active(_x151)))), _x102)), _x52))))top#(ok(from(after(_x41, cons(cons(from(from(_x111)), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(mark(cons(_x111, from(s(_x111))))), _x72), _x52))))
top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(mark(cons(_x71, from(s(_x71)))), _x52))))top#(ok(from(after(after(_x61, after(0, _x62)), mark(_x32)))))top#(from(mark(after(mark(after(_x61, _x62)), _x32))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x111), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(ok(_x151)), cons(_x133, ok(_x152))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(ok(after(_x151, _x152))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(after(0, _x71), _x52)))))top#(from(mark(after(_x31, cons(mark(_x71), _x52)))))top#(ok(from(after(after(s(ok(mark(_x81))), cons(_x53, ok(mark(_x82)))), _x42))))top#(from(after(mark(ok(mark(mark(after(_x81, _x82))))), _x42)))
top#(ok(from(after(mark(_x31), cons(from(after(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(after(active(_x111), _x112)), _x52)))))top#(ok(from(after(after(s(ok(mark(_x71))), cons(_x53, ok(_x72))), mark(_x32)))))top#(from(mark(after(mark(ok(mark(after(_x71, _x72)))), _x32))))
top#(ok(from(after(_x41, cons(after(mark(_x81), after(_x101, _x102)), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, after(active(_x101), _x102))), _x52))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(from(_x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(from(active(_x141))), _x102)), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(from(_x141)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(mark(cons(_x141, from(s(_x141))))), _x102)), _x52))))top#(ok(cons(after(0, _x41), _x22)))top#(cons(mark(_x41), _x22))
top#(ok(from(after(mark(_x31), cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x52)))))top#(mark(from(after(_x31, cons(cons(mark(after(_x112, _x111)), _x92), _x52)))))top#(ok(cons(after(_x41, _x42), _x22)))top#(cons(after(_x41, active(_x42)), _x22))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x151), cons(_x133, mark(_x152))), _x122), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(mark(after(_x151, _x152)), _x122)), _x92), _x72), _x52))))top#(ok(from(after(cons(after(0, _x41), _x42), _x42))))top#(from(after(mark(cons(_x41, _x42)), _x42)))
top#(ok(from(after(mark(_x31), cons(from(after(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(after(_x111, active(_x112))), _x52)))))top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(_x91, _x92), _x52)))))top#(mark(from(after(_x31, cons(cons(active(_x91), _x92), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(mark(ok(_x181))), cons(_x133, mark(mark(ok(_x182))))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(mark(mark(ok(after(_x181, _x182)))))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(after(_x141, _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(after(active(_x141), _x142)), _x102)), _x52))))top#(ok(from(after(_x41, cons(after(_x71, after(from(_x121), mark(_x112))), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(after(from(active(_x121)), _x112))), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(s(cons(_x141, _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(cons(active(_x141), _x142)), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(cons(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x101), _x102), _x72), _x52)))))
top#(ok(from(after(after(_x71, s(_x81)), mark(_x32)))))top#(from(mark(after(after(_x71, s(active(_x81))), _x32))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(after(_x141, _x142)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(s(after(_x141, active(_x142))), _x102)), _x52)))))
top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))top#(ok(from(after(mark(_x31), cons(cons(after(s(_x102), cons(_x103, _x101)), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(after(_x102, _x101)), _x72), _x52)))))
top#(ok(from(after(after(_x71, cons(_x81, _x82)), mark(_x32)))))top#(from(mark(after(after(_x71, cons(active(_x81), _x82)), _x32))))top#(ok(from(after(after(mark(_x61), after(0, _x81)), mark(_x32)))))top#(from(mark(after(mark(after(_x61, mark(_x81))), _x32))))
top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))top#(ok(from(after(_x41, cons(after(_x71, after(_x101, _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(_x101, active(_x102))), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(s(from(_x141)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(from(active(_x141))), _x102)), _x52))))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(after(0, _x141)), mark(_x112))), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, mark(after(s(mark(_x141)), _x112))), _x52)))))top#(ok(from(after(mark(mark(mark(_x81))), cons(after(_x71, after(from(after(0, _x141)), _x102)), _x52)))))top#(from(mark(mark(mark(after(_x81, cons(after(_x71, after(from(mark(_x141)), _x102)), _x52)))))))
top#(ok(from(after(_x41, cons(cons(cons(after(cons(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(cons(active(_x131), _x132), _x112), _x92), _x72), _x52))))top#(ok(cons(from(_x41), _x22)))top#(cons(from(active(_x41)), _x22))
top#(ok(from(after(_x41, cons(after(_x71, after(0, _x101)), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(_x101)), _x52))))top#(ok(from(after(after(_x71, after(0, _x81)), mark(_x32)))))top#(mark(from(after(after(_x71, mark(_x81)), _x32))))
top#(ok(from(after(after(_x51, _x52), _x42))))top#(from(after(after(_x51, active(_x52)), _x42)))top#(ok(from(after(_x41, cons(cons(cons(cons(s(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(s(active(_x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(from(s(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(s(active(_x111))), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(after(_x111, _x112), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(after(_x111, active(_x112)), _x92), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(after(s(_x142), cons(_x143, _x141))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(mark(after(_x142, _x141))), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(s(_x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(s(s(active(_x141))), _x102)), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(after(s(mark(_x131)), cons(_x113, _x132)), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(mark(after(_x131, _x132))), _x92), _x52)))))top#(ok(from(after(from(_x71), mark(_x32)))))top#(from(mark(after(mark(cons(_x71, from(s(_x71)))), _x32))))
top#(ok(from(after(mark(_x31), cons(from(after(0, _x111)), _x52)))))top#(mark(from(after(_x31, cons(from(mark(_x111)), _x52)))))top#(ok(from(after(from(_x51), _x42))))top#(from(after(mark(cons(_x51, from(s(_x51)))), _x42)))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(after(s(ok(mark(mark(_x81)))), cons(_x53, ok(_x82))), _x42))))top#(from(after(mark(ok(mark(mark(after(_x81, _x82))))), _x42)))
top#(ok(from(after(_x41, cons(cons(from(after(_x111, _x112)), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(after(_x111, active(_x112))), _x72), _x52))))top#(ok(from(after(after(s(ok(mark(ok(_x91)))), cons(_x53, ok(ok(_x92)))), _x32))))top#(mark(from(after(ok(mark(ok(after(_x91, _x92)))), _x32))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(_x141)), mark(_x112))), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(after(from(s(active(_x141))), _x112))), _x52))))top#(ok(from(after(after(s(ok(ok(_x71))), cons(_x53, ok(ok(_x72)))), _x42))))top#(from(after(mark(ok(ok(after(_x71, _x72)))), _x42)))
top#(ok(from(after(_x41, mark(mark(_x62))))))top#(from(mark(mark(after(active(_x41), _x62)))))top#(ok(from(after(_x41, cons(cons(cons(after(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(after(_x141, _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(after(_x141, active(_x142))), _x102)), _x52))))top#(ok(from(after(_x41, cons(after(_x71, after(s(after(_x141, _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(after(active(_x141), _x142)), _x102)), _x52))))
top#(ok(from(after(after(s(_x52), cons(_x53, _x51)), mark(_x32)))))top#(from(mark(after(mark(after(_x52, _x51)), _x32))))top#(ok(from(after(_x41, cons(after(_x71, after(after(0, _x121), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(mark(_x121), _x102)), _x52))))
top#(ok(from(after(after(s(ok(_x61)), cons(_x53, ok(_x62))), _x32))))top#(from(mark(after(ok(after(_x61, _x62)), _x32))))top#(ok(from(after(mark(_x31), cons(cons(after(_x111, _x112), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(after(active(_x111), _x112), _x92), _x52)))))
top#(ok(from(after(_x41, cons(after(mark(_x81), after(from(_x121), _x102)), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, after(from(active(_x121)), _x102))), _x52))))top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(s(_x152), cons(_x153, _x151)))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(mark(after(_x152, _x151)))), _x102)), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x91, _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x91), _x92), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(after(_x141, _x142)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(after(_x141, active(_x142))), _x102)), _x52)))))
top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(active(_x51), _x52))))top#(ok(from(after(_x41, cons(cons(cons(s(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(s(active(_x111)), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(from(s(_x111)), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(s(active(_x111))), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(after(mark(_x91), after(from(after(0, _x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x91, after(from(mark(_x141)), _x102))), _x52)))))
top#(ok(cons(s(_x41), _x22)))top#(cons(s(active(_x41)), _x22))top#(ok(from(after(mark(_x31), cons(cons(s(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(s(active(_x101)), _x72), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, after(_x101, mark(_x112))), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(after(active(_x101), _x112))), _x52))))top#(ok(from(after(_x41, cons(cons(s(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(s(active(_x91)), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(from(active(_x111)), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(s(_x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(s(active(_x141))), _x102)), _x52)))))
top#(ok(from(after(_x41, cons(cons(after(s(_x92), cons(_x93, _x91)), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(after(_x92, _x91)), _x72), _x52))))top#(ok(from(after(_x41, cons(after(s(_x72), cons(_x73, _x71)), _x52)))))top#(from(after(_x41, cons(mark(after(_x72, _x71)), _x52))))
top#(ok(from(after(mark(mark(_x61)), cons(from(after(0, _x111)), _x52)))))top#(from(mark(mark(after(_x61, cons(from(mark(_x111)), _x52))))))top#(ok(from(after(_x41, cons(after(_x71, from(_x101)), _x52)))))top#(from(after(_x41, cons(after(_x71, from(active(_x101))), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(mark(mark(_x181))), cons(_x133, mark(mark(_x182)))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(mark(mark(mark(after(_x181, _x182)))))), _x112), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(from(_x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(s(from(active(_x141))), _x102)), _x52)))))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(_x111, active(_x112)), _x92), _x72), _x52))))
top#(ok(from(after(cons(cons(_x61, _x62), _x52), _x42))))top#(from(after(cons(cons(active(_x61), _x62), _x52), _x42)))top#(ok(from(after(after(s(ok(mark(ok(ok(_x101))))), cons(_x53, ok(ok(ok(_x102))))), _x32))))top#(from(mark(after(ok(mark(ok(ok(after(_x101, _x102))))), _x32))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(s(_x151))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(s(active(_x151)))), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(_x161), cons(_x133, mark(mark(_x162)))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(after(_x161, _x162)))), _x112), _x92), _x72), _x52)))))
top#(ok(from(from(after(0, _x31)))))top#(from(mark(from(_x31))))top#(ok(from(after(mark(_x31), cons(after(mark(_x91), after(from(_x121), _x102)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x91, after(from(active(_x121)), _x102))), _x52)))))
top#(ok(from(after(mark(_x31), after(0, _x51)))))top#(from(mark(after(_x31, mark(_x51)))))top#(ok(cons(cons(_x41, _x42), _x22)))top#(cons(cons(active(_x41), _x42), _x22))
top#(ok(from(after(_x41, cons(cons(cons(after(0, _x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(_x111), _x92), _x72), _x52))))top#(ok(from(after(cons(from(_x61), _x52), _x42))))top#(from(after(cons(mark(cons(_x61, from(s(_x61)))), _x52), _x42)))
top#(ok(from(after(_x41, cons(cons(cons(cons(cons(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(cons(active(_x131), _x132), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(cons(_x91, from(s(_x91)))), _x72), _x52))))
top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))top#(ok(from(after(mark(_x31), cons(from(cons(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(cons(active(_x111), _x112)), _x52)))))
top#(ok(from(after(after(s(ok(_x71)), cons(_x53, ok(mark(_x72)))), _x42))))top#(from(after(mark(ok(mark(after(_x71, _x72)))), _x42)))top#(ok(from(after(mark(_x31), cons(after(s(_x92), cons(_x93, _x91)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x92, _x91)), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(after(0, _x141)), _x102)), _x52)))))top#(mark(from(after(_x31, cons(after(_x71, after(from(mark(_x141)), _x102)), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(active(_x71), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(cons(_x151, _x152))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(cons(active(_x151), _x152))), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(active(_x71), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x91), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(from(active(_x91)), _x72), _x52)))))top#(ok(from(after(mark(mark(_x61)), cons(after(_x71, after(from(_x121), _x102)), _x52)))))top#(from(mark(mark(after(_x61, cons(after(_x71, after(from(active(_x121)), _x102)), _x52))))))
top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))top#(ok(from(after(_x41, cons(cons(cons(after(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(after(_x131, active(_x132)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(after(mark(_x91), after(s(after(0, _x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x91, after(s(mark(_x141)), _x102))), _x52)))))top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))
top#(ok(from(after(after(s(ok(mark(_x71))), cons(_x53, ok(_x72))), ok(_x52)))))top#(from(mark(ok(after(mark(after(_x71, _x72)), _x52)))))top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))
top#(ok(from(after(mark(mark(_x61)), cons(cons(_x71, _x72), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(active(_x71), _x72), _x52))))))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(cons(_x101, from(s(_x101)))), _x72), _x52)))))top#(ok(from(after(_x41, cons(after(mark(_x81), after(s(_x121), _x102)), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, after(s(active(_x121)), _x102))), _x52))))
top#(ok(from(after(mark(mark(_x61)), cons(after(_x71, after(from(after(0, _x141)), _x102)), _x52)))))top#(mark(from(mark(after(_x61, cons(after(_x71, after(from(mark(_x141)), _x102)), _x52))))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(after(_x141, _x142)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(s(after(active(_x141), _x142)), _x102)), _x52)))))
top#(ok(from(after(_x41, cons(cons(from(after(0, _x111)), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(mark(_x111)), _x72), _x52))))top#(ok(from(after(_x41, cons(after(_x71, after(after(_x121, _x122), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(after(active(_x121), _x122), _x102)), _x52))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(_x101, _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(active(_x101), _x102)), _x52)))))top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))
top#(ok(from(after(mark(_x31), cons(_x51, _x52)))))top#(mark(from(after(_x31, cons(active(_x51), _x52)))))top#(ok(cons(after(s(_x42), cons(_x43, _x41)), _x22)))top#(cons(mark(after(_x42, _x41)), _x22))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(from(active(_x101)), _x72), _x52)))))top#(ok(from(after(after(_x71, _x72), mark(_x32)))))top#(from(mark(after(after(active(_x71), _x72), _x32))))
top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(_x121), _x102)), _x52)))))top#(mark(from(after(_x31, cons(after(_x71, after(from(active(_x121)), _x102)), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(_x131, active(_x132)), _x112), _x92), _x72), _x52))))top#(ok(from(after(after(s(ok(mark(ok(_x81)))), cons(_x53, ok(ok(_x82)))), _x42))))top#(from(after(mark(ok(mark(ok(after(_x81, _x82))))), _x42)))
top#(ok(from(after(cons(after(s(_x62), cons(_x63, _x61)), _x52), _x42))))top#(from(after(cons(mark(after(_x62, _x61)), _x52), _x42)))top#(ok(from(after(after(_x71, after(_x81, _x82)), mark(_x32)))))top#(from(mark(after(after(_x71, after(_x81, active(_x82))), _x32))))
top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))top#(ok(from(after(_x41, cons(after(_x71, after(s(s(_x141)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(s(active(_x141))), _x102)), _x52))))
top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(_x41, cons(after(_x71, after(from(from(_x141)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(from(active(_x141))), _x102)), _x52))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(after(0, _x121)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(mark(s(_x121)), _x102)), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(after(after(s(mark(_x151)), cons(_x133, _x152)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(mark(after(_x151, _x152))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(mark(_x81), after(from(s(_x141)), _x102)), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, after(from(s(active(_x141))), _x102))), _x52))))top#(ok(cons(from(_x41), _x22)))top#(cons(mark(cons(_x41, from(s(_x41)))), _x22))
top#(ok(from(after(_x41, cons(cons(from(from(_x111)), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(from(active(_x111))), _x72), _x52))))top#(ok(from(after(after(_x71, after(_x81, _x82)), mark(_x32)))))top#(from(mark(after(after(_x71, after(active(_x81), _x82)), _x32))))
top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51))))))top#(from(after(_x41, mark(after(_x52, _x51)))))top#(ok(from(after(cons(s(_x61), _x52), _x42))))top#(from(after(cons(s(active(_x61)), _x52), _x42)))
top#(ok(from(after(mark(mark(_x61)), cons(after(_x71, after(from(after(0, _x141)), mark(_x152))), _x52)))))top#(from(mark(mark(after(_x61, cons(after(_x71, mark(after(from(mark(_x141)), _x152))), _x52))))))top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(_x151, _x152))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(after(_x151, active(_x152)))), _x102)), _x52))))
top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))top#(ok(from(after(_x41, cons(after(_x71, after(after(s(_x122), cons(_x123, _x121)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(mark(after(_x122, _x121)), _x102)), _x52))))
top#(ok(from(after(after(s(ok(mark(_x71))), cons(_x53, ok(_x72))), mark(_x52)))))top#(from(mark(mark(after(ok(mark(after(_x71, _x72))), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, after(s(_x102), cons(_x103, _x101))), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(after(_x102, _x101))), _x52))))
top#(ok(from(after(_x41, cons(cons(after(0, _x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(_x91), _x72), _x52))))top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(ok(_x161)), cons(_x133, mark(ok(_x162)))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(ok(after(_x161, _x162)))), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(s(_x71), _x52)))))top#(from(after(_x41, cons(s(active(_x71)), _x52))))
top#(ok(from(after(after(_x71, after(s(_x82), cons(_x83, _x81))), mark(_x32)))))top#(from(mark(after(after(_x71, mark(after(_x82, _x81))), _x32))))top#(ok(from(after(after(_x71, from(_x81)), mark(_x32)))))top#(from(mark(after(after(_x71, mark(cons(_x81, from(s(_x81))))), _x32))))
top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))top#(ok(from(after(_x41, cons(cons(cons(after(after(s(_x132), cons(_x133, _x131)), _x122), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(after(_x132, _x131), _x122)), _x92), _x72), _x52))))
top#(ok(from(after(after(s(ok(mark(ok(_x91)))), cons(_x53, ok(ok(_x92)))), ok(_x52)))))top#(from(mark(ok(after(mark(ok(after(_x91, _x92))), _x52)))))top#(ok(after(0, _x21)))top#(mark(_x21))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(cons(_x141, _x142)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(s(cons(active(_x141), _x142)), _x102)), _x52)))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(cons(_x141, _x142)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(cons(active(_x141), _x142)), _x102)), _x52)))))
top#(ok(from(after(_x41, cons(cons(from(after(s(_x112), cons(_x113, _x111))), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(mark(after(_x112, _x111))), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(_x101, active(_x102)), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(after(s(_x131), cons(_x113, mark(_x132))), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(mark(after(_x131, _x132))), _x92), _x52)))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(after(s(_x142), cons(_x143, _x141))), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(s(mark(after(_x142, _x141))), _x102)), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(after(after(s(_x132), cons(_x133, _x131)), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(after(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(mark(_x171)), cons(_x133, mark(mark(_x172)))), _x122), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(mark(mark(mark(after(_x171, _x172)))), _x122)), _x92), _x72), _x52))))
top#(ok(from(after(cons(after(_x61, _x62), _x52), _x42))))top#(from(after(cons(after(_x61, active(_x62)), _x52), _x42)))top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(from(_x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(s(mark(cons(_x141, from(s(_x141))))), _x102)), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(0, _x91), _x52)))))top#(from(mark(after(_x31, cons(mark(_x91), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(after(after(s(_x151), cons(_x133, mark(_x152))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(mark(after(_x151, _x152))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(active(_x91), _x92), _x72), _x52))))top#(ok(from(after(after(s(ok(mark(ok(mark(_x101))))), cons(_x53, ok(ok(_x102)))), _x32))))top#(from(mark(after(ok(mark(ok(mark(after(_x101, _x102))))), _x32))))
top#(ok(from(after(_x41, cons(after(_x71, after(cons(_x121, _x122), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(cons(active(_x121), _x122), _x102)), _x52))))top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x111, _x112), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x111), _x112), _x92), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, after(s(after(s(_x142), cons(_x143, _x141))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(mark(after(_x142, _x141))), _x102)), _x52))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(_x121), mark(_x112))), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, mark(after(from(active(_x121)), _x112))), _x52)))))top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))
top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))top#(ok(from(after(_x41, cons(after(_x71, after(s(_x121), mark(_x112))), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(after(s(active(_x121)), _x112))), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, cons(_x101, _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, cons(active(_x101), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(after(s(_x112), cons(_x113, _x111)), _x102), _x52)))))top#(from(mark(after(_x31, cons(mark(cons(after(_x112, _x111), _x102)), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(after(active(_x91), _x92), _x52)))))top#(ok(from(after(after(0, _x71), mark(_x32)))))top#(from(mark(after(mark(_x71), _x32))))
top#(ok(cons(after(_x41, _x42), _x22)))top#(cons(after(active(_x41), _x42), _x22))top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(active(_x101), _x102), _x72), _x52)))))
top#(ok(from(after(after(s(_x52), cons(_x53, _x51)), _x32))))top#(from(mark(after(after(_x52, _x51), _x32))))top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(after(_x91, active(_x92)), _x52)))))
top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(after(0, _x141)), mark(_x112))), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, mark(after(from(mark(_x141)), _x112))), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(after(_x141, _x142)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(after(active(_x141), _x142)), _x102)), _x52)))))top#(ok(from(s(_x41))))top#(from(s(active(_x41))))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, from(active(_x51)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x171), cons(_x133, mark(mark(mark(_x172))))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(mark(mark(after(_x171, _x172))))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(_x121), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(mark(cons(_x121, from(s(_x121)))), _x102)), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(mark(_x151)), cons(_x133, _x152)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(after(_x151, _x152))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(after(s(mark(_x61)), cons(_x53, _x62)), _x42))))top#(from(after(mark(mark(after(_x61, _x62))), _x42)))top#(ok(from(after(from(_x51), _x42))))top#(from(after(from(active(_x51)), _x42)))
top#(ok(from(after(_x41, cons(cons(cons(after(after(s(ok(_x151)), cons(_x133, ok(_x152))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(ok(after(_x151, _x152))), _x112), _x92), _x72), _x52))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


The right-hand side of the rule top#(ok(from(after(_x41, cons(after(_x71, s(_x101)), _x52))))) → top#(from(after(_x41, cons(after(_x71, s(active(_x101))), _x52)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(after(_x41, cons(after(_x71, s(cons(active(_x121), _x122))), _x52)))) 
top#(from(after(_x41, cons(after(_x71, s(mark(_x121))), _x52)))) 
top#(from(after(_x41, cons(after(_x71, s(after(_x121, active(_x122)))), _x52)))) 
top#(from(after(_x41, cons(after(_x71, s(mark(cons(_x121, from(s(_x121)))))), _x52)))) 
top#(from(after(_x41, cons(after(_x71, s(from(active(_x121)))), _x52)))) 
top#(from(after(_x41, cons(mark(after(_x81, s(active(_x101)))), _x52)))) 
top#(from(mark(after(_x31, cons(after(_x71, s(active(_x101))), _x52))))) 
top#(from(after(_x41, cons(after(_x71, s(after(active(_x121), _x122))), _x52)))) 
top#(from(after(_x41, cons(after(_x71, s(s(active(_x121)))), _x52)))) 
top#(from(after(_x41, cons(after(_x71, s(mark(after(_x122, _x121)))), _x52)))) 
Thus, the rule top#(ok(from(after(_x41, cons(after(_x71, s(_x101)), _x52))))) → top#(from(after(_x41, cons(after(_x71, s(active(_x101))), _x52)))) is replaced by the following rules:
top#(ok(from(after(_x41, cons(after(_x71, s(cons(_x121, _x122))), _x52))))) → top#(from(after(_x41, cons(after(_x71, s(cons(active(_x121), _x122))), _x52))))top#(ok(from(after(_x41, cons(after(_x71, s(after(_x121, _x122))), _x52))))) → top#(from(after(_x41, cons(after(_x71, s(after(active(_x121), _x122))), _x52))))
top#(ok(from(after(_x41, cons(after(mark(_x81), s(_x101)), _x52))))) → top#(from(after(_x41, cons(mark(after(_x81, s(active(_x101)))), _x52))))top#(ok(from(after(_x41, cons(after(_x71, s(after(0, _x121))), _x52))))) → top#(from(after(_x41, cons(after(_x71, s(mark(_x121))), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, s(from(_x121))), _x52))))) → top#(from(after(_x41, cons(after(_x71, s(mark(cons(_x121, from(s(_x121)))))), _x52))))top#(ok(from(after(_x41, cons(after(_x71, s(from(_x121))), _x52))))) → top#(from(after(_x41, cons(after(_x71, s(from(active(_x121)))), _x52))))
top#(ok(from(after(mark(_x31), cons(after(_x71, s(_x101)), _x52))))) → top#(from(mark(after(_x31, cons(after(_x71, s(active(_x101))), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, s(after(s(_x122), cons(_x123, _x121)))), _x52))))) → top#(from(after(_x41, cons(after(_x71, s(mark(after(_x122, _x121)))), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, s(s(_x121))), _x52))))) → top#(from(after(_x41, cons(after(_x71, s(s(active(_x121)))), _x52))))top#(ok(from(after(_x41, cons(after(_x71, s(after(_x121, _x122))), _x52))))) → top#(from(after(_x41, cons(after(_x71, s(after(_x121, active(_x122)))), _x52))))

Problem 30: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(after(0, _x141)), _x102)), _x52)))))top#(mark(from(after(_x31, cons(after(_x71, after(s(mark(_x141)), _x102)), _x52)))))top#(ok(from(after(after(_x71, _x72), mark(_x32)))))top#(mark(from(after(after(_x71, active(_x72)), _x32))))
top#(ok(from(after(cons(from(cons(s(after(_x131, _x132)), _x112)), _x52), mark(mark(_x62))))))top#(mark(from(mark(after(cons(from(cons(s(after(active(_x131), _x132)), _x112)), _x52), _x62)))))top#(ok(from(after(cons(from(cons(s(cons(from(_x141), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(mark(cons(_x141, from(s(_x141)))), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(from(after(0, _x151)), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(from(mark(_x151)), _x112), _x92), _x72), _x52)))))top#(ok(from(after(s(_x42), cons(_x43, _x41)))))top#(mark(from(after(_x42, _x41))))
top#(ok(from(after(_x41, mark(_x32)))))top#(mark(from(after(active(_x41), _x32))))top#(ok(from(after(cons(after(after(from(_x81), mark(_x62)), _x62), _x52), _x42))))top#(from(after(cons(after(mark(after(from(active(_x81)), _x62)), _x62), _x52), _x42)))
top#(ok(from(after(after(s(ok(mark(_x71))), cons(_x53, ok(_x72))), _x32))))top#(mark(from(after(ok(mark(after(_x71, _x72))), _x32))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(mark(ok(_x201))), cons(_x133, mark(mark(ok(mark(_x202)))))), _x112), _x92), _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(cons(cons(mark(mark(mark(mark(ok(mark(after(_x201, _x202))))))), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, s(after(0, _x121))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(mark(_x121))), _x52))))top#(ok(from(after(after(s(ok(_x61)), cons(_x53, ok(_x62))), mark(_x32)))))top#(from(mark(after(mark(ok(after(_x61, _x62))), _x32))))
top#(ok(from(after(mark(_x31), cons(from(from(after(_x121, from(_x131)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(after(_x121, mark(cons(_x131, from(s(_x131))))))), _x52)))))top#(ok(from(after(after(s(ok(mark(mark(_x91)))), cons(_x53, ok(_x92))), _x32))))top#(from(mark(after(ok(mark(mark(after(_x91, _x92)))), _x32))))
top#(ok(from(after(cons(_x71, _x72), mark(_x32)))))top#(from(mark(after(cons(active(_x71), _x72), _x32))))top#(ok(from(after(after(s(ok(mark(_x91))), cons(_x53, ok(mark(_x92)))), ok(_x52)))))top#(from(mark(ok(after(mark(mark(after(_x91, _x92))), _x52)))))
top#(ok(from(after(cons(after(s(_x82), cons(_x83, _x81)), _x52), mark(_x32)))))top#(mark(from(after(cons(mark(after(_x82, _x81)), _x52), _x32))))top#(ok(from(after(mark(mark(_x61)), cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x52)))))top#(mark(from(mark(after(_x61, cons(cons(mark(after(_x112, _x111)), _x92), _x52))))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(s(after(_x151, _x152))), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(s(after(active(_x151), _x152))), _x102)), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(from(_x111), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(from(active(_x111)), _x92), _x52)))))
top#(ok(from(after(_x41, s(_x51)))))top#(from(after(_x41, s(active(_x51)))))top#(ok(from(after(cons(after(from(_x71), _x62), _x52), _x42))))top#(from(after(cons(after(mark(cons(_x71, from(s(_x71)))), _x62), _x52), _x42)))
top#(ok(from(after(cons(from(cons(after(_x121, after(_x131, s(_x161))), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, after(_x131, s(active(_x161)))), _x112)), _x52), _x62)))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(_x151), cons(_x133, mark(_x152))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(after(_x151, _x152))), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(from(from(_x121))), _x52)))))top#(from(mark(after(_x31, cons(from(from(from(active(_x121)))), _x52)))))top#(ok(from(after(cons(from(cons(_x71, _x72)), _x52), _x42))))top#(from(after(cons(from(cons(active(_x71), _x72)), _x52), _x42)))
top#(ok(from(after(after(_x71, after(0, _x81)), mark(mark(_x52))))))top#(from(mark(mark(after(after(_x71, mark(_x81)), _x52)))))top#(ok(from(after(cons(after(after(from(after(from(_x101), _x92)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(after(mark(cons(_x101, from(s(_x101)))), _x92)), _x72), _x62), _x52), _x42)))
top#(ok(from(after(cons(after(after(from(after(0, _x91)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(mark(_x91)), _x72), _x62), _x52), _x42)))top#(ok(from(after(after(_x51, _x52), _x42))))top#(from(after(after(active(_x51), _x52), _x42)))
top#(ok(from(after(_x41, cons(cons(cons(after(after(0, _x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(_x131), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(after(s(_x132), cons(_x133, _x131)), mark(_x122)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(mark(after(_x132, _x131)), _x122)), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(from(from(after(mark(_x111), from(_x161)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(mark(after(_x111, mark(cons(_x161, from(s(_x161)))))))), _x52)))))top#(ok(from(after(cons(from(cons(s(cons(after(after(s(_x182), cons(_x183, _x181)), _x142), _x132)), _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(s(cons(after(mark(after(_x182, _x181)), _x142), _x132)), _x112)), _x52), _x72))))))
top#(ok(from(after(mark(mark(_x61)), cons(after(_x71, after(s(after(0, _x141)), _x102)), _x52)))))top#(from(mark(mark(after(_x61, cons(after(_x71, after(s(mark(_x141)), _x102)), _x52))))))top#(ok(from(after(_x41, cons(after(_x71, after(after(_x121, after(_x151, _x152)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(after(_x121, after(_x151, active(_x152))), _x102)), _x52))))
top#(ok(from(after(cons(after(after(from(cons(_x91, _x92)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(cons(active(_x91), _x92)), _x72), _x62), _x52), _x42)))top#(ok(from(after(_x41, cons(cons(cons(after(_x111, mark(_x122)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(active(_x111), _x122)), _x92), _x72), _x52))))
top#(ok(from(after(after(0, _x51), _x42))))top#(from(after(mark(_x51), _x42)))top#(ok(from(after(mark(_x31), cons(from(from(from(_x121))), _x52)))))top#(from(mark(after(_x31, cons(from(from(mark(cons(_x121, from(s(_x121)))))), _x52)))))
top#(ok(from(after(after(mark(_x61), _x72), mark(_x32)))))top#(from(mark(after(mark(after(_x61, active(_x72))), _x32))))top#(ok(from(after(cons(from(cons(s(cons(after(after(0, _x151), _x142), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(after(mark(_x151), _x142), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(after(mark(_x31), cons(from(_x91), _x52)))))top#(mark(from(after(_x31, cons(from(active(_x91)), _x52)))))top#(ok(from(after(cons(from(cons(s(cons(after(s(_x142), cons(_x143, _x141)), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(mark(after(_x142, _x141)), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(after(mark(mark(_x61)), cons(after(_x71, after(from(after(0, _x161)), _x102)), _x52)))))top#(from(mark(mark(after(_x61, cons(after(_x71, after(mark(from(_x161)), _x102)), _x52))))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(_x121), _x102)), _x52)))))top#(mark(from(after(_x31, cons(after(_x71, after(s(active(_x121)), _x102)), _x52)))))
top#(ok(from(after(cons(after(mark(_x91), after(s(ok(_x131)), cons(_x113, ok(_x132)))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(after(_x91, mark(ok(after(_x131, _x132))))), _x52), _x32))))top#(ok(from(after(_x41, cons(after(_x71, after(s(from(_x141)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(mark(cons(_x141, from(s(_x141))))), _x102)), _x52))))
top#(ok(from(after(_x41, cons(cons(from(cons(_x111, _x112)), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(cons(active(_x111), _x112)), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(_x121), mark(_x112))), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, mark(after(s(active(_x121)), _x112))), _x52)))))
top#(ok(from(after(s(mark(mark(_x61))), cons(_x43, _x62)))))top#(from(mark(mark(mark(after(_x61, _x62))))))top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(_x51, active(_x52)))))
top#(ok(from(after(cons(from(cons(after(_x121, cons(_x131, _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, cons(active(_x131), _x132)), _x112)), _x52), _x62)))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(from(active(_x131)), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(cons(from(after(0, _x111)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(mark(_x111)), _x52), _x62)))))top#(ok(from(after(_x41, cons(after(mark(_x81), after(from(cons(_x141, _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, after(from(cons(active(_x141), _x142)), _x102))), _x52))))
top#(ok(from(after(cons(after(_x91, after(s(ok(_x131)), cons(_x113, ok(_x132)))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(after(_x91, ok(after(_x131, _x132)))), _x52), _x32))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(cons(from(cons(after(_x121, after(_x131, _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, after(active(_x131), _x132)), _x112)), _x52), _x62)))))top#(ok(from(after(mark(mark(_x61)), cons(cons(after(s(mark(_x141)), cons(_x113, _x142)), _x92), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(mark(mark(after(_x141, _x142))), _x92), _x52))))))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(mark(ok(ok(_x221)))), cons(_x133, mark(mark(ok(mark(ok(_x222))))))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(mark(ok(mark(ok(after(_x221, _x222)))))))), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(cons(after(s(_x92), cons(_x93, _x91)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(mark(after(_x92, _x91)), _x52), _x62)))))top#(ok(from(after(_x41, cons(after(_x71, after(from(s(from(_x151))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(mark(cons(_x151, from(s(_x151)))))), _x102)), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(mark(_x181)), cons(_x133, mark(mark(mark(_x182))))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(mark(mark(mark(after(_x181, _x182)))))), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(from(from(_x111)), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(mark(cons(_x111, from(s(_x111))))), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(from(_x151))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(from(active(_x151)))), _x102)), _x52))))top#(ok(from(after(cons(from(cons(s(cons(after(from(_x151), _x142), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(after(mark(cons(_x151, from(s(_x151)))), _x142), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(mark(cons(_x71, from(s(_x71)))), _x52))))top#(ok(from(after(after(_x61, after(0, _x62)), mark(_x32)))))top#(from(mark(after(mark(after(_x61, _x62)), _x32))))
top#(ok(from(after(mark(_x31), cons(after(0, _x71), _x52)))))top#(from(mark(after(_x31, cons(mark(_x71), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, after(after(_x121, cons(_x151, _x152)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(after(_x121, cons(active(_x151), _x152)), _x102)), _x52))))
top#(ok(from(after(cons(after(after(from(from(_x91)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(mark(cons(_x91, from(s(_x91))))), _x72), _x62), _x52), _x42)))top#(ok(from(after(cons(s(_x91), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(s(active(_x91)), _x52), _x62)))))
top#(ok(from(after(cons(after(after(after(_x81, _x82), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(after(active(_x81), _x82), _x72), _x62), _x52), _x42)))top#(ok(from(after(mark(mark(_x61)), cons(cons(cons(cons(after(s(mark(ok(_x191))), cons(_x133, mark(mark(ok(_x192))))), _x112), _x92), _x72), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(cons(cons(mark(mark(mark(mark(ok(after(_x191, _x192)))))), _x112), _x92), _x72), _x52))))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(from(_x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(from(active(_x141))), _x102)), _x52)))))top#(ok(from(after(cons(from(cons(s(after(0, _x131)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(mark(_x131)), _x112)), _x52), _x62)))))
top#(ok(cons(after(0, _x41), _x22)))top#(cons(mark(_x41), _x22))top#(ok(from(after(cons(after(s(mark(_x101)), cons(_x83, _x102)), _x72), mark(_x32)))))top#(from(mark(after(mark(cons(mark(after(_x101, _x102)), _x72)), _x32))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(mark(ok(mark(_x221)))), cons(_x133, mark(mark(ok(mark(_x222)))))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(mark(ok(mark(mark(after(_x221, _x222)))))))), _x112), _x92), _x72), _x52)))))top#(ok(from(after(cons(after(after(after(s(_x82), cons(_x83, _x81)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(mark(after(_x82, _x81)), _x72), _x62), _x52), _x42)))
top#(ok(from(after(mark(_x31), cons(after(_x71, s(after(cons(after(_x141, _x142), _x132), _x122))), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, s(after(cons(after(active(_x141), _x142), _x132), _x122))), _x52)))))top#(ok(from(after(mark(_x31), cons(from(after(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(after(_x111, active(_x112))), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(from(after(0, _x121))), _x52)))))top#(from(mark(after(_x31, cons(from(from(mark(_x121))), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(after(_x141, _x142), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(after(_x141, active(_x142)), _x132), _x122))), _x52))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(active(_x51), _x52))))top#(ok(from(after(cons(after(_x81, after(_x111, _x112)), _x52), mark(_x32)))))top#(from(mark(after(cons(after(_x81, after(_x111, active(_x112))), _x52), _x32))))
top#(ok(from(after(mark(_x31), cons(cons(_x91, _x92), _x52)))))top#(mark(from(after(_x31, cons(cons(active(_x91), _x92), _x52)))))top#(ok(from(after(cons(from(cons(s(after(_x131, _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(after(_x131, active(_x132))), _x112)), _x52), _x62)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(mark(ok(_x181))), cons(_x133, mark(mark(ok(_x182))))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(mark(mark(ok(after(_x181, _x182)))))), _x112), _x92), _x72), _x52))))top#(ok(from(after(cons(_x51, _x52), mark(_x32)))))top#(mark(from(after(cons(active(_x51), _x52), _x32))))
top#(ok(from(after(cons(from(cons(s(cons(after(_x141, _x142), _x132)), _x112)), _x52), mark(mark(mark(_x72)))))))top#(mark(from(mark(mark(after(cons(from(cons(s(cons(after(active(_x141), _x142), _x132)), _x112)), _x52), _x72))))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(0, ok(_x131)), ok(_x132)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(ok(cons(_x131, _x132))), _x92), _x72), _x52))))
top#(ok(from(after(cons(after(after(_x71, _x72), mark(_x52)), _x52), _x42))))top#(from(after(cons(mark(after(after(active(_x71), _x72), _x52)), _x52), _x42)))top#(ok(from(after(_x41, cons(after(_x71, after(s(cons(_x141, _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(cons(active(_x141), _x142)), _x102)), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, s(after(s(_x122), cons(_x123, _x121)))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(mark(after(_x122, _x121)))), _x52))))top#(ok(from(after(after(_x71, s(_x81)), mark(_x32)))))top#(from(mark(after(after(_x71, s(active(_x81))), _x32))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(cons(_x161, _x162), _x152))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(after(cons(active(_x161), _x162), _x152))), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(after(s(_x102), cons(_x103, _x101)), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(after(_x102, _x101)), _x72), _x52)))))
top#(ok(from(after(cons(after(mark(_x91), after(s(_x112), cons(_x113, _x111))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(after(_x91, mark(after(_x112, _x111)))), _x52), _x32))))top#(ok(from(after(cons(after(_x101, after(s(_x121), cons(_x113, mark(_x122)))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(mark(after(_x101, after(_x121, _x122)))), _x52), _x32))))
top#(ok(from(after(cons(after(_x91, after(s(_x121), cons(_x113, mark(_x122)))), _x52), mark(mark(_x62))))))top#(mark(from(mark(after(cons(mark(after(_x91, mark(after(_x121, _x122)))), _x52), _x62)))))top#(ok(from(after(after(_x71, cons(_x81, _x82)), mark(_x32)))))top#(from(mark(after(after(_x71, cons(active(_x81), _x82)), _x32))))
top#(ok(from(after(after(mark(_x61), after(0, _x81)), mark(_x32)))))top#(from(mark(after(mark(after(_x61, mark(_x81))), _x32))))top#(ok(from(after(cons(after(_x91, after(s(ok(_x121)), cons(_x113, ok(_x122)))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(after(_x91, ok(after(_x121, _x122)))), _x52), _x32))))
top#(ok(from(after(cons(from(cons(after(_x121, after(0, _x131)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, mark(_x131)), _x112)), _x52), _x62)))))top#(ok(from(after(_x41, cons(after(_x71, after(_x101, _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(_x101, active(_x102))), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(s(_x141), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(s(active(_x141)), _x132), _x122))), _x52))))top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(from(_x161), _x152))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(after(from(active(_x161)), _x152))), _x102)), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(mark(ok(_x221))), cons(_x133, mark(mark(ok(mark(mark(_x222))))))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(mark(ok(mark(mark(after(_x221, _x222)))))))), _x112), _x92), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(0, _x121), _x122), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(mark(cons(_x121, _x122)), _x92), _x72), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(after(from(_x151), _x142), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(after(mark(cons(_x151, from(s(_x151)))), _x142), _x132), _x122))), _x52))))top#(ok(from(after(mark(mark(mark(_x81))), cons(after(_x71, after(from(after(0, _x141)), _x102)), _x52)))))top#(from(mark(mark(mark(after(_x81, cons(after(_x71, after(from(mark(_x141)), _x102)), _x52)))))))
top#(ok(from(after(_x41, cons(after(_x71, s(after(from(_x131), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(from(active(_x131)), _x122))), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(after(_x151, _x152)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(after(_x151, active(_x152))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(0, _x101)), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(_x101)), _x52))))top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(after(0, _x141), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(mark(_x141), _x132), _x122))), _x52))))
top#(ok(from(after(cons(after(after(s(_x81), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(s(active(_x81)), _x72), _x62), _x52), _x42)))top#(ok(from(after(cons(after(_x91, after(s(_x121), cons(_x113, mark(_x122)))), _x72), mark(_x32)))))top#(from(mark(after(mark(cons(after(_x91, mark(after(_x121, _x122))), _x72)), _x32))))
top#(ok(from(after(after(s(ok(mark(_x91))), cons(_x53, ok(mark(_x92)))), _x32))))top#(mark(from(after(ok(mark(mark(after(_x91, _x92)))), _x32))))top#(ok(from(after(cons(from(cons(s(cons(after(s(_x181), _x142), _x132)), _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(s(cons(after(s(active(_x181)), _x142), _x132)), _x112)), _x52), _x72))))))
top#(ok(from(after(cons(after(_x81, after(s(mark(mark(_x141))), cons(_x113, _x142))), _x52), mark(_x32)))))top#(from(mark(after(cons(after(_x81, mark(mark(mark(after(_x141, _x142))))), _x52), _x32))))top#(ok(from(after(cons(from(cons(s(cons(after(_x141, mark(_x172)), _x132)), _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(s(cons(mark(after(active(_x141), _x172)), _x132)), _x112)), _x52), _x72))))))
top#(ok(from(after(cons(after(after(0, _x71), _x62), _x52), _x42))))top#(from(after(cons(after(mark(_x71), _x62), _x52), _x42)))top#(ok(from(after(from(_x51), _x42))))top#(from(after(mark(cons(_x51, from(s(_x51)))), _x42)))
top#(ok(from(after(cons(after(cons(_x71, _x72), _x62), _x52), _x42))))top#(from(after(cons(after(cons(active(_x71), _x72), _x62), _x52), _x42)))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(mark(_x171)), cons(_x133, mark(mark(_x172)))), _x132), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(mark(cons(mark(mark(mark(after(_x171, _x172)))), _x132)), _x92), _x72), _x52)))))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, mark(cons(_x51, from(s(_x51)))))))top#(ok(from(after(after(s(ok(mark(mark(_x81)))), cons(_x53, ok(_x82))), _x42))))top#(from(after(mark(ok(mark(mark(after(_x81, _x82))))), _x42)))
top#(ok(from(after(cons(from(after(_x71, _x72)), _x52), _x42))))top#(from(after(cons(from(after(active(_x71), _x72)), _x52), _x42)))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(mark(_x171)), cons(_x133, mark(mark(_x172)))), _x112), _x92), _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(cons(cons(mark(mark(mark(mark(after(_x171, _x172))))), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(mark(ok(mark(_x201)))), cons(_x133, mark(mark(ok(_x202))))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(mark(ok(mark(after(_x201, _x202))))))), _x112), _x92), _x72), _x52)))))top#(ok(from(after(cons(from(from(_x111)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(from(active(_x111))), _x52), _x62)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(ok(mark(_x181))), cons(_x133, mark(mark(ok(_x182))))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(mark(ok(mark(after(_x181, _x182)))))), _x112), _x92), _x72), _x52))))top#(ok(from(after(cons(from(cons(from(_x121), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(from(active(_x121)), _x112)), _x52), _x62)))))
top#(ok(from(after(after(s(ok(mark(ok(_x91)))), cons(_x53, ok(ok(_x92)))), _x32))))top#(mark(from(after(ok(mark(ok(after(_x91, _x92)))), _x32))))top#(ok(from(after(_x41, cons(after(_x71, s(after(from(_x131), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(mark(cons(_x131, from(s(_x131)))), _x122))), _x52))))
top#(ok(from(after(cons(after(_x81, after(s(mark(_x131)), cons(_x113, _x132))), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(after(_x81, mark(mark(after(_x131, _x132)))), _x52), _x62)))))top#(ok(from(after(cons(after(after(from(after(cons(_x101, _x102), _x92)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(after(cons(active(_x101), _x102), _x92)), _x72), _x62), _x52), _x42)))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(_x141)), mark(_x112))), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(after(from(s(active(_x141))), _x112))), _x52))))top#(ok(from(after(_x41, cons(after(_x71, after(from(after(_x141, _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(after(_x141, active(_x142))), _x102)), _x52))))
top#(ok(from(after(mark(mark(_x61)), cons(cons(after(s(_x141), cons(_x113, mark(_x142))), _x92), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(mark(mark(after(_x141, _x142))), _x92), _x52))))))top#(ok(from(after(_x41, cons(after(_x71, s(after(after(0, _x131), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(mark(_x131), _x122))), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(after(0, _x121), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(mark(_x121), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(mark(ok(_x191))), cons(_x133, mark(mark(ok(_x192))))), _x112), _x92), _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(cons(cons(mark(mark(mark(mark(ok(after(_x191, _x192)))))), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(after(s(_x52), cons(_x53, _x51)), mark(_x32)))))top#(from(mark(after(mark(after(_x52, _x51)), _x32))))top#(ok(from(after(_x41, cons(after(mark(_x81), after(from(_x121), _x102)), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, after(from(active(_x121)), _x102))), _x52))))
top#(ok(from(after(after(s(ok(_x61)), cons(_x53, ok(_x62))), _x32))))top#(from(mark(after(ok(after(_x61, _x62)), _x32))))top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(s(_x152), cons(_x153, _x151)))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(mark(after(_x152, _x151)))), _x102)), _x52))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(after(_x141, _x142)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(after(_x141, active(_x142))), _x102)), _x52)))))top#(ok(from(after(_x41, after(_x51, _x52)))))top#(from(after(_x41, after(active(_x51), _x52))))
top#(ok(from(after(mark(_x31), cons(from(from(s(_x121))), _x52)))))top#(from(mark(after(_x31, cons(from(from(s(active(_x121)))), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(s(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(s(active(_x111)), _x92), _x72), _x52))))
top#(ok(from(after(cons(after(mark(_x111), after(s(_x121), cons(_x113, mark(_x122)))), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(mark(mark(after(_x111, mark(after(_x121, _x122))))), _x52), _x62)))))top#(ok(from(after(_x41, cons(cons(from(s(_x111)), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(s(active(_x111))), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(after(mark(_x91), after(from(after(0, _x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x91, after(from(mark(_x141)), _x102))), _x52)))))top#(ok(from(after(cons(after(_x81, after(s(mark(_x141)), cons(_x113, mark(_x142)))), _x52), mark(_x32)))))top#(from(mark(after(cons(after(_x81, mark(mark(mark(after(_x141, _x142))))), _x52), _x32))))
top#(ok(from(after(cons(after(_x91, after(s(mark(_x121)), cons(_x113, _x122))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(after(_x91, mark(after(_x121, _x122)))), _x52), _x32))))top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(after(after(s(_x152), cons(_x153, _x151)), _x142), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(after(mark(after(_x152, _x151)), _x142), _x132), _x122))), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(s(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(s(active(_x101)), _x72), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, after(_x101, mark(_x112))), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(after(active(_x101), _x112))), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(from(active(_x111)), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(s(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(s(active(_x91)), _x72), _x52))))
top#(ok(from(after(cons(after(after(s(_x72), cons(_x73, _x71)), _x62), _x52), _x42))))top#(from(after(cons(after(mark(after(_x72, _x71)), _x62), _x52), _x42)))top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(s(_x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(s(active(_x141))), _x102)), _x52)))))
top#(ok(from(after(_x41, cons(after(s(_x72), cons(_x73, _x71)), _x52)))))top#(from(after(_x41, cons(mark(after(_x72, _x71)), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(ok(_x181)), cons(_x133, mark(mark(ok(mark(_x182)))))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(mark(ok(mark(after(_x181, _x182)))))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(cons(from(cons(s(cons(after(cons(_x181, _x182), _x142), _x132)), _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(s(cons(after(cons(active(_x181), _x182), _x142), _x132)), _x112)), _x52), _x72))))))top#(ok(from(after(cons(after(_x91, after(s(_x112), cons(_x113, _x111))), _x72), mark(_x32)))))top#(from(mark(after(mark(cons(after(_x91, after(_x112, _x111)), _x72)), _x32))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(from(_x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(s(from(active(_x141))), _x102)), _x52)))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(ok(from(after(cons(from(cons(s(cons(after(from(_x181), _x142), _x132)), _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(s(cons(after(from(active(_x181)), _x142), _x132)), _x112)), _x52), _x72))))))top#(ok(from(after(cons(after(after(_x71, _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(_x71, active(_x72)), _x62), _x52), _x42)))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(s(_x151))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(s(active(_x151)))), _x102)), _x52))))top#(ok(from(from(after(0, _x31)))))top#(from(mark(from(_x31))))
top#(ok(from(after(cons(from(cons(from(_x121), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(mark(cons(_x121, from(s(_x121)))), _x112)), _x52), _x62)))))top#(ok(from(after(mark(_x31), after(0, _x51)))))top#(from(mark(after(_x31, mark(_x51)))))
top#(ok(from(after(cons(after(_x91, after(s(ok(_x141)), cons(_x113, mark(ok(_x142))))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(after(_x91, mark(ok(after(_x141, _x142))))), _x52), _x32))))top#(ok(cons(cons(_x41, _x42), _x22)))top#(cons(cons(active(_x41), _x42), _x22))
top#(ok(from(after(cons(_x51, _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(active(_x51), _x52), _x72))))))top#(ok(from(after(_x41, cons(cons(cons(cons(cons(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(cons(active(_x131), _x132), _x112), _x92), _x72), _x52))))
top#(ok(from(after(cons(after(_x91, after(s(_x121), cons(_x113, mark(_x122)))), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(mark(after(_x91, mark(after(_x121, _x122)))), _x52), _x72))))))top#(ok(from(after(mark(_x31), cons(from(cons(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(cons(active(_x111), _x112)), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(after(0, _x141)), _x102)), _x52)))))top#(mark(from(after(_x31, cons(after(_x71, after(from(mark(_x141)), _x102)), _x52)))))top#(ok(from(after(cons(after(_x91, after(s(mark(_x141)), cons(_x113, mark(_x142)))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(after(_x91, mark(mark(after(_x141, _x142))))), _x52), _x32))))
top#(ok(from(after(_x41, cons(after(_x71, _x72), _x52)))))top#(from(after(_x41, cons(after(active(_x71), _x72), _x52))))top#(ok(from(after(mark(mark(_x61)), cons(from(from(after(mark(_x111), _x122))), _x52)))))top#(from(mark(mark(after(_x61, cons(from(from(mark(after(_x111, active(_x122))))), _x52))))))
top#(ok(from(after(cons(after(_x81, from(_x111)), _x52), mark(_x32)))))top#(from(mark(after(cons(after(_x81, from(active(_x111))), _x52), _x32))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(cons(_x151, _x152)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(cons(active(_x151), _x152)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x91), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(from(active(_x91)), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(after(0, _x131)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(from(_x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(mark(_x81), s(_x101)), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, s(active(_x101)))), _x52))))top#(ok(from(after(cons(after(after(from(after(after(0, _x101), _x92)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(after(mark(_x101), _x92)), _x72), _x62), _x52), _x42)))
top#(ok(from(after(cons(from(cons(after(_x121, _x122), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(active(_x121), _x122), _x112)), _x52), _x62)))))top#(ok(from(after(cons(from(cons(s(cons(after(s(_x151), _x142), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(after(s(active(_x151)), _x142), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(after(cons(from(cons(s(cons(from(_x141), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(from(active(_x141)), _x132)), _x112)), _x52), _x62)))))top#(ok(from(after(s(_x51), cons(_x43, mark(_x52))))))top#(from(mark(mark(after(_x51, _x52)))))
top#(ok(from(after(after(s(ok(mark(_x71))), cons(_x53, ok(_x72))), ok(_x52)))))top#(from(mark(ok(after(mark(after(_x71, _x72)), _x52)))))top#(ok(from(from(cons(_x51, _x52)))))top#(from(from(cons(active(_x51), _x52))))
top#(ok(from(after(_x41, cons(after(mark(_x81), after(after(_x121, _x122), _x102)), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, after(after(_x121, active(_x122)), _x102))), _x52))))top#(ok(from(after(mark(_x31), cons(from(from(after(mark(_x111), after(0, _x161)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(mark(after(_x111, mark(_x161))))), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(cons(_x101, from(s(_x101)))), _x72), _x52)))))top#(ok(from(after(cons(after(after(from(after(after(s(_x102), cons(_x103, _x101)), _x92)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(after(mark(after(_x102, _x101)), _x92)), _x72), _x62), _x52), _x42)))
top#(ok(from(after(cons(from(cons(s(cons(after(after(0, _x181), _x142), _x132)), _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(s(cons(after(mark(_x181), _x142), _x132)), _x112)), _x52), _x72))))))top#(ok(from(after(_x41, cons(after(_x71, after(after(_x121, from(_x151)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(after(_x121, mark(cons(_x151, from(s(_x151))))), _x102)), _x52))))
top#(ok(from(after(cons(after(_x81, after(s(_x131), cons(_x113, mark(_x132)))), _x52), mark(_x32)))))top#(from(mark(after(cons(after(_x81, mark(mark(after(_x131, _x132)))), _x52), _x32))))top#(ok(from(after(cons(after(_x81, after(s(mark(ok(_x141))), cons(_x113, ok(_x142)))), _x52), mark(_x32)))))top#(from(mark(after(cons(after(_x81, mark(mark(ok(after(_x141, _x142))))), _x52), _x32))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(after(_x141, _x142)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(s(after(active(_x141), _x142)), _x102)), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, after(after(_x121, _x122), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(after(active(_x121), _x122), _x102)), _x52))))
top#(ok(from(after(cons(after(s(mark(_x101)), cons(_x83, _x102)), _x52), mark(_x32)))))top#(mark(from(after(cons(mark(mark(after(_x101, _x102))), _x52), _x32))))top#(ok(from(after(mark(_x31), cons(from(from(after(_x121, after(s(_x132), cons(_x133, _x131))))), _x52)))))top#(from(mark(after(_x31, cons(from(from(after(_x121, mark(after(_x132, _x131))))), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(_x101, _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(active(_x101), _x102)), _x52)))))top#(ok(cons(after(s(_x42), cons(_x43, _x41)), _x22)))top#(cons(mark(after(_x42, _x41)), _x22))
top#(ok(from(after(mark(_x31), cons(_x51, _x52)))))top#(mark(from(after(_x31, cons(active(_x51), _x52)))))top#(ok(from(after(cons(after(s(ok(_x111)), cons(_x83, mark(ok(_x112)))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(mark(ok(after(_x111, _x112)))), _x52), _x32))))
top#(ok(from(after(cons(after(after(after(_x81, _x82), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(after(_x81, active(_x82)), _x72), _x62), _x52), _x42)))top#(ok(from(after(cons(after(_x81, after(s(_x112), cons(_x113, _x111))), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(after(_x81, mark(after(_x112, _x111))), _x52), _x62)))))
top#(ok(from(after(_x41, cons(after(_x71, after(after(_x121, after(0, _x151)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(after(_x121, mark(_x151)), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(ok(ok(_x191))), cons(_x133, mark(mark(ok(ok(_x192)))))), _x132), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(mark(cons(mark(mark(ok(ok(after(_x191, _x192))))), _x132)), _x92), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(_x121), _x102)), _x52)))))top#(mark(from(after(_x31, cons(after(_x71, after(from(active(_x121)), _x102)), _x52)))))top#(ok(from(after(cons(after(s(_x71), _x62), _x52), _x42))))top#(from(after(cons(after(s(active(_x71)), _x62), _x52), _x42)))
top#(ok(from(after(cons(from(cons(s(cons(after(after(_x181, _x182), _x142), _x132)), _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(s(cons(after(after(_x181, active(_x182)), _x142), _x132)), _x112)), _x52), _x72))))))top#(ok(from(after(cons(cons(_x81, _x82), _x52), mark(_x32)))))top#(from(mark(after(cons(cons(active(_x81), _x82), _x52), _x32))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(_x131, active(_x132)), _x112), _x92), _x72), _x52))))top#(ok(from(after(after(s(ok(mark(ok(_x81)))), cons(_x53, ok(ok(_x82)))), _x42))))top#(from(after(mark(ok(mark(ok(after(_x81, _x82))))), _x42)))
top#(ok(from(after(_x41, cons(after(_x71, s(after(after(s(_x132), cons(_x133, _x131)), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(mark(after(_x132, _x131)), _x122))), _x52))))top#(ok(from(after(_x41, cons(after(_x71, after(from(cons(after(_x151, _x152), _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(cons(after(active(_x151), _x152), _x142)), _x102)), _x52))))
top#(ok(from(after(cons(after(s(_x62), cons(_x63, _x61)), _x52), _x42))))top#(from(after(cons(mark(after(_x62, _x61)), _x52), _x42)))top#(ok(from(after(_x41, cons(after(_x71, after(from(cons(from(_x151), _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(cons(from(active(_x151)), _x142)), _x102)), _x52))))
top#(ok(from(after(cons(after(_x81, from(_x111)), _x52), mark(_x32)))))top#(from(mark(after(cons(after(_x81, mark(cons(_x111, from(s(_x111))))), _x52), _x32))))top#(ok(from(after(s(mark(_x61)), cons(_x43, mark(_x62))))))top#(from(mark(mark(mark(after(_x61, _x62))))))
top#(ok(from(after(cons(from(after(_x111, _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(after(active(_x111), _x112)), _x52), _x62)))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(from(_x151)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(from(active(_x151))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(cons(after(_x91, _x92), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(after(_x91, active(_x92)), _x52), _x62)))))top#(ok(from(after(_x41, cons(after(mark(_x81), after(from(s(_x141)), _x102)), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, after(from(s(active(_x141))), _x102))), _x52))))
top#(ok(cons(from(_x41), _x22)))top#(cons(mark(cons(_x41, from(s(_x41)))), _x22))top#(ok(from(after(mark(_x31), cons(after(_x71, s(after(cons(_x131, _x132), _x122))), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, s(after(cons(active(_x131), _x132), _x122))), _x52)))))
top#(ok(from(after(cons(from(from(_x111)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(mark(cons(_x111, from(s(_x111))))), _x52), _x62)))))top#(ok(from(after(after(s(ok(mark(_x71))), cons(_x53, ok(_x72))), mark(_x52)))))top#(from(mark(mark(after(ok(mark(after(_x71, _x72))), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, after(s(_x102), cons(_x103, _x101))), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(after(_x102, _x101))), _x52))))top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(after(after(_x151, _x152), _x142), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(after(after(active(_x151), _x152), _x142), _x132), _x122))), _x52))))
top#(ok(from(after(_x41, cons(cons(after(0, _x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(_x91), _x72), _x52))))top#(ok(from(after(cons(after(_x81, s(_x111)), _x52), mark(_x32)))))top#(from(mark(after(cons(after(_x81, s(active(_x111))), _x52), _x32))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(after(s(_x162), cons(_x163, _x161)), _x152))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(after(mark(after(_x162, _x161)), _x152))), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(mark(mark(_x191))), cons(_x133, mark(mark(_x192)))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(mark(mark(after(_x191, _x192)))))), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(after(_x71, from(_x81)), mark(_x32)))))top#(from(mark(after(after(_x71, mark(cons(_x81, from(s(_x81))))), _x32))))top#(ok(from(after(_x41, cons(s(_x71), _x52)))))top#(from(after(_x41, cons(s(active(_x71)), _x52))))
top#(ok(from(after(cons(after(_x111, after(s(_x121), cons(_x113, mark(_x122)))), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(mark(mark(after(_x111, after(_x121, _x122)))), _x52), _x62)))))top#(ok(from(after(cons(from(cons(after(_x121, after(_x131, cons(_x161, _x162))), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, after(_x131, cons(active(_x161), _x162))), _x112)), _x52), _x62)))))
top#(ok(from(after(_x41, cons(cons(cons(after(after(s(_x132), cons(_x133, _x131)), _x122), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(after(_x132, _x131), _x122)), _x92), _x72), _x52))))top#(ok(from(after(s(mark(ok(_x61))), cons(_x43, ok(_x62))))))top#(from(mark(mark(ok(after(_x61, _x62))))))
top#(ok(from(after(cons(after(from(_x71), _x62), _x52), _x42))))top#(from(after(cons(after(from(active(_x71)), _x62), _x52), _x42)))top#(ok(from(after(cons(from(cons(s(cons(after(after(_x151, _x152), _x142), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(after(after(_x151, active(_x152)), _x142), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(cons(_x141, _x142)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(cons(active(_x141), _x142)), _x102)), _x52)))))top#(ok(from(after(_x41, cons(cons(from(after(s(_x112), cons(_x113, _x111))), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(mark(after(_x112, _x111))), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(_x101, active(_x102)), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(after(s(_x131), cons(_x113, mark(_x132))), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(mark(after(_x131, _x132))), _x92), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(cons(cons(_x151, _x152), _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(cons(cons(active(_x151), _x152), _x142)), _x102)), _x52))))top#(ok(from(after(cons(after(_x81, cons(_x111, _x112)), _x52), mark(_x32)))))top#(from(mark(after(cons(after(_x81, cons(active(_x111), _x112)), _x52), _x32))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(after(s(_x142), cons(_x143, _x141))), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(s(mark(after(_x142, _x141))), _x102)), _x52)))))top#(ok(from(after(cons(from(cons(s(after(_x131, mark(_x122))), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(mark(after(active(_x131), _x122))), _x112)), _x52), _x62)))))
top#(ok(from(after(cons(after(_x61, _x62), _x52), _x42))))top#(from(after(cons(after(_x61, active(_x62)), _x52), _x42)))top#(ok(from(after(mark(_x31), cons(after(0, _x91), _x52)))))top#(from(mark(after(_x31, cons(mark(_x91), _x52)))))
top#(ok(from(after(cons(after(_x91, after(s(_x112), cons(_x113, _x111))), _x52), mark(_x32)))))top#(mark(from(after(cons(mark(after(_x91, after(_x112, _x111))), _x52), _x32))))top#(ok(from(after(cons(after(after(from(after(s(_x101), _x92)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(after(s(active(_x101)), _x92)), _x72), _x62), _x52), _x42)))
top#(ok(from(after(_x41, cons(after(_x71, after(after(_x121, s(_x151)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(after(_x121, s(active(_x151))), _x102)), _x52))))top#(ok(from(after(_x41, cons(after(mark(_x81), s(after(cons(_x131, _x132), _x122))), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, s(after(cons(active(_x131), _x132), _x122)))), _x52))))
top#(ok(from(after(after(s(ok(mark(ok(mark(_x101))))), cons(_x53, ok(ok(_x102)))), _x32))))top#(from(mark(after(ok(mark(ok(mark(after(_x101, _x102))))), _x32))))top#(ok(from(after(_x41, cons(after(_x71, after(from(cons(after(0, _x151), _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(cons(mark(_x151), _x142)), _x102)), _x52))))
top#(ok(from(after(cons(after(_x81, after(s(ok(mark(_x141))), cons(_x113, ok(_x142)))), _x52), mark(_x32)))))top#(from(mark(after(cons(after(_x81, mark(ok(mark(after(_x141, _x142))))), _x52), _x32))))top#(ok(from(after(cons(after(s(mark(ok(_x111))), cons(_x83, ok(_x112))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(mark(ok(after(_x111, _x112)))), _x52), _x32))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(after(_x161, _x162), _x152))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(after(after(active(_x161), _x162), _x152))), _x102)), _x52))))top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(s(_x161), _x152))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(after(s(active(_x161)), _x152))), _x102)), _x52))))
top#(ok(from(after(cons(after(_x91, after(s(mark(_x141)), cons(_x113, mark(_x142)))), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(mark(after(_x91, mark(mark(after(_x141, _x142))))), _x52), _x62)))))top#(ok(from(after(_x41, cons(after(_x71, after(after(_x121, from(_x151)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(after(_x121, from(active(_x151))), _x102)), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, s(after(after(_x131, _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(after(_x131, active(_x132)), _x122))), _x52))))top#(ok(from(after(cons(from(cons(s(cons(after(after(_x181, _x182), _x142), _x132)), _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(s(cons(after(after(active(_x181), _x182), _x142), _x132)), _x112)), _x52), _x72))))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(_x151, _x152))), mark(_x112))), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(after(from(s(after(active(_x151), _x152))), _x112))), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(after(from(_x161), _x152)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(after(from(active(_x161)), _x152)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(cons(_x121, _x122), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(cons(active(_x121), _x122), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(from(from(after(_x121, s(_x131)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(after(_x121, s(active(_x131))))), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, after(s(after(s(_x142), cons(_x143, _x141))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(mark(after(_x142, _x141))), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(_x121), mark(_x112))), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, mark(after(from(active(_x121)), _x112))), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(mark(ok(_x201))), cons(_x133, mark(mark(ok(mark(_x202)))))), _x142), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(mark(cons(mark(mark(mark(ok(mark(after(_x201, _x202)))))), _x142)), _x92), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(after(from(_x161), _x152)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(after(mark(cons(_x161, from(s(_x161)))), _x152)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(cons(_x141, _x142)), mark(_x112))), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(after(from(cons(active(_x141), _x142)), _x112))), _x52))))top#(ok(from(after(s(ok(_x51)), cons(_x43, ok(_x52))))))top#(from(mark(ok(after(_x51, _x52)))))
top#(ok(from(after(cons(after(after(cons(_x81, _x82), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(cons(active(_x81), _x82), _x72), _x62), _x52), _x42)))top#(ok(from(after(cons(from(from(_x71)), _x52), _x42))))top#(from(after(cons(from(from(active(_x71))), _x52), _x42)))
top#(ok(from(after(cons(after(s(_x101), cons(_x83, mark(_x102))), _x72), mark(_x32)))))top#(from(mark(after(mark(cons(mark(after(_x101, _x102)), _x72)), _x32))))top#(ok(from(after(mark(_x31), cons(from(from(after(mark(_x111), _x122))), _x52)))))top#(mark(from(after(_x31, cons(from(from(mark(after(_x111, active(_x122))))), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(after(s(_x112), cons(_x113, _x111)), _x102), _x52)))))top#(from(mark(after(_x31, cons(mark(cons(after(_x112, _x111), _x102)), _x52)))))top#(ok(from(after(cons(after(after(from(after(_x91, _x92)), _x72), mark(_x52)), _x52), _x42))))top#(from(after(cons(mark(after(after(from(after(active(_x91), _x92)), _x72), _x52)), _x52), _x42)))
top#(ok(from(after(cons(after(_x91, after(s(_x121), cons(_x113, mark(_x122)))), _x52), mark(_x32)))))top#(mark(from(after(cons(mark(after(_x91, mark(after(_x121, _x122)))), _x52), _x32))))top#(ok(from(after(cons(from(after(_x111, _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(after(_x111, active(_x112))), _x52), _x62)))))
top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(after(active(_x91), _x92), _x52)))))top#(ok(cons(after(_x41, _x42), _x22)))top#(cons(after(active(_x41), _x42), _x22))
top#(ok(from(after(mark(_x31), cons(cons(after(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(after(active(_x101), _x102), _x72), _x52)))))top#(ok(from(after(after(s(_x52), cons(_x53, _x51)), _x32))))top#(from(mark(after(after(_x52, _x51), _x32))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(ok(ok(_x181))), cons(_x133, mark(mark(ok(ok(_x182)))))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(mark(ok(ok(after(_x181, _x182)))))), _x112), _x92), _x72), _x52))))top#(ok(from(after(cons(from(cons(s(after(after(s(_x142), cons(_x143, _x141)), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(after(mark(after(_x142, _x141)), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(from(after(after(_x161, _x162), _x152)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(after(after(_x161, active(_x162)), _x152)), _x112), _x92), _x72), _x52))))top#(ok(from(after(cons(from(after(0, _x71)), _x52), _x42))))top#(from(after(cons(from(mark(_x71)), _x52), _x42)))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x171), cons(_x133, mark(mark(mark(_x172))))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(mark(mark(after(_x171, _x172))))), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(mark(_x151)), cons(_x133, _x152)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(after(_x151, _x152))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(after(s(mark(_x61)), cons(_x53, _x62)), _x42))))top#(from(after(mark(mark(after(_x61, _x62))), _x42)))top#(ok(from(after(_x41, cons(after(mark(_x81), s(after(_x121, _x122))), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, s(after(active(_x121), _x122)))), _x52))))
top#(ok(from(after(from(_x51), _x42))))top#(from(after(from(active(_x51)), _x42)))top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(after(s(_x142), cons(_x143, _x141)), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(mark(after(_x142, _x141)), _x132), _x122))), _x52))))
top#(ok(from(after(mark(_x31), cons(from(from(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(mark(cons(_x111, from(s(_x111))))), _x52)))))top#(ok(from(after(mark(_x31), cons(from(_x91), _x52)))))top#(from(mark(after(_x31, cons(mark(cons(_x91, from(s(_x91)))), _x52)))))
top#(ok(from(after(cons(from(_x91), _x52), mark(mark(_x62))))))top#(mark(from(mark(after(cons(from(active(_x91)), _x52), _x62)))))top#(ok(from(after(cons(after(after(from(after(_x91, _x92)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(after(_x91, active(_x92))), _x72), _x62), _x52), _x42)))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(ok(ok(ok(_x201)))), cons(_x133, mark(mark(ok(ok(ok(_x202))))))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(ok(ok(ok(after(_x201, _x202))))))), _x112), _x92), _x72), _x52)))))top#(ok(from(after(cons(after(s(_x82), cons(_x83, _x81)), _x72), mark(_x32)))))top#(from(mark(after(mark(cons(after(_x82, _x81), _x72)), _x32))))
top#(ok(from(after(cons(after(_x91, after(s(ok(_x141)), cons(_x113, mark(ok(_x142))))), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(mark(after(_x91, mark(ok(after(_x141, _x142))))), _x52), _x62)))))top#(ok(from(after(mark(_x31), cons(from(from(after(_x121, cons(_x131, _x132)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(after(_x121, cons(active(_x131), _x132)))), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(ok(ok(_x201))), cons(_x133, mark(mark(ok(ok(mark(_x202))))))), _x112), _x92), _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(cons(cons(mark(mark(mark(ok(ok(mark(after(_x201, _x202))))))), _x112), _x92), _x72), _x52)))))top#(ok(from(after(cons(after(_x81, _x82), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(after(_x81, active(_x82)), _x52), _x62)))))
top#(ok(from(after(mark(mark(_x61)), cons(from(from(after(_x121, _x122))), _x52)))))top#(from(mark(mark(after(_x61, cons(from(from(after(_x121, active(_x122)))), _x52))))))top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(after(cons(_x151, _x152), _x142), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(after(cons(active(_x151), _x152), _x142), _x132), _x122))), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(from(s(_x151)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(s(active(_x151))), _x112), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(ok(_x191)), cons(_x133, mark(mark(ok(mark(_x192)))))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(ok(mark(after(_x191, _x192)))))), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(cons(after(_x81, after(s(ok(_x131)), cons(_x113, ok(_x132)))), _x52), mark(_x32)))))top#(mark(from(after(cons(after(_x81, mark(ok(after(_x131, _x132)))), _x52), _x32))))top#(ok(from(after(cons(after(0, _x81), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(_x81), _x52), _x32))))
top#(ok(from(after(cons(after(after(from(after(_x91, mark(_x82))), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(mark(after(active(_x91), _x82))), _x72), _x62), _x52), _x42)))top#(ok(from(after(cons(from(cons(_x111, _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(active(_x111), _x112)), _x52), _x72))))))
top#(ok(from(after(cons(after(_x81, after(0, _x111)), _x52), mark(_x32)))))top#(from(mark(after(cons(after(_x81, mark(_x111)), _x52), _x32))))top#(ok(from(after(_x41, cons(after(_x71, from(_x101)), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(cons(_x101, from(s(_x101))))), _x52))))
top#(ok(from(after(mark(_x31), cons(from(from(after(mark(_x111), s(_x161)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(mark(after(_x111, s(active(_x161)))))), _x52)))))top#(ok(from(after(mark(_x31), cons(s(_x91), _x52)))))top#(from(mark(after(_x31, cons(s(active(_x91)), _x52)))))
top#(ok(from(after(s(_x51), _x42))))top#(from(after(s(active(_x51)), _x42)))top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(after(_x161, _x162), _x152))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(after(after(_x161, active(_x162)), _x152))), _x102)), _x52))))
top#(ok(from(after(mark(_x31), cons(from(after(s(_x112), cons(_x113, _x111))), _x52)))))top#(from(mark(after(_x31, cons(from(mark(after(_x112, _x111))), _x52)))))top#(ok(from(after(mark(_x31), cons(from(from(after(_x121, from(_x131)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(after(_x121, from(active(_x131))))), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, s(after(_x121, _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(_x121, active(_x122)))), _x52))))top#(ok(from(after(cons(from(cons(after(_x121, after(_x131, _x132)), _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(after(_x121, after(_x131, active(_x132))), _x112)), _x52), _x72))))))
top#(ok(from(from(after(_x51, _x52)))))top#(from(from(after(_x51, active(_x52)))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(after(s(_x142), cons(_x143, _x141))), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(mark(after(_x142, _x141))), _x102)), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(after(after(_x151, _x152), _x142), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(after(after(_x151, active(_x152)), _x142), _x132), _x122))), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(after(_x112, _x111)), _x92), _x72), _x52))))
top#(ok(from(after(cons(after(after(_x71, mark(_x62)), _x62), _x52), _x42))))top#(from(after(cons(after(mark(after(active(_x71), _x62)), _x62), _x52), _x42)))top#(ok(from(after(after(s(_x72), cons(_x73, _x71)), mark(_x32)))))top#(from(mark(after(mark(after(_x72, _x71)), _x32))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x132), cons(_x133, _x131)), _x122), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(after(_x132, _x131), _x122)), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x161), cons(_x133, mark(mark(_x162)))), _x122), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(mark(mark(after(_x161, _x162))), _x122)), _x92), _x72), _x52))))
top#(ok(from(after(cons(from(cons(s(after(cons(_x141, _x142), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(after(cons(active(_x141), _x142), _x132)), _x112)), _x52), _x62)))))top#(ok(from(after(cons(from(cons(s(_x121), _x112)), _x52), mark(mark(_x62))))))top#(mark(from(mark(after(cons(from(cons(s(active(_x121)), _x112)), _x52), _x62)))))
top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(after(after(0, _x151), _x142), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(after(mark(_x151), _x142), _x132), _x122))), _x52))))top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(_x91, active(_x92)), _x72), _x52))))
top#(ok(from(after(cons(after(_x61, _x62), _x52), mark(_x32)))))top#(from(mark(after(cons(after(active(_x61), _x62), _x52), _x32))))top#(ok(from(after(_x41, cons(from(_x71), _x52)))))top#(from(after(_x41, cons(from(active(_x71)), _x52))))
top#(ok(from(after(after(s(_x61), cons(_x53, mark(_x62))), _x42))))top#(from(after(mark(mark(after(_x61, _x62))), _x42)))top#(ok(from(after(_x41, cons(after(_x71, after(s(after(0, _x141)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(mark(_x141)), _x102)), _x52))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(after(0, _x121)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(mark(from(_x121)), _x102)), _x52)))))top#(ok(from(after(after(s(ok(mark(_x101))), cons(_x53, ok(mark(mark(_x102))))), _x32))))top#(from(mark(after(ok(mark(mark(mark(after(_x101, _x102))))), _x32))))
top#(ok(from(after(mark(_x31), cons(after(mark(_x91), after(s(_x121), _x102)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x91, after(s(active(_x121)), _x102))), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(s(_x111), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(s(active(_x111)), _x92), _x52)))))
top#(ok(from(after(cons(after(0, _x91), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(mark(_x91), _x52), _x62)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(after(active(_x131), _x132), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(mark(_x61)), cons(cons(_x91, _x92), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(active(_x91), _x92), _x52))))))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(ok(from(after(cons(after(after(from(from(_x91)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(from(active(_x91))), _x72), _x62), _x52), _x42)))top#(ok(from(after(mark(mark(_x61)), cons(from(from(_x111)), _x52)))))top#(from(mark(mark(after(_x61, cons(from(from(active(_x111))), _x52))))))
top#(ok(from(after(mark(_x31), cons(from(from(cons(_x121, _x122))), _x52)))))top#(from(mark(after(_x31, cons(from(from(cons(active(_x121), _x122))), _x52)))))top#(ok(from(after(cons(from(cons(s(cons(after(from(_x151), _x142), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(after(from(active(_x151)), _x142), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(after(_x31, after(0, _x32)))))top#(from(mark(after(_x31, _x32))))top#(ok(from(after(_x41, cons(after(_x71, after(from(cons(from(_x151), _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(cons(mark(cons(_x151, from(s(_x151)))), _x142)), _x102)), _x52))))
top#(ok(from(after(cons(from(from(_x71)), _x52), _x42))))top#(from(after(cons(from(mark(cons(_x71, from(s(_x71))))), _x52), _x42)))top#(ok(from(after(mark(_x31), cons(cons(after(s(ok(_x131)), cons(_x113, ok(_x132))), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(ok(after(_x131, _x132))), _x92), _x52)))))
top#(ok(from(after(s(_x71), mark(_x32)))))top#(from(mark(after(s(active(_x71)), _x32))))top#(ok(from(after(_x41, cons(after(_x71, after(from(after(0, _x141)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(mark(_x141)), _x102)), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(ok(ok(_x191))), cons(_x133, mark(mark(ok(ok(_x192)))))), _x112), _x92), _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(cons(cons(mark(mark(mark(ok(ok(after(_x191, _x192)))))), _x112), _x92), _x72), _x52)))))top#(ok(from(after(cons(after(0, _x61), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(_x61), _x52), _x32))))
top#(ok(from(after(mark(_x31), cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(after(active(_x111), _x112), _x92), _x72), _x52)))))top#(ok(from(after(mark(mark(_x61)), cons(after(mark(_x121), after(from(after(0, _x141)), _x102)), _x52)))))top#(from(mark(mark(after(_x61, cons(mark(after(_x121, after(from(mark(_x141)), _x102))), _x52))))))
top#(ok(from(after(mark(_x31), cons(from(from(after(mark(_x111), after(s(_x162), cons(_x163, _x161))))), _x52)))))top#(from(mark(after(_x31, cons(from(from(mark(after(_x111, mark(after(_x162, _x161)))))), _x52)))))top#(ok(from(after(_x41, cons(cons(from(after(_x111, _x112)), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(after(active(_x111), _x112)), _x72), _x52))))
top#(ok(from(after(cons(after(after(from(after(_x91, _x92)), _x72), _x62), _x52), mark(_x32)))))top#(from(mark(after(cons(after(after(from(after(active(_x91), _x92)), _x72), _x62), _x52), _x32))))top#(ok(from(after(mark(_x31), _x42))))top#(from(mark(after(_x31, active(_x42)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(mark(ok(ok(_x201)))), cons(_x133, mark(mark(ok(ok(_x202)))))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(mark(ok(ok(after(_x201, _x202))))))), _x112), _x92), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(after(0, _x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(_x101), _x72), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(0, _x151))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(mark(_x151))), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(mark(ok(_x191))), cons(_x133, mark(mark(ok(_x192))))), _x132), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(mark(cons(mark(mark(mark(ok(after(_x191, _x192))))), _x132)), _x92), _x72), _x52)))))
top#(ok(from(after(cons(after(mark(_x91), _x82), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(after(_x91, active(_x82))), _x52), _x32))))top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(after(_x141, mark(_x132)), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(mark(after(active(_x141), _x132)), _x132), _x122))), _x52))))
top#(ok(from(after(mark(mark(_x61)), cons(after(_x71, after(s(_x121), _x102)), _x52)))))top#(from(mark(mark(after(_x61, cons(after(_x71, after(s(active(_x121)), _x102)), _x52))))))top#(ok(from(after(cons(from(cons(s(cons(after(_x141, _x142), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(after(_x141, active(_x142)), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(after(_x41, cons(cons(cons(after(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(after(active(_x131), _x132), _x112), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(from(from(after(_x121, _x122))), _x52)))))top#(from(mark(after(_x31, cons(from(from(after(active(_x121), _x122))), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(from(after(_x121, after(_x131, _x132)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(after(_x121, after(_x131, active(_x132))))), _x52)))))top#(ok(from(after(cons(from(cons(after(_x121, from(_x131)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, from(active(_x131))), _x112)), _x52), _x62)))))
top#(ok(from(after(mark(_x31), cons(cons(after(0, _x111), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(_x111), _x92), _x52)))))top#(ok(from(after(cons(from(cons(s(s(_x131)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(s(active(_x131))), _x112)), _x52), _x62)))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(from(_x161), _x152))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(after(mark(cons(_x161, from(s(_x161)))), _x152))), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(_x132), cons(_x133, _x131)), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(after(_x71, from(_x81)), mark(_x32)))))top#(from(mark(after(after(_x71, from(active(_x81))), _x32))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(0, _x131), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(_x131), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(from(after(mark(_x111), after(_x161, _x162)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(mark(after(_x111, after(active(_x161), _x162))))), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, after(s(after(_x141, _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(after(_x141, active(_x142))), _x102)), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(s(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(s(active(_x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(from(_x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(mark(cons(_x141, from(s(_x141))))), _x102)), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(from(after(mark(_x111), from(_x161)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(mark(after(_x111, from(active(_x161)))))), _x52)))))top#(ok(from(after(cons(from(cons(s(after(s(_x141), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(after(s(active(_x141)), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(after(mark(mark(_x61)), cons(from(_x91), _x52)))))top#(from(mark(mark(after(_x61, cons(from(active(_x91)), _x52))))))top#(ok(from(after(from(_x71), mark(_x32)))))top#(from(mark(after(from(active(_x71)), _x32))))
top#(ok(from(after(_x41, cons(after(_x71, after(after(mark(_x131), _x122), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(mark(after(_x131, active(_x122))), _x102)), _x52))))top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(from(_x141), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(from(active(_x141)), _x132), _x122))), _x52))))
top#(ok(from(after(mark(_x31), cons(from(after(0, _x91)), _x52)))))top#(from(mark(after(_x31, cons(mark(from(_x91)), _x52)))))top#(ok(from(after(after(_x71, _x72), mark(mark(_x52))))))top#(from(mark(mark(after(after(_x71, active(_x72)), _x52)))))
top#(ok(from(after(cons(from(cons(s(cons(_x131, _x132)), _x112)), _x52), mark(mark(_x62))))))top#(mark(from(mark(after(cons(from(cons(s(cons(active(_x131), _x132)), _x112)), _x52), _x62)))))top#(ok(from(after(_x41, cons(after(_x71, after(from(cons(s(_x151), _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(cons(s(active(_x151)), _x142)), _x102)), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(_x111, _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(active(_x111), _x112), _x92), _x72), _x52)))))top#(ok(from(after(cons(from(_x61), _x52), mark(_x32)))))top#(from(mark(after(cons(from(active(_x61)), _x52), _x32))))
top#(ok(from(after(cons(from(cons(s(cons(after(from(_x181), _x142), _x132)), _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(s(cons(after(mark(cons(_x181, from(s(_x181)))), _x142), _x132)), _x112)), _x52), _x72))))))top#(ok(from(after(_x41, cons(cons(cons(from(_x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(after(_x71, _x72), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, active(_x72)), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(after(s(_x161), _x152)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(after(s(active(_x161)), _x152)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(from(from(after(_x121, _x122))), _x52)))))top#(mark(from(after(_x31, cons(from(from(after(_x121, active(_x122)))), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, s(from(_x121))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(from(active(_x121)))), _x52))))
top#(ok(from(after(mark(mark(_x61)), cons(cons(cons(cons(after(s(ok(_x171)), cons(_x133, mark(mark(ok(_x172))))), _x112), _x92), _x72), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(cons(cons(mark(mark(mark(ok(after(_x171, _x172))))), _x112), _x92), _x72), _x52))))))top#(ok(from(after(_x41, cons(after(0, _x61), _x62)))))top#(from(after(_x41, mark(cons(_x61, _x62)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(mark(_x161)), cons(_x133, mark(_x162))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(mark(after(_x161, _x162)))), _x112), _x92), _x72), _x52))))top#(ok(from(after(after(s(ok(mark(ok(_x101)))), cons(_x53, ok(ok(mark(_x102))))), _x32))))top#(from(mark(after(ok(mark(ok(mark(after(_x101, _x102))))), _x32))))
top#(ok(from(after(cons(after(_x81, after(s(ok(ok(_x141))), cons(_x113, ok(ok(_x142))))), _x52), mark(_x32)))))top#(from(mark(after(cons(after(_x81, mark(ok(ok(after(_x141, _x142))))), _x52), _x32))))top#(ok(from(after(cons(after(_x91, after(s(_x141), cons(_x113, mark(mark(_x142))))), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(mark(after(_x91, mark(mark(after(_x141, _x142))))), _x52), _x62)))))
top#(ok(from(after(_x41, cons(cons(cons(after(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(from(active(_x131)), _x112), _x92), _x72), _x52))))top#(ok(from(after(mark(mark(_x61)), cons(_x51, _x52)))))top#(from(mark(mark(after(_x61, cons(active(_x51), _x52))))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(cons(after(_x151, _x152), _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(cons(after(_x151, active(_x152)), _x142)), _x102)), _x52))))top#(ok(from(after(_x41, cons(after(mark(_x81), _x72), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, active(_x72))), _x52))))
top#(ok(from(after(after(s(ok(mark(ok(_x91)))), cons(_x53, ok(ok(_x92)))), mark(_x52)))))top#(from(mark(mark(after(ok(mark(ok(after(_x91, _x92)))), _x52)))))top#(ok(from(after(cons(from(s(_x71)), _x52), _x42))))top#(from(after(cons(from(s(active(_x71))), _x52), _x42)))
top#(ok(from(after(mark(_x31), cons(cons(from(_x111), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(cons(_x111, from(s(_x111)))), _x92), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(ok(_x151)), cons(_x133, ok(_x152))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(ok(after(_x151, _x152))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(from(from(after(mark(_x111), cons(_x161, _x162)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(mark(after(_x111, cons(active(_x161), _x162))))), _x52)))))top#(ok(from(after(mark(mark(_x81)), cons(cons(cons(cons(after(s(ok(ok(_x201))), cons(_x133, mark(mark(ok(ok(mark(_x202))))))), _x112), _x92), _x72), _x52)))))top#(from(mark(mark(after(_x81, cons(cons(cons(cons(mark(mark(mark(ok(ok(mark(after(_x201, _x202))))))), _x112), _x92), _x72), _x52))))))
top#(ok(from(after(after(s(ok(mark(_x81))), cons(_x53, ok(mark(_x82)))), _x42))))top#(from(after(mark(ok(mark(mark(after(_x81, _x82))))), _x42)))top#(ok(from(after(mark(_x31), cons(from(after(_x111, _x112)), _x52)))))top#(from(mark(after(_x31, cons(from(after(active(_x111), _x112)), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(ok(_x171)), cons(_x133, mark(mark(ok(_x172))))), _x122), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(mark(mark(ok(after(_x171, _x172)))), _x122)), _x92), _x72), _x52))))top#(ok(from(after(after(s(ok(mark(_x71))), cons(_x53, ok(_x72))), mark(_x32)))))top#(from(mark(after(mark(ok(mark(after(_x71, _x72)))), _x32))))
top#(ok(from(after(_x41, cons(after(mark(_x81), after(_x101, _x102)), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, after(active(_x101), _x102))), _x52))))top#(ok(from(after(_x41, cons(after(_x71, after(from(from(_x141)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(mark(cons(_x141, from(s(_x141))))), _x102)), _x52))))
top#(ok(from(after(cons(from(after(s(_x72), cons(_x73, _x71))), _x52), _x42))))top#(from(after(cons(from(mark(after(_x72, _x71))), _x52), _x42)))top#(ok(from(after(mark(mark(_x81)), cons(cons(cons(cons(after(s(mark(ok(_x201))), cons(_x133, mark(mark(ok(mark(_x202)))))), _x112), _x92), _x72), _x52)))))top#(from(mark(mark(after(_x81, cons(cons(cons(cons(mark(mark(mark(mark(ok(mark(after(_x201, _x202))))))), _x112), _x92), _x72), _x52))))))
top#(ok(from(after(mark(_x31), cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x52)))))top#(mark(from(after(_x31, cons(cons(mark(after(_x112, _x111)), _x92), _x52)))))top#(ok(cons(after(_x41, _x42), _x22)))top#(cons(after(_x41, active(_x42)), _x22))
top#(ok(from(after(_x41, cons(after(mark(_x81), after(from(s(after(_x151, _x152))), _x102)), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, after(from(s(after(active(_x151), _x152))), _x102))), _x52))))top#(ok(from(after(cons(after(after(from(after(after(_x101, _x102), _x92)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(after(after(active(_x101), _x102), _x92)), _x72), _x62), _x52), _x42)))
top#(ok(from(after(cons(from(_x81), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(cons(_x81, from(s(_x81)))), _x52), _x32))))top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(after(_x141, _x142), _x132), mark(_x112)))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(mark(after(cons(after(active(_x141), _x142), _x132), _x112)))), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(after(_x121, after(_x151, _x152)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(after(_x121, after(active(_x151), _x152)), _x102)), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(_x151), cons(_x133, mark(_x152))), _x122), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(mark(after(_x151, _x152)), _x122)), _x92), _x72), _x52))))
top#(ok(from(after(cons(after(_x81, after(_x111, _x112)), _x52), mark(_x32)))))top#(from(mark(after(cons(after(_x81, after(active(_x111), _x112)), _x52), _x32))))top#(ok(from(after(cons(after(0, _x41), _x42), _x42))))top#(from(after(mark(cons(_x41, _x42)), _x42)))
top#(ok(from(after(cons(from(cons(after(_x121, _x122), _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(after(_x121, active(_x122)), _x112)), _x52), _x72))))))top#(ok(from(after(_x41, cons(after(_x71, after(from(after(_x141, _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(after(active(_x141), _x142)), _x102)), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(_x121), mark(_x112))), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(after(from(active(_x121)), _x112))), _x52))))top#(ok(from(after(cons(from(_x91), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(mark(cons(_x91, from(s(_x91)))), _x52), _x62)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(0, mark(_x131)), _x132), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(mark(cons(_x131, _x132))), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(cons(cons(_x101, _x102), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x101), _x102), _x72), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(from(_x141), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(mark(cons(_x141, from(s(_x141)))), _x132), _x122))), _x52))))top#(ok(from(after(cons(after(s(_x101), cons(_x83, mark(_x102))), _x52), mark(_x32)))))top#(mark(from(after(cons(mark(mark(after(_x101, _x102))), _x52), _x32))))
top#(ok(from(after(cons(after(after(from(after(s(_x92), cons(_x93, _x91))), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(mark(after(_x92, _x91))), _x72), _x62), _x52), _x42)))top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(after(_x141, _x142)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(s(after(_x141, active(_x142))), _x102)), _x52)))))
top#(mark(after(_x21, _x22)))top#(after(proper(_x21), proper(_x22)))top#(ok(from(from(s(_x51)))))top#(from(from(s(active(_x51)))))
top#(ok(from(after(cons(from(s(_x111)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(s(active(_x111))), _x52), _x62)))))top#(ok(from(after(cons(cons(_x91, _x92), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(cons(active(_x91), _x92), _x52), _x62)))))
top#(ok(from(after(cons(from(cons(after(_x121, after(_x131, after(_x161, _x162))), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, after(_x131, after(active(_x161), _x162))), _x112)), _x52), _x62)))))top#(ok(from(after(_x41, cons(after(_x71, after(s(from(_x141)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(from(active(_x141))), _x102)), _x52))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(ok(from(after(cons(from(cons(s(after(_x131, _x132)), _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(s(after(active(_x131), _x132)), _x112)), _x52), _x72))))))
top#(ok(from(after(cons(after(_x81, after(s(ok(_x141)), cons(_x113, ok(mark(_x142))))), _x52), mark(_x32)))))top#(from(mark(after(cons(after(_x81, mark(ok(mark(after(_x141, _x142))))), _x52), _x32))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(after(0, _x141)), mark(_x112))), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, mark(after(s(mark(_x141)), _x112))), _x52)))))
top#(ok(from(after(cons(from(cons(after(_x121, after(_x131, from(_x161))), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, after(_x131, from(active(_x161)))), _x112)), _x52), _x62)))))top#(ok(from(after(cons(after(mark(_x91), after(s(mark(_x131)), cons(_x113, _x132))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(after(_x91, mark(mark(after(_x131, _x132))))), _x52), _x32))))
top#(ok(from(after(_x41, cons(cons(cons(cons(from(after(after(0, _x161), _x152)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(after(mark(_x161), _x152)), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(after(_x71, s(after(_x121, mark(_x112)))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(mark(after(active(_x121), _x112)))), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(cons(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(cons(active(_x131), _x132), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(0, _x121), _x122), _x102), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(cons(cons(_x121, _x122), _x102)), _x72), _x52))))
top#(ok(from(after(cons(from(cons(after(s(_x122), cons(_x123, _x121)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(mark(after(_x122, _x121)), _x112)), _x52), _x62)))))top#(ok(cons(from(_x41), _x22)))top#(cons(from(active(_x41)), _x22))
top#(ok(from(after(_x41, cons(cons(cons(cons(from(after(after(s(_x162), cons(_x163, _x161)), _x152)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(after(mark(after(_x162, _x161)), _x152)), _x112), _x92), _x72), _x52))))top#(ok(from(after(cons(from(cons(after(_x121, after(_x131, from(_x161))), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, after(_x131, mark(cons(_x161, from(s(_x161)))))), _x112)), _x52), _x62)))))
top#(ok(from(after(after(_x71, after(0, _x81)), mark(_x32)))))top#(mark(from(after(after(_x71, mark(_x81)), _x32))))top#(ok(from(after(cons(from(after(_x71, _x72)), _x52), _x42))))top#(from(after(cons(from(after(_x71, active(_x72))), _x52), _x42)))
top#(ok(from(after(cons(from(cons(_x111, _x112)), _x52), mark(mark(_x62))))))top#(mark(from(mark(after(cons(from(cons(active(_x111), _x112)), _x52), _x62)))))top#(ok(from(after(cons(_x51, _x52), mark(mark(_x62))))))top#(mark(from(mark(after(cons(active(_x51), _x52), _x62)))))
top#(ok(from(after(cons(from(cons(s(cons(after(0, _x141), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(mark(_x141), _x132)), _x112)), _x52), _x62)))))top#(ok(from(after(after(_x51, _x52), _x42))))top#(from(after(after(_x51, active(_x52)), _x42)))
top#(ok(from(after(mark(_x31), cons(from(s(_x111)), _x52)))))top#(from(mark(after(_x31, cons(from(s(active(_x111))), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(s(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(s(active(_x131)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(cons(from(cons(s(after(after(_x141, _x142), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(after(after(_x141, active(_x142)), _x132)), _x112)), _x52), _x62)))))top#(ok(from(after(mark(_x31), cons(cons(after(_x111, _x112), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(after(_x111, active(_x112)), _x92), _x52)))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(after(s(_x142), cons(_x143, _x141))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(mark(after(_x142, _x141))), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(s(_x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(s(s(active(_x141))), _x102)), _x52)))))
top#(ok(from(after(cons(from(cons(s(cons(s(_x141), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(s(active(_x141)), _x132)), _x112)), _x52), _x62)))))top#(ok(from(after(mark(_x31), cons(cons(after(s(mark(_x131)), cons(_x113, _x132)), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(mark(mark(after(_x131, _x132))), _x92), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(ok(mark(_x191))), cons(_x133, mark(mark(ok(_x192))))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(ok(mark(after(_x191, _x192)))))), _x112), _x92), _x72), _x52)))))top#(ok(from(after(cons(after(_x81, after(s(mark(_x131)), cons(_x113, _x132))), _x52), mark(_x32)))))top#(mark(from(after(cons(after(_x81, mark(mark(after(_x131, _x132)))), _x52), _x32))))
top#(ok(from(after(from(_x71), mark(_x32)))))top#(from(mark(after(mark(cons(_x71, from(s(_x71)))), _x32))))top#(ok(from(after(cons(from(cons(s(after(s(_x132), cons(_x133, _x131))), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(mark(after(_x132, _x131))), _x112)), _x52), _x62)))))
top#(ok(from(after(mark(_x31), cons(from(after(0, _x111)), _x52)))))top#(mark(from(after(_x31, cons(from(mark(_x111)), _x52)))))top#(ok(from(after(_x41, cons(cons(from(after(_x111, _x112)), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(after(_x111, active(_x112))), _x72), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, s(after(s(_x131), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(s(active(_x131)), _x122))), _x52))))top#(ok(from(after(cons(after(_x91, after(s(_x121), cons(_x113, mark(_x122)))), _x82), mark(mark(_x62))))))top#(from(mark(mark(after(mark(cons(after(_x91, mark(after(_x121, _x122))), _x82)), _x62)))))
top#(ok(from(after(_x41, mark(mark(_x62))))))top#(from(mark(mark(after(active(_x41), _x62)))))top#(ok(from(after(after(s(ok(ok(_x71))), cons(_x53, ok(ok(_x72)))), _x42))))top#(from(after(mark(ok(ok(after(_x71, _x72)))), _x42)))
top#(ok(from(after(cons(after(s(mark(_x111)), cons(_x83, mark(_x112))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(mark(mark(after(_x111, _x112)))), _x52), _x32))))top#(ok(from(after(_x41, cons(cons(cons(after(from(_x131), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(cons(_x131, from(s(_x131)))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(cons(after(_x81, _x82), _x52), mark(_x32)))))top#(mark(from(after(cons(after(_x81, active(_x82)), _x52), _x32))))top#(ok(from(after(_x41, cons(after(_x71, after(s(after(_x141, _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(after(active(_x141), _x142)), _x102)), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(cons(after(s(_x152), cons(_x153, _x151)), _x142)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(cons(mark(after(_x152, _x151)), _x142)), _x102)), _x52))))top#(ok(from(after(mark(_x31), cons(cons(after(_x111, _x112), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(after(active(_x111), _x112), _x92), _x52)))))
top#(ok(from(after(mark(_x31), cons(cons(cons(_x91, _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x91), _x92), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(from(from(after(_x121, after(_x131, _x132)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(after(_x121, after(active(_x131), _x132)))), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(after(_x121, _x122), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(after(_x121, active(_x122)), _x102)), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(after(0, _x161), _x152))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(after(mark(_x161), _x152))), _x102)), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(mark(_x191)), cons(_x133, mark(mark(mark(_x192))))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(mark(mark(after(_x191, _x192)))))), _x112), _x92), _x72), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(after(s(_x151), _x142), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(after(s(active(_x151)), _x142), _x132), _x122))), _x52))))
top#(ok(from(after(mark(_x31), cons(from(from(after(s(_x122), cons(_x123, _x121)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(mark(after(_x122, _x121)))), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(from(after(_x151, _x152)), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(from(after(active(_x151), _x152)), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(from(after(_x121, after(0, _x131)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(after(_x121, mark(_x131)))), _x52)))))top#(ok(from(after(cons(after(s(mark(_x101)), cons(_x83, _x102)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(mark(mark(after(_x101, _x102))), _x52), _x62)))))
top#(ok(from(after(_x41, cons(after(_x71, s(s(_x121))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(s(active(_x121)))), _x52))))top#(ok(cons(s(_x41), _x22)))top#(cons(s(active(_x41)), _x22))
top#(ok(from(after(mark(mark(_x61)), cons(cons(after(s(ok(_x141)), cons(_x113, ok(_x142))), _x92), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(mark(ok(after(_x141, _x142))), _x92), _x52))))))top#(ok(from(after(cons(after(after(_x71, _x72), _x62), _x52), mark(_x32)))))top#(from(mark(after(cons(after(after(active(_x71), _x72), _x62), _x52), _x32))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(ok(_x171)), cons(_x133, mark(mark(ok(_x172))))), _x132), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(mark(cons(mark(mark(ok(after(_x171, _x172)))), _x132)), _x92), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(after(s(_x92), cons(_x93, _x91)), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(after(_x92, _x91)), _x72), _x52))))
top#(ok(from(after(cons(from(cons(s(cons(after(after(_x151, _x152), _x142), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(after(after(active(_x151), _x152), _x142), _x132)), _x112)), _x52), _x62)))))top#(ok(from(after(mark(mark(_x61)), cons(from(after(0, _x111)), _x52)))))top#(from(mark(mark(after(_x61, cons(from(mark(_x111)), _x52))))))
top#(ok(from(after(_x41, cons(after(_x71, from(_x101)), _x52)))))top#(from(after(_x41, cons(after(_x71, from(active(_x101))), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(mark(mark(_x181))), cons(_x133, mark(mark(_x182)))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(mark(mark(mark(after(_x181, _x182)))))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(cons(from(after(s(_x152), cons(_x153, _x151))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(mark(after(_x152, _x151))), _x112), _x92), _x72), _x52))))top#(ok(from(after(cons(from(cons(s(cons(after(_x141, mark(_x132)), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(mark(after(active(_x141), _x132)), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(after(cons(from(cons(after(_x121, after(_x131, _x132)), _x112)), _x52), mark(mark(_x62))))))top#(mark(from(mark(after(cons(from(cons(after(_x121, after(_x131, active(_x132))), _x112)), _x52), _x62)))))top#(ok(from(after(cons(from(cons(after(_x121, after(s(_x132), cons(_x133, _x131))), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, mark(after(_x132, _x131))), _x112)), _x52), _x62)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(from(after(after(_x161, _x162), _x152)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(after(after(active(_x161), _x162), _x152)), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(cons(cons(after(_x111, _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(_x111, active(_x112)), _x92), _x72), _x52))))
top#(ok(from(after(cons(cons(_x61, _x62), _x52), _x42))))top#(from(after(cons(cons(active(_x61), _x62), _x52), _x42)))top#(ok(from(after(cons(after(_x81, after(s(_x112), cons(_x113, _x111))), _x52), mark(_x32)))))top#(mark(from(after(cons(after(_x81, mark(after(_x112, _x111))), _x52), _x32))))
top#(ok(from(after(after(s(ok(mark(ok(ok(_x101))))), cons(_x53, ok(ok(ok(_x102))))), _x32))))top#(from(mark(after(ok(mark(ok(ok(after(_x101, _x102))))), _x32))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(_x161), cons(_x133, mark(mark(_x162)))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(after(_x161, _x162)))), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(cons(from(cons(after(_x121, after(_x131, after(s(_x162), cons(_x163, _x161)))), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, after(_x131, mark(after(_x162, _x161)))), _x112)), _x52), _x62)))))top#(ok(from(after(mark(_x31), cons(after(mark(_x91), after(from(_x121), _x102)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x91, after(from(active(_x121)), _x102))), _x52)))))
top#(ok(from(after(cons(from(cons(s(after(after(_x141, _x142), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(after(after(active(_x141), _x142), _x132)), _x112)), _x52), _x62)))))top#(ok(from(after(after(s(ok(mark(mark(_x101)))), cons(_x53, ok(mark(_x102)))), _x32))))top#(from(mark(after(ok(mark(mark(mark(after(_x101, _x102))))), _x32))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(ok(ok(_x201))), cons(_x133, mark(mark(ok(ok(mark(_x202))))))), _x142), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(mark(cons(mark(mark(ok(ok(mark(after(_x201, _x202)))))), _x142)), _x92), _x72), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(after(from(_x151), _x142), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(after(from(active(_x151)), _x142), _x132), _x122))), _x52))))
top#(ok(from(after(_x41, cons(cons(cons(after(0, _x111), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(_x111), _x92), _x72), _x52))))top#(ok(from(after(cons(from(_x61), _x52), _x42))))top#(from(after(cons(mark(cons(_x61, from(s(_x61)))), _x52), _x42)))
top#(ok(from(after(cons(from(after(s(_x112), cons(_x113, _x111))), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(mark(after(_x112, _x111))), _x52), _x62)))))top#(ok(from(after(s(mark(_x51)), cons(_x43, _x52)))))top#(mark(from(mark(after(_x51, _x52)))))
top#(ok(from(after(_x41, cons(cons(from(_x91), _x72), _x52)))))top#(from(after(_x41, cons(cons(mark(cons(_x91, from(s(_x91)))), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(ok(ok(ok(_x221)))), cons(_x133, mark(mark(ok(ok(mark(ok(_x222)))))))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(ok(ok(mark(ok(after(_x221, _x222)))))))), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(cons(after(after(from(s(_x91)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(s(active(_x91))), _x72), _x62), _x52), _x42)))top#(ok(from(after(after(s(ok(_x71)), cons(_x53, ok(mark(_x72)))), _x42))))top#(from(after(mark(ok(mark(after(_x71, _x72)))), _x42)))
top#(ok(from(after(mark(_x31), cons(after(s(_x92), cons(_x93, _x91)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x92, _x91)), _x52)))))top#(ok(from(after(_x41, cons(after(_x71, after(from(s(cons(_x151, _x152))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(cons(active(_x151), _x152))), _x102)), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(_x71, _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(active(_x71), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(ok(_x171)), cons(_x133, mark(mark(ok(_x172))))), _x112), _x92), _x72), _x52)))))top#(mark(from(after(_x31, cons(cons(cons(cons(mark(mark(mark(ok(after(_x171, _x172))))), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(mark(mark(_x61)), cons(after(_x71, after(from(_x121), _x102)), _x52)))))top#(from(mark(mark(after(_x61, cons(after(_x71, after(from(active(_x121)), _x102)), _x52))))))top#(ok(from(after(cons(from(cons(s(from(_x131)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(from(active(_x131))), _x112)), _x52), _x62)))))
top#(ok(from(after(mark(mark(_x61)), cons(cons(cons(cons(after(s(mark(_x171)), cons(_x133, mark(mark(_x172)))), _x112), _x92), _x72), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(cons(cons(mark(mark(mark(mark(after(_x171, _x172))))), _x112), _x92), _x72), _x52))))))top#(ok(after(s(_x22), cons(_x23, _x21))))top#(mark(after(_x22, _x21)))
top#(ok(from(after(_x41, cons(cons(cons(after(after(_x131, _x132), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(after(_x131, active(_x132)), _x112), _x92), _x72), _x52))))top#(ok(from(after(mark(_x31), cons(after(mark(_x91), after(s(after(0, _x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(mark(after(_x91, after(s(mark(_x141)), _x102))), _x52)))))
top#(ok(from(after(cons(after(s(_x111), cons(_x83, mark(mark(_x112)))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(mark(mark(after(_x111, _x112)))), _x52), _x32))))top#(ok(from(after(cons(after(mark(_x101), after(s(_x112), cons(_x113, _x111))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(mark(after(_x101, after(_x112, _x111)))), _x52), _x32))))
top#(ok(from(after(mark(_x31), cons(after(_x71, s(_x101)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, s(active(_x101))), _x52)))))top#(ok(from(after(cons(from(cons(s(after(from(_x141), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(after(mark(cons(_x141, from(s(_x141)))), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(after(mark(mark(_x61)), cons(cons(_x71, _x72), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(active(_x71), _x72), _x52))))))top#(ok(from(after(cons(after(after(from(after(_x91, _x92)), mark(_x62)), _x62), _x52), _x42))))top#(from(after(cons(after(mark(after(from(after(active(_x91), _x92)), _x62)), _x62), _x52), _x42)))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(ok(from(after(_x41, cons(after(mark(_x81), after(s(_x121), _x102)), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, after(s(active(_x121)), _x102))), _x52))))
top#(ok(from(after(mark(mark(_x61)), cons(after(_x71, after(from(after(0, _x141)), _x102)), _x52)))))top#(mark(from(mark(after(_x61, cons(after(_x71, after(from(mark(_x141)), _x102)), _x52))))))top#(ok(from(after(_x41, cons(cons(from(after(0, _x111)), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(mark(_x111)), _x72), _x52))))
top#(ok(from(after(cons(from(cons(s(_x121), _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(s(active(_x121)), _x112)), _x52), _x72))))))top#(ok(from(after(cons(from(cons(s(cons(after(after(s(_x152), cons(_x153, _x151)), _x142), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(after(mark(after(_x152, _x151)), _x142), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(after(cons(from(cons(s(after(from(_x141), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(after(from(active(_x141)), _x132)), _x112)), _x52), _x62)))))top#(ok(from(cons(_x41, _x42))))top#(from(cons(active(_x41), _x42)))
top#(ok(from(after(_x41, cons(after(_x71, after(after(_x121, _x122), mark(_x112))), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(after(after(_x121, active(_x122)), _x112))), _x52))))top#(ok(from(after(cons(after(_x81, _x82), _x52), mark(_x32)))))top#(from(mark(after(cons(after(active(_x81), _x82), _x52), _x32))))
top#(ok(from(after(mark(_x31), cons(cons(from(_x101), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(from(active(_x101)), _x72), _x52)))))top#(ok(from(after(after(_x71, _x72), mark(_x32)))))top#(from(mark(after(after(active(_x71), _x72), _x32))))
top#(ok(from(after(cons(after(after(after(0, _x81), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(mark(_x81), _x72), _x62), _x52), _x42)))top#(ok(from(after(0, _x41))))top#(from(mark(_x41)))
top#(ok(from(after(_x41, cons(after(_x71, after(after(_x121, after(s(_x152), cons(_x153, _x151))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(after(_x121, mark(after(_x152, _x151))), _x102)), _x52))))top#(ok(from(after(cons(s(_x81), _x52), mark(_x32)))))top#(from(mark(after(cons(s(active(_x81)), _x52), _x32))))
top#(ok(from(after(cons(from(cons(s(after(after(0, _x141), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(after(mark(_x141), _x132)), _x112)), _x52), _x62)))))top#(ok(from(after(after(_x71, after(_x81, _x82)), mark(_x32)))))top#(from(mark(after(after(_x71, after(_x81, active(_x82))), _x32))))
top#(ok(from(after(cons(after(after(from(_x81), _x72), mark(_x52)), _x52), _x42))))top#(from(after(cons(mark(after(after(from(active(_x81)), _x72), _x52)), _x52), _x42)))top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(_x151, mark(_x142)))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(mark(after(active(_x151), _x142)))), _x102)), _x52))))
top#(ok(from(after(_x41, cons(after(_x71, after(s(s(_x141)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(s(s(active(_x141))), _x102)), _x52))))top#(ok(from(from(from(_x51)))))top#(from(from(mark(cons(_x51, from(s(_x51)))))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(from(_x141)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(from(active(_x141))), _x102)), _x52))))top#(ok(from(after(cons(from(_x91), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(active(_x91)), _x52), _x72))))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(after(0, _x121)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(mark(s(_x121)), _x102)), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(after(after(s(mark(_x151)), cons(_x133, _x152)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(mark(after(_x151, _x152))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(cons(after(_x91, after(s(mark(_x131)), cons(_x113, _x132))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(after(_x91, mark(after(_x131, _x132)))), _x52), _x32))))top#(ok(from(after(_x41, cons(cons(from(from(_x111)), _x72), _x52)))))top#(from(after(_x41, cons(cons(from(from(active(_x111))), _x72), _x52))))
top#(ok(from(after(after(s(ok(mark(ok(_x101)))), cons(_x53, ok(mark(ok(_x102))))), _x32))))top#(from(mark(after(ok(mark(mark(ok(after(_x101, _x102))))), _x32))))top#(ok(from(after(after(_x71, after(_x81, _x82)), mark(_x32)))))top#(from(mark(after(after(_x71, after(active(_x81), _x82)), _x32))))
top#(ok(from(after(cons(after(_x91, after(s(_x112), cons(_x113, _x111))), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(mark(after(_x91, after(_x112, _x111))), _x52), _x62)))))top#(ok(from(after(_x41, after(s(_x52), cons(_x53, _x51))))))top#(from(after(_x41, mark(after(_x52, _x51)))))
top#(ok(from(after(cons(from(cons(after(mark(_x111), after(_x131, _x132)), after(_x131, active(_x132)))), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(mark(after(_x111, after(_x131, active(_x132)))), _x112)), _x52), _x62)))))top#(ok(from(after(cons(s(_x61), _x52), _x42))))top#(from(after(cons(s(active(_x61)), _x52), _x42)))
top#(ok(from(after(mark(mark(_x61)), cons(after(_x71, after(from(after(0, _x141)), mark(_x152))), _x52)))))top#(from(mark(mark(after(_x61, cons(after(_x71, mark(after(from(mark(_x141)), _x152))), _x52))))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(ok(ok(mark(_x201)))), cons(_x133, mark(mark(ok(ok(_x202)))))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(ok(ok(mark(after(_x201, _x202))))))), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(_x41, cons(cons(cons(cons(from(after(_x151, mark(_x142))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(mark(after(active(_x151), _x142))), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(after(_x71, after(from(s(after(_x151, _x152))), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(from(s(after(_x151, active(_x152)))), _x102)), _x52))))
top#(ok(from(after(cons(from(cons(s(cons(after(_x141, _x142), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(mark(from(mark(after(cons(from(cons(s(cons(after(active(_x141), _x142), _x132)), _x112)), _x52), _x62)))))top#(ok(from(after(_x41, cons(after(_x71, after(after(s(_x122), cons(_x123, _x121)), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(mark(after(_x122, _x121)), _x102)), _x52))))
top#(ok(from(from(after(s(_x52), cons(_x53, _x51))))))top#(from(from(mark(after(_x52, _x51)))))top#(ok(from(after(cons(from(cons(s(cons(cons(_x141, _x142), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(cons(active(_x141), _x142), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(after(mark(mark(mark(_x71))), cons(cons(after(s(_x112), cons(_x113, _x111)), _x92), _x52)))))top#(from(mark(mark(mark(after(_x71, cons(cons(mark(after(_x112, _x111)), _x92), _x52)))))))top#(ok(from(after(cons(from(cons(s(cons(after(cons(_x151, _x152), _x142), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(cons(after(cons(active(_x151), _x152), _x142), _x132)), _x112)), _x52), _x62)))))
top#(ok(from(from(from(_x51)))))top#(from(from(from(active(_x51)))))top#(ok(from(after(cons(from(cons(s(cons(after(_x141, _x142), _x132)), _x112)), _x52), mark(mark(mark(mark(_x82))))))))top#(from(mark(mark(mark(mark(after(cons(from(cons(s(cons(after(active(_x141), _x142), _x132)), _x112)), _x52), _x82)))))))
top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(ok(_x161)), cons(_x133, mark(ok(_x162)))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(mark(mark(ok(after(_x161, _x162)))), _x112), _x92), _x72), _x52))))top#(ok(from(after(_x41, cons(after(_x71, s(after(after(_x131, _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(after(active(_x131), _x132), _x122))), _x52))))
top#(ok(from(after(after(_x71, after(s(_x82), cons(_x83, _x81))), mark(_x32)))))top#(from(mark(after(after(_x71, mark(after(_x82, _x81))), _x32))))top#(ok(from(after(cons(from(cons(after(_x121, after(mark(_x141), _x132)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, mark(after(_x141, active(_x132)))), _x112)), _x52), _x62)))))
top#(ok(from(after(mark(mark(_x61)), cons(cons(after(s(_x112), cons(_x113, _x111)), _x122), _x52)))))top#(from(mark(mark(after(_x61, cons(mark(cons(after(_x112, _x111), _x122)), _x52))))))top#(ok(from(after(after(s(ok(mark(_x91))), cons(_x53, ok(mark(_x92)))), mark(_x52)))))top#(from(mark(mark(after(ok(mark(mark(after(_x91, _x92)))), _x52)))))
top#(ok(from(after(cons(from(cons(after(_x121, after(_x131, after(_x161, _x162))), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, after(_x131, after(_x161, active(_x162)))), _x112)), _x52), _x62)))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(from(_x151)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(mark(cons(_x151, from(s(_x151))))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(cons(from(cons(s(cons(_x131, _x132)), _x112)), _x52), mark(mark(mark(_x72)))))))top#(from(mark(mark(mark(after(cons(from(cons(s(cons(active(_x131), _x132)), _x112)), _x52), _x72))))))top#(ok(from(after(after(s(ok(mark(ok(_x91)))), cons(_x53, ok(ok(_x92)))), ok(_x52)))))top#(from(mark(ok(after(mark(ok(after(_x91, _x92))), _x52)))))
top#(ok(from(after(cons(after(_x91, after(s(_x141), cons(_x113, mark(mark(_x142))))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(after(_x91, mark(mark(after(_x141, _x142))))), _x52), _x32))))top#(ok(after(0, _x21)))top#(mark(_x21))
top#(ok(from(after(cons(after(s(_x101), cons(_x83, mark(_x102))), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(mark(mark(after(_x101, _x102))), _x52), _x62)))))top#(ok(from(after(mark(_x31), cons(after(_x71, s(after(_x121, _x122))), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, s(after(active(_x121), _x122))), _x52)))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(cons(_x141, _x142)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(s(cons(active(_x141), _x142)), _x102)), _x52)))))top#(ok(from(after(mark(_x31), cons(from(from(_x111)), _x52)))))top#(mark(from(after(_x31, cons(from(from(active(_x111))), _x52)))))
top#(ok(from(after(cons(after(s(_x82), cons(_x83, _x81)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(mark(after(_x82, _x81)), _x52), _x62)))))top#(ok(from(after(cons(after(s(ok(_x101)), cons(_x83, ok(_x102))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(ok(after(_x101, _x102))), _x52), _x32))))
top#(ok(from(after(mark(_x31), cons(cons(cons(after(after(s(_x132), cons(_x133, _x131)), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(after(mark(after(_x132, _x131)), _x112), _x92), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(cons(after(s(mark(_x171)), cons(_x133, mark(mark(_x172)))), _x122), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(mark(cons(mark(mark(mark(after(_x171, _x172)))), _x122)), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(ok(ok(mark(_x221)))), cons(_x133, mark(mark(ok(ok(mark(_x222))))))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(ok(ok(mark(mark(after(_x221, _x222)))))))), _x112), _x92), _x72), _x52)))))top#(ok(from(after(_x41, cons(cons(cons(after(after(s(_x151), cons(_x133, mark(_x152))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(mark(after(_x151, _x152))), _x112), _x92), _x72), _x52))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(s(from(_x141)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(s(mark(cons(_x141, from(s(_x141))))), _x102)), _x52)))))top#(ok(from(after(cons(after(after(from(_x81), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(mark(cons(_x81, from(s(_x81)))), _x72), _x62), _x52), _x42)))
top#(ok(from(after(_x41, cons(after(mark(_x81), s(after(cons(after(_x141, _x142), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(mark(after(_x81, s(after(cons(after(active(_x141), _x142), _x132), _x122)))), _x52))))top#(ok(from(after(_x41, cons(cons(cons(cons(from(after(cons(_x161, _x162), _x152)), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(cons(from(after(cons(active(_x161), _x162), _x152)), _x112), _x92), _x72), _x52))))
top#(ok(from(after(cons(after(_x61, mark(_x52)), _x52), _x42))))top#(from(after(cons(mark(after(active(_x61), _x52)), _x52), _x42)))top#(ok(from(after(_x41, cons(cons(after(_x91, _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(after(active(_x91), _x92), _x72), _x52))))
top#(ok(from(after(cons(from(cons(after(_x121, s(_x131)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, s(active(_x131))), _x112)), _x52), _x62)))))top#(ok(from(after(cons(after(after(from(_x81), _x72), _x62), _x52), mark(_x32)))))top#(from(mark(after(cons(after(after(from(active(_x81)), _x72), _x62), _x52), _x32))))
top#(ok(from(after(cons(after(_x91, _x92), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(after(active(_x91), _x92), _x52), _x62)))))top#(ok(from(after(cons(from(cons(after(_x121, from(_x131)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, mark(cons(_x131, from(s(_x131))))), _x112)), _x52), _x62)))))
top#(ok(from(after(cons(from(cons(after(_x121, _x122), _x112)), _x52), mark(mark(_x62))))))top#(mark(from(mark(after(cons(from(cons(after(_x121, active(_x122)), _x112)), _x52), _x62)))))top#(ok(from(after(cons(from(cons(cons(_x121, _x122), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(cons(active(_x121), _x122), _x112)), _x52), _x62)))))
top#(ok(from(after(cons(from(cons(s(from(_x131)), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(s(mark(cons(_x131, from(s(_x131))))), _x112)), _x52), _x62)))))top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(_x131, _x132), mark(_x112)))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(mark(after(cons(active(_x131), _x132), _x112)))), _x52))))
top#(ok(from(after(cons(from(cons(after(_x121, after(_x131, after(0, _x161))), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(after(_x121, after(_x131, mark(_x161))), _x112)), _x52), _x62)))))top#(ok(from(after(cons(after(mark(_x101), after(s(_x121), cons(_x113, mark(_x122)))), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(mark(after(_x101, mark(after(_x121, _x122))))), _x52), _x32))))
top#(ok(after(_x21, _x22)))top#(after(active(_x21), _x22))top#(ok(from(after(mark(_x31), cons(cons(cons(_x111, _x112), _x92), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(active(_x111), _x112), _x92), _x52)))))
top#(ok(from(after(mark(_x31), cons(from(from(after(mark(_x111), after(_x161, _x162)))), _x52)))))top#(from(mark(after(_x31, cons(from(from(mark(after(_x111, after(_x161, active(_x162)))))), _x52)))))top#(ok(after(_x21, _x22)))top#(after(_x21, active(_x22)))
top#(ok(from(after(mark(_x31), cons(from(from(after(mark(_x111), _x122))), _x52)))))top#(from(mark(after(_x31, cons(from(mark(from(after(_x111, active(_x122))))), _x52)))))top#(ok(from(after(cons(from(_x81), _x52), mark(_x32)))))top#(from(mark(after(cons(from(active(_x81)), _x52), _x32))))
top#(ok(from(after(_x41, cons(after(_x71, s(cons(_x121, _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(cons(active(_x121), _x122))), _x52))))top#(ok(from(after(_x41, cons(after(_x71, s(after(cons(cons(_x141, _x142), _x132), _x122))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(after(cons(cons(active(_x141), _x142), _x132), _x122))), _x52))))
top#(ok(from(after(cons(from(cons(after(0, _x121), _x112)), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(mark(_x121), _x112)), _x52), _x62)))))top#(ok(from(after(_x41, cons(after(_x71, after(s(_x121), mark(_x112))), _x52)))))top#(from(after(_x41, cons(after(_x71, mark(after(s(active(_x121)), _x112))), _x52))))
top#(ok(from(after(cons(after(after(from(after(from(_x101), _x92)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(after(from(active(_x101)), _x92)), _x72), _x62), _x52), _x42)))top#(ok(from(after(_x41, cons(after(_x71, cons(_x101, _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, cons(active(_x101), _x102)), _x52))))
top#(ok(from(after(after(0, _x71), mark(_x32)))))top#(from(mark(after(mark(_x71), _x32))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(after(s(ok(ok(_x221))), cons(_x133, mark(mark(ok(ok(mark(mark(_x222)))))))), _x112), _x92), _x72), _x52)))))top#(from(mark(after(_x31, cons(cons(cons(cons(mark(mark(mark(ok(ok(mark(mark(after(_x221, _x222)))))))), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(cons(after(s(mark(mark(_x111))), cons(_x83, _x112)), _x52), mark(_x32)))))top#(from(mark(after(cons(mark(mark(mark(after(_x111, _x112)))), _x52), _x32))))top#(ok(from(after(mark(_x31), cons(after(_x91, _x92), _x52)))))top#(from(mark(after(_x31, cons(after(_x91, active(_x92)), _x52)))))
top#(ok(from(after(cons(after(after(from(after(after(_x101, _x102), _x92)), _x72), _x62), _x52), _x42))))top#(from(after(cons(after(after(from(after(after(_x101, active(_x102)), _x92)), _x72), _x62), _x52), _x42)))top#(ok(from(after(_x41, cons(after(_x71, s(from(_x121))), _x52)))))top#(from(after(_x41, cons(after(_x71, s(mark(cons(_x121, from(s(_x121)))))), _x52))))
top#(ok(from(from(_x41))))top#(from(mark(cons(_x41, from(s(_x41))))))top#(ok(from(after(mark(mark(_x61)), cons(cons(cons(cons(after(s(ok(ok(_x191))), cons(_x133, mark(mark(ok(ok(_x192)))))), _x112), _x92), _x72), _x52)))))top#(from(mark(mark(after(_x61, cons(cons(cons(cons(mark(mark(mark(ok(ok(after(_x191, _x192)))))), _x112), _x92), _x72), _x52))))))
top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(after(0, _x141)), mark(_x112))), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, mark(after(from(mark(_x141)), _x112))), _x52)))))top#(ok(from(after(mark(_x31), cons(after(_x71, after(from(after(_x141, _x142)), _x102)), _x52)))))top#(from(mark(after(_x31, cons(after(_x71, after(from(after(active(_x141), _x142)), _x102)), _x52)))))
top#(ok(from(after(cons(after(_x81, after(s(ok(_x131)), cons(_x113, ok(_x132)))), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(after(_x81, mark(ok(after(_x131, _x132)))), _x52), _x62)))))top#(ok(from(after(mark(_x31), cons(from(from(after(mark(mark(_x141)), _x122))), _x52)))))top#(from(mark(after(_x31, cons(from(from(mark(mark(after(_x141, active(_x122)))))), _x52)))))
top#(ok(from(after(_x41, from(_x51)))))top#(from(after(_x41, from(active(_x51)))))top#(ok(from(s(_x41))))top#(from(s(active(_x41))))
top#(ok(from(after(_x41, cons(after(_x71, after(from(_x121), _x102)), _x52)))))top#(from(after(_x41, cons(after(_x71, after(mark(cons(_x121, from(s(_x121)))), _x102)), _x52))))top#(ok(from(after(cons(from(cons(after(mark(_x111), _x122), active(_x122))), _x52), mark(mark(_x62))))))top#(from(mark(mark(after(cons(from(cons(mark(after(_x111, active(_x122))), _x112)), _x52), _x62)))))
top#(ok(from(after(_x41, cons(cons(cons(after(after(s(ok(_x151)), cons(_x133, ok(_x152))), _x112), _x92), _x72), _x52)))))top#(from(after(_x41, cons(cons(cons(after(mark(ok(after(_x151, _x152))), _x112), _x92), _x72), _x52))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


The right-hand side of the rule top#(ok(from(after(mark(_x31), cons(cons(cons(cons(from(after(0, _x151)), _x112), _x92), _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(cons(cons(from(mark(_x151)), _x112), _x92), _x72), _x52))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
top#(from(mark(after(_x31, cons(cons(cons(cons(mark(from(_x141)), _x112), _x92), _x72), _x52))))) 
top#(from(mark(mark(after(_x61, cons(cons(cons(cons(from(mark(_x151)), _x112), _x92), _x72), _x52)))))) 
top#(mark(from(after(_x31, cons(cons(cons(cons(from(mark(_x151)), _x112), _x92), _x72), _x52))))) 
Thus, the rule top#(ok(from(after(mark(_x31), cons(cons(cons(cons(from(after(0, _x151)), _x112), _x92), _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(cons(cons(from(mark(_x151)), _x112), _x92), _x72), _x52))))) is replaced by the following rules:
top#(ok(from(after(mark(_x31), cons(cons(cons(cons(from(after(0, _x151)), _x112), _x92), _x72), _x52))))) → top#(mark(from(after(_x31, cons(cons(cons(cons(from(mark(_x151)), _x112), _x92), _x72), _x52)))))top#(ok(from(after(mark(_x31), cons(cons(cons(cons(from(after(0, _x141)), _x112), _x92), _x72), _x52))))) → top#(from(mark(after(_x31, cons(cons(cons(cons(mark(from(_x141)), _x112), _x92), _x72), _x52)))))
top#(ok(from(after(mark(mark(_x61)), cons(cons(cons(cons(from(after(0, _x151)), _x112), _x92), _x72), _x52))))) → top#(from(mark(mark(after(_x61, cons(cons(cons(cons(from(mark(_x151)), _x112), _x92), _x72), _x52))))))

Problem 8: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(after(0, XS))mark(XS)
active(after(s(N), cons(X, XS)))mark(after(N, XS))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(after(X1, X2))after(active(X1), X2)active(after(X1, X2))after(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))after(mark(X1), X2)mark(after(X1, X2))
after(X1, mark(X2))mark(after(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(after(X1, X2))after(proper(X1), proper(X2))proper(0)ok(0)
from(ok(X))ok(from(X))cons(ok(X1), ok(X2))ok(cons(X1, X2))
s(ok(X))ok(s(X))after(ok(X1), ok(X2))ok(after(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: after, 0, s, active, mark, ok, from, proper, cons, top

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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