(0) Obligation:

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

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(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(U11(tt, N)) → MARK(N)
ACTIVE(U21(tt, M, N)) → MARK(s(plus(N, M)))
ACTIVE(U21(tt, M, N)) → S(plus(N, M))
ACTIVE(U21(tt, M, N)) → PLUS(N, M)
ACTIVE(and(tt, X)) → MARK(X)
ACTIVE(isNat(0)) → MARK(tt)
ACTIVE(isNat(plus(V1, V2))) → MARK(and(isNat(V1), isNat(V2)))
ACTIVE(isNat(plus(V1, V2))) → AND(isNat(V1), isNat(V2))
ACTIVE(isNat(plus(V1, V2))) → ISNAT(V1)
ACTIVE(isNat(plus(V1, V2))) → ISNAT(V2)
ACTIVE(isNat(s(V1))) → MARK(isNat(V1))
ACTIVE(isNat(s(V1))) → ISNAT(V1)
ACTIVE(plus(N, 0)) → MARK(U11(isNat(N), N))
ACTIVE(plus(N, 0)) → U111(isNat(N), N)
ACTIVE(plus(N, 0)) → ISNAT(N)
ACTIVE(plus(N, s(M))) → MARK(U21(and(isNat(M), isNat(N)), M, N))
ACTIVE(plus(N, s(M))) → U211(and(isNat(M), isNat(N)), M, N)
ACTIVE(plus(N, s(M))) → AND(isNat(M), isNat(N))
ACTIVE(plus(N, s(M))) → ISNAT(M)
ACTIVE(plus(N, s(M))) → ISNAT(N)
MARK(U11(X1, X2)) → ACTIVE(U11(mark(X1), X2))
MARK(U11(X1, X2)) → U111(mark(X1), X2)
MARK(U11(X1, X2)) → MARK(X1)
MARK(tt) → ACTIVE(tt)
MARK(U21(X1, X2, X3)) → ACTIVE(U21(mark(X1), X2, X3))
MARK(U21(X1, X2, X3)) → U211(mark(X1), X2, X3)
MARK(U21(X1, X2, X3)) → MARK(X1)
MARK(s(X)) → ACTIVE(s(mark(X)))
MARK(s(X)) → S(mark(X))
MARK(s(X)) → MARK(X)
MARK(plus(X1, X2)) → ACTIVE(plus(mark(X1), mark(X2)))
MARK(plus(X1, X2)) → PLUS(mark(X1), mark(X2))
MARK(plus(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
MARK(and(X1, X2)) → ACTIVE(and(mark(X1), X2))
MARK(and(X1, X2)) → AND(mark(X1), X2)
MARK(and(X1, X2)) → MARK(X1)
MARK(isNat(X)) → ACTIVE(isNat(X))
MARK(0) → ACTIVE(0)
U111(mark(X1), X2) → U111(X1, X2)
U111(X1, mark(X2)) → U111(X1, X2)
U111(active(X1), X2) → U111(X1, X2)
U111(X1, active(X2)) → U111(X1, X2)
U211(mark(X1), X2, X3) → U211(X1, X2, X3)
U211(X1, mark(X2), X3) → U211(X1, X2, X3)
U211(X1, X2, mark(X3)) → U211(X1, X2, X3)
U211(active(X1), X2, X3) → U211(X1, X2, X3)
U211(X1, active(X2), X3) → U211(X1, X2, X3)
U211(X1, X2, active(X3)) → U211(X1, X2, X3)
S(mark(X)) → S(X)
S(active(X)) → S(X)
PLUS(mark(X1), X2) → PLUS(X1, X2)
PLUS(X1, mark(X2)) → PLUS(X1, X2)
PLUS(active(X1), X2) → PLUS(X1, X2)
PLUS(X1, active(X2)) → PLUS(X1, X2)
AND(mark(X1), X2) → AND(X1, X2)
AND(X1, mark(X2)) → AND(X1, X2)
AND(active(X1), X2) → AND(X1, X2)
AND(X1, active(X2)) → AND(X1, X2)
ISNAT(mark(X)) → ISNAT(X)
ISNAT(active(X)) → ISNAT(X)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(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 20 less nodes.

(4) Complex Obligation (AND)

(5) Obligation:

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

ISNAT(active(X)) → ISNAT(X)
ISNAT(mark(X)) → ISNAT(X)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(6) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


ISNAT(active(X)) → ISNAT(X)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
ISNAT(x1)  =  ISNAT(x1)
active(x1)  =  active(x1)
mark(x1)  =  x1

Lexicographic path order with status [LPO].
Quasi-Precedence:
[ISNAT1, active1]

Status:
ISNAT1: [1]
active1: [1]


The following usable rules [FROCOS05] were oriented: none

(7) Obligation:

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

ISNAT(mark(X)) → ISNAT(X)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(8) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


ISNAT(mark(X)) → ISNAT(X)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
ISNAT(x1)  =  x1
mark(x1)  =  mark(x1)

Lexicographic path order with status [LPO].
Quasi-Precedence:
trivial

Status:
mark1: [1]


The following usable rules [FROCOS05] were oriented: none

(9) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(10) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(11) TRUE

(12) Obligation:

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

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

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(13) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


AND(X1, mark(X2)) → AND(X1, X2)
AND(mark(X1), X2) → AND(X1, X2)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
AND(x1, x2)  =  AND(x1, x2)
mark(x1)  =  mark(x1)
active(x1)  =  x1

Lexicographic path order with status [LPO].
Quasi-Precedence:
mark1 > AND2

Status:
AND2: [2,1]
mark1: [1]


The following usable rules [FROCOS05] were oriented: none

(14) Obligation:

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

AND(active(X1), X2) → AND(X1, X2)
AND(X1, active(X2)) → AND(X1, X2)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(15) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


AND(X1, active(X2)) → AND(X1, X2)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
AND(x1, x2)  =  AND(x2)
active(x1)  =  active(x1)

Lexicographic path order with status [LPO].
Quasi-Precedence:
active1 > AND1

Status:
AND1: [1]
active1: [1]


The following usable rules [FROCOS05] were oriented: none

(16) Obligation:

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

AND(active(X1), X2) → AND(X1, X2)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(17) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


AND(active(X1), X2) → AND(X1, X2)
The remaining pairs can at least be oriented weakly.
Used ordering: Lexicographic path order with status [LPO].
Quasi-Precedence:
[AND2, active1]

Status:
AND2: [2,1]
active1: [1]


The following usable rules [FROCOS05] were oriented: none

(18) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(19) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(20) TRUE

(21) 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(active(X1), X2) → PLUS(X1, X2)
PLUS(X1, active(X2)) → PLUS(X1, X2)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(22) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


PLUS(X1, mark(X2)) → PLUS(X1, X2)
PLUS(mark(X1), X2) → PLUS(X1, X2)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
PLUS(x1, x2)  =  PLUS(x1, x2)
mark(x1)  =  mark(x1)
active(x1)  =  x1

Lexicographic path order with status [LPO].
Quasi-Precedence:
mark1 > PLUS2

Status:
PLUS2: [2,1]
mark1: [1]


The following usable rules [FROCOS05] were oriented: none

(23) Obligation:

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

PLUS(active(X1), X2) → PLUS(X1, X2)
PLUS(X1, active(X2)) → PLUS(X1, X2)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(24) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


PLUS(X1, active(X2)) → PLUS(X1, X2)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
PLUS(x1, x2)  =  PLUS(x2)
active(x1)  =  active(x1)

Lexicographic path order with status [LPO].
Quasi-Precedence:
active1 > PLUS1

Status:
PLUS1: [1]
active1: [1]


The following usable rules [FROCOS05] were oriented: none

(25) Obligation:

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

PLUS(active(X1), X2) → PLUS(X1, X2)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(26) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


PLUS(active(X1), X2) → PLUS(X1, X2)
The remaining pairs can at least be oriented weakly.
Used ordering: Lexicographic path order with status [LPO].
Quasi-Precedence:
[PLUS2, active1]

Status:
PLUS2: [2,1]
active1: [1]


The following usable rules [FROCOS05] were oriented: none

(27) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(28) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(29) TRUE

(30) Obligation:

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

S(active(X)) → S(X)
S(mark(X)) → S(X)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(31) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


S(active(X)) → S(X)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
S(x1)  =  S(x1)
active(x1)  =  active(x1)
mark(x1)  =  x1

Lexicographic path order with status [LPO].
Quasi-Precedence:
[S1, active1]

Status:
S1: [1]
active1: [1]


The following usable rules [FROCOS05] were oriented: none

(32) Obligation:

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

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

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(33) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


S(mark(X)) → S(X)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
S(x1)  =  x1
mark(x1)  =  mark(x1)

Lexicographic path order with status [LPO].
Quasi-Precedence:
trivial

Status:
mark1: [1]


The following usable rules [FROCOS05] were oriented: none

(34) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(35) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(36) TRUE

(37) Obligation:

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

U211(X1, mark(X2), X3) → U211(X1, X2, X3)
U211(mark(X1), X2, X3) → U211(X1, X2, X3)
U211(X1, X2, mark(X3)) → U211(X1, X2, X3)
U211(active(X1), X2, X3) → U211(X1, X2, X3)
U211(X1, active(X2), X3) → U211(X1, X2, X3)
U211(X1, X2, active(X3)) → U211(X1, X2, X3)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(38) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U211(X1, X2, mark(X3)) → U211(X1, X2, X3)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
U211(x1, x2, x3)  =  U211(x3)
mark(x1)  =  mark(x1)
active(x1)  =  x1

Lexicographic path order with status [LPO].
Quasi-Precedence:
trivial

Status:
U21^11: [1]
mark1: [1]


The following usable rules [FROCOS05] were oriented: none

(39) Obligation:

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

U211(X1, mark(X2), X3) → U211(X1, X2, X3)
U211(mark(X1), X2, X3) → U211(X1, X2, X3)
U211(active(X1), X2, X3) → U211(X1, X2, X3)
U211(X1, active(X2), X3) → U211(X1, X2, X3)
U211(X1, X2, active(X3)) → U211(X1, X2, X3)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(40) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U211(X1, mark(X2), X3) → U211(X1, X2, X3)
U211(mark(X1), X2, X3) → U211(X1, X2, X3)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
U211(x1, x2, x3)  =  U211(x1, x2, x3)
mark(x1)  =  mark(x1)
active(x1)  =  x1

Lexicographic path order with status [LPO].
Quasi-Precedence:
mark1 > U21^13

Status:
U21^13: [3,2,1]
mark1: [1]


The following usable rules [FROCOS05] were oriented: none

(41) Obligation:

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

U211(active(X1), X2, X3) → U211(X1, X2, X3)
U211(X1, active(X2), X3) → U211(X1, X2, X3)
U211(X1, X2, active(X3)) → U211(X1, X2, X3)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(42) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U211(X1, X2, active(X3)) → U211(X1, X2, X3)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
U211(x1, x2, x3)  =  x3
active(x1)  =  active(x1)

Lexicographic path order with status [LPO].
Quasi-Precedence:
trivial

Status:
active1: [1]


The following usable rules [FROCOS05] were oriented: none

(43) Obligation:

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

U211(active(X1), X2, X3) → U211(X1, X2, X3)
U211(X1, active(X2), X3) → U211(X1, X2, X3)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(44) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U211(X1, active(X2), X3) → U211(X1, X2, X3)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
U211(x1, x2, x3)  =  U211(x2, x3)
active(x1)  =  active(x1)

Lexicographic path order with status [LPO].
Quasi-Precedence:
[U21^12, active1]

Status:
U21^12: [2,1]
active1: [1]


The following usable rules [FROCOS05] were oriented: none

(45) Obligation:

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

U211(active(X1), X2, X3) → U211(X1, X2, X3)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(46) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U211(active(X1), X2, X3) → U211(X1, X2, X3)
The remaining pairs can at least be oriented weakly.
Used ordering: Lexicographic path order with status [LPO].
Quasi-Precedence:
active1 > U21^13

Status:
U21^13: [3,2,1]
active1: [1]


The following usable rules [FROCOS05] were oriented: none

(47) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(48) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(49) TRUE

(50) Obligation:

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

U111(X1, mark(X2)) → U111(X1, X2)
U111(mark(X1), X2) → U111(X1, X2)
U111(active(X1), X2) → U111(X1, X2)
U111(X1, active(X2)) → U111(X1, X2)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(51) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U111(X1, mark(X2)) → U111(X1, X2)
U111(mark(X1), X2) → U111(X1, X2)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
U111(x1, x2)  =  U111(x1, x2)
mark(x1)  =  mark(x1)
active(x1)  =  x1

Lexicographic path order with status [LPO].
Quasi-Precedence:
mark1 > U11^12

Status:
U11^12: [2,1]
mark1: [1]


The following usable rules [FROCOS05] were oriented: none

(52) Obligation:

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

U111(active(X1), X2) → U111(X1, X2)
U111(X1, active(X2)) → U111(X1, X2)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(53) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U111(X1, active(X2)) → U111(X1, X2)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
U111(x1, x2)  =  U111(x2)
active(x1)  =  active(x1)

Lexicographic path order with status [LPO].
Quasi-Precedence:
active1 > U11^11

Status:
U11^11: [1]
active1: [1]


The following usable rules [FROCOS05] were oriented: none

(54) Obligation:

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

U111(active(X1), X2) → U111(X1, X2)

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(55) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U111(active(X1), X2) → U111(X1, X2)
The remaining pairs can at least be oriented weakly.
Used ordering: Lexicographic path order with status [LPO].
Quasi-Precedence:
[U11^12, active1]

Status:
U11^12: [2,1]
active1: [1]


The following usable rules [FROCOS05] were oriented: none

(56) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(57) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(58) TRUE

(59) Obligation:

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

MARK(U11(X1, X2)) → ACTIVE(U11(mark(X1), X2))
ACTIVE(U11(tt, N)) → MARK(N)
MARK(U11(X1, X2)) → MARK(X1)
MARK(U21(X1, X2, X3)) → ACTIVE(U21(mark(X1), X2, X3))
ACTIVE(U21(tt, M, N)) → MARK(s(plus(N, M)))
MARK(U21(X1, X2, X3)) → MARK(X1)
MARK(s(X)) → ACTIVE(s(mark(X)))
ACTIVE(and(tt, X)) → MARK(X)
MARK(s(X)) → MARK(X)
MARK(plus(X1, X2)) → ACTIVE(plus(mark(X1), mark(X2)))
ACTIVE(isNat(plus(V1, V2))) → MARK(and(isNat(V1), isNat(V2)))
MARK(plus(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
MARK(and(X1, X2)) → ACTIVE(and(mark(X1), X2))
ACTIVE(isNat(s(V1))) → MARK(isNat(V1))
MARK(and(X1, X2)) → MARK(X1)
MARK(isNat(X)) → ACTIVE(isNat(X))
ACTIVE(plus(N, 0)) → MARK(U11(isNat(N), N))
ACTIVE(plus(N, s(M))) → MARK(U21(and(isNat(M), isNat(N)), M, N))

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(60) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


ACTIVE(U11(tt, N)) → MARK(N)
MARK(U11(X1, X2)) → MARK(X1)
ACTIVE(U21(tt, M, N)) → MARK(s(plus(N, M)))
MARK(U21(X1, X2, X3)) → MARK(X1)
ACTIVE(and(tt, X)) → MARK(X)
MARK(s(X)) → MARK(X)
ACTIVE(isNat(plus(V1, V2))) → MARK(and(isNat(V1), isNat(V2)))
MARK(plus(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
ACTIVE(isNat(s(V1))) → MARK(isNat(V1))
MARK(and(X1, X2)) → MARK(X1)
ACTIVE(plus(N, 0)) → MARK(U11(isNat(N), N))
ACTIVE(plus(N, s(M))) → MARK(U21(and(isNat(M), isNat(N)), M, N))
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
MARK(x1)  =  MARK(x1)
U11(x1, x2)  =  U11(x1, x2)
ACTIVE(x1)  =  ACTIVE(x1)
mark(x1)  =  x1
tt  =  tt
U21(x1, x2, x3)  =  U21(x1, x2, x3)
s(x1)  =  s(x1)
plus(x1, x2)  =  plus(x1, x2)
and(x1, x2)  =  and(x1, x2)
isNat(x1)  =  isNat(x1)
0  =  0
active(x1)  =  x1

Lexicographic path order with status [LPO].
Quasi-Precedence:
[tt, 0] > [MARK1, ACTIVE1, U213, plus2] > U112 > [s1, isNat1]
[tt, 0] > [MARK1, ACTIVE1, U213, plus2] > and2 > [s1, isNat1]

Status:
MARK1: [1]
U112: [2,1]
ACTIVE1: [1]
tt: []
U213: [3,2,1]
s1: [1]
plus2: [1,2]
and2: [1,2]
isNat1: [1]
0: []


The following usable rules [FROCOS05] were oriented:

mark(U11(X1, X2)) → active(U11(mark(X1), X2))
active(U11(tt, N)) → mark(N)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
active(U21(tt, M, N)) → mark(s(plus(N, M)))
mark(s(X)) → active(s(mark(X)))
active(and(tt, X)) → mark(X)
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
active(isNat(s(V1))) → mark(isNat(V1))
mark(isNat(X)) → active(isNat(X))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(tt) → active(tt)
mark(0) → active(0)
U11(X1, mark(X2)) → U11(X1, X2)
U11(mark(X1), X2) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
plus(X1, mark(X2)) → plus(X1, X2)
plus(mark(X1), X2) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
s(active(X)) → s(X)
s(mark(X)) → s(X)
isNat(active(X)) → isNat(X)
isNat(mark(X)) → isNat(X)
and(X1, mark(X2)) → and(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
active(isNat(0)) → mark(tt)

(61) Obligation:

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

MARK(U11(X1, X2)) → ACTIVE(U11(mark(X1), X2))
MARK(U21(X1, X2, X3)) → ACTIVE(U21(mark(X1), X2, X3))
MARK(s(X)) → ACTIVE(s(mark(X)))
MARK(plus(X1, X2)) → ACTIVE(plus(mark(X1), mark(X2)))
MARK(and(X1, X2)) → ACTIVE(and(mark(X1), X2))
MARK(isNat(X)) → ACTIVE(isNat(X))

The TRS R consists of the following rules:

active(U11(tt, N)) → mark(N)
active(U21(tt, M, N)) → mark(s(plus(N, M)))
active(and(tt, X)) → mark(X)
active(isNat(0)) → mark(tt)
active(isNat(plus(V1, V2))) → mark(and(isNat(V1), isNat(V2)))
active(isNat(s(V1))) → mark(isNat(V1))
active(plus(N, 0)) → mark(U11(isNat(N), N))
active(plus(N, s(M))) → mark(U21(and(isNat(M), isNat(N)), M, N))
mark(U11(X1, X2)) → active(U11(mark(X1), X2))
mark(tt) → active(tt)
mark(U21(X1, X2, X3)) → active(U21(mark(X1), X2, X3))
mark(s(X)) → active(s(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(and(X1, X2)) → active(and(mark(X1), X2))
mark(isNat(X)) → active(isNat(X))
mark(0) → active(0)
U11(mark(X1), X2) → U11(X1, X2)
U11(X1, mark(X2)) → U11(X1, X2)
U11(active(X1), X2) → U11(X1, X2)
U11(X1, active(X2)) → U11(X1, X2)
U21(mark(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, mark(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, mark(X3)) → U21(X1, X2, X3)
U21(active(X1), X2, X3) → U21(X1, X2, X3)
U21(X1, active(X2), X3) → U21(X1, X2, X3)
U21(X1, X2, active(X3)) → U21(X1, X2, X3)
s(mark(X)) → s(X)
s(active(X)) → s(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
and(mark(X1), X2) → and(X1, X2)
and(X1, mark(X2)) → and(X1, X2)
and(active(X1), X2) → and(X1, X2)
and(X1, active(X2)) → and(X1, X2)
isNat(mark(X)) → isNat(X)
isNat(active(X)) → isNat(X)

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

(62) DependencyGraphProof (EQUIVALENT transformation)

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

(63) TRUE