(0) Obligation:

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

cond1(true, x, y, z) → cond2(gr(x, 0), x, y, z)
cond2(true, x, y, z) → cond1(or(gr(x, z), gr(y, z)), p(x), y, z)
cond2(false, x, y, z) → cond3(gr(y, 0), x, y, z)
cond3(true, x, y, z) → cond1(or(gr(x, z), gr(y, z)), x, p(y), z)
cond3(false, x, y, z) → cond1(or(gr(x, z), gr(y, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

Q is empty.

(1) AAECC Innermost (EQUIVALENT transformation)

We have applied [NOC,AAECCNOC] to switch to innermost. The TRS R 1 is

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The TRS R 2 is

cond1(true, x, y, z) → cond2(gr(x, 0), x, y, z)
cond2(true, x, y, z) → cond1(or(gr(x, z), gr(y, z)), p(x), y, z)
cond2(false, x, y, z) → cond3(gr(y, 0), x, y, z)
cond3(true, x, y, z) → cond1(or(gr(x, z), gr(y, z)), x, p(y), z)
cond3(false, x, y, z) → cond1(or(gr(x, z), gr(y, z)), x, y, z)

The signature Sigma is {cond1, cond3, cond2}

(2) Obligation:

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

cond1(true, x, y, z) → cond2(gr(x, 0), x, y, z)
cond2(true, x, y, z) → cond1(or(gr(x, z), gr(y, z)), p(x), y, z)
cond2(false, x, y, z) → cond3(gr(y, 0), x, y, z)
cond3(true, x, y, z) → cond1(or(gr(x, z), gr(y, z)), x, p(y), z)
cond3(false, x, y, z) → cond1(or(gr(x, z), gr(y, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
cond3(true, x0, x1, x2)
cond3(false, x0, x1, x2)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

(3) DependencyPairsProof (EQUIVALENT transformation)

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

(4) Obligation:

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

COND1(true, x, y, z) → COND2(gr(x, 0), x, y, z)
COND1(true, x, y, z) → GR(x, 0)
COND2(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), p(x), y, z)
COND2(true, x, y, z) → OR(gr(x, z), gr(y, z))
COND2(true, x, y, z) → GR(x, z)
COND2(true, x, y, z) → GR(y, z)
COND2(true, x, y, z) → P(x)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND2(false, x, y, z) → GR(y, 0)
COND3(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, p(y), z)
COND3(true, x, y, z) → OR(gr(x, z), gr(y, z))
COND3(true, x, y, z) → GR(x, z)
COND3(true, x, y, z) → GR(y, z)
COND3(true, x, y, z) → P(y)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND3(false, x, y, z) → OR(gr(x, z), gr(y, z))
COND3(false, x, y, z) → GR(x, z)
COND3(false, x, y, z) → GR(y, z)
GR(s(x), s(y)) → GR(x, y)

The TRS R consists of the following rules:

cond1(true, x, y, z) → cond2(gr(x, 0), x, y, z)
cond2(true, x, y, z) → cond1(or(gr(x, z), gr(y, z)), p(x), y, z)
cond2(false, x, y, z) → cond3(gr(y, 0), x, y, z)
cond3(true, x, y, z) → cond1(or(gr(x, z), gr(y, z)), x, p(y), z)
cond3(false, x, y, z) → cond1(or(gr(x, z), gr(y, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
cond3(true, x0, x1, x2)
cond3(false, x0, x1, x2)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(5) DependencyGraphProof (EQUIVALENT transformation)

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

(6) Complex Obligation (AND)

(7) Obligation:

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

GR(s(x), s(y)) → GR(x, y)

The TRS R consists of the following rules:

cond1(true, x, y, z) → cond2(gr(x, 0), x, y, z)
cond2(true, x, y, z) → cond1(or(gr(x, z), gr(y, z)), p(x), y, z)
cond2(false, x, y, z) → cond3(gr(y, 0), x, y, z)
cond3(true, x, y, z) → cond1(or(gr(x, z), gr(y, z)), x, p(y), z)
cond3(false, x, y, z) → cond1(or(gr(x, z), gr(y, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
cond3(true, x0, x1, x2)
cond3(false, x0, x1, x2)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(8) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(9) Obligation:

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

GR(s(x), s(y)) → GR(x, y)

R is empty.
The set Q consists of the following terms:

cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
cond3(true, x0, x1, x2)
cond3(false, x0, x1, x2)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(10) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
cond3(true, x0, x1, x2)
cond3(false, x0, x1, x2)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

(11) Obligation:

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

GR(s(x), s(y)) → GR(x, y)

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

(12) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • GR(s(x), s(y)) → GR(x, y)
    The graph contains the following edges 1 > 1, 2 > 2

(13) TRUE

(14) Obligation:

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

COND2(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), p(x), y, z)
COND1(true, x, y, z) → COND2(gr(x, 0), x, y, z)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, p(y), z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)

The TRS R consists of the following rules:

cond1(true, x, y, z) → cond2(gr(x, 0), x, y, z)
cond2(true, x, y, z) → cond1(or(gr(x, z), gr(y, z)), p(x), y, z)
cond2(false, x, y, z) → cond3(gr(y, 0), x, y, z)
cond3(true, x, y, z) → cond1(or(gr(x, z), gr(y, z)), x, p(y), z)
cond3(false, x, y, z) → cond1(or(gr(x, z), gr(y, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
cond3(true, x0, x1, x2)
cond3(false, x0, x1, x2)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(15) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(16) Obligation:

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

COND2(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), p(x), y, z)
COND1(true, x, y, z) → COND2(gr(x, 0), x, y, z)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, p(y), z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
cond3(true, x0, x1, x2)
cond3(false, x0, x1, x2)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(17) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
cond3(true, x0, x1, x2)
cond3(false, x0, x1, x2)

(18) Obligation:

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

COND2(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), p(x), y, z)
COND1(true, x, y, z) → COND2(gr(x, 0), x, y, z)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, p(y), z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(19) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule COND2(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), p(x), y, z) at position [0] we obtained the following new rules [LPAR04]:

COND2(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), p(0), y1, x0)
COND2(true, s(x0), y1, 0) → COND1(or(true, gr(y1, 0)), p(s(x0)), y1, 0)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), p(s(x0)), y1, s(x1))
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), 0) → COND1(or(gr(y0, 0), true), p(y0), s(x0), 0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))

(20) Obligation:

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

COND1(true, x, y, z) → COND2(gr(x, 0), x, y, z)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, p(y), z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND2(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), p(0), y1, x0)
COND2(true, s(x0), y1, 0) → COND1(or(true, gr(y1, 0)), p(s(x0)), y1, 0)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), p(s(x0)), y1, s(x1))
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), 0) → COND1(or(gr(y0, 0), true), p(y0), s(x0), 0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(21) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND2(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), p(0), y1, x0) at position [1] we obtained the following new rules [LPAR04]:

