(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

active(and(tt, X)) → mark(X)
active(plus(N, 0)) → mark(N)
active(plus(N, s(M))) → mark(s(plus(N, M)))
active(x(N, 0)) → mark(0)
active(x(N, s(M))) → mark(plus(x(N, M), N))
active(and(X1, X2)) → and(active(X1), X2)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(s(X)) → s(active(X))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
and(mark(X1), X2) → mark(and(X1, X2))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
s(mark(X)) → mark(s(X))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
proper(and(X1, X2)) → and(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(0) → ok(0)
proper(s(X)) → s(proper(X))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
and(ok(X1), ok(X2)) → ok(and(X1, X2))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
s(ok(X)) → ok(s(X))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.

(1) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(2) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ACTIVE(plus(N, s(M))) → S(plus(N, M))
ACTIVE(plus(N, s(M))) → PLUS(N, M)
ACTIVE(x(N, s(M))) → PLUS(x(N, M), N)
ACTIVE(x(N, s(M))) → X(N, M)
ACTIVE(and(X1, X2)) → AND(active(X1), X2)
ACTIVE(and(X1, X2)) → ACTIVE(X1)
ACTIVE(plus(X1, X2)) → PLUS(active(X1), X2)
ACTIVE(plus(X1, X2)) → ACTIVE(X1)
ACTIVE(plus(X1, X2)) → PLUS(X1, active(X2))
ACTIVE(plus(X1, X2)) → ACTIVE(X2)
ACTIVE(s(X)) → S(active(X))
ACTIVE(s(X)) → ACTIVE(X)
ACTIVE(x(X1, X2)) → X(active(X1), X2)
ACTIVE(x(X1, X2)) → ACTIVE(X1)
ACTIVE(x(X1, X2)) → X(X1, active(X2))
ACTIVE(x(X1, X2)) → ACTIVE(X2)
AND(mark(X1), X2) → AND(X1, X2)
PLUS(mark(X1), X2) → PLUS(X1, X2)
PLUS(X1, mark(X2)) → PLUS(X1, X2)
S(mark(X)) → S(X)
X(mark(X1), X2) → X(X1, X2)
X(X1, mark(X2)) → X(X1, X2)
PROPER(and(X1, X2)) → AND(proper(X1), proper(X2))
PROPER(and(X1, X2)) → PROPER(X1)
PROPER(and(X1, X2)) → PROPER(X2)
PROPER(plus(X1, X2)) → PLUS(proper(X1), proper(X2))
PROPER(plus(X1, X2)) → PROPER(X1)
PROPER(plus(X1, X2)) → PROPER(X2)
PROPER(s(X)) → S(proper(X))
PROPER(s(X)) → PROPER(X)
PROPER(x(X1, X2)) → X(proper(X1), proper(X2))
PROPER(x(X1, X2)) → PROPER(X1)
PROPER(x(X1, X2)) → PROPER(X2)
AND(ok(X1), ok(X2)) → AND(X1, X2)
PLUS(ok(X1), ok(X2)) → PLUS(X1, X2)
S(ok(X)) → S(X)
X(ok(X1), ok(X2)) → X(X1, X2)
TOP(mark(X)) → TOP(proper(X))
TOP(mark(X)) → PROPER(X)
TOP(ok(X)) → TOP(active(X))
TOP(ok(X)) → ACTIVE(X)

The TRS R consists of the following rules:

active(and(tt, X)) → mark(X)
active(plus(N, 0)) → mark(N)
active(plus(N, s(M))) → mark(s(plus(N, M)))
active(x(N, 0)) → mark(0)
active(x(N, s(M))) → mark(plus(x(N, M), N))
active(and(X1, X2)) → and(active(X1), X2)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(s(X)) → s(active(X))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
and(mark(X1), X2) → mark(and(X1, X2))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
s(mark(X)) → mark(s(X))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
proper(and(X1, X2)) → and(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(0) → ok(0)
proper(s(X)) → s(proper(X))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
and(ok(X1), ok(X2)) → ok(and(X1, X2))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
s(ok(X)) → ok(s(X))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(3) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 7 SCCs with 16 less nodes.

(4) Complex Obligation (AND)

(5) Obligation:

Q DP problem:
The TRS P consists of the following rules:

X(X1, mark(X2)) → X(X1, X2)
X(mark(X1), X2) → X(X1, X2)
X(ok(X1), ok(X2)) → X(X1, X2)

The TRS R consists of the following rules:

active(and(tt, X)) → mark(X)
active(plus(N, 0)) → mark(N)
active(plus(N, s(M))) → mark(s(plus(N, M)))
active(x(N, 0)) → mark(0)
active(x(N, s(M))) → mark(plus(x(N, M), N))
active(and(X1, X2)) → and(active(X1), X2)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(s(X)) → s(active(X))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
and(mark(X1), X2) → mark(and(X1, X2))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
s(mark(X)) → mark(s(X))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
proper(and(X1, X2)) → and(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(0) → ok(0)
proper(s(X)) → s(proper(X))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
and(ok(X1), ok(X2)) → ok(and(X1, X2))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
s(ok(X)) → ok(s(X))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(6) Obligation:

Q DP problem:
The TRS P consists of the following rules:

S(ok(X)) → S(X)
S(mark(X)) → S(X)

The TRS R consists of the following rules:

active(and(tt, X)) → mark(X)
active(plus(N, 0)) → mark(N)
active(plus(N, s(M))) → mark(s(plus(N, M)))
active(x(N, 0)) → mark(0)
active(x(N, s(M))) → mark(plus(x(N, M), N))
active(and(X1, X2)) → and(active(X1), X2)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(s(X)) → s(active(X))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
and(mark(X1), X2) → mark(and(X1, X2))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
s(mark(X)) → mark(s(X))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
proper(and(X1, X2)) → and(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(0) → ok(0)
proper(s(X)) → s(proper(X))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
and(ok(X1), ok(X2)) → ok(and(X1, X2))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
s(ok(X)) → ok(s(X))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(7) Obligation:

Q DP problem:
The TRS P consists of the following rules:

PLUS(X1, mark(X2)) → PLUS(X1, X2)
PLUS(mark(X1), X2) → PLUS(X1, X2)
PLUS(ok(X1), ok(X2)) → PLUS(X1, X2)

The TRS R consists of the following rules:

active(and(tt, X)) → mark(X)
active(plus(N, 0)) → mark(N)
active(plus(N, s(M))) → mark(s(plus(N, M)))
active(x(N, 0)) → mark(0)
active(x(N, s(M))) → mark(plus(x(N, M), N))
active(and(X1, X2)) → and(active(X1), X2)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(s(X)) → s(active(X))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
and(mark(X1), X2) → mark(and(X1, X2))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
s(mark(X)) → mark(s(X))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
proper(and(X1, X2)) → and(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(0) → ok(0)
proper(s(X)) → s(proper(X))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
and(ok(X1), ok(X2)) → ok(and(X1, X2))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
s(ok(X)) → ok(s(X))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(8) Obligation:

Q DP problem:
The TRS P consists of the following rules:

AND(ok(X1), ok(X2)) → AND(X1, X2)
AND(mark(X1), X2) → AND(X1, X2)

The TRS R consists of the following rules:

active(and(tt, X)) → mark(X)
active(plus(N, 0)) → mark(N)
active(plus(N, s(M))) → mark(s(plus(N, M)))
active(x(N, 0)) → mark(0)
active(x(N, s(M))) → mark(plus(x(N, M), N))
active(and(X1, X2)) → and(active(X1), X2)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(s(X)) → s(active(X))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
and(mark(X1), X2) → mark(and(X1, X2))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
s(mark(X)) → mark(s(X))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
proper(and(X1, X2)) → and(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(0) → ok(0)
proper(s(X)) → s(proper(X))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
and(ok(X1), ok(X2)) → ok(and(X1, X2))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
s(ok(X)) → ok(s(X))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(9) Obligation:

Q DP problem:
The TRS P consists of the following rules:

PROPER(and(X1, X2)) → PROPER(X2)
PROPER(and(X1, X2)) → PROPER(X1)
PROPER(plus(X1, X2)) → PROPER(X1)
PROPER(plus(X1, X2)) → PROPER(X2)
PROPER(s(X)) → PROPER(X)
PROPER(x(X1, X2)) → PROPER(X1)
PROPER(x(X1, X2)) → PROPER(X2)

The TRS R consists of the following rules:

active(and(tt, X)) → mark(X)
active(plus(N, 0)) → mark(N)
active(plus(N, s(M))) → mark(s(plus(N, M)))
active(x(N, 0)) → mark(0)
active(x(N, s(M))) → mark(plus(x(N, M), N))
active(and(X1, X2)) → and(active(X1), X2)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(s(X)) → s(active(X))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
and(mark(X1), X2) → mark(and(X1, X2))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
s(mark(X)) → mark(s(X))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
proper(and(X1, X2)) → and(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(0) → ok(0)
proper(s(X)) → s(proper(X))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
and(ok(X1), ok(X2)) → ok(and(X1, X2))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
s(ok(X)) → ok(s(X))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(10) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ACTIVE(plus(X1, X2)) → ACTIVE(X1)
ACTIVE(and(X1, X2)) → ACTIVE(X1)
ACTIVE(plus(X1, X2)) → ACTIVE(X2)
ACTIVE(s(X)) → ACTIVE(X)
ACTIVE(x(X1, X2)) → ACTIVE(X1)
ACTIVE(x(X1, X2)) → ACTIVE(X2)

The TRS R consists of the following rules:

active(and(tt, X)) → mark(X)
active(plus(N, 0)) → mark(N)
active(plus(N, s(M))) → mark(s(plus(N, M)))
active(x(N, 0)) → mark(0)
active(x(N, s(M))) → mark(plus(x(N, M), N))
active(and(X1, X2)) → and(active(X1), X2)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(s(X)) → s(active(X))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
and(mark(X1), X2) → mark(and(X1, X2))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
s(mark(X)) → mark(s(X))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
proper(and(X1, X2)) → and(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(0) → ok(0)
proper(s(X)) → s(proper(X))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
and(ok(X1), ok(X2)) → ok(and(X1, X2))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
s(ok(X)) → ok(s(X))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(11) Obligation:

Q DP problem:
The TRS P consists of the following rules:

TOP(ok(X)) → TOP(active(X))
TOP(mark(X)) → TOP(proper(X))

The TRS R consists of the following rules:

active(and(tt, X)) → mark(X)
active(plus(N, 0)) → mark(N)
active(plus(N, s(M))) → mark(s(plus(N, M)))
active(x(N, 0)) → mark(0)
active(x(N, s(M))) → mark(plus(x(N, M), N))
active(and(X1, X2)) → and(active(X1), X2)
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(s(X)) → s(active(X))
active(x(X1, X2)) → x(active(X1), X2)
active(x(X1, X2)) → x(X1, active(X2))
and(mark(X1), X2) → mark(and(X1, X2))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
s(mark(X)) → mark(s(X))
x(mark(X1), X2) → mark(x(X1, X2))
x(X1, mark(X2)) → mark(x(X1, X2))
proper(and(X1, X2)) → and(proper(X1), proper(X2))
proper(tt) → ok(tt)
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(0) → ok(0)
proper(s(X)) → s(proper(X))
proper(x(X1, X2)) → x(proper(X1), proper(X2))
and(ok(X1), ok(X2)) → ok(and(X1, X2))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
s(ok(X)) → ok(s(X))
x(ok(X1), ok(X2)) → ok(x(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.