TIMEOUT

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (672ms).
 | – Problem 2 was processed with processor SubtermCriterion (1ms).
 |    | – Problem 9 was processed with processor PolynomialLinearRange4iUR (48ms).
 | – Problem 3 was processed with processor SubtermCriterion (1ms).
 | – Problem 4 was processed with processor SubtermCriterion (0ms).
 | – Problem 5 was processed with processor ForwardNarrowing (6ms).
 |    | – Problem 10 was processed with processor ForwardNarrowing (5ms).
 |    |    | – Problem 11 was processed with processor ForwardNarrowing (4ms).
 |    |    |    | – Problem 12 was processed with processor ForwardNarrowing (8ms).
 |    |    |    |    | – Problem 13 was processed with processor ForwardNarrowing (12ms).
 |    |    |    |    |    | – Problem 14 was processed with processor ForwardNarrowing (44ms).
 |    |    |    |    |    |    | – Problem 15 was processed with processor ForwardNarrowing (18ms).
 |    |    |    |    |    |    |    | – Problem 16 was processed with processor ForwardNarrowing (21ms).
 |    |    |    |    |    |    |    |    | – Problem 17 was processed with processor ForwardNarrowing (16ms).
 |    |    |    |    |    |    |    |    |    | – Problem 18 was processed with processor ForwardNarrowing (23ms).
 |    |    |    |    |    |    |    |    |    |    | – Problem 19 was processed with processor ForwardNarrowing (22ms).
 |    |    |    |    |    |    |    |    |    |    |    | – Problem 20 was processed with processor ForwardNarrowing (23ms).
 |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 21 was processed with processor ForwardNarrowing (30ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 22 was processed with processor ForwardNarrowing (31ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 23 was processed with processor ForwardNarrowing (45ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 24 was processed with processor ForwardNarrowing (40ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 25 was processed with processor ForwardNarrowing (41ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 26 was processed with processor ForwardNarrowing (52ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 27 was processed with processor ForwardNarrowing (103ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 28 was processed with processor ForwardNarrowing (57ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 29 was processed with processor ForwardNarrowing (423ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 30 remains open; application of the following processors failed [ForwardNarrowing (452ms), ForwardNarrowing (345ms), ForwardNarrowing (456ms), ForwardNarrowing (374ms), ForwardNarrowing (485ms), ForwardNarrowing (221ms), ForwardNarrowing (452ms), ForwardNarrowing (393ms), ForwardNarrowing (238ms), ForwardNarrowing (392ms), ForwardNarrowing (526ms), ForwardNarrowing (timeout)].
 | – Problem 6 was processed with processor SubtermCriterion (2ms).
 | – Problem 7 was processed with processor SubtermCriterion (4ms).
 | – Problem 8 was processed with processor SubtermCriterion (1ms).

The following open problems remain:



Open Dependency Pair Problem 5

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(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

sel#(mark(X1), X2)sel#(X1, X2)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)proper#(sel(X1, X2))sel#(proper(X1), proper(X2))
active#(cons(X1, X2))cons#(active(X1), X2)active#(sel(X1, X2))active#(X2)
active#(sel(X1, X2))active#(X1)active#(from(X))cons#(X, from(s(X)))
proper#(from(X))from#(proper(X))proper#(sel(X1, X2))proper#(X2)
top#(mark(X))proper#(X)proper#(from(X))proper#(X)
active#(sel(X1, X2))sel#(X1, active(X2))active#(sel(X1, X2))sel#(active(X1), X2)
top#(mark(X))top#(proper(X))active#(sel(s(X), cons(Y, Z)))sel#(X, Z)
proper#(cons(X1, X2))proper#(X2)active#(from(X))active#(X)
active#(s(X))s#(active(X))sel#(X1, mark(X2))sel#(X1, X2)
s#(ok(X))s#(X)s#(mark(X))s#(X)
active#(from(X))s#(X)proper#(sel(X1, X2))proper#(X1)
proper#(s(X))proper#(X)proper#(cons(X1, X2))cons#(proper(X1), proper(X2))
active#(s(X))active#(X)sel#(ok(X1), ok(X2))sel#(X1, X2)
proper#(s(X))s#(proper(X))active#(from(X))from#(s(X))
active#(cons(X1, X2))active#(X1)

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The following SCCs where found

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

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

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

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

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

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

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 9: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


Polynomial Interpretation

There are no usable rules

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

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

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 5: 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(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: 0, s, active, mark, ok, from, proper, sel, 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#(sel(proper(_x21), proper(_x22))) 
top#(cons(proper(_x21), proper(_x22))) 
top#(s(proper(_x21))) 
Thus, the rule top#(mark(X)) → top#(proper(X)) is replaced by the following rules:
top#(mark(0)) → top#(ok(0))top#(mark(sel(_x21, _x22))) → top#(sel(proper(_x21), proper(_x22)))
top#(mark(cons(_x21, _x22))) → top#(cons(proper(_x21), proper(_x22)))top#(mark(s(_x21))) → top#(s(proper(_x21)))
top#(mark(from(_x21))) → top#(from(proper(_x21)))

Problem 10: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: 0, s, active, ok, mark, proper, from, sel, 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#(sel(active(_x21), _x22)) 
top#(s(active(_x21))) 
top#(cons(active(_x21), _x22)) 
top#(sel(_x21, active(_x22))) 
top#(from(active(_x21))) 
top#(mark(sel(_x22, _x23))) 
top#(mark(_x22)) 
top#(mark(cons(_x21, from(s(_x21))))) 
Thus, the rule top#(ok(X)) → top#(active(X)) is replaced by the following rules:
top#(ok(from(_x21))) → top#(from(active(_x21)))top#(ok(s(_x21))) → top#(s(active(_x21)))
top#(ok(sel(_x21, _x22))) → top#(sel(_x21, active(_x22)))top#(ok(sel(_x21, _x22))) → top#(sel(active(_x21), _x22))
top#(ok(cons(_x21, _x22))) → top#(cons(active(_x21), _x22))top#(ok(sel(s(_x22), cons(_x21, _x23)))) → top#(mark(sel(_x22, _x23)))
top#(ok(from(_x21))) → top#(mark(cons(_x21, from(s(_x21)))))top#(ok(sel(0, cons(_x22, _x21)))) → top#(mark(_x22))

Problem 11: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: 0, s, active, mark, ok, from, proper, sel, 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#(mark(sel(_x21, _x22)))top#(sel(proper(_x21), proper(_x22)))top#(ok(from(_x21)))top#(from(active(_x21)))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))
top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(_x21, _x22))) → top#(sel(proper(_x21), proper(_x22))) 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#(sel(sel(proper(_x41), proper(_x42)), proper(_x22))) 
top#(sel(proper(_x21), ok(0))) 
top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22))) 
top#(sel(proper(_x21), from(proper(_x51)))) 
top#(sel(proper(_x21), s(proper(_x51)))) 
top#(sel(ok(0), proper(_x22))) 
top#(sel(s(proper(_x41)), proper(_x22))) 
top#(sel(proper(_x21), sel(proper(_x51), proper(_x52)))) 
top#(sel(proper(_x21), cons(proper(_x51), proper(_x52)))) 
top#(sel(from(proper(_x41)), proper(_x22))) 
Thus, the rule top#(mark(sel(_x21, _x22))) → top#(sel(proper(_x21), proper(_x22))) is replaced by the following rules:
top#(mark(sel(sel(_x41, _x42), _x22))) → top#(sel(sel(proper(_x41), proper(_x42)), proper(_x22)))top#(mark(sel(_x21, s(_x51)))) → top#(sel(proper(_x21), s(proper(_x51))))
top#(mark(sel(_x21, sel(_x51, _x52)))) → top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))top#(mark(sel(from(_x41), _x22))) → top#(sel(from(proper(_x41)), proper(_x22)))
top#(mark(sel(_x21, from(_x51)))) → top#(sel(proper(_x21), from(proper(_x51))))top#(mark(sel(s(_x41), _x22))) → top#(sel(s(proper(_x41)), proper(_x22)))
top#(mark(sel(cons(_x41, _x42), _x22))) → top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))top#(mark(sel(_x21, cons(_x51, _x52)))) → top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))
top#(mark(sel(0, _x22))) → top#(sel(ok(0), proper(_x22)))top#(mark(sel(_x21, 0))) → top#(sel(proper(_x21), ok(0)))

Problem 13: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(_x41, _x42), _x22))) → top#(sel(sel(proper(_x41), proper(_x42)), proper(_x22))) 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#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), proper(_x22))) 
top#(sel(sel(proper(_x41), proper(_x42)), ok(0))) 
top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52)))) 
top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), proper(_x22))) 
top#(sel(sel(proper(_x41), ok(0)), proper(_x22))) 
top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22))) 
top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51)))) 
top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22))) 
top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22))) 
top#(sel(sel(ok(0), proper(_x42)), proper(_x22))) 
top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22))) 
top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22))) 
Thus, the rule top#(mark(sel(sel(_x41, _x42), _x22))) → top#(sel(sel(proper(_x41), proper(_x42)), proper(_x22))) is replaced by the following rules:
top#(mark(sel(sel(_x41, s(_x71)), _x22))) → top#(sel(sel(proper(_x41), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22))) → top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(s(_x61), _x42), _x22))) → top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22))) → top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, 0), _x22))) → top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))
top#(mark(sel(sel(_x41, _x42), s(_x51)))) → top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))top#(mark(sel(sel(_x41, _x42), sel(_x51, _x52)))) → top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, from(_x71)), _x22))) → top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))top#(mark(sel(sel(from(_x61), _x42), _x22))) → top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(0, _x42), _x22))) → top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, _x42), 0))) → top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))
top#(mark(sel(sel(_x41, _x42), from(_x51)))) → top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52)))) → top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22))) → top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))

Problem 14: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(_x41, s(_x71)), _x22))) → top#(sel(sel(proper(_x41), s(proper(_x71))), proper(_x22))) 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#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), from(proper(_x51)))) 
top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0))) 
top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22))) 
top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51)))) 
Thus, the rule top#(mark(sel(sel(_x41, s(_x71)), _x22))) → top#(sel(sel(proper(_x41), s(proper(_x71))), proper(_x22))) is replaced by the following rules:
top#(mark(sel(sel(from(_x61), s(_x71)), _x22))) → top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52)))) → top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22))) → top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(from(_x91))), _x22))) → top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), _x22))) → top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), from(_x51)))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), s(_x51)))) → top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))top#(mark(sel(sel(s(_x61), s(_x71)), _x22))) → top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, s(s(_x91))), _x22))) → top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22))) → top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22))) → top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(0, s(_x71)), _x22))) → top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, s(0)), _x22))) → top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), 0))) → top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))
top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52)))) → top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))

Problem 15: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(_x41, sel(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), from(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, _x42), sel(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))
top#(mark(sel(sel(from(_x61), _x42), _x22)))top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))
top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(ok(from(_x21)))top#(from(active(_x21)))
top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))
top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))
top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))
top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))
top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))
top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(_x41, sel(_x71, _x72)), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), proper(_x22))) 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#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22))) 
top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22))) 
top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22))) 
top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0))) 
top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22))) 
top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22))) 
top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51)))) 
top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22))) 
Thus, the rule top#(mark(sel(sel(_x41, sel(_x71, _x72)), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), proper(_x22))) is replaced by the following rules:
top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52)))) → top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22))) → top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22))) → top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22))) → top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22))) → top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22))) → top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(0, _x72)), _x22))) → top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22))) → top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22))) → top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0))) → top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22))) → top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52)))) → top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(0, sel(_x71, _x72)), _x22))) → top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51)))) → top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51)))) → top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))

Problem 16: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), from(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(0, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, _x42), sel(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(from(_x61), _x42), _x22)))top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(0, sel(_x71, _x72)), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))
top#(ok(from(_x21)))top#(from(active(_x21)))top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))
top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))
top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))
top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))
top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))
top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))
top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))
top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), _x22))) → top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), proper(_x22))) 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#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22))) 
top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22))) 
top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22))) 
top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51)))) 
top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22))) 
top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51)))) 
Thus, the rule top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), _x22))) → top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), proper(_x22))) is replaced by the following rules:
top#(mark(sel(sel(_x41, s(sel(cons(_x101, _x102), _x92))), _x22))) → top#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x101), _x92))), _x22))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(from(_x61), s(sel(_x91, _x92))), _x22))) → top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, s(_x101)))), _x22))) → top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(sel(_x101, _x102), _x92))), _x22))) → top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, sel(_x101, _x102)))), _x22))) → top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), cons(_x51, _x52)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(cons(_x61, _x62), s(sel(_x91, _x92))), _x22))) → top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(sel(_x61, _x62), s(sel(_x91, _x92))), _x22))) → top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), s(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), sel(_x51, _x52)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), _x22))) → top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), _x22))) → top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, 0))), _x22))) → top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, _x92))), _x22))) → top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, cons(_x101, _x102)))), _x22))) → top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, from(_x101)))), _x22))) → top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), 0))) → top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0)))
top#(mark(sel(sel(0, s(sel(_x91, _x92))), _x22))) → top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))

Problem 17: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(_x41, s(_x71)), from(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(0, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, _x42), sel(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(from(_x61), _x42), _x22)))top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, 0))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22)))
top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(0, sel(_x71, _x72)), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))
top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(ok(from(_x21)))top#(from(active(_x21)))top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(mark(sel(sel(_x41, s(sel(_x91, sel(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, cons(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))
top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(cons(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(from(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))top#(mark(sel(sel(cons(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))
top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(mark(sel(sel(0, s(sel(_x91, _x92))), _x22)))top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, s(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(sel(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))
top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), s(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, from(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), 0)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(_x41, s(_x71)), from(_x51)))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(proper(_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#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(proper(_x51)))) 
top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51)))) 
top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51)))) 
top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(proper(_x51)))) 
top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), from(ok(0)))) 
top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), from(sel(proper(_x61), proper(_x62))))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), from(cons(proper(_x61), proper(_x62))))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(proper(_x61))))) 
top#(sel(sel(proper(_x41), s(ok(0))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), from(s(proper(_x61))))) 
Thus, the rule top#(mark(sel(sel(_x41, s(_x71)), from(_x51)))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(proper(_x51)))) is replaced by the following rules:
top#(mark(sel(sel(_x41, s(_x71)), from(cons(_x61, _x62))))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(_x71)), from(_x51)))) → top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), from(from(_x61))))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(from(_x61))), from(_x51)))) → top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(s(_x61))), from(_x51)))) → top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(0)))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, s(_x71)), from(sel(_x61, _x62))))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(0, s(_x71)), from(_x51)))) → top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(_x51)))) → top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(0)), from(_x51)))) → top#(sel(sel(proper(_x41), s(ok(0))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(s(_x61))))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(s(proper(_x61)))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(_x51)))) → top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(_x71)), from(_x51)))) → top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(proper(_x51))))

Problem 18: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(s(_x51), s(_x71)), from(_x51))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(_x71)), from(0))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, _x42), sel(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(from(_x61), _x42), _x22)))top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(0, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(0, sel(_x71, _x72)), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(0)), from(_x51))))top#(sel(sel(proper(_x41), s(ok(0))), from(proper(_x51))))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(_x71)), from(_x51))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))
top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, sel(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(0, s(_x71)), from(_x51))))top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(cons(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))
top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))
top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(s(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(proper(_x51))))top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))top#(mark(sel(sel(sel(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))
top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(0, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))
top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, 0))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22)))
top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(_x71)), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(cons(proper(_x61), proper(_x62)))))top#(ok(from(_x21)))top#(from(active(_x21)))
top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x91, cons(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))
top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(cons(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(from(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))top#(mark(sel(sel(0, s(sel(_x91, _x92))), _x22)))top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))
top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(from(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, s(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))
top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(sel(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), s(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))
top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))
top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, from(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), 0)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0)))top#(mark(sel(sel(_x41, s(_x71)), from(s(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(s(proper(_x61)))))
top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(proper(_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#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(cons(proper(_x61), proper(_x62))))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(sel(proper(_x61), proper(_x62))))) 
top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), sel(proper(_x91), proper(_x92))))), from(proper(_x51)))) 
top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0)))) 
top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(s(proper(_x61))))) 
top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), from(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), ok(0)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61))))) 
top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51)))) 
Thus, the rule top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51)))) is replaced by the following rules:
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(s(_x81), _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(sel(_x61, _x62))))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x61, 0))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(cons(_x61, _x62))))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(0, _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(0, s(sel(_x61, _x62))), from(_x51)))) → top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, sel(_x91, _x92)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(0)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(s(_x51), s(sel(_x61, _x62))), from(_x51)))) → top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, from(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, _x62))), from(_x51)))) → top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(from(_x61))))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(from(_x51), s(sel(_x61, _x62))), from(_x51)))) → top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, _x62))), from(_x51)))) → top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(s(_x61))))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(s(proper(_x61)))))