COND2(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, y1, x0)

(22) Obligation:

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

COND1(true, x, y, z) → COND2(gr(x, 0), x, y, z)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, p(y), z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND2(true, s(x0), y1, 0) → COND1(or(true, gr(y1, 0)), p(s(x0)), y1, 0)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), p(s(x0)), y1, s(x1))
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), 0) → COND1(or(gr(y0, 0), true), p(y0), s(x0), 0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, y1, x0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(23) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND2(true, s(x0), y1, 0) → COND1(or(true, gr(y1, 0)), p(s(x0)), y1, 0) at position [0] we obtained the following new rules [LPAR04]:

COND2(true, s(x0), y1, 0) → COND1(true, p(s(x0)), y1, 0)

(24) Obligation:

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

COND1(true, x, y, z) → COND2(gr(x, 0), x, y, z)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, p(y), z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), p(s(x0)), y1, s(x1))
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), 0) → COND1(or(gr(y0, 0), true), p(y0), s(x0), 0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, y1, x0)
COND2(true, s(x0), y1, 0) → COND1(true, p(s(x0)), y1, 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(25) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), p(s(x0)), y1, s(x1)) at position [1] we obtained the following new rules [LPAR04]:

COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))

(26) Obligation:

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

COND1(true, x, y, z) → COND2(gr(x, 0), x, y, z)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, p(y), z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), 0) → COND1(or(gr(y0, 0), true), p(y0), s(x0), 0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, y1, x0)
COND2(true, s(x0), y1, 0) → COND1(true, p(s(x0)), y1, 0)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(27) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND2(true, y0, s(x0), 0) → COND1(or(gr(y0, 0), true), p(y0), s(x0), 0) at position [0] we obtained the following new rules [LPAR04]:

COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)

(28) Obligation:

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

COND1(true, x, y, z) → COND2(gr(x, 0), x, y, z)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, p(y), z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, y1, x0)
COND2(true, s(x0), y1, 0) → COND1(true, p(s(x0)), y1, 0)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(29) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND2(true, s(x0), y1, 0) → COND1(true, p(s(x0)), y1, 0) at position [1] we obtained the following new rules [LPAR04]:

COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)

(30) Obligation:

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

COND1(true, x, y, z) → COND2(gr(x, 0), x, y, z)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, p(y), z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, y1, x0)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(31) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule COND1(true, x, y, z) → COND2(gr(x, 0), x, y, z) at position [0] we obtained the following new rules [LPAR04]:

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)

(32) Obligation:

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

COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, p(y), z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, y1, x0)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(33) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(34) Obligation:

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

COND3(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, p(y), z)
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(35) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule COND3(true, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, p(y), z) at position [0] we obtained the following new rules [LPAR04]:

COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, 0) → COND1(or(true, gr(y1, 0)), s(x0), p(y1), 0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, p(0), x0)
COND3(true, y0, s(x0), 0) → COND1(or(gr(y0, 0), true), y0, p(s(x0)), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, p(s(x0)), s(x1))

(36) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, 0) → COND1(or(true, gr(y1, 0)), s(x0), p(y1), 0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, p(0), x0)
COND3(true, y0, s(x0), 0) → COND1(or(gr(y0, 0), true), y0, p(s(x0)), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, p(s(x0)), s(x1))

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(37) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND3(true, s(x0), y1, 0) → COND1(or(true, gr(y1, 0)), s(x0), p(y1), 0) at position [0] we obtained the following new rules [LPAR04]:

COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)

(38) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, p(0), x0)
COND3(true, y0, s(x0), 0) → COND1(or(gr(y0, 0), true), y0, p(s(x0)), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, p(s(x0)), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(39) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND3(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, p(0), x0) at position [2] we obtained the following new rules [LPAR04]:

COND3(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)

(40) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, y0, s(x0), 0) → COND1(or(gr(y0, 0), true), y0, p(s(x0)), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, p(s(x0)), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(41) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND3(true, y0, s(x0), 0) → COND1(or(gr(y0, 0), true), y0, p(s(x0)), 0) at position [0] we obtained the following new rules [LPAR04]:

COND3(true, y0, s(x0), 0) → COND1(true, y0, p(s(x0)), 0)

(42) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, p(s(x0)), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(true, y0, s(x0), 0) → COND1(true, y0, p(s(x0)), 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(43) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, p(s(x0)), s(x1)) at position [2] we obtained the following new rules [LPAR04]:

COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))

(44) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(true, y0, s(x0), 0) → COND1(true, y0, p(s(x0)), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(45) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND3(true, y0, s(x0), 0) → COND1(true, y0, p(s(x0)), 0) at position [2] we obtained the following new rules [LPAR04]:

COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)

(46) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(47) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule COND2(false, x, y, z) → COND3(gr(y, 0), x, y, z) at position [0] we obtained the following new rules [LPAR04]:

COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)

(48) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(49) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(50) Obligation:

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

COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z)
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(51) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule COND3(false, x, y, z) → COND1(or(gr(x, z), gr(y, z)), x, y, z) at position [0] we obtained the following new rules [LPAR04]:

COND3(false, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, y1, x0)
COND3(false, s(x0), y1, 0) → COND1(or(true, gr(y1, 0)), s(x0), y1, 0)
COND3(false, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), y1, s(x1))
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(false, y0, s(x0), 0) → COND1(or(gr(y0, 0), true), y0, s(x0), 0)
COND3(false, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, s(x0), s(x1))

(52) Obligation:

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

COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND3(false, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, y1, x0)
COND3(false, s(x0), y1, 0) → COND1(or(true, gr(y1, 0)), s(x0), y1, 0)
COND3(false, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), y1, s(x1))
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(false, y0, s(x0), 0) → COND1(or(gr(y0, 0), true), y0, s(x0), 0)
COND3(false, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, s(x0), s(x1))

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(53) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes.

(54) Obligation:

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

