(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)  =  x1
rest(x1)  =  rest(x1)
sent(x1)  =  sent(x1)
cons(x1, x2)  =  cons(x1, x2)
top(x1)  =  top
check(x1)  =  x1
nil  =  nil

Lexicographic path order with status [LPO].
Quasi-Precedence:
rest1 > [sent1, cons2, nil] > top

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


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.