Problem 19: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(s(_x51), s(_x71)), from(_x51))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(0))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(0, s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), sel(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(from(_x61), _x42), _x22)))top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(0, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(0, sel(_x71, _x72)), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(0)), from(_x51))))top#(sel(sel(proper(_x41), s(ok(0))), from(proper(_x51))))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(from(_x51), s(_x71)), from(_x51))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))
top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, sel(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(0, s(_x71)), from(_x51))))top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), ok(0)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(cons(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x81), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(s(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(s(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))
top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(0, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, 0))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22)))top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(_x71)), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(ok(from(_x21)))top#(from(active(_x21)))
top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(_x71)), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x91, cons(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))
top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))top#(mark(sel(sel(from(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(cons(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(from(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))top#(mark(sel(sel(0, s(sel(_x91, _x92))), _x22)))top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(from(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, s(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(sel(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), s(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))
top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), 0)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0)))top#(mark(sel(sel(_x41, s(sel(_x91, from(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), from(s(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(s(proper(_x61)))))top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_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#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(s(proper(_x61))))) 
top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), from(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(sel(proper(_x61), proper(_x62))))) 
top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), sel(proper(_x91), proper(_x92))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(from(proper(_x61))))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), ok(0)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(cons(proper(_x61), proper(_x62))))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(proper(_x51)))) 
top#(sel(sel(ok(0), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x101))), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x101))), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(ok(0)), proper(_x62)))), from(proper(_x51)))) 
Thus, the rule top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51)))) is replaced by the following rules:
top#(mark(sel(sel(_x41, s(sel(from(from(_x101)), _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51)))) → top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(0)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51)))) → top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), _x62))), from(_x51)))) → top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(from(_x61))))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), sel(_x91, _x92)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(0), _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(ok(0)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(_x91, _x92)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(sel(_x61, _x62))))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(cons(_x61, _x62))))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(from(s(_x101)), _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x101))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(sel(from(_x81), _x62))), from(_x51)))) → top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(s(_x61))))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), 0))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), ok(0)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(0, s(sel(from(_x81), _x62))), from(_x51)))) → top#(sel(sel(ok(0), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), from(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), from(proper(_x91))))), from(proper(_x51))))

Problem 20: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(s(_x51), s(_x71)), from(_x51))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), from(from(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(0))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(0, s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), sel(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(from(_x61), _x42), _x22)))top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(s(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(0, sel(_x71, _x72)), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(0)), from(_x51))))top#(sel(sel(proper(_x41), s(ok(0))), from(proper(_x51))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(from(_x51), s(_x71)), from(_x51))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, sel(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))
top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(0, s(_x71)), from(_x51))))top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(from(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(cons(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(from(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))
top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))
top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(s(_x81), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(s(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(s(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))top#(mark(sel(sel(0, s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(0, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, 0))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22)))top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(_x81), 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))
top#(ok(from(_x21)))top#(from(active(_x21)))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(_x71)), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x91, cons(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))
top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(from(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(from(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))top#(mark(sel(sel(0, s(sel(_x91, _x92))), _x22)))top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(from(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(proper(_x51))))top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, s(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(0), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), proper(_x62)))), from(proper(_x51))))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(sel(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), s(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))
top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))
top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, from(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), 0)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0)))top#(mark(sel(sel(_x41, s(_x71)), from(s(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(s(proper(_x61)))))
top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(_x41, s(_x71)), from(from(_x61))))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(proper(_x61))))) 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#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(from(proper(_x61))))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(from(proper(_x71)))))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(cons(proper(_x71), proper(_x72)))))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(ok(0))))) 
top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(from(proper(_x61))))) 
top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(from(proper(_x61))))) 
top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61))))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(sel(proper(_x71), proper(_x72)))))) 
top#(sel(sel(proper(_x41), s(ok(0))), from(from(proper(_x61))))) 
top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61))))) 
top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(from(proper(_x61))))) 
top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(from(proper(_x61))))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(s(proper(_x71)))))) 
top#(sel(sel(ok(0), s(proper(_x71))), from(from(proper(_x61))))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61))))) 
Thus, the rule top#(mark(sel(sel(_x41, s(_x71)), from(from(_x61))))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(proper(_x61))))) is replaced by the following rules:
top#(mark(sel(sel(_x41, s(_x71)), from(from(s(_x71)))))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(s(proper(_x71))))))top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(from(_x61))))) → top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(from(_x71)))))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(from(proper(_x71))))))top#(mark(sel(sel(_x41, s(_x71)), from(from(sel(_x71, _x72)))))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(sel(proper(_x71), proper(_x72))))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(cons(_x71, _x72)))))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(cons(proper(_x71), proper(_x72))))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(from(_x61))))) → top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(0, s(_x71)), from(from(_x61))))) → top#(sel(sel(ok(0), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(s(_x51), s(_x71)), from(from(_x61))))) → top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(0))))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(ok(0)))))top#(mark(sel(sel(_x41, s(s(_x61))), from(from(_x61))))) → top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(from(_x61))), from(from(_x61))))) → top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(from(proper(_x61)))))top#(mark(sel(sel(from(_x51), s(_x71)), from(from(_x61))))) → top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(0)), from(from(_x61))))) → top#(sel(sel(proper(_x41), s(ok(0))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(from(_x61))))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(from(_x61))))) → top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))

Problem 21: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(s(_x51), s(_x71)), from(_x51))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(cons(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(cons(proper(_x71), proper(_x72))))))top#(mark(sel(sel(_x41, s(_x71)), from(0))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), sel(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(from(_x61), _x42), _x22)))top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(0, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(s(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x101))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(0, sel(_x71, _x72)), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(from(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(0)), from(_x51))))top#(sel(sel(proper(_x41), s(ok(0))), from(proper(_x51))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(from(_x51), s(_x71)), from(_x51))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), from(from(s(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(s(proper(_x71))))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, sel(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(0, s(_x71)), from(_x51))))top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(from(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))top#(mark(sel(sel(cons(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(from(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x81), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), from(from(from(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(from(proper(_x71))))))
top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(s(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(proper(_x51))))top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))top#(mark(sel(sel(sel(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))
top#(mark(sel(sel(0, s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))top#(mark(sel(sel(_x41, s(sel(from(_x81), from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), from(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(_x71)), from(from(_x61)))))top#(sel(sel(ok(0), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(s(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(0, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(s(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, 0))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22)))top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(_x81), 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(_x71)), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(ok(from(_x21)))top#(from(active(_x21)))
top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x62)))), from(proper(_x51))))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(mark(sel(sel(_x41, s(_x71)), from(from(0)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(ok(0)))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(_x71)), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x91, cons(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))
top#(mark(sel(sel(from(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(from(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(cons(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(from(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(_x71)), from(from(sel(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(sel(proper(_x71), proper(_x72))))))
top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))top#(mark(sel(sel(0, s(sel(_x91, _x92))), _x22)))top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(0)), from(from(_x61)))))top#(sel(sel(proper(_x41), s(ok(0))), from(from(proper(_x61)))))top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))
top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(from(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, s(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(0), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(sel(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), s(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))
top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), 0)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0)))top#(mark(sel(sel(_x41, s(sel(_x91, from(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), from(s(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(s(proper(_x61)))))top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_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#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62))))) 
top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(s(proper(_x111)))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(ok(0)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(ok(0))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(s(proper(_x61))))) 
top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(ok(0), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62))))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(cons(proper(_x111), proper(_x112)))))), from(proper(_x51)))) 
top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(from(proper(_x61))))) 
top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(from(proper(_x111)))))), from(proper(_x51)))) 
top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51)))) 
Thus, the rule top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51)))) is replaced by the following rules:
top#(mark(sel(sel(_x41, s(sel(_x61, s(from(_x111))))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(from(proper(_x111)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(0)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(ok(0))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(0)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, s(s(_x111))))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(s(proper(_x111)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(cons(_x61, _x62))))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(s(_x61))))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(s(proper(_x61)))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51)))) → top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(_x61, s(_x91)))), from(_x51)))) → top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(_x61, s(_x91)))), from(_x51)))) → top#(sel(sel(ok(0), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(from(_x61))))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, _x112))))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(cons(_x111, _x112))))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(cons(proper(_x111), proper(_x112)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(s(_x81), s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51)))) → top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(sel(_x61, _x62))))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(from(_x51), s(sel(_x61, s(_x91)))), from(_x51)))) → top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))

Problem 22: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(s(_x51), s(_x71)), from(_x51))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(cons(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(cons(proper(_x71), proper(_x72))))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(_x71)), from(0))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(0, s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), sel(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(from(_x61), _x42), _x22)))top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), from(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(s(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(0, sel(_x71, _x72)), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(from(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(0)), from(_x51))))top#(sel(sel(proper(_x41), s(ok(0))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))
top#(mark(sel(sel(from(_x51), s(_x71)), from(_x51))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), from(from(s(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(s(proper(_x71))))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, sel(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(0, s(_x71)), from(_x51))))top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(from(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), ok(0)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(ok(0))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))top#(mark(sel(sel(cons(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(from(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))
top#(mark(sel(sel(from(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(s(_x81), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), from(from(from(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(from(proper(_x71))))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(s(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(s(proper(_x111)))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(s(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(s(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))
top#(mark(sel(sel(0, s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, s(_x71)), from(from(_x61)))))top#(sel(sel(ok(0), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(s(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(0, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(s(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))
top#(mark(sel(sel(0, s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x91, 0))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22)))top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(from(proper(_x61)))))
top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(_x71)), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(ok(from(_x21)))top#(from(active(_x21)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(0, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(mark(sel(sel(_x41, s(_x71)), from(from(0)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(ok(0)))))
top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(_x71)), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x91, cons(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))
top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))top#(mark(sel(sel(_x41, s(sel(s(_x81), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(from(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(cons(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(from(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), from(from(sel(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(sel(proper(_x71), proper(_x72))))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))
top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))
top#(mark(sel(sel(0, s(sel(_x91, _x92))), _x22)))top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(0)), from(from(_x61)))))top#(sel(sel(proper(_x41), s(ok(0))), from(from(proper(_x61)))))
top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(from(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(proper(_x51))))top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(from(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(from(proper(_x111)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, s(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(0), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), proper(_x62)))), from(proper(_x51))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(sel(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), s(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))
top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, s(cons(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(cons(proper(_x111), proper(_x112)))))), from(proper(_x51))))top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, from(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), 0)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0)))
top#(mark(sel(sel(_x41, s(_x71)), from(s(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(s(proper(_x61)))))top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(proper(_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#(sel(sel(s(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62))))) 
top#(sel(sel(from(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(ok(0), s(from(proper(_x101)))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(ok(0)))) 
top#(sel(sel(proper(_x41), s(sel(ok(0), s(s(proper(_x101)))))), from(proper(_x51)))) 
top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(s(proper(_x61))))) 
top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(ok(0), s(ok(0))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(from(proper(_x61))))) 
top#(sel(sel(proper(_x41), s(sel(ok(0), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(ok(0), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51)))) 
top#(sel(sel(ok(0), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62))))) 
Thus, the rule top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51)))) is replaced by the following rules:
top#(mark(sel(sel(_x41, s(sel(0, s(sel(_x101, _x102))))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(ok(0), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(0, s(_x91)))), from(_x51)))) → top#(sel(sel(ok(0), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, s(s(_x101))))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(ok(0), s(s(proper(_x101)))))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), s(sel(0, s(_x91)))), from(_x51)))) → top#(sel(sel(from(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(0, s(_x91)))), from(_x51)))) → top#(sel(sel(s(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(from(_x61))))) → top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(cons(_x61, _x62))))) → top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(0, s(_x91)))), from(_x51)))) → top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, s(0)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(ok(0), s(ok(0))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(0)))) → top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(s(_x61))))) → top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(0, s(from(_x101))))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(ok(0), s(from(proper(_x101)))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(0, s(_x91)))), from(_x51)))) → top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(cons(_x101, _x102))))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(ok(0), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(sel(_x61, _x62))))) → top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))

Problem 23: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(s(_x51), s(_x71)), from(_x51))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), from(from(cons(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(cons(proper(_x71), proper(_x72))))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(_x71)), from(0))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), sel(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(from(_x61), _x42), _x22)))top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), from(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(s(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x101))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(0, sel(_x71, _x72)), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(from(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(0)), from(_x51))))top#(sel(sel(proper(_x41), s(ok(0))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(from(_x51), s(_x71)), from(_x51))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))
top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), from(from(s(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(s(proper(_x71))))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, sel(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(_x71)), from(_x51))))top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(0, s(from(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(from(proper(_x101)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(from(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, s(sel(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), ok(0)))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(ok(0))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(cons(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(0, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(ok(0))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(from(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(ok(0))))top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))
top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))
top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))top#(mark(sel(sel(from(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x81), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(from(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(from(proper(_x71))))))top#(mark(sel(sel(_x41, s(sel(_x61, s(s(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(s(proper(_x111)))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(s(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(proper(_x51))))top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))top#(mark(sel(sel(sel(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))top#(mark(sel(sel(0, s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))top#(mark(sel(sel(_x41, s(sel(0, s(cons(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(_x71)), from(from(_x61)))))top#(sel(sel(ok(0), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(s(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, sel(0, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(s(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(from(proper(_x61)))))top#(mark(sel(sel(0, s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, 0))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(from(proper(_x61)))))
top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(_x71)), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(0, s(s(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(s(proper(_x101)))))), from(proper(_x51))))
top#(ok(from(_x21)))top#(from(active(_x21)))top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x62)))), from(proper(_x51))))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(mark(sel(sel(_x41, s(_x71)), from(from(0)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(ok(0)))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(_x71)), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x91, cons(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x81), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))top#(mark(sel(sel(from(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(cons(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(from(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(_x71)), from(from(sel(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(sel(proper(_x71), proper(_x72))))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(s(_x51), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))top#(mark(sel(sel(0, s(sel(_x91, _x92))), _x22)))top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(0)), from(from(_x61)))))top#(sel(sel(proper(_x41), s(ok(0))), from(from(proper(_x61)))))top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))
top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(from(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(from(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(from(proper(_x111)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, s(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(0), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(sel(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), s(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))
top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(cons(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(cons(proper(_x111), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), 0)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0)))
top#(mark(sel(sel(_x41, s(sel(_x91, from(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), from(s(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(s(proper(_x61)))))
top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(_x41, s(_x71)), from(0)))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(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
top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(ok(0)))) 
top#(sel(sel(proper(_x41), s(proper(_x71))), ok(from(0)))) 
top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0)))) 
top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(ok(0)))) 
top#(sel(sel(proper(_x41), s(ok(0))), from(ok(0)))) 
top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0)))) 
top#(sel(sel(ok(0), s(proper(_x71))), from(ok(0)))) 
top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0)))) 
top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(ok(0)))) 
top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(ok(0)))) 
top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(ok(0)))) 
Thus, the rule top#(mark(sel(sel(_x41, s(_x71)), from(0)))) → top#(sel(sel(proper(_x41), s(proper(_x71))), from(ok(0)))) is replaced by the following rules:
top#(mark(sel(sel(0, s(_x71)), from(0)))) → top#(sel(sel(proper(_x41), s(proper(_x71))), ok(from(0))))top#(mark(sel(sel(s(_x51), s(_x71)), from(0)))) → top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(0)))) → top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(s(_x61))), from(0)))) → top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(ok(0))))
top#(mark(sel(sel(from(_x51), s(_x71)), from(0)))) → top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, s(0)), from(0)))) → top#(sel(sel(proper(_x41), s(ok(0))), from(ok(0))))
top#(mark(sel(sel(0, s(_x71)), from(0)))) → top#(sel(sel(ok(0), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(0)))) → top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(0)))) → top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(from(_x61))), from(0)))) → top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(ok(0))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(0)))) → top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0))))