COND3(false, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, y1, x0)
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND3(false, s(x0), y1, 0) → COND1(or(true, gr(y1, 0)), s(x0), y1, 0)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND3(false, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), y1, s(x1))
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(55) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND3(false, s(x0), y1, 0) → COND1(or(true, gr(y1, 0)), s(x0), y1, 0) at position [0] we obtained the following new rules [LPAR04]:

COND3(false, s(x0), y1, 0) → COND1(true, s(x0), y1, 0)

(56) Obligation:

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

COND3(false, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, y1, x0)
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND3(false, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), y1, s(x1))
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND3(false, s(x0), y1, 0) → COND1(true, s(x0), y1, 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(57) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule COND3(false, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, y1, x0) at position [0] we obtained the following new rules [LPAR04]:

COND3(false, 0, 0, x0) → COND1(or(false, false), 0, 0, x0)
COND3(false, 0, s(x0), 0) → COND1(or(false, true), 0, s(x0), 0)
COND3(false, 0, s(x0), s(x1)) → COND1(or(false, gr(x0, x1)), 0, s(x0), s(x1))

(58) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND3(false, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), y1, s(x1))
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND3(false, s(x0), y1, 0) → COND1(true, s(x0), y1, 0)
COND3(false, 0, 0, x0) → COND1(or(false, false), 0, 0, x0)
COND3(false, 0, s(x0), 0) → COND1(or(false, true), 0, s(x0), 0)
COND3(false, 0, s(x0), s(x1)) → COND1(or(false, gr(x0, x1)), 0, s(x0), s(x1))

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(59) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes.

(60) Obligation:

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

COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND3(false, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), y1, s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0)
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(false, s(x0), y1, 0) → COND1(true, s(x0), y1, 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(61) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule COND2(true, y0, 0, x0) → COND1(or(gr(y0, x0), false), p(y0), 0, x0) at position [1] we obtained the following new rules [LPAR04]:

COND2(true, 0, 0, y1) → COND1(or(gr(0, y1), false), 0, 0, y1)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)

(62) Obligation:

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

COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND3(false, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), y1, s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(false, s(x0), y1, 0) → COND1(true, s(x0), y1, 0)
COND2(true, 0, 0, y1) → COND1(or(gr(0, y1), false), 0, 0, y1)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(63) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(64) Obligation:

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

COND3(false, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), y1, s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1))
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(false, s(x0), y1, 0) → COND1(true, s(x0), y1, 0)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(65) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule COND2(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), p(y0), s(x0), s(x1)) at position [1] we obtained the following new rules [LPAR04]:

COND2(true, 0, s(y1), s(y2)) → COND1(or(gr(0, s(y2)), gr(y1, y2)), 0, s(y1), s(y2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(s(x0), s(y2)), gr(y1, y2)), x0, s(y1), s(y2))

(66) Obligation:

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

COND3(false, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), y1, s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(false, s(x0), y1, 0) → COND1(true, s(x0), y1, 0)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, 0, s(y1), s(y2)) → COND1(or(gr(0, s(y2)), gr(y1, y2)), 0, s(y1), s(y2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(s(x0), s(y2)), gr(y1, y2)), x0, s(y1), s(y2))

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(67) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(68) Obligation:

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

COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND3(false, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), y1, s(x1))
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(false, s(x0), y1, 0) → COND1(true, s(x0), y1, 0)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(s(x0), s(y2)), gr(y1, y2)), x0, s(y1), s(y2))

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(69) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(s(x0), s(y2)), gr(y1, y2)), x0, s(y1), s(y2)) at position [0,0] we obtained the following new rules [LPAR04]:

COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))

(70) Obligation:

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

COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND3(false, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), y1, s(x1))
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(false, s(x0), y1, 0) → COND1(true, s(x0), y1, 0)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(71) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule COND2(true, y0, s(x0), 0) → COND1(true, p(y0), s(x0), 0) at position [1] we obtained the following new rules [LPAR04]:

COND2(true, 0, s(y1), 0) → COND1(true, 0, s(y1), 0)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)

(72) Obligation:

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

COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND3(false, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), y1, s(x1))
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(false, s(x0), y1, 0) → COND1(true, s(x0), y1, 0)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, 0, s(y1), 0) → COND1(true, 0, s(y1), 0)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(73) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(74) Obligation:

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

COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2)
COND3(false, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), y1, s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(false, s(x0), y1, 0) → COND1(true, s(x0), y1, 0)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(75) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule COND2(false, y0, 0, y2) → COND3(false, y0, 0, y2) we obtained the following new rules [LPAR04]:

COND2(false, 0, 0, z1) → COND3(false, 0, 0, z1)

(76) Obligation:

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

COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND3(false, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), y1, s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)
COND3(false, s(x0), y1, 0) → COND1(true, s(x0), y1, 0)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND2(false, 0, 0, z1) → COND3(false, 0, 0, z1)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(77) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes.

(78) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND2(false, 0, 0, z1) → COND3(false, 0, 0, z1)
COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(79) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule COND3(false, y0, 0, x0) → COND1(or(gr(y0, x0), false), y0, 0, x0) at position [0] we obtained the following new rules [LPAR04]:

COND3(false, 0, 0, x0) → COND1(or(false, false), 0, 0, x0)
COND3(false, s(x0), 0, 0) → COND1(or(true, false), s(x0), 0, 0)
COND3(false, s(x0), 0, s(x1)) → COND1(or(gr(x0, x1), false), s(x0), 0, s(x1))

(80) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND2(false, 0, 0, z1) → COND3(false, 0, 0, z1)
COND3(false, 0, 0, x0) → COND1(or(false, false), 0, 0, x0)
COND3(false, s(x0), 0, 0) → COND1(or(true, false), s(x0), 0, 0)
COND3(false, s(x0), 0, s(x1)) → COND1(or(gr(x0, x1), false), s(x0), 0, s(x1))

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(81) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes.

(82) Obligation:

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

COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(83) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule COND2(false, y0, s(x0), y2) → COND3(true, y0, s(x0), y2) we obtained the following new rules [LPAR04]:

COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)

(84) Obligation:

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

COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND3(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), s(x0), p(y1), s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(true, s(x0), y1, 0) → COND1(true, s(x0), p(y1), 0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(85) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes.

(86) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)
COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(87) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule COND3(true, 0, y1, x0) → COND1(or(false, gr(y1, x0)), 0, p(y1), x0) we obtained the following new rules [LPAR04]:

COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, p(s(z0)), z1)

(88) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, p(s(z0)), z1)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(true, x) → true
or(x, true) → true
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(89) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(90) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, p(s(z0)), z1)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
p(s(x)) → x
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(91) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, p(s(z0)), z1) at position [2] we obtained the following new rules [LPAR04]:

COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, z0, z1)

(92) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, z0, z1)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
p(s(x)) → x
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(93) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(94) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, z0, z1)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))

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

(95) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

p(0)
p(s(x0))

(96) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)
COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1))
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, z0, z1)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(97) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule COND3(true, y0, s(x0), s(x1)) → COND1(or(gr(y0, s(x1)), gr(x0, x1)), y0, x0, s(x1)) we obtained the following new rules [LPAR04]:

COND3(true, 0, s(z0), s(x2)) → COND1(or(gr(0, s(x2)), gr(z0, x2)), 0, z0, s(x2))

(98) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, z0, z1)
COND3(true, 0, s(z0), s(x2)) → COND1(or(gr(0, s(x2)), gr(z0, x2)), 0, z0, s(x2))

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(99) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND3(true, 0, s(z0), s(x2)) → COND1(or(gr(0, s(x2)), gr(z0, x2)), 0, z0, s(x2)) at position [0,0] we obtained the following new rules [LPAR04]:

COND3(true, 0, s(z0), s(x2)) → COND1(or(false, gr(z0, x2)), 0, z0, s(x2))

(100) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)
COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, z0, z1)
COND3(true, 0, s(z0), s(x2)) → COND1(or(false, gr(z0, x2)), 0, z0, s(x2))

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(101) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule COND1(true, s(x0), y1, y2) → COND2(true, s(x0), y1, y2) we obtained the following new rules [LPAR04]:

COND1(true, s(x0), z1, s(z2)) → COND2(true, s(x0), z1, s(z2))
COND1(true, s(x0), z1, 0) → COND2(true, s(x0), z1, 0)
COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)

(102) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0)
COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, z0, z1)
COND3(true, 0, s(z0), s(x2)) → COND1(or(false, gr(z0, x2)), 0, z0, s(x2))
COND1(true, s(x0), z1, s(z2)) → COND2(true, s(x0), z1, s(z2))
COND1(true, s(x0), z1, 0) → COND2(true, s(x0), z1, 0)
COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(103) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule COND3(true, y0, s(x0), 0) → COND1(true, y0, x0, 0) we obtained the following new rules [LPAR04]:

COND3(true, 0, s(z0), 0) → COND1(true, 0, z0, 0)

(104) Obligation:

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

COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, z0, z1)
COND3(true, 0, s(z0), s(x2)) → COND1(or(false, gr(z0, x2)), 0, z0, s(x2))
COND1(true, s(x0), z1, s(z2)) → COND2(true, s(x0), z1, s(z2))
COND1(true, s(x0), z1, 0) → COND2(true, s(x0), z1, 0)
COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND3(true, 0, s(z0), 0) → COND1(true, 0, z0, 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(105) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs.

(106) Complex Obligation (AND)

(107) Obligation:

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

COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)
COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, z0, z1)
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND3(true, 0, s(z0), s(x2)) → COND1(or(false, gr(z0, x2)), 0, z0, s(x2))
COND3(true, 0, s(z0), 0) → COND1(true, 0, z0, 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(108) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(109) Obligation:

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

COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)
COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, z0, z1)
COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2)
COND3(true, 0, s(z0), s(x2)) → COND1(or(false, gr(z0, x2)), 0, z0, s(x2))
COND3(true, 0, s(z0), 0) → COND1(true, 0, z0, 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
or(false, false) → false
or(x, true) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(110) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND1(true, 0, y1, y2) → COND2(false, 0, y1, y2) we obtained the following new rules [LPAR04]:

COND1(true, 0, s(y_0), x1) → COND2(false, 0, s(y_0), x1)

(111) Obligation:

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

COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)
COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, z0, z1)
COND3(true, 0, s(z0), s(x2)) → COND1(or(false, gr(z0, x2)), 0, z0, s(x2))
COND3(true, 0, s(z0), 0) → COND1(true, 0, z0, 0)
COND1(true, 0, s(y_0), x1) → COND2(false, 0, s(y_0), x1)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
or(false, false) → false
or(x, true) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(112) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND3(true, 0, s(z0), z1) → COND1(or(false, gr(s(z0), z1)), 0, z0, z1) we obtained the following new rules [LPAR04]:

COND3(true, 0, s(s(y_1)), x1) → COND1(or(false, gr(s(s(y_1)), x1)), 0, s(y_1), x1)

(113) Obligation:

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

COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1)
COND3(true, 0, s(z0), s(x2)) → COND1(or(false, gr(z0, x2)), 0, z0, s(x2))
COND3(true, 0, s(z0), 0) → COND1(true, 0, z0, 0)
COND1(true, 0, s(y_0), x1) → COND2(false, 0, s(y_0), x1)
COND3(true, 0, s(s(y_1)), x1) → COND1(or(false, gr(s(s(y_1)), x1)), 0, s(y_1), x1)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
or(false, false) → false
or(x, true) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(114) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND2(false, 0, s(x1), z1) → COND3(true, 0, s(x1), z1) we obtained the following new rules [LPAR04]:

COND2(false, 0, s(x0), s(y_1)) → COND3(true, 0, s(x0), s(y_1))
COND2(false, 0, s(x0), 0) → COND3(true, 0, s(x0), 0)
COND2(false, 0, s(s(y_0)), x1) → COND3(true, 0, s(s(y_0)), x1)

(115) Obligation:

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

COND3(true, 0, s(z0), s(x2)) → COND1(or(false, gr(z0, x2)), 0, z0, s(x2))
COND3(true, 0, s(z0), 0) → COND1(true, 0, z0, 0)
COND1(true, 0, s(y_0), x1) → COND2(false, 0, s(y_0), x1)
COND3(true, 0, s(s(y_1)), x1) → COND1(or(false, gr(s(s(y_1)), x1)), 0, s(y_1), x1)
COND2(false, 0, s(x0), s(y_1)) → COND3(true, 0, s(x0), s(y_1))
COND2(false, 0, s(x0), 0) → COND3(true, 0, s(x0), 0)
COND2(false, 0, s(s(y_0)), x1) → COND3(true, 0, s(s(y_0)), x1)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
or(false, false) → false
or(x, true) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(116) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND3(true, 0, s(z0), s(x2)) → COND1(or(false, gr(z0, x2)), 0, z0, s(x2)) we obtained the following new rules [LPAR04]:

COND3(true, 0, s(s(y_1)), s(x1)) → COND1(or(false, gr(s(y_1), x1)), 0, s(y_1), s(x1))

(117) Obligation:

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

COND3(true, 0, s(z0), 0) → COND1(true, 0, z0, 0)
COND1(true, 0, s(y_0), x1) → COND2(false, 0, s(y_0), x1)
COND3(true, 0, s(s(y_1)), x1) → COND1(or(false, gr(s(s(y_1)), x1)), 0, s(y_1), x1)
COND2(false, 0, s(x0), s(y_1)) → COND3(true, 0, s(x0), s(y_1))
COND2(false, 0, s(x0), 0) → COND3(true, 0, s(x0), 0)
COND2(false, 0, s(s(y_0)), x1) → COND3(true, 0, s(s(y_0)), x1)
COND3(true, 0, s(s(y_1)), s(x1)) → COND1(or(false, gr(s(y_1), x1)), 0, s(y_1), s(x1))

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
or(false, false) → false
or(x, true) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(118) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND3(true, 0, s(z0), 0) → COND1(true, 0, z0, 0) we obtained the following new rules [LPAR04]:

COND3(true, 0, s(s(y_0)), 0) → COND1(true, 0, s(y_0), 0)

(119) Obligation:

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

COND1(true, 0, s(y_0), x1) → COND2(false, 0, s(y_0), x1)
COND3(true, 0, s(s(y_1)), x1) → COND1(or(false, gr(s(s(y_1)), x1)), 0, s(y_1), x1)
COND2(false, 0, s(x0), s(y_1)) → COND3(true, 0, s(x0), s(y_1))
COND2(false, 0, s(x0), 0) → COND3(true, 0, s(x0), 0)
COND2(false, 0, s(s(y_0)), x1) → COND3(true, 0, s(s(y_0)), x1)
COND3(true, 0, s(s(y_1)), s(x1)) → COND1(or(false, gr(s(y_1), x1)), 0, s(y_1), s(x1))
COND3(true, 0, s(s(y_0)), 0) → COND1(true, 0, s(y_0), 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x) → false
or(false, false) → false
or(x, true) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(120) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • COND1(true, 0, s(y_0), x1) → COND2(false, 0, s(y_0), x1)
    The graph contains the following edges 2 >= 2, 3 >= 3, 4 >= 4

  • COND3(true, 0, s(s(y_0)), 0) → COND1(true, 0, s(y_0), 0)
    The graph contains the following edges 1 >= 1, 2 >= 2, 4 >= 2, 3 > 3, 2 >= 4, 4 >= 4

  • COND3(true, 0, s(s(y_1)), x1) → COND1(or(false, gr(s(s(y_1)), x1)), 0, s(y_1), x1)
    The graph contains the following edges 2 >= 2, 3 > 3, 4 >= 4

  • COND3(true, 0, s(s(y_1)), s(x1)) → COND1(or(false, gr(s(y_1), x1)), 0, s(y_1), s(x1))
    The graph contains the following edges 2 >= 2, 3 > 3, 4 >= 4

  • COND2(false, 0, s(x0), 0) → COND3(true, 0, s(x0), 0)
    The graph contains the following edges 2 >= 2, 4 >= 2, 3 >= 3, 2 >= 4, 4 >= 4

  • COND2(false, 0, s(s(y_0)), x1) → COND3(true, 0, s(s(y_0)), x1)
    The graph contains the following edges 2 >= 2, 3 >= 3, 4 >= 4

  • COND2(false, 0, s(x0), s(y_1)) → COND3(true, 0, s(x0), s(y_1))
    The graph contains the following edges 2 >= 2, 3 >= 3, 4 >= 4

(121) TRUE

(122) Obligation:

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

COND1(true, s(x0), z1, s(z2)) → COND2(true, s(x0), z1, s(z2))
COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1))
COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND1(true, s(x0), z1, 0) → COND2(true, s(x0), z1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(123) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND2(true, s(x0), y1, s(x1)) → COND1(or(gr(x0, x1), gr(y1, s(x1))), x0, y1, s(x1)) we obtained the following new rules [LPAR04]:

COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), gr(0, s(x2))), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(s(y_2), s(x2))), s(y_1), s(y_2), s(x2))

(124) Obligation:

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

COND1(true, s(x0), z1, s(z2)) → COND2(true, s(x0), z1, s(z2))
COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND1(true, s(x0), z1, 0) → COND2(true, s(x0), z1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), gr(0, s(x2))), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(s(y_2), s(x2))), s(y_1), s(y_2), s(x2))

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(125) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), gr(0, s(x2))), s(y_1), 0, s(x2)) at position [0,1] we obtained the following new rules [LPAR04]:

COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))

(126) Obligation:

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

COND1(true, s(x0), z1, s(z2)) → COND2(true, s(x0), z1, s(z2))
COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND1(true, s(x0), z1, 0) → COND2(true, s(x0), z1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(s(y_2), s(x2))), s(y_1), s(y_2), s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(127) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(s(y_2), s(x2))), s(y_1), s(y_2), s(x2)) at position [0,1] we obtained the following new rules [LPAR04]:

COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))

(128) Obligation:

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

COND1(true, s(x0), z1, s(z2)) → COND2(true, s(x0), z1, s(z2))
COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND1(true, s(x0), z1, 0) → COND2(true, s(x0), z1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(129) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND1(true, s(x0), z1, s(z2)) → COND2(true, s(x0), z1, s(z2)) we obtained the following new rules [LPAR04]:

COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(x0), s(y_1), s(x2)) → COND2(true, s(x0), s(y_1), s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))

(130) Obligation:

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

COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0)
COND1(true, s(x0), z1, 0) → COND2(true, s(x0), z1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(131) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND2(true, s(x0), y1, 0) → COND1(true, x0, y1, 0) we obtained the following new rules [LPAR04]:

COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)

(132) Obligation:

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

COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND1(true, s(x0), z1, 0) → COND2(true, s(x0), z1, 0)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(133) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND1(true, s(x0), z1, 0) → COND2(true, s(x0), z1, 0) we obtained the following new rules [LPAR04]:

COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(x0), s(y_1), 0) → COND2(true, s(x0), s(y_1), 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)

