(0) Obligation:

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

top(sent(x)) → top(check(rest(x)))
rest(nil) → sent(nil)
rest(cons(x, y)) → sent(y)
check(sent(x)) → sent(check(x))
check(rest(x)) → rest(check(x))
check(cons(x, y)) → cons(check(x), y)
check(cons(x, y)) → cons(x, check(y))
check(cons(x, y)) → cons(x, y)

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:

TOP(sent(x)) → TOP(check(rest(x)))
TOP(sent(x)) → CHECK(rest(x))
TOP(sent(x)) → REST(x)
CHECK(sent(x)) → CHECK(x)
CHECK(rest(x)) → REST(check(x))
CHECK(rest(x)) → CHECK(x)
CHECK(cons(x, y)) → CHECK(x)
CHECK(cons(x, y)) → CHECK(y)

The TRS R consists of the following rules:

top(sent(x)) → top(check(rest(x)))
rest(nil) → sent(nil)
rest(cons(x, y)) → sent(y)
check(sent(x)) → sent(check(x))
check(rest(x)) → rest(check(x))
check(cons(x, y)) → cons(check(x), y)
check(cons(x, y)) → cons(x, check(y))
check(cons(x, y)) → cons(x, y)

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 2 SCCs with 3 less nodes.

(4) Complex Obligation (AND)

(5) Obligation:

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

CHECK(rest(x)) → CHECK(x)
CHECK(sent(x)) → CHECK(x)
CHECK(cons(x, y)) → CHECK(x)
CHECK(cons(x, y)) → CHECK(y)

The TRS R consists of the following rules:

top(sent(x)) → top(check(rest(x)))
rest(nil) → sent(nil)
rest(cons(x, y)) → sent(y)
check(sent(x)) → sent(check(x))
check(rest(x)) → rest(check(x))
check(cons(x, y)) → cons(check(x), y)
check(cons(x, y)) → cons(x, check(y))
check(cons(x, y)) → cons(x, y)

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.


CHECK(rest(x)) → CHECK(x)
CHECK(sent(x)) → CHECK(x)
CHECK(cons(x, y)) → CHECK(x)
CHECK(cons(x, y)) → CHECK(y)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
CHECK(x1)  =  CHECK(x1)
rest(x1)  =  rest(x1)
sent(x1)  =  sent(x1)
cons(x1, x2)  =  cons(x1, x2)
top(x1)  =  top
check(x1)  =  check(x1)
nil  =  nil

Recursive path order with status [RPO].
Quasi-Precedence:
top > [cons2, check1] > [CHECK1, rest1, sent1] > nil

Status:
CHECK1: multiset
rest1: multiset
sent1: multiset
cons2: [2,1]
top: []
check1: [1]
nil: multiset


The following usable rules [FROCOS05] were oriented:

top(sent(x)) → top(check(rest(x)))
rest(nil) → sent(nil)
rest(cons(x, y)) → sent(y)
check(sent(x)) → sent(check(x))
check(rest(x)) → rest(check(x))
check(cons(x, y)) → cons(check(x), y)
check(cons(x, y)) → cons(x, check(y))
check(cons(x, y)) → cons(x, y)

(7) Obligation:

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

top(sent(x)) → top(check(rest(x)))
rest(nil) → sent(nil)
rest(cons(x, y)) → sent(y)
check(sent(x)) → sent(check(x))
check(rest(x)) → rest(check(x))
check(cons(x, y)) → cons(check(x), y)
check(cons(x, y)) → cons(x, check(y))
check(cons(x, y)) → cons(x, y)

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

(8) PisEmptyProof (EQUIVALENT transformation)

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

(9) TRUE

(10) Obligation:

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

TOP(sent(x)) → TOP(check(rest(x)))

The TRS R consists of the following rules:

top(sent(x)) → top(check(rest(x)))
rest(nil) → sent(nil)
rest(cons(x, y)) → sent(y)
check(sent(x)) → sent(check(x))
check(rest(x)) → rest(check(x))
check(cons(x, y)) → cons(check(x), y)
check(cons(x, y)) → cons(x, check(y))
check(cons(x, y)) → cons(x, y)

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