Problem 24: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), sel(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(from(_x61), _x42), _x22)))top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(0, sel(_x71, _x72)), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(from(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(from(proper(_x61)))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))
top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, sel(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(_x71)), from(_x51))))top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(from(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(from(proper(_x101)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(from(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(ok(0))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(ok(0))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(mark(sel(sel(from(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x81), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(s(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(s(proper(_x111)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(s(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(sel(0, s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(0, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(from(_x51), s(_x71)), from(0))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x91, 0))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22)))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(_x81), 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(_x71)), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(0, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x62)))), from(proper(_x51))))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(mark(sel(sel(_x41, s(_x71)), from(from(0)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(ok(0)))))
top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(0))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(from(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(cons(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(s(_x61))), from(0))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(sel(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(sel(proper(_x71), proper(_x72))))))top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(_x71)), from(0))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))top#(mark(sel(sel(0, s(sel(_x91, _x92))), _x22)))top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(0)), from(from(_x61)))))top#(sel(sel(proper(_x41), s(ok(0))), from(from(proper(_x61)))))top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))
top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(_x81), sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(sel(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), s(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(cons(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(cons(proper(_x111), proper(_x112)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), 0)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0)))
top#(mark(sel(sel(_x41, s(sel(_x91, from(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(0, s(_x71)), from(0))))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(from(0))))
top#(mark(sel(sel(s(_x51), s(_x71)), from(_x51))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(cons(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(cons(proper(_x71), proper(_x72))))))top#(mark(sel(sel(0, s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(s(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(0, s(_x71)), from(0))))top#(sel(sel(ok(0), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, s(0)), from(_x51))))top#(sel(sel(proper(_x41), s(ok(0))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(from(_x51), s(_x71)), from(_x51))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(s(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(s(proper(_x71))))))top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(s(proper(_x61)))))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(0, s(sel(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), ok(0)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(from(_x51), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(cons(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(from(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(ok(0))))top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))
top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(from(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(from(proper(_x71))))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))
top#(mark(sel(sel(_x41, s(from(_x61))), from(0))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(ok(0))))top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(s(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))
top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))top#(mark(sel(sel(_x41, s(sel(0, s(cons(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(_x71)), from(from(_x61)))))top#(sel(sel(ok(0), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(s(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(s(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(from(proper(_x61)))))
top#(mark(sel(sel(0, s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(from(proper(_x61)))))top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(0)), from(0))))top#(sel(sel(proper(_x41), s(ok(0))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(0, s(s(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(s(proper(_x101)))))), from(proper(_x51))))
top#(ok(from(_x21)))top#(from(active(_x21)))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x91, cons(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))
top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))top#(mark(sel(sel(_x41, s(sel(s(_x81), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))top#(mark(sel(sel(sel(_x51, _x52), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(from(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(s(_x51), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))
top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(from(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(proper(_x51))))top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(from(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(from(proper(_x111)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, s(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(0), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(s(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(s(proper(_x61)))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_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#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62))))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(ok(0)))) 
top#(sel(sel(ok(0), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x91))), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x91))), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x91), proper(_x92))), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(from(proper(_x101)))))), from(proper(_x51)))) 
top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(s(proper(_x61))))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(ok(0))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62))))) 
top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(from(proper(_x61))))) 
top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x91), proper(_x92))), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(ok(0)), s(proper(_x91))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(s(proper(_x101)))))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51)))) 
Thus, the rule top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51)))) is replaced by the following rules:
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(from(_x101))))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(from(proper(_x101)))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), s(_x91)))), from(_x51)))) → top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(sel(from(_x81), s(_x91)))), from(_x51)))) → top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(from(_x81), s(_x91)))), from(_x51)))) → top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(sel(_x61, _x62))))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(0)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(s(_x61))))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(cons(_x61, _x62))))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), s(_x91)))), from(_x51)))) → top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(from(_x91)), s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x91))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x91, _x92)), s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x91), proper(_x92))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(cons(_x101, _x102))))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(s(_x101))))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(s(proper(_x101)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(sel(_x101, _x102))))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x91, _x92)), s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x91), proper(_x92))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(0), s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(ok(0)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(s(_x91)), s(_x91)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x91))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(0)))), from(_x51)))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(ok(0))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(from(_x61))))) → top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(from(proper(_x61)))))top#(mark(sel(sel(0, s(sel(from(_x81), s(_x91)))), from(_x51)))) → top#(sel(sel(ok(0), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))

Problem 25: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x91, _x92)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x91), proper(_x92))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), sel(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(from(_x61), _x42), _x22)))top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(0, sel(_x71, _x72)), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(from(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(from(proper(_x61)))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))
top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(s(proper(_x61)))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, sel(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))top#(mark(sel(sel(0, s(_x71)), from(_x51))))top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(0, s(from(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(from(proper(_x101)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(from(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(ok(0))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(s(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(s(proper(_x101)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(ok(0))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(s(_x91)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x91))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(mark(sel(sel(from(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x81), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(s(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(s(proper(_x111)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(s(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(ok(0))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(0, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(cons(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, 0))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22)))top#(mark(sel(sel(from(_x51), s(_x71)), from(0))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(0), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), ok(0)))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(_x71)), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(0, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x62)))), from(proper(_x51))))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(mark(sel(sel(_x41, s(sel(from(from(_x91)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x91))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(0)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(ok(0)))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(0))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(from(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(cons(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(s(_x61))), from(0))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(ok(0))))top#(mark(sel(sel(_x41, s(_x71)), from(from(sel(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(sel(proper(_x71), proper(_x72))))))
top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(_x71)), from(0))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))
top#(mark(sel(sel(0, s(sel(_x91, _x92))), _x22)))top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(0)), from(from(_x61)))))top#(sel(sel(proper(_x41), s(ok(0))), from(from(proper(_x61)))))
top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(sel(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), s(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(cons(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(cons(proper(_x111), proper(_x112)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), 0)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0)))
top#(mark(sel(sel(_x41, s(sel(_x91, from(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(0, s(_x71)), from(0))))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(from(0))))
top#(mark(sel(sel(s(_x51), s(_x71)), from(_x51))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(cons(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(cons(proper(_x71), proper(_x72))))))top#(mark(sel(sel(0, s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(s(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(0, s(_x71)), from(0))))top#(sel(sel(ok(0), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, s(0)), from(_x51))))top#(sel(sel(proper(_x41), s(ok(0))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(from(_x51), s(_x71)), from(_x51))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(from(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(from(proper(_x101)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), from(from(s(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(s(proper(_x71))))))
top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x91, _x92)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x91), proper(_x92))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(s(proper(_x61)))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(sel(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), ok(0)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(from(_x51), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(cons(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(from(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(ok(0))))top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))
top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(_x71)), from(from(from(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(from(proper(_x71))))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))top#(mark(sel(sel(_x41, s(from(_x61))), from(0))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))top#(mark(sel(sel(sel(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))
top#(mark(sel(sel(_x41, s(sel(0, s(cons(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), from(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(_x71)), from(from(_x61)))))top#(sel(sel(ok(0), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(s(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(s(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(from(proper(_x61)))))
top#(mark(sel(sel(0, s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(from(proper(_x61)))))top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(0)), from(0))))top#(sel(sel(proper(_x41), s(ok(0))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(0, s(s(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(s(proper(_x101)))))), from(proper(_x51))))
top#(ok(from(_x21)))top#(from(active(_x21)))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(sel(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x91, cons(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x81), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(from(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(s(_x51), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))
top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(from(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(from(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(from(proper(_x111)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, s(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(0), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), from(s(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(s(proper(_x61)))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(_x41, _x42), sel(_x51, _x52)))) → top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_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#(sel(sel(proper(_x41), proper(_x42)), sel(cons(proper(_x61), proper(_x62)), proper(_x52)))) 
top#(sel(sel(sel(proper(_x51), proper(_x52)), proper(_x42)), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), from(proper(_x61))))) 
top#(sel(sel(cons(proper(_x51), proper(_x52)), proper(_x42)), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(s(proper(_x51)), proper(_x42)), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), cons(proper(_x61), proper(_x62))))) 
top#(sel(sel(proper(_x41), proper(_x42)), sel(s(proper(_x61)), proper(_x52)))) 
top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), sel(proper(_x61), proper(_x62))))) 
top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), s(proper(_x61))))) 
top#(sel(sel(proper(_x41), proper(_x42)), sel(from(proper(_x61)), proper(_x52)))) 
top#(sel(sel(proper(_x41), s(proper(_x51))), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), proper(_x42)), sel(sel(proper(_x61), proper(_x62)), proper(_x52)))) 
top#(sel(sel(proper(_x41), from(proper(_x51))), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), cons(proper(_x51), proper(_x52))), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), sel(proper(_x51), proper(_x52))), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), ok(0)), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(from(proper(_x51)), proper(_x42)), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), ok(0)))) 
top#(sel(sel(ok(0), proper(_x42)), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), proper(_x42)), sel(ok(0), proper(_x52)))) 
Thus, the rule top#(mark(sel(sel(_x41, _x42), sel(_x51, _x52)))) → top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), proper(_x52)))) is replaced by the following rules:
top#(mark(sel(sel(_x41, _x42), sel(sel(_x61, _x62), _x52)))) → top#(sel(sel(proper(_x41), proper(_x42)), sel(sel(proper(_x61), proper(_x62)), proper(_x52))))top#(mark(sel(sel(_x41, _x42), sel(cons(_x61, _x62), _x52)))) → top#(sel(sel(proper(_x41), proper(_x42)), sel(cons(proper(_x61), proper(_x62)), proper(_x52))))
top#(mark(sel(sel(_x41, _x42), sel(0, _x52)))) → top#(sel(sel(proper(_x41), proper(_x42)), sel(ok(0), proper(_x52))))top#(mark(sel(sel(_x41, s(_x51)), sel(_x51, _x52)))) → top#(sel(sel(proper(_x41), s(proper(_x51))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, _x42), sel(s(_x61), _x52)))) → top#(sel(sel(proper(_x41), proper(_x42)), sel(s(proper(_x61)), proper(_x52))))top#(mark(sel(sel(_x41, 0), sel(_x51, _x52)))) → top#(sel(sel(proper(_x41), ok(0)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, _x42), sel(_x51, _x52)))) → top#(sel(sel(ok(0), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, from(_x51)), sel(_x51, _x52)))) → top#(sel(sel(proper(_x41), from(proper(_x51))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(cons(_x51, _x52), _x42), sel(_x51, _x52)))) → top#(sel(sel(cons(proper(_x51), proper(_x52)), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(s(_x51), _x42), sel(_x51, _x52)))) → top#(sel(sel(s(proper(_x51)), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(from(_x51), _x42), sel(_x51, _x52)))) → top#(sel(sel(from(proper(_x51)), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(sel(_x51, _x52), _x42), sel(_x51, _x52)))) → top#(sel(sel(sel(proper(_x51), proper(_x52)), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x51, _x52)), sel(_x51, _x52)))) → top#(sel(sel(proper(_x41), sel(proper(_x51), proper(_x52))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, _x42), sel(_x51, cons(_x61, _x62))))) → top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, cons(_x51, _x52)), sel(_x51, _x52)))) → top#(sel(sel(proper(_x41), cons(proper(_x51), proper(_x52))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, _x42), sel(_x51, s(_x61))))) → top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), s(proper(_x61)))))
top#(mark(sel(sel(_x41, _x42), sel(_x51, from(_x61))))) → top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), from(proper(_x61)))))top#(mark(sel(sel(_x41, _x42), sel(_x51, sel(_x61, _x62))))) → top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, _x42), sel(_x51, 0)))) → top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), ok(0))))top#(mark(sel(sel(_x41, _x42), sel(from(_x61), _x52)))) → top#(sel(sel(proper(_x41), proper(_x42)), sel(from(proper(_x61)), proper(_x52))))

Problem 26: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x91, _x92)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x91), proper(_x92))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(from(_x61), _x42), _x22)))top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(sel(_x51, _x52), _x42), sel(_x51, _x52))))top#(sel(sel(sel(proper(_x51), proper(_x52)), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, sel(_x71, _x72)), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(from(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(from(proper(_x61)))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))
top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(s(proper(_x61)))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, sel(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))
top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))top#(mark(sel(sel(0, s(_x71)), from(_x51))))top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(0, s(from(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(from(proper(_x101)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(from(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), sel(cons(_x61, _x62), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(cons(proper(_x61), proper(_x62)), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(ok(0))))), from(proper(_x51))))top#(mark(sel(sel(_x41, 0), sel(_x51, _x52))))top#(sel(sel(proper(_x41), ok(0)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(s(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(s(proper(_x101)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(ok(0))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(s(_x91)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x91))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(mark(sel(sel(from(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x81), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(s(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(s(proper(_x111)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(s(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(ok(0))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0))))top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, sel(0, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(cons(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(from(_x51), s(_x71)), from(0))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x91, 0))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22)))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), sel(_x51, cons(_x61, _x62)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(from(0), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(_x81), 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(0, s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(_x71)), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(ok(0))))top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(from(_x91)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x91))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(mark(sel(sel(0, _x42), sel(_x51, _x52))))top#(sel(sel(ok(0), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(0)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(ok(0)))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), _x42), sel(_x51, _x52))))top#(sel(sel(from(proper(_x51)), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(0))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(from(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(cons(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(s(_x61))), from(0))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(_x51)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x51))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(_x71)), from(from(sel(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(sel(proper(_x71), proper(_x72))))))
top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(s(_x51), s(_x71)), from(0))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))
top#(mark(sel(sel(_x41, cons(_x51, _x52)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), cons(proper(_x51), proper(_x52))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))top#(mark(sel(sel(0, s(sel(_x91, _x92))), _x22)))top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(0)), from(from(_x61)))))top#(sel(sel(proper(_x41), s(ok(0))), from(from(proper(_x61)))))top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))
top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, _x42), sel(0, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(ok(0), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(sel(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), s(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(cons(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(cons(proper(_x111), proper(_x112)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), sel(_x51, s(_x61)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), 0)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0)))top#(mark(sel(sel(_x41, s(sel(_x91, from(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))
top#(mark(sel(sel(_x41, _x42), sel(_x51, 0))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), ok(0))))top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(0, s(_x71)), from(0))))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(from(0))))
top#(mark(sel(sel(s(_x51), s(_x71)), from(_x51))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(cons(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(cons(proper(_x71), proper(_x72))))))top#(mark(sel(sel(0, s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(s(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(0, s(_x71)), from(0))))top#(sel(sel(ok(0), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, s(0)), from(_x51))))top#(sel(sel(proper(_x41), s(ok(0))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(from(_x51), s(_x71)), from(_x51))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(from(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(from(proper(_x101)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), from(from(s(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(s(proper(_x71))))))
top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(_x51, _x52)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x51), proper(_x52))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x91, _x92)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x91), proper(_x92))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(s(proper(_x61)))))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(mark(sel(sel(_x41, _x42), sel(from(_x61), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(from(proper(_x61)), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, _x42), sel(sel(_x61, _x62), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(sel(proper(_x61), proper(_x62)), proper(_x52))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(s(_x51), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, s(sel(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(from(_x51), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))top#(mark(sel(sel(cons(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(from(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))
top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(mark(sel(sel(_x41, _x42), sel(s(_x61), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(s(proper(_x61)), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(_x71)), from(from(from(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(from(proper(_x71))))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))top#(mark(sel(sel(_x41, s(from(_x61))), from(0))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(ok(0))))
top#(mark(sel(sel(_x41, from(_x51)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), from(proper(_x51))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(s(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, _x42), sel(_x51, from(_x61)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), from(proper(_x61)))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))
top#(mark(sel(sel(_x41, s(sel(0, s(cons(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), from(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(_x71)), from(from(_x61)))))top#(sel(sel(ok(0), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(s(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(s(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(from(proper(_x61)))))
top#(mark(sel(sel(0, s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(from(proper(_x61)))))top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(0)), from(0))))top#(sel(sel(proper(_x41), s(ok(0))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), sel(_x51, sel(_x61, _x62)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(0, s(s(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(s(proper(_x101)))))), from(proper(_x51))))top#(ok(from(_x21)))top#(from(active(_x21)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(s(_x51), _x42), sel(_x51, _x52))))top#(sel(sel(s(proper(_x51)), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(_x71)), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(sel(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, cons(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x81), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(from(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(s(_x51), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(from(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(from(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(from(proper(_x111)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, s(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(0), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), _x42), sel(_x51, _x52))))top#(sel(sel(cons(proper(_x51), proper(_x52)), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(s(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(s(proper(_x61)))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22))) 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#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), ok(0)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(from(proper(_x91)), sel(proper(_x101), proper(_x102)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), cons(proper(_x131), proper(_x132))))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), ok(0))) 
top#(sel(sel(proper(_x41), sel(s(proper(_x91)), sel(proper(_x101), proper(_x102)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(from(proper(_x121)), proper(_x102)))), proper(_x22))) 
top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), sel(proper(_x101), proper(_x102)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), sel(ok(0), sel(proper(_x101), proper(_x102)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), cons(proper(_x51), proper(_x52)))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), s(proper(_x51)))) 
top#(sel(sel(from(proper(_x61)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(ok(0), proper(_x102)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), sel(proper(_x101), proper(_x102)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), from(proper(_x131))))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(cons(proper(_x121), proper(_x122)), proper(_x102)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), sel(proper(_x131), proper(_x132))))), proper(_x22))) 
top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22))) 
top#(sel(sel(ok(0), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22))) 
top#(sel(sel(s(proper(_x61)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(sel(proper(_x121), proper(_x122)), proper(_x102)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(s(proper(_x121)), proper(_x102)))), proper(_x22))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), from(proper(_x51)))) 
top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), s(proper(_x131))))), proper(_x22))) 
Thus, the rule top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22))) is replaced by the following rules:
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, sel(_x131, _x132)))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), sel(proper(_x131), proper(_x132))))), proper(_x22)))top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, sel(_x101, _x102))), _x22))) → top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), s(_x51)))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), s(proper(_x51))))top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), sel(_x101, _x102))), _x22))) → top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(0, sel(_x71, sel(_x101, _x102))), _x22))) → top#(sel(sel(ok(0), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(s(_x91), sel(_x101, _x102))), _x22))) → top#(sel(sel(proper(_x41), sel(s(proper(_x91)), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(0, sel(_x101, _x102))), _x22))) → top#(sel(sel(proper(_x41), sel(ok(0), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), 0))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), ok(0)))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), from(_x51)))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, sel(0, _x102))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(ok(0), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(from(_x91), sel(_x101, _x102))), _x22))) → top#(sel(sel(proper(_x41), sel(from(proper(_x91)), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, from(_x131)))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), from(proper(_x131))))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), cons(_x51, _x52)))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(_x71, sel(s(_x121), _x102))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(s(proper(_x121)), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, sel(cons(_x121, _x122), _x102))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(cons(proper(_x121), proper(_x122)), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, s(_x131)))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), s(proper(_x131))))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), sel(_x101, _x102))), _x22))) → top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, sel(from(_x121), _x102))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(from(proper(_x121)), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, 0))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), ok(0)))), proper(_x22)))top#(mark(sel(sel(from(_x61), sel(_x71, sel(_x101, _x102))), _x22))) → top#(sel(sel(from(proper(_x61)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, cons(_x131, _x132)))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), cons(proper(_x131), proper(_x132))))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, sel(sel(_x121, _x122), _x102))), _x22))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(sel(proper(_x121), proper(_x122)), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), sel(_x51, _x52)))) → top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, sel(_x101, _x102))), _x22))) → top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(s(_x61), sel(_x71, sel(_x101, _x102))), _x22))) → top#(sel(sel(s(proper(_x61)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))