(134) Obligation:

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

COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(135) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND2(true, s(x0), 0, y1) → COND1(or(gr(s(x0), y1), false), x0, 0, y1) we obtained the following new rules [LPAR04]:

COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(y_1)), 0, s(y_2)) → COND1(or(gr(s(s(y_1)), s(y_2)), false), s(y_1), 0, s(y_2))
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(s(y_1))), s(y_3)), false), s(s(y_1)), 0, s(y_3))
COND2(true, s(s(y_1)), 0, 0) → COND1(or(gr(s(s(y_1)), 0), false), s(y_1), 0, 0)
COND2(true, s(s(s(y_1))), 0, 0) → COND1(or(gr(s(s(s(y_1))), 0), false), s(s(y_1)), 0, 0)

(136) Obligation:

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

COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(y_1)), 0, s(y_2)) → COND1(or(gr(s(s(y_1)), s(y_2)), false), s(y_1), 0, s(y_2))
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(s(y_1))), s(y_3)), false), s(s(y_1)), 0, s(y_3))
COND2(true, s(s(y_1)), 0, 0) → COND1(or(gr(s(s(y_1)), 0), false), s(y_1), 0, 0)
COND2(true, s(s(s(y_1))), 0, 0) → COND1(or(gr(s(s(s(y_1))), 0), false), s(s(y_1)), 0, 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(137) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND2(true, s(s(y_1)), 0, s(y_2)) → COND1(or(gr(s(s(y_1)), s(y_2)), false), s(y_1), 0, s(y_2)) at position [0,0] we obtained the following new rules [LPAR04]:

COND2(true, s(s(y_1)), 0, s(y_2)) → COND1(or(gr(s(y_1), y_2), false), s(y_1), 0, s(y_2))

(138) Obligation:

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

COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(s(y_1))), s(y_3)), false), s(s(y_1)), 0, s(y_3))
COND2(true, s(s(y_1)), 0, 0) → COND1(or(gr(s(s(y_1)), 0), false), s(y_1), 0, 0)
COND2(true, s(s(s(y_1))), 0, 0) → COND1(or(gr(s(s(s(y_1))), 0), false), s(s(y_1)), 0, 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(139) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(s(y_1))), s(y_3)), false), s(s(y_1)), 0, s(y_3)) at position [0,0] we obtained the following new rules [LPAR04]:

COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(y_1)), y_3), false), s(s(y_1)), 0, s(y_3))

(140) Obligation:

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

COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(y_1)), 0, 0) → COND1(or(gr(s(s(y_1)), 0), false), s(y_1), 0, 0)
COND2(true, s(s(s(y_1))), 0, 0) → COND1(or(gr(s(s(s(y_1))), 0), false), s(s(y_1)), 0, 0)
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(y_1)), y_3), false), s(s(y_1)), 0, s(y_3))

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(141) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND2(true, s(s(y_1)), 0, 0) → COND1(or(gr(s(s(y_1)), 0), false), s(y_1), 0, 0) at position [0,0] we obtained the following new rules [LPAR04]:

COND2(true, s(s(y_1)), 0, 0) → COND1(or(true, false), s(y_1), 0, 0)

(142) Obligation:

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

COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(s(y_1))), 0, 0) → COND1(or(gr(s(s(s(y_1))), 0), false), s(s(y_1)), 0, 0)
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(y_1)), y_3), false), s(s(y_1)), 0, s(y_3))
COND2(true, s(s(y_1)), 0, 0) → COND1(or(true, false), s(y_1), 0, 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(143) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND2(true, s(s(s(y_1))), 0, 0) → COND1(or(gr(s(s(s(y_1))), 0), false), s(s(y_1)), 0, 0) at position [0,0] we obtained the following new rules [LPAR04]:

COND2(true, s(s(s(y_1))), 0, 0) → COND1(or(true, false), s(s(y_1)), 0, 0)

(144) Obligation:

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

COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(y_1)), y_3), false), s(s(y_1)), 0, s(y_3))
COND2(true, s(s(y_1)), 0, 0) → COND1(or(true, false), s(y_1), 0, 0)
COND2(true, s(s(s(y_1))), 0, 0) → COND1(or(true, false), s(s(y_1)), 0, 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(145) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND2(true, s(s(y_1)), 0, 0) → COND1(or(true, false), s(y_1), 0, 0) at position [0] we obtained the following new rules [LPAR04]:

COND2(true, s(s(y_1)), 0, 0) → COND1(true, s(y_1), 0, 0)

(146) Obligation:

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

COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(y_1)), y_3), false), s(s(y_1)), 0, s(y_3))
COND2(true, s(s(s(y_1))), 0, 0) → COND1(or(true, false), s(s(y_1)), 0, 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(147) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND2(true, s(s(s(y_1))), 0, 0) → COND1(or(true, false), s(s(y_1)), 0, 0) at position [0] we obtained the following new rules [LPAR04]:

COND2(true, s(s(s(y_1))), 0, 0) → COND1(true, s(s(y_1)), 0, 0)

(148) Obligation:

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

COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1)
COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(y_1)), y_3), false), s(s(y_1)), 0, s(y_3))
COND2(true, s(s(s(y_1))), 0, 0) → COND1(true, s(s(y_1)), 0, 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(149) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND1(true, s(x0), 0, z1) → COND2(true, s(x0), 0, z1) we obtained the following new rules [LPAR04]:

COND1(true, s(s(y_0)), 0, s(y_2)) → COND2(true, s(s(y_0)), 0, s(y_2))
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), 0, x1) → COND2(true, s(s(y_0)), 0, x1)
COND1(true, s(s(s(y_0))), 0, s(y_1)) → COND2(true, s(s(s(y_0))), 0, s(y_1))
COND1(true, s(s(s(y_0))), 0, 0) → COND2(true, s(s(s(y_0))), 0, 0)

(150) Obligation:

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

COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0)
COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(y_1)), y_3), false), s(s(y_1)), 0, s(y_3))
COND2(true, s(s(s(y_1))), 0, 0) → COND1(true, s(s(y_1)), 0, 0)
COND1(true, s(s(y_0)), 0, x1) → COND2(true, s(s(y_0)), 0, x1)
COND1(true, s(s(s(y_0))), 0, s(y_1)) → COND2(true, s(s(s(y_0))), 0, s(y_1))
COND1(true, s(s(s(y_0))), 0, 0) → COND2(true, s(s(s(y_0))), 0, 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(151) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND2(true, s(x0), s(y1), 0) → COND1(true, x0, s(y1), 0) we obtained the following new rules [LPAR04]:

COND2(true, s(s(y_0)), s(x1), 0) → COND1(true, s(y_0), s(x1), 0)
COND2(true, s(s(s(y_0))), s(x1), 0) → COND1(true, s(s(y_0)), s(x1), 0)

(152) Obligation:

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

COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0)
COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(y_1)), y_3), false), s(s(y_1)), 0, s(y_3))
COND2(true, s(s(s(y_1))), 0, 0) → COND1(true, s(s(y_1)), 0, 0)
COND1(true, s(s(y_0)), 0, x1) → COND2(true, s(s(y_0)), 0, x1)
COND1(true, s(s(s(y_0))), 0, s(y_1)) → COND2(true, s(s(s(y_0))), 0, s(y_1))
COND1(true, s(s(s(y_0))), 0, 0) → COND2(true, s(s(s(y_0))), 0, 0)
COND2(true, s(s(s(y_0))), s(x1), 0) → COND1(true, s(s(y_0)), s(x1), 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(153) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND1(true, s(x0), s(z1), 0) → COND2(true, s(x0), s(z1), 0) we obtained the following new rules [LPAR04]:

COND1(true, s(s(y_0)), s(x1), 0) → COND2(true, s(s(y_0)), s(x1), 0)
COND1(true, s(s(s(y_0))), s(x1), 0) → COND2(true, s(s(s(y_0))), s(x1), 0)

(154) Obligation:

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

COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(y_1)), y_3), false), s(s(y_1)), 0, s(y_3))
COND2(true, s(s(s(y_1))), 0, 0) → COND1(true, s(s(y_1)), 0, 0)
COND1(true, s(s(y_0)), 0, x1) → COND2(true, s(s(y_0)), 0, x1)
COND1(true, s(s(s(y_0))), 0, s(y_1)) → COND2(true, s(s(s(y_0))), 0, s(y_1))
COND1(true, s(s(s(y_0))), 0, 0) → COND2(true, s(s(s(y_0))), 0, 0)
COND2(true, s(s(s(y_0))), s(x1), 0) → COND1(true, s(s(y_0)), s(x1), 0)
COND1(true, s(s(s(y_0))), s(x1), 0) → COND2(true, s(s(s(y_0))), s(x1), 0)

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(155) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND2(true, s(x0), s(y1), s(y2)) → COND1(or(gr(x0, y2), gr(y1, y2)), x0, s(y1), s(y2)) we obtained the following new rules [LPAR04]:

COND2(true, s(s(y_1)), s(x1), s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, x2)), s(y_1), s(x1), s(x2))
COND2(true, s(s(s(y_1))), s(x1), s(x2)) → COND1(or(gr(s(s(y_1)), x2), gr(x1, x2)), s(s(y_1)), s(x1), s(x2))

(156) Obligation:

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

COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2))
COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(y_1)), y_3), false), s(s(y_1)), 0, s(y_3))
COND2(true, s(s(s(y_1))), 0, 0) → COND1(true, s(s(y_1)), 0, 0)
COND1(true, s(s(y_0)), 0, x1) → COND2(true, s(s(y_0)), 0, x1)
COND1(true, s(s(s(y_0))), 0, s(y_1)) → COND2(true, s(s(s(y_0))), 0, s(y_1))
COND1(true, s(s(s(y_0))), 0, 0) → COND2(true, s(s(s(y_0))), 0, 0)
COND2(true, s(s(s(y_0))), s(x1), 0) → COND1(true, s(s(y_0)), s(x1), 0)
COND1(true, s(s(s(y_0))), s(x1), 0) → COND2(true, s(s(s(y_0))), s(x1), 0)
COND2(true, s(s(s(y_1))), s(x1), s(x2)) → COND1(or(gr(s(s(y_1)), x2), gr(x1, x2)), s(s(y_1)), s(x1), s(x2))

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(157) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND1(true, s(x0), s(z1), s(z2)) → COND2(true, s(x0), s(z1), s(z2)) we obtained the following new rules [LPAR04]:

COND1(true, s(s(y_0)), s(x1), s(x2)) → COND2(true, s(s(y_0)), s(x1), s(x2))
COND1(true, s(s(s(y_0))), s(x1), s(x2)) → COND2(true, s(s(s(y_0))), s(x1), s(x2))

(158) Obligation:

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

COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(y_1)), y_3), false), s(s(y_1)), 0, s(y_3))
COND2(true, s(s(s(y_1))), 0, 0) → COND1(true, s(s(y_1)), 0, 0)
COND1(true, s(s(y_0)), 0, x1) → COND2(true, s(s(y_0)), 0, x1)
COND1(true, s(s(s(y_0))), 0, s(y_1)) → COND2(true, s(s(s(y_0))), 0, s(y_1))
COND1(true, s(s(s(y_0))), 0, 0) → COND2(true, s(s(s(y_0))), 0, 0)
COND2(true, s(s(s(y_0))), s(x1), 0) → COND1(true, s(s(y_0)), s(x1), 0)
COND1(true, s(s(s(y_0))), s(x1), 0) → COND2(true, s(s(s(y_0))), s(x1), 0)
COND2(true, s(s(s(y_1))), s(x1), s(x2)) → COND1(or(gr(s(s(y_1)), x2), gr(x1, x2)), s(s(y_1)), s(x1), s(x2))
COND1(true, s(s(s(y_0))), s(x1), s(x2)) → COND2(true, s(s(s(y_0))), s(x1), s(x2))

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(159) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND1(true, s(x0), 0, s(x2)) → COND2(true, s(x0), 0, s(x2)) we obtained the following new rules [LPAR04]:

COND1(true, s(s(y_0)), 0, s(x1)) → COND2(true, s(s(y_0)), 0, s(x1))
COND1(true, s(s(s(y_0))), 0, s(x1)) → COND2(true, s(s(s(y_0))), 0, s(x1))

(160) Obligation:

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

COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(y_1)), y_3), false), s(s(y_1)), 0, s(y_3))
COND2(true, s(s(s(y_1))), 0, 0) → COND1(true, s(s(y_1)), 0, 0)
COND1(true, s(s(y_0)), 0, x1) → COND2(true, s(s(y_0)), 0, x1)
COND1(true, s(s(s(y_0))), 0, s(y_1)) → COND2(true, s(s(s(y_0))), 0, s(y_1))
COND1(true, s(s(s(y_0))), 0, 0) → COND2(true, s(s(s(y_0))), 0, 0)
COND2(true, s(s(s(y_0))), s(x1), 0) → COND1(true, s(s(y_0)), s(x1), 0)
COND1(true, s(s(s(y_0))), s(x1), 0) → COND2(true, s(s(s(y_0))), s(x1), 0)
COND2(true, s(s(s(y_1))), s(x1), s(x2)) → COND1(or(gr(s(s(y_1)), x2), gr(x1, x2)), s(s(y_1)), s(x1), s(x2))
COND1(true, s(s(s(y_0))), s(x1), s(x2)) → COND2(true, s(s(s(y_0))), s(x1), s(x2))

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(161) ForwardInstantiation (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule COND1(true, s(x0), 0, 0) → COND2(true, s(x0), 0, 0) we obtained the following new rules [LPAR04]:

COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(s(y_0))), 0, 0) → COND2(true, s(s(s(y_0))), 0, 0)

(162) Obligation:

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

COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(y_1)), y_3), false), s(s(y_1)), 0, s(y_3))
COND2(true, s(s(s(y_1))), 0, 0) → COND1(true, s(s(y_1)), 0, 0)
COND1(true, s(s(y_0)), 0, x1) → COND2(true, s(s(y_0)), 0, x1)
COND1(true, s(s(s(y_0))), 0, s(y_1)) → COND2(true, s(s(s(y_0))), 0, s(y_1))
COND1(true, s(s(s(y_0))), 0, 0) → COND2(true, s(s(s(y_0))), 0, 0)
COND2(true, s(s(s(y_0))), s(x1), 0) → COND1(true, s(s(y_0)), s(x1), 0)
COND1(true, s(s(s(y_0))), s(x1), 0) → COND2(true, s(s(s(y_0))), s(x1), 0)
COND2(true, s(s(s(y_1))), s(x1), s(x2)) → COND1(or(gr(s(s(y_1)), x2), gr(x1, x2)), s(s(y_1)), s(x1), s(x2))
COND1(true, s(s(s(y_0))), s(x1), s(x2)) → COND2(true, s(s(s(y_0))), s(x1), s(x2))

The TRS R consists of the following rules:

gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
or(false, false) → false
or(x, true) → true
gr(0, x) → false
or(true, x) → true

The set Q consists of the following terms:

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
or(false, false)
or(true, x0)
or(x0, true)

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

(163) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • COND1(true, s(s(y_0)), x1, s(x2)) → COND2(true, s(s(y_0)), x1, s(x2))
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4

  • COND2(true, s(s(y_1)), x1, s(x2)) → COND1(or(gr(s(y_1), x2), gr(x1, s(x2))), s(y_1), x1, s(x2))
    The graph contains the following edges 2 > 2, 3 >= 3, 4 >= 4

  • COND1(true, s(s(y_0)), 0, x1) → COND2(true, s(s(y_0)), 0, x1)
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4

  • COND1(true, s(s(y_0)), x1, 0) → COND2(true, s(s(y_0)), x1, 0)
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4

  • COND2(true, s(s(y_1)), 0, x1) → COND1(or(gr(s(s(y_1)), x1), false), s(y_1), 0, x1)
    The graph contains the following edges 2 > 2, 3 >= 3, 4 >= 4

  • COND2(true, s(s(y_0)), x1, 0) → COND1(true, s(y_0), x1, 0)
    The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3, 4 >= 4

  • COND1(true, s(s(y_0)), 0, s(x2)) → COND2(true, s(s(y_0)), 0, s(x2))
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4

  • COND1(true, s(s(s(y_0))), 0, s(y_1)) → COND2(true, s(s(s(y_0))), 0, s(y_1))
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4

  • COND1(true, s(s(y_0)), s(y_1), s(x2)) → COND2(true, s(s(y_0)), s(y_1), s(x2))
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4

  • COND1(true, s(s(s(y_0))), s(x1), s(x2)) → COND2(true, s(s(s(y_0))), s(x1), s(x2))
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4

  • COND2(true, s(s(y_1)), 0, s(x2)) → COND1(or(gr(s(y_1), x2), false), s(y_1), 0, s(x2))
    The graph contains the following edges 2 > 2, 3 >= 3, 4 >= 4

  • COND2(true, s(s(s(y_1))), 0, s(y_3)) → COND1(or(gr(s(s(y_1)), y_3), false), s(s(y_1)), 0, s(y_3))
    The graph contains the following edges 2 > 2, 3 >= 3, 4 >= 4

  • COND2(true, s(s(y_1)), s(y_2), s(x2)) → COND1(or(gr(s(y_1), x2), gr(y_2, x2)), s(y_1), s(y_2), s(x2))
    The graph contains the following edges 2 > 2, 3 >= 3, 4 >= 4

  • COND2(true, s(s(s(y_1))), s(x1), s(x2)) → COND1(or(gr(s(s(y_1)), x2), gr(x1, x2)), s(s(y_1)), s(x1), s(x2))
    The graph contains the following edges 2 > 2, 3 >= 3, 4 >= 4

  • COND1(true, s(s(y_0)), 0, 0) → COND2(true, s(s(y_0)), 0, 0)
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 3, 3 >= 4, 4 >= 4

  • COND1(true, s(s(s(y_0))), 0, 0) → COND2(true, s(s(s(y_0))), 0, 0)
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 3, 3 >= 4, 4 >= 4

  • COND1(true, s(s(y_0)), s(y_1), 0) → COND2(true, s(s(y_0)), s(y_1), 0)
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4

  • COND1(true, s(s(s(y_0))), s(x1), 0) → COND2(true, s(s(s(y_0))), s(x1), 0)
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4

  • COND2(true, s(s(y_0)), 0, 0) → COND1(true, s(y_0), 0, 0)
    The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3, 4 >= 3, 3 >= 4, 4 >= 4

  • COND2(true, s(s(s(y_1))), 0, 0) → COND1(true, s(s(y_1)), 0, 0)
    The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3, 4 >= 3, 3 >= 4, 4 >= 4

  • COND2(true, s(s(y_0)), s(y_1), 0) → COND1(true, s(y_0), s(y_1), 0)
    The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3, 4 >= 4

  • COND2(true, s(s(s(y_0))), s(x1), 0) → COND1(true, s(s(y_0)), s(x1), 0)
    The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3, 4 >= 4

(164) TRUE