Problem 27: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x91, _x92)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x91), proper(_x92))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(from(_x61), _x42), _x22)))top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(sel(_x51, _x52), _x42), sel(_x51, _x52))))top#(sel(sel(sel(proper(_x51), proper(_x52)), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(0, sel(_x71, _x72)), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(from(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(from(proper(_x61)))))
top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, from(_x131)))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), from(proper(_x131))))), proper(_x22)))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))
top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, s(_x131)))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), s(proper(_x131))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(s(proper(_x61)))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x91, sel(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))
top#(mark(sel(sel(from(_x61), sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, cons(_x131, _x132)))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), cons(proper(_x131), proper(_x132))))), proper(_x22)))
top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))top#(mark(sel(sel(0, s(_x71)), from(_x51))))top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(0, s(from(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(from(proper(_x101)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(from(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x101))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), sel(cons(_x61, _x62), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(cons(proper(_x61), proper(_x62)), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(_x61, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(ok(0))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, 0), sel(_x51, _x52))))top#(sel(sel(proper(_x41), ok(0)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(s(_x91), sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(s(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(s(proper(_x101)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(0, sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(0, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(ok(0))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(s(_x91)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x91))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))top#(mark(from(_x21)))top#(from(proper(_x21)))
top#(mark(sel(sel(from(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x81), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, sel(cons(_x121, _x122), _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(cons(proper(_x121), proper(_x122)), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, s(s(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(s(proper(_x111)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(s(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(ok(0))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(0, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))top#(mark(sel(sel(0, sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(cons(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), sel(_x51, cons(_x61, _x62)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, 0))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22)))
top#(mark(sel(sel(from(_x51), s(_x71)), from(0))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(0), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(0, s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(_x71)), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(0, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x62)))), from(proper(_x51))))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(mark(sel(sel(_x41, s(sel(from(from(_x91)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x91))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, _x42), sel(_x51, _x52))))top#(sel(sel(ok(0), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(0)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(ok(0)))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), _x42), sel(_x51, _x52))))top#(sel(sel(from(proper(_x51)), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(0))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(from(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(cons(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(s(_x61))), from(0))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(ok(0))))top#(mark(sel(sel(_x41, s(_x51)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x51))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(sel(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(sel(proper(_x71), proper(_x72))))))top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(_x71)), from(0))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))top#(mark(sel(sel(_x41, cons(_x51, _x52)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), cons(proper(_x51), proper(_x52))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(from(_x91), sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))top#(mark(sel(sel(0, s(sel(_x91, _x92))), _x22)))top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(0)), from(from(_x61)))))top#(sel(sel(proper(_x41), s(ok(0))), from(from(proper(_x61)))))top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))
top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(_x71, sel(s(_x121), _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(s(proper(_x121)), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, _x42), sel(0, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(ok(0), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(_x81), sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, sel(from(_x121), _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(from(proper(_x121)), proper(_x102)))), proper(_x22)))top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(sel(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), s(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, sel(sel(_x121, _x122), _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(sel(proper(_x121), proper(_x122)), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(cons(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(cons(proper(_x111), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), sel(_x51, s(_x61)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), 0)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0)))
top#(mark(sel(sel(_x41, s(sel(_x91, from(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))top#(mark(sel(sel(_x41, _x42), sel(_x51, 0))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), ok(0))))
top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(s(_x61), sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(0, s(_x71)), from(0))))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(from(0))))
top#(mark(sel(sel(s(_x51), s(_x71)), from(_x51))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, sel(_x131, _x132)))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), sel(proper(_x131), proper(_x132))))), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), from(from(cons(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(cons(proper(_x71), proper(_x72))))))top#(mark(sel(sel(0, s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(s(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(0, s(_x71)), from(0))))top#(sel(sel(ok(0), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, s(0)), from(_x51))))top#(sel(sel(proper(_x41), s(ok(0))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(from(_x51), s(_x71)), from(_x51))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(from(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(from(proper(_x101)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), from(from(s(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(s(proper(_x71))))))
top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x51, _x52)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x51), proper(_x52))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x91, _x92)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x91), proper(_x92))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(s(proper(_x61)))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(mark(sel(sel(_x41, _x42), sel(from(_x61), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(from(proper(_x61)), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, _x42), sel(sel(_x61, _x62), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(sel(proper(_x61), proper(_x62)), proper(_x52))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(sel(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), ok(0)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(from(_x51), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(cons(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), ok(0)))
top#(mark(sel(sel(from(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))
top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(mark(sel(sel(_x41, _x42), sel(s(_x61), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(s(proper(_x61)), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(_x71)), from(from(from(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(from(proper(_x71))))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, 0))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), ok(0)))), proper(_x22)))top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))
top#(mark(sel(sel(_x41, s(from(_x61))), from(0))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(ok(0))))top#(mark(sel(sel(_x41, from(_x51)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), from(proper(_x51))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))top#(mark(sel(sel(sel(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))top#(mark(sel(sel(_x41, _x42), sel(_x51, from(_x61)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))top#(mark(sel(sel(_x41, s(sel(0, s(cons(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, s(_x71)), from(from(_x61)))))top#(sel(sel(ok(0), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(s(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(s(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(from(proper(_x61)))))top#(mark(sel(sel(0, s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(from(proper(_x61)))))
top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(0)), from(0))))top#(sel(sel(proper(_x41), s(ok(0))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), sel(_x51, sel(_x61, _x62)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(0, s(s(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(s(proper(_x101)))))), from(proper(_x51))))
top#(ok(from(_x21)))top#(from(active(_x21)))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(s(_x51), _x42), sel(_x51, _x52))))top#(sel(sel(s(proper(_x51)), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(sel(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x91, cons(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))
top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))top#(mark(sel(sel(_x41, s(sel(s(_x81), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))top#(mark(sel(sel(sel(_x51, _x52), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(from(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(s(_x51), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), s(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, sel(0, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(ok(0), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(from(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(from(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(from(proper(_x111)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, s(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(0), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), _x42), sel(_x51, _x52))))top#(sel(sel(cons(proper(_x51), proper(_x52)), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))
top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(s(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(s(proper(_x61)))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(from(_x61), _x42), _x22))) → top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22))) 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#(sel(sel(from(sel(proper(_x81), proper(_x82))), proper(_x42)), proper(_x22))) 
top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22))) 
top#(sel(sel(from(proper(_x61)), cons(proper(_x71), proper(_x72))), proper(_x22))) 
top#(sel(sel(from(proper(_x61)), proper(_x42)), cons(proper(_x51), proper(_x52)))) 
top#(sel(sel(from(proper(_x61)), proper(_x42)), s(proper(_x51)))) 
top#(sel(sel(from(proper(_x61)), proper(_x42)), ok(0))) 
top#(sel(sel(from(ok(0)), proper(_x42)), proper(_x22))) 
top#(sel(sel(from(cons(proper(_x81), proper(_x82))), proper(_x42)), proper(_x22))) 
top#(sel(sel(from(s(proper(_x81))), proper(_x42)), proper(_x22))) 
top#(sel(sel(from(from(proper(_x81))), proper(_x42)), proper(_x22))) 
top#(sel(sel(from(proper(_x61)), ok(0)), proper(_x22))) 
top#(sel(sel(from(proper(_x61)), from(proper(_x71))), proper(_x22))) 
top#(sel(sel(from(proper(_x61)), proper(_x42)), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22))) 
top#(sel(sel(from(proper(_x61)), proper(_x42)), from(proper(_x51)))) 
Thus, the rule top#(mark(sel(sel(from(_x61), _x42), _x22))) → top#(sel(sel(from(proper(_x61)), proper(_x42)), proper(_x22))) is replaced by the following rules:
top#(mark(sel(sel(from(0), _x42), _x22))) → top#(sel(sel(from(ok(0)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(from(cons(_x81, _x82)), _x42), _x22))) → top#(sel(sel(from(cons(proper(_x81), proper(_x82))), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(from(_x61), s(_x71)), _x22))) → top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(from(_x61), _x42), cons(_x51, _x52)))) → top#(sel(sel(from(proper(_x61)), proper(_x42)), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(from(_x61), 0), _x22))) → top#(sel(sel(from(proper(_x61)), ok(0)), proper(_x22)))top#(mark(sel(sel(from(_x61), _x42), 0))) → top#(sel(sel(from(proper(_x61)), proper(_x42)), ok(0)))
top#(mark(sel(sel(from(_x61), from(_x71)), _x22))) → top#(sel(sel(from(proper(_x61)), from(proper(_x71))), proper(_x22)))top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22))) → top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(from(_x61), _x42), s(_x51)))) → top#(sel(sel(from(proper(_x61)), proper(_x42)), s(proper(_x51))))top#(mark(sel(sel(from(s(_x81)), _x42), _x22))) → top#(sel(sel(from(s(proper(_x81))), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(from(_x61), _x42), sel(_x51, _x52)))) → top#(sel(sel(from(proper(_x61)), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(from(_x61), _x42), from(_x51)))) → top#(sel(sel(from(proper(_x61)), proper(_x42)), from(proper(_x51))))
top#(mark(sel(sel(from(from(_x81)), _x42), _x22))) → top#(sel(sel(from(from(proper(_x81))), proper(_x42)), proper(_x22)))top#(mark(sel(sel(from(sel(_x81, _x82)), _x42), _x22))) → top#(sel(sel(from(sel(proper(_x81), proper(_x82))), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(from(_x61), cons(_x71, _x72)), _x22))) → top#(sel(sel(from(proper(_x61)), cons(proper(_x71), proper(_x72))), proper(_x22)))

Problem 28: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x91, _x92)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x91), proper(_x92))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), _x42), sel(_x51, _x52))))top#(sel(sel(sel(proper(_x51), proper(_x52)), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, sel(_x71, _x72)), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(from(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(from(proper(_x61)))))top#(ok(cons(_x21, _x22)))top#(cons(active(_x21), _x22))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, from(_x131)))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), from(proper(_x131))))), proper(_x22)))
top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, s(_x131)))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), s(proper(_x131))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(s(proper(_x61)))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, sel(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(from(_x61), sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, cons(_x131, _x132)))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), cons(proper(_x131), proper(_x132))))), proper(_x22)))top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(_x71)), from(_x51))))top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(0, s(from(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(from(proper(_x101)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(from(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), sel(cons(_x61, _x62), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(cons(proper(_x61), proper(_x62)), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(ok(0))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, 0), sel(_x51, _x52))))top#(sel(sel(proper(_x41), ok(0)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(s(_x91), sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(s(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(s(proper(_x101)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(0, sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(ok(0))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(from(from(_x81)), _x42), _x22)))top#(sel(sel(from(from(proper(_x81))), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(s(_x91)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x91))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(from(sel(_x81, _x82)), _x42), _x22)))top#(sel(sel(from(sel(proper(_x81), proper(_x82))), proper(_x42)), proper(_x22)))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(mark(sel(sel(from(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(s(_x81), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, sel(cons(_x121, _x122), _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(cons(proper(_x121), proper(_x122)), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(s(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(s(proper(_x111)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(s(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(ok(0))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0))))top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(0, sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(0, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))top#(mark(sel(sel(from(s(_x81)), _x42), _x22)))top#(sel(sel(from(s(proper(_x81))), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(cons(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(from(_x51), s(_x71)), from(0))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x91, 0))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22)))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), sel(_x51, cons(_x61, _x62)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(from(0), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(_x81), 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(from(_x61), cons(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), cons(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(0, s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(_x71)), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(from(_x61), from(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), from(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(ok(0))))top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(from(_x91)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x91))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(s(_x21)))top#(s(proper(_x21)))top#(mark(sel(sel(0, _x42), sel(_x51, _x52))))top#(sel(sel(ok(0), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(0)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(ok(0)))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), _x42), sel(_x51, _x52))))top#(sel(sel(from(proper(_x51)), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(from(_x61), _x42), sel(_x51, _x52))))top#(sel(sel(from(proper(_x61)), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(from(_x61), _x42), from(_x51))))top#(sel(sel(from(proper(_x61)), proper(_x42)), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(0))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(from(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(cons(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(s(_x61))), from(0))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(ok(0))))top#(mark(sel(sel(_x41, s(_x51)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x51))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(sel(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(sel(proper(_x71), proper(_x72))))))top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(_x71)), from(0))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))top#(mark(sel(sel(_x41, cons(_x51, _x52)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), cons(proper(_x51), proper(_x52))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(from(_x91), sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))top#(mark(sel(sel(0, s(sel(_x91, _x92))), _x22)))top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(0)), from(from(_x61)))))top#(sel(sel(proper(_x41), s(ok(0))), from(from(proper(_x61)))))top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))
top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(from(_x61), 0), _x22)))top#(sel(sel(from(proper(_x61)), ok(0)), proper(_x22)))
top#(mark(sel(sel(from(_x61), _x42), cons(_x51, _x52))))top#(sel(sel(from(proper(_x61)), proper(_x42)), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, sel(_x71, sel(s(_x121), _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(s(proper(_x121)), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, _x42), sel(0, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(ok(0), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(_x81), sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, sel(from(_x121), _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(from(proper(_x121)), proper(_x102)))), proper(_x22)))top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))
top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(sel(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), s(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, sel(sel(_x121, _x122), _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(sel(proper(_x121), proper(_x122)), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(cons(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(cons(proper(_x111), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), sel(_x51, s(_x61)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), 0)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0)))
top#(mark(sel(sel(_x41, s(sel(_x91, from(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))top#(mark(sel(sel(_x41, _x42), sel(_x51, 0))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), ok(0))))
top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(s(_x61), sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(from(0), _x42), _x22)))top#(sel(sel(from(ok(0)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(0, s(_x71)), from(0))))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(from(0))))top#(mark(sel(sel(s(_x51), s(_x71)), from(_x51))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(from(cons(_x81, _x82)), _x42), _x22)))top#(sel(sel(from(cons(proper(_x81), proper(_x82))), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, sel(_x131, _x132)))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), sel(proper(_x131), proper(_x132))))), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(_x71)), from(from(cons(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(cons(proper(_x71), proper(_x72))))))top#(mark(sel(sel(from(_x61), _x42), s(_x51))))top#(sel(sel(from(proper(_x61)), proper(_x42)), s(proper(_x51))))
top#(mark(sel(sel(0, s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(s(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x101))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), from(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(0, s(_x71)), from(0))))top#(sel(sel(ok(0), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, s(0)), from(_x51))))top#(sel(sel(proper(_x41), s(ok(0))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(from(_x51), s(_x71)), from(_x51))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(from(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(from(proper(_x101)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(s(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(s(proper(_x71))))))top#(mark(sel(sel(from(_x61), _x42), 0)))top#(sel(sel(from(proper(_x61)), proper(_x42)), ok(0)))
top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x51, _x52)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x51), proper(_x52))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x91, _x92)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x91), proper(_x92))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(s(proper(_x61)))))top#(ok(s(_x21)))top#(s(active(_x21)))
top#(mark(sel(sel(_x41, _x42), sel(from(_x61), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(from(proper(_x61)), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, _x42), sel(sel(_x61, _x62), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(sel(proper(_x61), proper(_x62)), proper(_x52))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(sel(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), ok(0)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(from(_x51), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))
top#(mark(sel(sel(cons(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), ok(0)))
top#(mark(sel(sel(from(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))
top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(mark(sel(sel(_x41, _x42), sel(s(_x61), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(s(proper(_x61)), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), from(from(from(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(from(proper(_x71))))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(from(_x61))), from(0))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(ok(0))))top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, 0))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), ok(0)))), proper(_x22)))top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))
top#(mark(sel(sel(_x41, from(_x51)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), from(proper(_x51))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(sel(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, _x42), sel(_x51, from(_x61)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), from(proper(_x61)))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))
top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))top#(mark(sel(sel(_x41, s(sel(0, s(cons(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, s(_x71)), from(from(_x61)))))top#(sel(sel(ok(0), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(s(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(s(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(from(proper(_x61)))))top#(mark(sel(sel(0, s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(from(proper(_x61)))))
top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(0)), from(0))))top#(sel(sel(proper(_x41), s(ok(0))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), sel(_x51, sel(_x61, _x62)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(0, s(s(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(s(proper(_x101)))))), from(proper(_x51))))
top#(ok(from(_x21)))top#(from(active(_x21)))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(s(_x51), _x42), sel(_x51, _x52))))top#(sel(sel(s(proper(_x51)), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(_x71)), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(sel(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, cons(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))
top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))top#(mark(sel(sel(_x41, s(sel(s(_x81), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))top#(mark(sel(sel(from(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(from(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), s(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))
top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, sel(0, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(ok(0), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(from(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(from(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(from(proper(_x111)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, s(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(0), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), _x42), sel(_x51, _x52))))top#(sel(sel(cons(proper(_x51), proper(_x52)), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(s(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(s(proper(_x61)))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(0, sel(_x71, _x72)), _x22))) → top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22))) 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#(sel(sel(ok(0), sel(proper(_x71), cons(proper(_x81), proper(_x82)))), proper(_x22))) 
top#(sel(sel(ok(0), sel(cons(proper(_x81), proper(_x82)), proper(_x72))), proper(_x22))) 
top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), ok(0))) 
top#(sel(sel(ok(0), sel(proper(_x71), sel(proper(_x81), proper(_x82)))), proper(_x22))) 
top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), from(proper(_x51)))) 
top#(sel(sel(ok(0), sel(from(proper(_x81)), proper(_x72))), proper(_x22))) 
top#(sel(sel(ok(0), sel(sel(proper(_x81), proper(_x82)), proper(_x72))), proper(_x22))) 
top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52)))) 
top#(sel(sel(ok(0), sel(s(proper(_x81)), proper(_x72))), proper(_x22))) 
top#(sel(sel(ok(0), sel(proper(_x71), from(proper(_x81)))), proper(_x22))) 
top#(sel(sel(ok(0), sel(proper(_x71), ok(0))), proper(_x22))) 
top#(sel(sel(ok(0), sel(proper(_x71), s(proper(_x81)))), proper(_x22))) 
top#(sel(sel(ok(0), sel(ok(0), proper(_x72))), proper(_x22))) 
top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52)))) 
top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), s(proper(_x51)))) 
Thus, the rule top#(mark(sel(sel(0, sel(_x71, _x72)), _x22))) → top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), proper(_x22))) is replaced by the following rules:
top#(mark(sel(sel(0, sel(cons(_x81, _x82), _x72)), _x22))) → top#(sel(sel(ok(0), sel(cons(proper(_x81), proper(_x82)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(0, sel(_x71, sel(_x81, _x82))), _x22))) → top#(sel(sel(ok(0), sel(proper(_x71), sel(proper(_x81), proper(_x82)))), proper(_x22)))
top#(mark(sel(sel(0, sel(_x71, s(_x81))), _x22))) → top#(sel(sel(ok(0), sel(proper(_x71), s(proper(_x81)))), proper(_x22)))top#(mark(sel(sel(0, sel(0, _x72)), _x22))) → top#(sel(sel(ok(0), sel(ok(0), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(0, sel(_x71, _x72)), s(_x51)))) → top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), s(proper(_x51))))top#(mark(sel(sel(0, sel(_x71, _x72)), from(_x51)))) → top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), from(proper(_x51))))
top#(mark(sel(sel(0, sel(_x71, from(_x81))), _x22))) → top#(sel(sel(ok(0), sel(proper(_x71), from(proper(_x81)))), proper(_x22)))top#(mark(sel(sel(0, sel(s(_x81), _x72)), _x22))) → top#(sel(sel(ok(0), sel(s(proper(_x81)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(0, sel(_x71, _x72)), 0))) → top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), ok(0)))top#(mark(sel(sel(0, sel(from(_x81), _x72)), _x22))) → top#(sel(sel(ok(0), sel(from(proper(_x81)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(0, sel(_x71, 0)), _x22))) → top#(sel(sel(ok(0), sel(proper(_x71), ok(0))), proper(_x22)))top#(mark(sel(sel(0, sel(_x71, cons(_x81, _x82))), _x22))) → top#(sel(sel(ok(0), sel(proper(_x71), cons(proper(_x81), proper(_x82)))), proper(_x22)))
top#(mark(sel(sel(0, sel(_x71, _x72)), sel(_x51, _x52)))) → top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(0, sel(_x71, _x72)), cons(_x51, _x52)))) → top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, sel(sel(_x81, _x82), _x72)), _x22))) → top#(sel(sel(ok(0), sel(sel(proper(_x81), proper(_x82)), proper(_x72))), proper(_x22)))

Problem 29: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(cons(_x91, _x92)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x91), proper(_x92))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(cons(_x121, _x122), sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(cons(proper(_x121), proper(_x122)), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(cons(s(_x61), s(_x61)), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), s(proper(_x61))), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), s(_x131)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), s(proper(_x131))))))), from(proper(_x51))))top#(mark(sel(sel(0, s(_x71)), from(_x51))))top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(s(_x81), cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(s(0), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(ok(0)), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(0, s(from(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(from(proper(_x101)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, sel(_x121, _x122)), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), sel(proper(_x121), proper(_x122))), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(s(s(_x121)), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(s(proper(_x121))), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(s(_x141))), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(s(proper(_x141)))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), sel(cons(_x61, _x62), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(cons(proper(_x61), proper(_x62)), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, sel(_x111, _x112))), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), sel(proper(_x111), proper(_x112)))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(ok(0))))), from(proper(_x51))))top#(mark(sel(sel(0, sel(_x71, _x72)), s(_x51))))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, 0), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), ok(0)), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x61, _x62), s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, _x112))))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, _x112))))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, 0))))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(cons(_x91, _x92))), _x22)))top#(sel(sel(proper(_x41), s(cons(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(from(_x51), s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, s(_x121)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), s(proper(_x121))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(s(_x91)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x91))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(_x21, sel(_x51, _x52))))top#(sel(proper(_x21), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(sel(_x121, _x122), _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(sel(proper(_x121), proper(_x122)), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(from(_x141)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(from(proper(_x141))), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(ok(cons(sel(s(_x42), cons(_x41, _x43)), _x22)))top#(cons(mark(sel(_x42, _x43)), _x22))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), s(_x91)))), from(0))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(from(_x121), _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(from(proper(_x121)), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(sel(_x141, _x142), _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(sel(proper(_x141), proper(_x142)), proper(_x122))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(s(s(_x61)), s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(s(s(proper(_x61))), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), cons(sel(_x111, _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(0, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(ok(0), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x61), s(sel(_x91, sel(_x101, _x102)))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, s(_x121)), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), s(proper(_x121))), sel(proper(_x121), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, s(_x151))), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), s(proper(_x151)))), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, cons(sel(_x111, _x112), _x92)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(cons(_x101, _x102)), _x62))), from(0))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(ok(from(0)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(from(_x121), _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(from(proper(_x121)), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, 0), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), ok(0)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), cons(_x111, _x112))), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), cons(proper(_x111), proper(_x112)))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(0, sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(0, _x72)), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), proper(_x72))), proper(_x22)))top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, 0)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), ok(0))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, _x42), s(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), s(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), cons(_x111, _x112))), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), cons(proper(_x111), proper(_x112)))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(s(_x51), s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(0), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(from(_x121), _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(from(proper(_x121)), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x61), cons(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), cons(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(0, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(sel(from(_x111), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(cons(_x141, _x142))), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(cons(proper(_x141), proper(_x142)))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), s(_x131)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), s(proper(_x131))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, _x112), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), proper(_x112)), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, sel(_x151, _x152))), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), sel(proper(_x151), proper(_x152)))), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), 0)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), ok(0)))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(from(_x61), _x42), sel(_x51, _x52))))top#(sel(sel(from(proper(_x61)), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, _x122))))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), from(_x111))), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), from(proper(_x111)))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(0, s(sel(from(sel(s(_x111), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(ok(0), s(sel(from(sel(s(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), sel(0, _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(ok(0), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(_x71)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(s(_x61))), from(0))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(s(cons(_x71, _x72))))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(s(cons(proper(_x71), proper(_x72))))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))
top#(ok(cons(sel(_x41, _x42), _x22)))top#(cons(sel(active(_x41), _x42), _x22))top#(mark(sel(sel(from(_x51), s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(_x71)), from(0))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), ok(0)))top#(mark(sel(sel(from(_x51), s(sel(from(sel(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(from(sel(_x101, _x102)), _x62))), from(s(_x61)))))top#(sel(sel(s(proper(_x51)), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), _x102)), _x62))), from(s(from(_x71))))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(from(proper(_x71))))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, 0)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), ok(0))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(sel(_x151, _x152), _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(sel(proper(_x151), proper(_x152)), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(ok(0))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))top#(ok(sel(s(_x22), cons(_x21, _x23))))top#(mark(sel(_x22, _x23)))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(from(_x151), _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(from(proper(_x151)), proper(_x142))), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), s(_x51))))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, _x42), sel(0, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(ok(0), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x71, sel(s(_x121), _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(s(proper(_x121)), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), cons(sel(_x111, _x112), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(s(proper(_x51)), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(_x81), sel(_x91, _x92)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(cons(0, cons(_x111, _x112))), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(ok(0), cons(proper(_x111), proper(_x112)))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, sel(_x71, sel(from(_x121), _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(from(proper(_x121)), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, sel(_x111, _x112))), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), sel(proper(_x111), proper(_x112)))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(sel(_x121, _x122)), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(sel(proper(_x121), proper(_x122))), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, from(_x111))), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), from(proper(_x111)))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(cons(s(s(_x71)), _x52), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(s(proper(_x71))), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, 0), _x22)))top#(sel(sel(proper(_x41), ok(0)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), s(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), s(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(from(sel(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, sel(sel(_x121, _x122), _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(sel(proper(_x121), proper(_x122)), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x101), cons(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), cons(proper(_x101), proper(_x102))))), proper(_x22)))top#(mark(sel(sel(_x41, _x42), sel(_x51, s(_x61)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), _x92)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), sel(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), sel(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x61, _x62), _x42), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(sel(_x111, _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, cons(sel(_x111, _x112), _x92)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(s(_x61), sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(cons(_x121, _x122), _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(cons(proper(_x121), proper(_x122)), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), s(_x91)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(0, s(_x71)), from(0))))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(from(0))))top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, s(_x111))), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), s(proper(_x111)))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, cons(_x111, _x112))), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), cons(proper(_x111), proper(_x112)))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(cons(_x121, _x122), from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(cons(proper(_x121), proper(_x122)), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, sel(_x131, _x132)))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), sel(proper(_x131), proper(_x132))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), _x62))), from(s(from(_x71))))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(from(proper(_x71))))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(_x71)), from(from(cons(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(cons(proper(_x71), proper(_x72))))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(sel(_x121, _x122), from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(sel(proper(_x121), proper(_x122)), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(sel(_x121, _x122), _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(sel(proper(_x121), proper(_x122)), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(cons(_x121, _x122)), _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(cons(proper(_x121), proper(_x122))), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(0, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(ok(0), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(from(_x121), _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(from(proper(_x121)), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, sel(_x161, _x162))))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), sel(proper(_x161), proper(_x162)))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(ok(0), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(s(proper(_x61)))))
top#(mark(sel(sel(0, s(sel(from(cons(_x101, _x102)), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), ok(from(0))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), s(_x111))), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), s(proper(_x111)))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), _x62))), from(s(0)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(ok(0)))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), ok(from(0))))top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), from(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(cons(s(sel(_x71, _x72)), _x52), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(sel(proper(_x71), proper(_x72))), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(_x121, cons(_x151, _x152))))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), cons(proper(_x151), proper(_x152)))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(cons(_x151, _x152), _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(cons(proper(_x151), proper(_x152)), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), from(_x111))), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), from(proper(_x111)))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x91, _x92)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x91), proper(_x92))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), _x92)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(s(proper(_x61)))))
top#(mark(sel(sel(from(_x61), s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(from(proper(_x61)), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(s(proper(_x61)))))
top#(ok(s(_x21)))top#(s(active(_x21)))top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), _x102)), cons(_x91, _x92)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), proper(_x102))), cons(proper(_x91), proper(_x92))))), from(s(proper(_x61)))))
top#(mark(sel(sel(s(_x61), s(sel(0, _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(ok(0), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(cons(s(_x61), from(_x61)), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), from(proper(_x61))), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(s(_x51), s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), from(_x91)))), from(0))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), from(proper(_x91))))), from(ok(0))))top#(mark(sel(sel(_x41, _x42), sel(from(_x61), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(from(proper(_x61)), proper(_x52))))
top#(mark(sel(sel(_x41, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, _x42), sel(sel(_x61, _x62), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(sel(proper(_x61), proper(_x62)), proper(_x52))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(0, sel(0, _x72)), _x22)))top#(sel(sel(ok(0), sel(ok(0), proper(_x72))), proper(_x22)))top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, _x102)), sel(_x91, from(_x101))))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), from(proper(_x101)))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), 0)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), ok(0)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(sel(_x121, _x122), _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(sel(proper(_x121), proper(_x122)), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), cons(sel(_x111, _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, 0), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), ok(0)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), cons(_x51, _x52))))top#(sel(sel(proper(_x41), proper(_x42)), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, cons(_x61, _x62)), s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(cons(proper(_x51), cons(proper(_x61), proper(_x62))), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(cons(_x121, _x122)), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(cons(proper(_x121), proper(_x122))), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(_x71)), from(from(from(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(from(proper(_x71))))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), from(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), from(proper(_x91))))), from(s(proper(_x61)))))top#(mark(sel(sel(s(_x51), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(from(proper(_x51)), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(0)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(ok(from(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(ok(sel(_x21, _x22)))top#(sel(active(_x21), _x22))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, 0))))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(from(_x51), s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(_x71)), from(from(_x61)))))top#(sel(sel(ok(0), s(proper(_x71))), from(from(proper(_x61)))))top#(ok(cons(from(_x41), _x22)))top#(cons(mark(cons(_x41, from(s(_x41)))), _x22))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(s(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(from(proper(_x61)))))
top#(mark(sel(sel(0, s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(ok(0), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(0, s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(from(proper(_x61)))))top#(mark(sel(sel(0, sel(_x71, sel(_x81, _x82))), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), sel(proper(_x81), proper(_x82)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(from(_x101)), _x102)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(from(proper(_x101))), proper(_x102))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), from(_x121))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), from(proper(_x121)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(s(cons(_x121, _x122)), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(cons(proper(_x121), proper(_x122))), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(from(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, sel(from(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, s(_x121)), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), s(proper(_x121))), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(from(_x141), _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(from(proper(_x141)), proper(_x122))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(cons(sel(_x111, _x112), _x102)), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(sel(proper(_x111), proper(_x112)), proper(_x102))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x91, cons(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(_x81), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(from(sel(from(_x111), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(s(proper(_x51)), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), s(from(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(from(proper(_x101)))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x61), s(sel(_x91, _x92))), _x22)))top#(sel(sel(from(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x101), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(from(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(proper(_x121), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(from(s(_x101)), _x62))), from(0))))top#(sel(sel(s(proper(_x51)), s(sel(from(s(proper(_x101))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(from(_x121), from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(from(proper(_x121)), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(s(_x121), _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(s(proper(_x121)), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(cons(_x151, _x152), _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(cons(proper(_x151), proper(_x152)), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(cons(from(_x61), _x52), s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(cons(from(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(s(_x81), cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, sel(0, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(ok(0), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(s(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(s(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(0), _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(ok(0)), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(from(sel(from(_x111), _x102)), s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(from(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(proper(_x51))))top#(mark(sel(sel(sel(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(s(_x151), _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(s(proper(_x151)), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), sel(_x51, _x52))))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), s(sel(_x111, sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, 0)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), ok(0))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(from(_x51), s(sel(from(sel(s(_x111), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(from(proper(_x51)), s(sel(from(sel(s(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(sel(from(_x111), _x102)), _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(0, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), cons(sel(_x111, _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), sel(_x111, _x112))), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), sel(proper(_x111), proper(_x112)))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), ok(from(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(cons(_x121, _x122), from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(cons(proper(_x121), proper(_x122)), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), _x102)), s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), proper(_x102))), s(proper(_x91))))), from(s(proper(_x61)))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(sel(s(_x111), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(sel(s(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(sel(_x131, _x132), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(sel(proper(_x131), proper(_x132)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(s(_x111), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(s(proper(_x111)), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(_x21, 0)))top#(sel(proper(_x21), ok(0)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(ok(0))))
top#(mark(sel(sel(from(_x61), s(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(s(s(_x71))))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(s(s(proper(_x71))))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), from(_x111))), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), from(proper(_x111)))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(s(_x121), _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(s(proper(_x121)), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), _x102)), _x62))), from(s(0)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(ok(0)))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(s(_x121), _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(s(proper(_x121)), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, s(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), s(proper(_x101)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, _x72)), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(from(_x61), sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(from(proper(_x61)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, cons(_x131, _x132)))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), cons(proper(_x131), proper(_x132))))), proper(_x22)))top#(mark(sel(sel(from(_x51), s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(ok(cons(sel(0, cons(_x42, _x41)), _x22)))top#(cons(mark(_x42), _x22))top#(mark(sel(sel(cons(_x61, _x62), sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(0), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(ok(0)), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(0)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(ok(from(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x61), s(sel(_x91, 0))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), ok(0)))), proper(_x22)))top#(mark(sel(sel(cons(0, _x52), s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(cons(ok(0), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(_x121, s(_x151))))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), s(proper(_x151)))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, 0)), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), ok(0))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(cons(_x121, _x122), _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(cons(proper(_x121), proper(_x122)), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, from(_x161))))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), from(proper(_x161)))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(s(_x91), sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(s(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(s(proper(_x101)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(ok(0))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, 0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), ok(0))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), cons(sel(_x111, _x112), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(from(from(_x81)), _x42), _x22)))top#(sel(sel(from(from(proper(_x81))), proper(_x42)), proper(_x22)))top#(mark(sel(sel(from(sel(_x81, _x82)), _x42), _x22)))top#(sel(sel(from(sel(proper(_x81), proper(_x82))), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(s(cons(_x61, _x62)), s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(s(cons(proper(_x61), proper(_x62))), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(s(_x51), s(sel(from(sel(s(_x111), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(s(proper(_x51)), s(sel(from(sel(s(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(cons(0, s(_x111))), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(ok(0), s(proper(_x111)))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, cons(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), cons(proper(_x121), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(s(_x61))), from(_x51))))top#(sel(sel(proper(_x41), s(s(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, cons(sel(_x111, _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(sel(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, cons(_x121, _x122)), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), cons(proper(_x121), proper(_x122))), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(cons(_x51, cons(_x61, _x62)), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), cons(proper(_x61), proper(_x62))), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(s(_x81), cons(sel(_x111, _x112), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, cons(_x121, _x122)), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), cons(proper(_x121), proper(_x122))), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(sel(_x141, _x142))), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(sel(proper(_x141), proper(_x142)))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(_x21, cons(_x51, _x52))))top#(sel(proper(_x21), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), 0)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), ok(0))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(0, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(ok(0), proper(_x142))), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(cons(_x111, _x112), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(cons(proper(_x111), proper(_x112)), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(0, s(sel(from(cons(_x101, _x102)), _x62))), from(0))))top#(sel(sel(ok(0), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, s(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), s(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(sel(_x111, _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(from(_x61), from(_x71)), _x22)))top#(sel(sel(from(proper(_x61)), from(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), _x62))), from(s(cons(_x71, _x72))))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(cons(proper(_x71), proper(_x72))))))top#(mark(sel(sel(0, sel(from(_x81), _x72)), _x22)))top#(sel(sel(ok(0), sel(from(proper(_x81)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, from(_x111))), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), from(proper(_x111)))), sel(proper(_x91), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(cons(_x121, _x122), _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(cons(proper(_x121), proper(_x122)), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(s(_x141), _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(s(proper(_x141)), proper(_x122))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(cons(0, _x102)), s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(ok(0), proper(_x102))), s(proper(_x91))))), from(ok(0))))top#(mark(sel(sel(0, s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(ok(0), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(sel(0, _x102)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(ok(0), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), 0))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), ok(0)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), cons(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), cons(proper(_x121), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(0, _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(ok(0), proper(_x122))))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), 0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), ok(0))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, 0), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), ok(0)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(0, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(ok(0), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), from(from(sel(_x71, _x72))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(sel(proper(_x71), proper(_x72))))))
top#(mark(sel(sel(sel(_x61, _x62), _x42), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), proper(_x42)), proper(_x22)))top#(mark(sel(sel(s(_x51), s(sel(from(_x81), sel(_x91, _x92)))), from(0))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, from(_x71)), _x22)))top#(sel(sel(proper(_x41), from(proper(_x71))), proper(_x22)))top#(mark(sel(sel(s(_x51), s(sel(from(sel(from(_x111), _x102)), s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), sel(s(_x101), _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(s(proper(_x101)), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(cons(cons(_x111, _x112), _x102)), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(cons(proper(_x111), proper(_x112)), proper(_x102))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(sel(sel(_x111, _x112), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(sel(proper(_x111), proper(_x112)), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(from(_x61), _x42), cons(_x51, _x52))))top#(sel(sel(from(proper(_x61)), proper(_x42)), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(from(_x61), 0), _x22)))top#(sel(sel(from(proper(_x61)), ok(0)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), _x102)), _x62))), from(s(sel(_x71, _x72))))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(sel(proper(_x71), proper(_x72))))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(sel(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(cons(s(cons(_x71, _x72)), _x52), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(cons(proper(_x71), proper(_x72))), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))top#(mark(cons(_x21, _x22)))top#(cons(proper(_x21), proper(_x22)))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(s(_x101), s(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), s(proper(_x101))))), proper(_x22)))
top#(ok(cons(from(_x41), _x22)))top#(cons(from(active(_x41)), _x22))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, from(_x131)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), from(proper(_x131))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, from(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(0)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(ok(0))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), 0)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), ok(0))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(s(_x61), s(sel(from(_x81), _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(from(proper(_x81)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(s(_x61), s(sel(s(_x81), _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(s(proper(_x81)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(cons(_x111, _x112), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(cons(proper(_x111), proper(_x112)), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, 0))))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(ok(0))))
top#(mark(sel(sel(from(cons(_x81, _x82)), _x42), _x22)))top#(sel(sel(from(cons(proper(_x81), proper(_x82))), proper(_x42)), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(cons(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(cons(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(sel(_x101, _x102)), _x102)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(sel(proper(_x101), proper(_x102))), proper(_x102))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), s(proper(_x91))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(s(sel(_x71, _x72))))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(s(sel(proper(_x71), proper(_x72))))))
top#(mark(sel(sel(0, sel(_x71, _x72)), sel(_x51, _x52))))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(s(_x51), s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), ok(from(0))))
top#(mark(sel(sel(_x41, s(sel(s(_x81), cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(s(proper(_x61)))))
top#(mark(sel(sel(from(_x61), _x42), 0)))top#(sel(sel(from(proper(_x61)), proper(_x42)), ok(0)))top#(mark(sel(sel(from(_x51), s(sel(from(cons(_x101, _x102)), _x62))), from(0))))top#(sel(sel(from(proper(_x51)), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(cons(_x51, 0), s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(cons(proper(_x51), ok(0)), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(0)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(ok(0))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(s(sel(_x121, _x122)), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(sel(proper(_x121), proper(_x122))), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), sel(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), sel(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(cons(s(_x61), cons(_x61, _x62)), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), cons(proper(_x61), proper(_x62))), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(s(_x61), s(sel(cons(_x81, _x82), _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(cons(proper(_x81), proper(_x82)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, sel(_x71, cons(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), cons(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), from(_x51))))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, s(_x121)), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), s(proper(_x121))), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, from(_x101))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), from(proper(_x101)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, cons(_x121, _x122)), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), cons(proper(_x121), proper(_x122))), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(0, s(_x71)), _x22)))top#(sel(sel(ok(0), s(proper(_x71))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, sel(_x161, _x162))))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), sel(proper(_x161), proper(_x162)))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(s(from(_x71))))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(s(from(proper(_x71))))))top#(mark(sel(s(_x41), _x22)))top#(sel(s(proper(_x41)), proper(_x22)))
top#(mark(sel(sel(0, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), s(sel(_x61, cons(sel(_x111, _x112), _x92)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(proper(_x51))))
top#(ok(from(_x21)))top#(mark(cons(_x21, from(s(_x21)))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(from(_x121)), _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(from(proper(_x121))), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), sel(s(_x61), _x52))))top#(sel(sel(proper(_x41), proper(_x42)), sel(s(proper(_x61)), proper(_x52))))top#(mark(sel(sel(s(0), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(ok(0)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, from(_x111))), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), from(proper(_x111)))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), s(_x51))))top#(sel(sel(proper(_x41), s(proper(_x71))), s(proper(_x51))))top#(mark(sel(sel(_x41, from(_x51)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), from(proper(_x51))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(sel(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(cons(_x141, _x142)), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(cons(proper(_x141), proper(_x142))), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(0, sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(ok(0), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(0)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(ok(from(0)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(s(from(_x61)), s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(s(from(proper(_x61))), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), s(proper(_x91))))), from(s(proper(_x61)))))
top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, _x102)), sel(0, _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(ok(0), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(cons(_x51, from(_x61)), s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(cons(proper(_x51), from(proper(_x61))), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(cons(_x121, _x122), _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(cons(proper(_x121), proper(_x122)), proper(_x112)))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, from(_x111))), _x62))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), from(proper(_x111)))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), s(sel(_x61, s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, from(_x121)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), from(proper(_x121))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, from(_x151))), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), from(proper(_x151)))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(s(_x61), sel(_x71, _x72)), _x22)))top#(sel(sel(s(proper(_x61)), sel(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, _x42), sel(_x51, sel(_x61, _x62)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, sel(_x121, _x122)), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), sel(proper(_x121), proper(_x122))), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), s(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(proper(_x91))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), _x62))), from(s(sel(_x71, _x72))))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(sel(proper(_x71), proper(_x72))))))
top#(mark(sel(sel(_x41, s(sel(0, cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, cons(_x111, _x112))), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), cons(proper(_x111), proper(_x112)))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, s(_x121)), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), s(proper(_x121))), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), _x42), sel(_x51, _x52))))top#(sel(sel(s(proper(_x51)), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(sel(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(cons(_x141, _x142))), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(cons(proper(_x141), proper(_x142)))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(sel(from(sel(from(_x111), _x102)), _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), sel(_x91, from(_x101))))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), from(proper(_x101)))))), from(ok(0))))
top#(mark(sel(sel(0, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(0)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(ok(0))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(s(_x141))), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(s(proper(_x141)))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(from(_x121), from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(from(proper(_x121)), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, 0)), _x62))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), ok(0))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), cons(sel(_x111, _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(_x121, sel(_x151, _x152))))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), sel(proper(_x151), proper(_x152)))))))), from(proper(_x51))))top#(mark(sel(sel(0, sel(_x71, from(_x81))), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), from(proper(_x81)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(0, cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(from(_x151), _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(from(proper(_x151)), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, s(_x111))), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), s(proper(_x111)))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(0, s(sel(_x61, s(sel(_x111, sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), from(_x51))))top#(sel(sel(proper(_x41), proper(_x42)), from(proper(_x51))))
top#(mark(sel(sel(_x41, _x42), 0)))top#(sel(sel(proper(_x41), proper(_x42)), ok(0)))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, s(_x161))))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), s(proper(_x161)))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(0), 0))))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(from(proper(_x61)))))
top#(mark(sel(sel(from(_x51), s(sel(from(sel(from(_x111), _x102)), s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(0, sel(_x71, s(_x81))), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), s(proper(_x81)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, sel(_x121, _x122)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), sel(proper(_x121), proper(_x122))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, 0), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), ok(0)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(from(sel(_x101, _x102)), _x62))), from(0))))top#(sel(sel(s(proper(_x51)), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, sel(_x71, 0)), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), ok(0))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(sel(sel(_x111, _x112), _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(sel(proper(_x111), proper(_x112)), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(cons(s(from(_x71)), _x52), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(from(proper(_x71))), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(proper(_x91))))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(s(_x141)), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(s(proper(_x141))), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(cons(s(_x61), sel(_x61, _x62)), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), sel(proper(_x61), proper(_x62))), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(s(_x81), cons(sel(_x111, _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(sel(_x141, _x142))), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(sel(proper(_x141), proper(_x142)))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(cons(_x101, _x102)), _x102)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(cons(proper(_x101), proper(_x102))), proper(_x102))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(from(proper(_x61)))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), sel(sel(_x101, _x102), _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(sel(proper(_x101), proper(_x102)), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, cons(_x161, _x162))))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), cons(proper(_x161), proper(_x162)))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(from(_x141)), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(from(proper(_x141))), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, s(_x131)))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), s(proper(_x131))))), proper(_x22)))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(cons(_x141, _x142))), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(cons(proper(_x141), proper(_x142)))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), sel(_x91, sel(_x101, _x102))))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), sel(proper(_x101), proper(_x102)))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, _x122))))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), from(_x131)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), from(proper(_x131))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), _x102)), _x62))), from(s(cons(_x71, _x72))))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(cons(proper(_x71), proper(_x72))))))
top#(mark(sel(sel(cons(_x51, s(_x61)), s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(cons(proper(_x51), s(proper(_x61))), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(s(_x101), sel(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), sel(proper(_x101), proper(_x102))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(s(s(_x111)), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(s(proper(_x111))), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(from(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, _x112))))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(from(_x121), _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(from(proper(_x121)), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(sel(_x131, _x132), _x112), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(sel(proper(_x131), proper(_x132)), proper(_x112)), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(sel(_x151, _x152), _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(sel(proper(_x151), proper(_x152)), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(0, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(ok(0), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), _x62))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(from(_x141)), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(from(proper(_x141))), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), cons(_x111, _x112))), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), cons(proper(_x111), proper(_x112)))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(s(_x141)), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(s(proper(_x141))), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), sel(_x91, _x92)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(0, cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(from(_x131), _x112), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(from(proper(_x131)), proper(_x112)), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(s(_x81), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(_x121, _x122)))))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(ok(0))))top#(mark(sel(sel(from(_x51), s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(0, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(ok(0), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, from(_x111))), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), from(proper(_x111)))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), _x92)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(from(proper(_x61)))))top#(mark(sel(sel(0, sel(_x71, 0)), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), ok(0))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(s(cons(_x111, _x112)), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(cons(proper(_x111), proper(_x112))), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), cons(_x91, _x92)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), cons(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(0, s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(s(_x81), cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, _x102)), sel(_x91, 0)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), ok(0))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(_x81), from(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), from(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(sel(_x111, _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), _x92)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(s(_x51), s(sel(_x61, s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), _x102)), sel(_x91, _x92)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(cons(_x121, _x122), _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(cons(proper(_x121), proper(_x122)), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(0, sel(s(_x81), _x72)), _x22)))top#(sel(sel(ok(0), sel(s(proper(_x81)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(from(s(_x81)), _x42), _x22)))top#(sel(sel(from(s(proper(_x81))), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, sel(sel(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(sel(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(from(_x121), _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(from(proper(_x121)), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, 0))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), ok(0)))), proper(_x22)))
top#(mark(sel(sel(from(_x51), s(_x71)), from(0))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(cons(0, _x102)), from(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(ok(0), proper(_x102))), from(proper(_x91))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(_x81), 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(s(0), s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(s(ok(0)), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(_x71)), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), _x62))), from(s(s(_x71))))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(s(proper(_x71))))))top#(mark(sel(sel(_x41, s(sel(s(_x101), from(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), from(proper(_x101))))), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(s(_x61), _x42), _x22)))top#(sel(sel(s(proper(_x61)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(s(_x21)))top#(s(proper(_x21)))
top#(mark(sel(sel(_x41, s(sel(from(from(_x91)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x91))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(sel(_x121, _x122), _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(sel(proper(_x121), proper(_x122)), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), _x42), sel(_x51, _x52))))top#(sel(sel(from(proper(_x51)), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(from(_x61), _x42), from(_x51))))top#(sel(sel(from(proper(_x61)), proper(_x42)), from(proper(_x51))))
top#(mark(sel(sel(cons(_x61, _x62), s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, s(_x141)), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), s(proper(_x141))), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(0), _x102)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(ok(0)), proper(_x102))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(0))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(sel(_x111, sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(sel(from(sel(from(_x111), _x102)), _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, _x122))))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(s(cons(_x71, _x72)), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(cons(proper(_x71), proper(_x72))), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(sel(_x121, _x122), from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(sel(proper(_x121), proper(_x122)), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(0), 0))))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(0, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x51)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x51))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, s(_x111))), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), s(proper(_x111)))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(s(_x61), s(sel(s(_x101), _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(s(proper(_x101)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(sel(_x121, _x122)), _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(sel(proper(_x121), proper(_x122))), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, 0), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), ok(0)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, cons(_x51, _x52)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), cons(proper(_x51), proper(_x52))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), s(sel(from(sel(_x101, _x102)), _x62))), from(s(_x61)))))top#(sel(sel(from(proper(_x51)), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(sel(_x151, _x152), _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(sel(proper(_x151), proper(_x152)), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(ok(sel(0, cons(_x22, _x21))))top#(mark(_x22))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, cons(_x161, _x162))))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), cons(proper(_x161), proper(_x162)))))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, from(_x61)), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), from(proper(_x61))), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, 0)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), ok(0))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), cons(sel(_x111, _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(from(sel(_x101, _x102)), _x62))), from(s(_x61)))))top#(sel(sel(ok(0), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), 0))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), ok(0)))), from(ok(0))))top#(mark(sel(_x21, from(_x51))))top#(sel(proper(_x21), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), s(cons(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(sel(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(cons(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(cons(proper(_x111), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), cons(_x111, _x112))), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), cons(proper(_x111), proper(_x112)))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), 0)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), ok(0)))
top#(mark(sel(sel(s(_x51), s(sel(from(sel(from(_x111), _x102)), _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(_x121, _x122)))))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, cons(_x121, _x122)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), cons(proper(_x121), proper(_x122))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(0, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(ok(0), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(_x71)), from(_x51))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(proper(_x51))))top#(mark(sel(sel(from(0), _x42), _x22)))top#(sel(sel(from(ok(0)), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, sel(_x111, _x112))), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), sel(proper(_x111), proper(_x112)))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), from(_x111))), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), from(proper(_x111)))), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(sel(_x121, _x122), sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(sel(proper(_x121), proper(_x122)), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(sel(_x121, _x122), _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(sel(proper(_x121), proper(_x122)), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(cons(_x141, _x142)), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(cons(proper(_x141), proper(_x142))), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(s(_x81), cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), _x102)), _x62))), from(s(s(_x71))))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(s(proper(_x71))))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, cons(_x121, _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), cons(proper(_x121), proper(_x122))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(from(_x111), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(from(proper(_x111)), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(s(_x121), from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(s(proper(_x121)), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), from(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(s(_x101)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x101))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, cons(sel(_x111, _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), s(sel(_x111, sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, sel(_x111, _x112))), _x62))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), sel(proper(_x111), proper(_x112)))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, sel(_x121, _x122)), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), sel(proper(_x121), proper(_x122))), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(s(_x71))))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(s(proper(_x71))))))top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, _x102)), sel(from(_x101), _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(from(proper(_x101)), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(0, s(sel(from(sel(from(_x111), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(ok(0), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), sel(_x111, _x112))), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), sel(proper(_x111), proper(_x112)))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, cons(sel(_x111, _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, s(_x111))), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), s(proper(_x111)))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), cons(_x91, _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), cons(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, sel(_x51, _x52)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x51), proper(_x52))), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(0, s(sel(from(sel(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(ok(0), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), from(_x131)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), from(proper(_x131))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(cons(_x131, _x132), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(cons(proper(_x131), proper(_x132)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, sel(_x111, _x112))), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), sel(proper(_x111), proper(_x112)))), sel(proper(_x91), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(s(_x61), s(sel(_x91, s(_x101)))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))
top#(ok(cons(cons(_x41, _x42), _x22)))top#(cons(cons(active(_x41), _x42), _x22))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), sel(_x91, cons(_x101, _x102))))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), cons(proper(_x101), proper(_x102)))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(from(_x121)), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(from(proper(_x121))), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(0, s(sel(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(cons(_x121, _x122), from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(cons(proper(_x121), proper(_x122)), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(0, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(sel(_x61, s(sel(_x111, sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(ok(0))))top#(mark(sel(sel(0, s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), ok(from(0))))
top#(mark(sel(sel(from(_x51), s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(_x61, cons(sel(_x111, _x112), _x92)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), 0)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), ok(0)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, s(_x131)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), s(proper(_x131))))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), 0))), from(0))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), ok(0)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, _x122))))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(0), 0))))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, 0))))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(from(_x151), _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(from(proper(_x151)), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(from(_x41), _x22)))top#(sel(from(proper(_x41)), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), _x92)))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), from(_x91)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), from(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(cons(from(_x111), _x102)), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(_x121, _x122)))))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), _x102)), from(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), proper(_x102))), from(proper(_x91))))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, sel(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), sel(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(s(_x101)), _x102)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(s(proper(_x101))), proper(_x102))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), 0)), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), ok(0))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(s(_x151), _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(s(proper(_x151)), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(cons(cons(_x61, _x62), _x52), s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(cons(cons(proper(_x61), proper(_x62)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(0, cons(sel(_x111, _x112), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(s(_x51), s(sel(from(cons(_x101, _x102)), _x62))), from(0))))top#(sel(sel(s(proper(_x51)), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(s(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), s(_x111))), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), s(proper(_x111)))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(s(sel(_x111, _x112)), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(sel(proper(_x111), proper(_x112))), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(from(_x101)), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(from(proper(_x101))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, _x42), sel(_x51, from(_x61)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), from(proper(_x61)))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), s(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), 0))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), ok(0)))), from(ok(0))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(sel(from(_x111), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(s(_x61), s(sel(_x91, _x92))), cons(_x51, _x52))))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, cons(_x151, _x152))), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), cons(proper(_x151), proper(_x152)))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(s(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(s(proper(_x131)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(s(_x141))), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(s(proper(_x141)))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(s(_x131), _x112), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(s(proper(_x131)), proper(_x112)), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(sel(from(_x81), s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(from(proper(_x81)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(s(_x51), s(_x71)), from(from(_x61)))))top#(sel(sel(s(proper(_x51)), s(proper(_x71))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(cons(_x121, _x122), _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(cons(proper(_x121), proper(_x122)), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), sel(_x111, _x112))), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), sel(proper(_x111), proper(_x112)))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(s(_x81), cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(_x61, s(sel(_x111, sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, sel(_x121, _x122)), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), sel(proper(_x121), proper(_x122))), sel(proper(_x121), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, cons(_x111, _x112))), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), cons(proper(_x111), proper(_x112)))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), 0)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), ok(0))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(sel(_x121, _x122), _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(sel(proper(_x121), proper(_x122)), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(ok(from(_x21)))top#(from(active(_x21)))top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, _x102)), sel(_x91, cons(_x101, _x102))))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), cons(proper(_x101), proper(_x102)))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(sel(_x121, _x122), from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(sel(proper(_x121), proper(_x122)), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, cons(_x141, _x142)), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), cons(proper(_x141), proper(_x142))), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(from(_x51), s(sel(_x61, _x62))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), 0))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), ok(0)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), ok(0)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, _x112))))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(cons(_x141, _x142), _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(cons(proper(_x141), proper(_x142)), proper(_x122))))))), from(proper(_x51))))
top#(ok(cons(sel(_x41, _x42), _x22)))top#(cons(sel(_x41, active(_x42)), _x22))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x141)), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x141))), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(from(0), _x62))), from(0))))top#(sel(sel(s(proper(_x51)), s(sel(from(ok(0)), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(cons(_x61, _x62))), from(0))))top#(sel(sel(proper(_x41), s(cons(proper(_x61), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(s(_x51), s(sel(_x61, cons(sel(_x111, _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(0, s(sel(_x61, cons(sel(_x111, _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x91, s(_x101)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), s(proper(_x101))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(_x121, 0)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), ok(0))))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), _x42), sel(_x51, _x52))))top#(sel(sel(cons(proper(_x51), proper(_x52)), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, s(_x121)), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), s(proper(_x121))), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(cons(from(_x61), _x52), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(from(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), s(s(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(s(proper(_x101)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(s(_x81), cons(sel(_x111, _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(0, sel(_x71, _x72)), cons(_x51, _x52))))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, sel(sel(_x81, _x82), _x72)), _x22)))top#(sel(sel(ok(0), sel(sel(proper(_x81), proper(_x82)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), cons(_x91, _x92)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), cons(proper(_x91), proper(_x92))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(0), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(sel(_x141, _x142)), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(sel(proper(_x141), proper(_x142))), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), _x42), sel(_x51, _x52))))top#(sel(sel(sel(proper(_x51), proper(_x52)), proper(_x42)), sel(proper(_x51), proper(_x52))))top#(mark(sel(sel(cons(_x51, 0), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), ok(0)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, 0)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), ok(0))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), from(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), from(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(from(_x61))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(0, cons(sel(_x111, _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(s(from(_x111)), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(from(proper(_x111))), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, from(_x131)))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), from(proper(_x131))))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(s(_x141)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(s(proper(_x141))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, _x112))))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(cons(s(0), _x52), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(ok(0)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), cons(proper(_x51), proper(_x52))))top#(mark(sel(sel(_x41, s(sel(s(0), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(ok(0)), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(cons(_x131, _x132), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(cons(proper(_x131), proper(_x132)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(s(_x121), from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(s(proper(_x121)), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, sel(_x101, _x102)))), _x22)))top#(sel(sel(proper(_x41), s(sel(proper(_x91), sel(proper(_x101), proper(_x102))))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(s(_x121), _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(s(proper(_x121)), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, from(_x111))), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), from(proper(_x111)))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), sel(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), sel(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, _x102)), sel(s(_x101), _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(s(proper(_x101)), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), from(_x91)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), from(proper(_x91))))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), sel(_x91, _x92)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(s(proper(_x61)))))
top#(mark(sel(sel(0, sel(_x71, cons(_x81, _x82))), _x22)))top#(sel(sel(ok(0), sel(proper(_x71), cons(proper(_x81), proper(_x82)))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(_x101, _x102)), _x62))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(cons(_x51, s(_x61)), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), s(proper(_x61))), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(cons(0, 0)), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(ok(0), ok(0))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(0, sel(_x71, _x72)), from(_x51))))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), s(_x111))), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), s(proper(_x111)))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(_x121, from(_x151))))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), from(proper(_x151)))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, 0), sel(_x51, _x52))))top#(sel(sel(proper(_x41), ok(0)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(0, sel(_x71, _x72)), 0)))top#(sel(sel(ok(0), sel(proper(_x71), proper(_x72))), ok(0)))
top#(mark(sel(sel(_x41, sel(0, sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(ok(0), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(from(_x141))), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(from(proper(_x141)))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, s(sel(_x111, sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))
top#(mark(from(_x21)))top#(from(proper(_x21)))top#(mark(sel(sel(_x41, s(sel(from(sel(from(s(_x121)), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(s(proper(_x121))), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(sel(from(_x111), _x102)), s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), s(_x131)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), s(proper(_x131))))))), from(proper(_x51))))
top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, _x102)), sel(_x91, s(_x101))))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), s(proper(_x101)))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(0, s(sel(_x111, sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(cons(_x91, _x92), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(cons(proper(_x91), proper(_x92)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(s(_x121), _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(s(proper(_x121)), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, sel(cons(_x121, _x122), _x102))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(cons(proper(_x121), proper(_x122)), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(s(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(s(proper(_x111)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(cons(0, _x102)), cons(_x91, _x92)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(ok(0), proper(_x102))), cons(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(cons(_x101, _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(cons(proper(_x101), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(from(_x141))), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(from(proper(_x141)))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), 0))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), ok(0)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, s(_x111))), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), s(proper(_x111)))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(ok(0))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(s(_x81), cons(sel(_x111, _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(cons(_x121, _x122), _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(cons(proper(_x121), proper(_x122)), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(sel(_x111, _x112), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(s(_x141))), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(s(proper(_x141)))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(s(_x101), 0))), _x22)))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), ok(0)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), sel(from(_x101), _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(from(proper(_x101)), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), ok(from(0))))top#(mark(sel(sel(_x41, s(sel(from(_x81), s(cons(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(from(_x121), sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(from(proper(_x121)), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), cons(sel(_x111, _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), sel(_x91, 0)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), ok(0))))), from(ok(0))))top#(mark(sel(sel(_x41, _x42), sel(_x51, cons(_x61, _x62)))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(s(_x81), s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(from(proper(_x61)))))
top#(mark(sel(sel(cons(s(_x61), 0), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), ok(0)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(cons(cons(_x61, _x62), _x52), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(cons(proper(_x61), proper(_x62)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(sel(from(_x111), _x102)), _x62))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(from(_x61)))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(from(cons(0, _x102)), 0))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(ok(0), proper(_x102))), ok(0)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), s(_x111))), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), s(proper(_x111)))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(s(_x151), _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(s(proper(_x151)), proper(_x142))), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, cons(_x71, _x72)), _x22)))top#(sel(sel(proper(_x41), cons(proper(_x71), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(proper(_x91))))), from(ok(0))))top#(mark(sel(sel(0, _x42), sel(_x51, _x52))))top#(sel(sel(ok(0), proper(_x42)), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(0, s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), ok(from(0))))top#(mark(sel(sel(from(_x51), s(sel(_x61, cons(sel(_x111, _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(from(0)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(from(ok(0)))))top#(mark(sel(sel(_x41, s(sel(sel(_x81, _x82), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(sel(proper(_x81), proper(_x82)), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), cons(_x91, _x92)))), from(0))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(_x121, _x122)))))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), sel(_x111, _x112))), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), sel(proper(_x111), proper(_x112)))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, sel(_x111, _x112))), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), sel(proper(_x111), proper(_x112)))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, 0), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), ok(0)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, cons(sel(_x111, _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, cons(_x111, _x112))), _x62))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), cons(proper(_x111), proper(_x112)))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(0, sel(cons(_x81, _x82), _x72)), _x22)))top#(sel(sel(ok(0), sel(cons(proper(_x81), proper(_x82)), proper(_x72))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(cons(_x101, _x102), _x92))), _x22)))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x101), proper(_x102)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(from(cons(0, from(_x111))), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(ok(0), from(proper(_x111)))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(_x111, sel(_x121, _x122)))))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(s(_x51), s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(0), 0))))), from(0))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(ok(0))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(sel(from(_x111), _x102)), s(_x91)))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, _x122))))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, cons(_x121, _x122)), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), cons(proper(_x121), proper(_x122))), sel(proper(_x121), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(s(_x121), from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(s(proper(_x121)), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, 0)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), ok(0))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, s(_x121))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), s(proper(_x121)))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), sel(_x91, s(_x101))))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), s(proper(_x101)))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(from(_x121), _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(from(proper(_x121)), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(s(_x121), _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(s(proper(_x121)), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(_x71, _x72)), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), proper(_x72))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, sel(from(_x91), sel(_x101, _x102))), _x22)))top#(sel(sel(proper(_x41), sel(from(proper(_x91)), sel(proper(_x101), proper(_x102)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(0)), _x22)))top#(sel(sel(proper(_x41), s(ok(0))), proper(_x22)))top#(mark(sel(sel(0, s(sel(_x91, _x92))), _x22)))top#(sel(sel(ok(0), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(cons(_x131, _x132), _x112), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(cons(proper(_x131), proper(_x132)), proper(_x112)), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(sel(_x121, _x122), _x112))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(sel(proper(_x121), proper(_x122)), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(s(_x61), s(sel(_x91, from(_x101)))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), from(proper(_x101))))), proper(_x22)))top#(mark(sel(sel(_x41, s(0)), from(from(_x61)))))top#(sel(sel(proper(_x41), s(ok(0))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, from(_x121))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), from(proper(_x121)))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(from(sel(_x101, _x102)), _x62))), from(s(_x61)))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(_x71)), sel(_x51, _x52))))top#(sel(sel(proper(_x41), s(proper(_x71))), sel(proper(_x51), proper(_x52))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x91, _x92))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(proper(_x91), proper(_x92)))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(from(_x51), s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, cons(_x111, _x112))), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), cons(proper(_x111), proper(_x112)))), proper(_x62)))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(proper(_x91))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(0, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(ok(0), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(sel(_x141, _x142))), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(sel(proper(_x141), proper(_x142)))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, _x42), sel(_x51, 0))))top#(sel(sel(proper(_x41), proper(_x42)), sel(proper(_x51), ok(0))))
top#(mark(sel(sel(from(_x51), s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(s(_x101)), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(s(proper(_x101))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(cons(0, _x52), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(ok(0), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, s(_x111))), _x62))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), s(proper(_x111)))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), cons(_x51, _x52))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), cons(proper(_x51), proper(_x52))))
top#(mark(sel(sel(s(_x61), s(sel(sel(_x81, _x82), _x92))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(sel(proper(_x81), proper(_x82)), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(s(proper(_x61)))))
top#(mark(sel(sel(s(_x51), s(sel(from(_x81), _x62))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(from(proper(_x81)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), _x62))), from(s(0)))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(s(ok(0)))))
top#(mark(sel(sel(sel(_x61, _x62), sel(_x71, sel(_x101, _x102))), _x22)))top#(sel(sel(sel(proper(_x61), proper(_x62)), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), proper(_x22)))top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, _x102)), sel(sel(_x101, _x102), _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(sel(proper(_x101), proper(_x102)), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(from(_x61), _x42), s(_x51))))top#(sel(sel(from(proper(_x61)), proper(_x42)), s(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, 0))))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(cons(_x51, sel(_x61, _x62)), s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(cons(proper(_x51), sel(proper(_x61), proper(_x62))), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(s(sel(_x61, _x62)), s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(s(sel(proper(_x61), proper(_x62))), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(sel(s(_x111), _x102)), 0))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(proper(_x111)), proper(_x102))), ok(0)))), from(s(proper(_x61)))))
top#(mark(sel(sel(0, s(_x71)), from(0))))top#(sel(sel(ok(0), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(_x41, s(0)), from(_x51))))top#(sel(sel(proper(_x41), s(ok(0))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), from(_x131)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), from(proper(_x131))))))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), s(_x71)), from(_x51))))top#(sel(sel(from(proper(_x51)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(from(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(from(proper(_x101)))))), from(proper(_x51))))top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, s(sel(_x111, sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(0)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(ok(0))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(ok(cons(s(_x41), _x22)))top#(cons(s(active(_x41)), _x22))
top#(mark(sel(sel(s(_x51), s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(sel(_x101, _x102)), _x62))), from(s(_x61)))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(sel(proper(_x101), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(s(_x91))), _x22)))top#(sel(sel(proper(_x41), s(s(proper(_x91)))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(_x71)), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(proper(_x71))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(0), 0))))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(s(proper(_x61)))))top#(mark(sel(sel(0, s(sel(_x61, cons(sel(_x111, _x112), _x92)))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(s(_x91), _x72)), _x22)))top#(sel(sel(proper(_x41), sel(s(proper(_x91)), proper(_x72))), proper(_x22)))top#(mark(sel(sel(from(_x51), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, s(sel(s(_x121), sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(sel(s(proper(_x121)), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, sel(_x141, _x142)), _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), sel(proper(_x141), proper(_x142))), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, 0)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), ok(0))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(from(_x51), s(sel(from(sel(from(_x111), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(from(proper(_x51)), s(sel(from(sel(from(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))
top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, _x102)), sel(_x91, sel(_x101, _x102))))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), sel(proper(_x101), proper(_x102)))))), from(ok(0))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x61, _x62), s(sel(_x91, _x92))), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(_x41, s(sel(0, s(_x91)))), from(0))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(proper(_x91))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, from(_x161))))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), from(proper(_x161)))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), s(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), s(proper(_x91))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), s(_x91)))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), s(proper(_x91))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(s(_x51), s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(s(_x81), s(sel(_x111, sel(_x121, _x122)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), s(sel(proper(_x111), sel(proper(_x121), proper(_x122))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, 0))), _x22)))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), ok(0)))), proper(_x22)))top#(mark(sel(0, _x22)))top#(sel(ok(0), proper(_x22)))
top#(mark(sel(sel(_x41, s(from(_x61))), from(0))))top#(sel(sel(proper(_x41), s(from(proper(_x61)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(from(cons(0, sel(_x111, _x112))), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(ok(0), sel(proper(_x111), proper(_x112)))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(sel(cons(_x111, _x112), _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(cons(proper(_x111), proper(_x112)), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(s(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(s(_x101), _x92))), s(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x101)), proper(_x92)))), s(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(cons(_x141, _x142))), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(cons(proper(_x141), proper(_x142)))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(cons(_x61, _x62), s(_x71)), _x22)))top#(sel(sel(cons(proper(_x61), proper(_x62)), s(proper(_x71))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(sel(_x51, _x52), s(sel(_x61, s(_x91)))), from(_x51))))top#(sel(sel(sel(proper(_x51), proper(_x52)), s(sel(proper(_x61), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), 0)))top#(sel(sel(proper(_x41), s(proper(_x71))), ok(0)))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, cons(_x121, _x122)), sel(from(_x131), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), cons(proper(_x121), proper(_x122))), sel(from(proper(_x131)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(s(_x81), cons(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(0, s(cons(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(cons(proper(_x101), proper(_x102)))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, sel(_x61, _x62)), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), sel(proper(_x61), proper(_x62))), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), from(_x91)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), from(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(s(_x121), _x112), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(s(proper(_x121)), proper(_x112)), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), cons(_x91, _x92)))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), cons(proper(_x91), proper(_x92))))), from(s(proper(_x61)))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(_x81), _x62))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(proper(_x81)), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), _x122))))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), sel(_x91, _x92)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(proper(_x51))))
top#(mark(sel(sel(s(s(_x71)), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(s(proper(_x71))), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), s(0)))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(ok(0))))), from(proper(_x51))))top#(mark(sel(sel(cons(s(_x61), _x52), s(sel(from(cons(0, _x102)), sel(cons(_x101, _x102), _x92)))), from(0))))top#(sel(sel(cons(s(proper(_x61)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(cons(proper(_x101), proper(_x102)), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(_x121)), sel(from(0), cons(cons(_x151, _x152), _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(proper(_x121))), sel(from(ok(0)), cons(cons(proper(_x151), proper(_x152)), proper(_x132))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(from(proper(_x61)))))
top#(mark(sel(sel(_x41, s(sel(s(_x81), cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(s(proper(_x81)), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(0, _x42), _x22)))top#(sel(sel(ok(0), proper(_x42)), proper(_x22)))
top#(mark(sel(sel(_x41, s(0)), from(0))))top#(sel(sel(proper(_x41), s(ok(0))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(sel(_x141, _x142))), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(sel(proper(_x141), proper(_x142)))), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, _x102)), 0))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), proper(_x102))), ok(0)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(0, s(s(_x101))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), s(s(proper(_x101)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(_x81), _x62))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), proper(_x62)))), from(from(proper(_x61)))))top#(mark(sel(sel(0, s(sel(_x61, s(sel(_x111, _x112))))), from(_x51))))top#(sel(sel(ok(0), s(sel(proper(_x61), s(sel(proper(_x111), proper(_x112)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, _x122))))), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), proper(_x122)))))), from(sel(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(sel(_x131, _x132), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(sel(proper(_x131), proper(_x132)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, from(from(_x141))), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), from(from(proper(_x141)))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(_x71)), from(sel(_x61, _x62)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(_x121)), sel(from(0), cons(_x131, s(_x161))))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), s(proper(_x161)))))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(sel(from(_x111), _x102)), s(sel(_x101, _x102))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(proper(_x111)), proper(_x102))), s(sel(proper(_x101), proper(_x102)))))), from(proper(_x51))))
top#(ok(sel(_x21, _x22)))top#(sel(_x21, active(_x22)))top#(mark(sel(sel(s(_x61), s(sel(_x91, cons(_x101, _x102)))), _x22)))top#(sel(sel(s(proper(_x61)), s(sel(proper(_x91), cons(proper(_x101), proper(_x102))))), proper(_x22)))
top#(mark(sel(sel(cons(sel(_x61, _x62), _x52), s(sel(from(cons(0, _x102)), _x62))), from(0))))top#(sel(sel(cons(sel(proper(_x61), proper(_x62)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(0, cons(sel(_x111, _x112), sel(from(sel(_x141, _x142)), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(ok(0), cons(sel(proper(_x111), proper(_x112)), sel(from(sel(proper(_x141), proper(_x142))), ok(0)))))), from(proper(_x51))))
top#(mark(sel(cons(_x41, _x42), _x22)))top#(sel(cons(proper(_x41), proper(_x42)), proper(_x22)))top#(mark(sel(sel(cons(sel(_x61, _x62), _x52), s(sel(from(cons(0, _x102)), sel(_x91, _x92)))), from(0))))top#(sel(sel(cons(sel(proper(_x61), proper(_x62)), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(from(sel(from(s(_x121)), _x102)), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(sel(from(s(proper(_x121))), proper(_x102))), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(s(sel(_x71, _x72)), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(sel(proper(_x71), proper(_x72))), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, sel(_x121, _x122)), sel(from(0), 0))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), sel(proper(_x121), proper(_x122))), sel(from(ok(0)), ok(0)))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(from(_x91))), _x22)))top#(sel(sel(proper(_x41), s(from(proper(_x91)))), proper(_x22)))
top#(mark(sel(sel(_x41, s(sel(_x61, _x62))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), proper(_x62)))), from(cons(proper(_x61), proper(_x62)))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(0, from(from(_x141))), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(ok(0), from(from(proper(_x141)))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(s(from(_x121)), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(s(from(proper(_x121))), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), s(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), s(proper(_x51))))
top#(mark(sel(sel(s(_x51), s(sel(0, s(_x91)))), from(_x51))))top#(sel(sel(s(proper(_x51)), s(sel(ok(0), s(proper(_x91))))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(cons(_x81, _x82), cons(sel(0, from(_x121)), sel(from(0), cons(_x131, _x132)))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(cons(proper(_x81), proper(_x82)), cons(sel(ok(0), from(proper(_x121))), sel(from(ok(0)), cons(proper(_x131), proper(_x132))))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), s(_x121))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), s(proper(_x121)))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(cons(0, _x102)), sel(cons(_x101, _x102), _x92)))), from(0))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(cons(ok(0), proper(_x102))), sel(cons(proper(_x101), proper(_x102)), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(_x41, sel(_x71, sel(_x101, _x102))), from(_x51))))top#(sel(sel(proper(_x41), sel(proper(_x71), sel(proper(_x101), proper(_x102)))), from(proper(_x51))))top#(mark(sel(sel(from(_x51), s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), _x122))))), from(_x51))))top#(sel(sel(from(proper(_x51)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), proper(_x122)))))), from(proper(_x51))))
top#(mark(sel(sel(cons(_x51, _x52), s(sel(from(sel(s(_x111), _x102)), _x62))), from(s(_x61)))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(from(sel(s(proper(_x111)), proper(_x102))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(s(from(_x71)), s(sel(_x91, _x92))), _x22)))top#(sel(sel(s(from(proper(_x71))), s(sel(proper(_x91), proper(_x92)))), proper(_x22)))
top#(mark(sel(sel(s(_x51), s(sel(from(from(_x101)), _x62))), from(0))))top#(sel(sel(s(proper(_x51)), s(sel(from(from(proper(_x101))), proper(_x62)))), from(ok(0))))top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(_x111, _x112), sel(from(_x131), 0))))), from(cons(_x61, _x62)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(from(proper(_x131)), ok(0)))))), from(cons(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(_x91, _x92)))), from(from(_x61)))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(proper(_x91), proper(_x92))))), from(from(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(_x61, s(from(_x111))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), s(from(proper(_x111)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(0), _x62))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(from(ok(0)), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(_x41, s(sel(from(cons(s(_x111), _x102)), _x62))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(cons(s(proper(_x111)), proper(_x102))), proper(_x62)))), from(ok(0))))
top#(mark(sel(sel(_x41, s(sel(_x61, cons(sel(from(_x121), from(_x121)), sel(from(0), _x122))))), from(_x51))))top#(sel(sel(proper(_x41), s(sel(proper(_x61), cons(sel(from(proper(_x121)), from(proper(_x121))), sel(from(ok(0)), proper(_x122)))))), from(proper(_x51))))top#(mark(sel(sel(cons(_x51, _x52), s(sel(_x61, cons(sel(_x111, _x112), sel(_x121, 0))))), from(_x51))))top#(sel(sel(cons(proper(_x51), proper(_x52)), s(sel(proper(_x61), cons(sel(proper(_x111), proper(_x112)), sel(proper(_x121), ok(0)))))), from(proper(_x51))))
top#(mark(sel(sel(_x41, s(sel(from(sel(_x101, cons(_x111, _x112))), _x62))), from(s(_x61)))))top#(sel(sel(proper(_x41), s(sel(from(sel(proper(_x101), cons(proper(_x111), proper(_x112)))), proper(_x62)))), from(s(proper(_x61)))))top#(mark(sel(sel(_x41, s(sel(from(_x81), cons(_x91, _x92)))), from(0))))top#(sel(sel(proper(_x41), s(sel(from(proper(_x81)), cons(proper(_x91), proper(_x92))))), from(ok(0))))
top#(mark(sel(sel(s(_x61), s(_x71)), _x22)))top#(sel(sel(s(proper(_x61)), s(proper(_x71))), proper(_x22)))top#(mark(sel(_x21, s(_x51))))top#(sel(proper(_x21), s(proper(_x51))))
top#(mark(sel(sel(_x41, s(_x71)), from(s(_x61)))))top#(sel(sel(proper(_x41), s(proper(_x71))), from(s(proper(_x61)))))

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


The right-hand side of the rule top#(mark(sel(sel(0, s(_x71)), from(_x51)))) → top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_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#(sel(sel(ok(0), s(from(proper(_x61)))), from(proper(_x51)))) 
top#(sel(sel(ok(0), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(ok(0), s(proper(_x71))), from(sel(proper(_x61), proper(_x62))))) 
top#(sel(sel(ok(0), s(s(proper(_x61)))), from(proper(_x51)))) 
top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51)))) 
top#(sel(sel(ok(0), s(proper(_x71))), from(ok(0)))) 
top#(sel(sel(ok(0), s(proper(_x71))), from(from(proper(_x61))))) 
top#(sel(sel(ok(0), s(proper(_x71))), from(cons(proper(_x61), proper(_x62))))) 
top#(sel(sel(ok(0), s(proper(_x71))), from(s(proper(_x61))))) 
top#(sel(sel(ok(0), s(ok(0))), from(proper(_x51)))) 
Thus, the rule top#(mark(sel(sel(0, s(_x71)), from(_x51)))) → top#(sel(sel(ok(0), s(proper(_x71))), from(proper(_x51)))) is replaced by the following rules:
top#(mark(sel(sel(0, s(from(_x61))), from(_x51)))) → top#(sel(sel(ok(0), s(from(proper(_x61)))), from(proper(_x51))))top#(mark(sel(sel(0, s(s(_x61))), from(_x51)))) → top#(sel(sel(ok(0), s(s(proper(_x61)))), from(proper(_x51))))
top#(mark(sel(sel(0, s(_x71)), from(s(_x61))))) → top#(sel(sel(ok(0), s(proper(_x71))), from(s(proper(_x61)))))top#(mark(sel(sel(0, s(0)), from(_x51)))) → top#(sel(sel(ok(0), s(ok(0))), from(proper(_x51))))
top#(mark(sel(sel(0, s(cons(_x61, _x62))), from(_x51)))) → top#(sel(sel(ok(0), s(cons(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(0, s(_x71)), from(sel(_x61, _x62))))) → top#(sel(sel(ok(0), s(proper(_x71))), from(sel(proper(_x61), proper(_x62)))))
top#(mark(sel(sel(0, s(_x71)), from(0)))) → top#(sel(sel(ok(0), s(proper(_x71))), from(ok(0))))top#(mark(sel(sel(0, s(_x71)), from(from(_x61))))) → top#(sel(sel(ok(0), s(proper(_x71))), from(from(proper(_x61)))))
top#(mark(sel(sel(0, s(sel(_x61, _x62))), from(_x51)))) → top#(sel(sel(ok(0), s(sel(proper(_x61), proper(_x62)))), from(proper(_x51))))top#(mark(sel(sel(0, s(_x71)), from(cons(_x61, _x62))))) → top#(sel(sel(ok(0), s(proper(_x71))), from(cons(proper(_x61), proper(_x62)))))

Problem 6: 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(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

Problem 7: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

active(from(X))mark(cons(X, from(s(X))))active(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

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

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(sel(0, cons(X, Y)))mark(X)
active(sel(s(X), cons(Y, Z)))mark(sel(X, Z))active(from(X))from(active(X))
active(cons(X1, X2))cons(active(X1), X2)active(s(X))s(active(X))
active(sel(X1, X2))sel(active(X1), X2)active(sel(X1, X2))sel(X1, active(X2))
from(mark(X))mark(from(X))cons(mark(X1), X2)mark(cons(X1, X2))
s(mark(X))mark(s(X))sel(mark(X1), X2)mark(sel(X1, X2))
sel(X1, mark(X2))mark(sel(X1, X2))proper(from(X))from(proper(X))
proper(cons(X1, X2))cons(proper(X1), proper(X2))proper(s(X))s(proper(X))
proper(sel(X1, X2))sel(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))sel(ok(X1), ok(X2))ok(sel(X1, X2))
top(mark(X))top(proper(X))top(ok(X))top(active(X))

Original Signature

Termination of terms over the following signature is verified: 0, s, active, mark, ok, from, proper, sel, 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)