(0) Obligation:

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

cond1(true, x, y) → cond2(gr(x, 0), x, y)
cond2(true, x, y) → cond1(or(gr(x, 0), gr(y, 0)), p(x), y)
cond2(false, x, y) → cond3(gr(y, 0), x, y)
cond3(true, x, y) → cond1(or(gr(x, 0), gr(y, 0)), x, p(y))
cond3(false, x, y) → cond1(or(gr(x, 0), gr(y, 0)), x, y)
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) → cond2(gr(x, 0), x, y)
cond2(true, x, y) → cond1(or(gr(x, 0), gr(y, 0)), p(x), y)
cond2(false, x, y) → cond3(gr(y, 0), x, y)
cond3(true, x, y) → cond1(or(gr(x, 0), gr(y, 0)), x, p(y))
cond3(false, x, y) → cond1(or(gr(x, 0), gr(y, 0)), x, y)

The signature Sigma is {cond1, cond2, cond3}

(2) Obligation:

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

cond1(true, x, y) → cond2(gr(x, 0), x, y)
cond2(true, x, y) → cond1(or(gr(x, 0), gr(y, 0)), p(x), y)
cond2(false, x, y) → cond3(gr(y, 0), x, y)
cond3(true, x, y) → cond1(or(gr(x, 0), gr(y, 0)), x, p(y))
cond3(false, x, y) → cond1(or(gr(x, 0), gr(y, 0)), x, y)
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)
cond2(true, x0, x1)
cond2(false, x0, x1)
cond3(true, x0, x1)
cond3(false, x0, x1)
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) → COND2(gr(x, 0), x, y)
COND1(true, x, y) → GR(x, 0)
COND2(true, x, y) → COND1(or(gr(x, 0), gr(y, 0)), p(x), y)
COND2(true, x, y) → OR(gr(x, 0), gr(y, 0))
COND2(true, x, y) → GR(x, 0)
COND2(true, x, y) → GR(y, 0)
COND2(true, x, y) → P(x)
COND2(false, x, y) → COND3(gr(y, 0), x, y)
COND2(false, x, y) → GR(y, 0)
COND3(true, x, y) → COND1(or(gr(x, 0), gr(y, 0)), x, p(y))
COND3(true, x, y) → OR(gr(x, 0), gr(y, 0))
COND3(true, x, y) → GR(x, 0)
COND3(true, x, y) → GR(y, 0)
COND3(true, x, y) → P(y)
COND3(false, x, y) → COND1(or(gr(x, 0), gr(y, 0)), x, y)
COND3(false, x, y) → OR(gr(x, 0), gr(y, 0))
COND3(false, x, y) → GR(x, 0)
COND3(false, x, y) → GR(y, 0)
GR(s(x), s(y)) → GR(x, y)

The TRS R consists of the following rules:

cond1(true, x, y) → cond2(gr(x, 0), x, y)
cond2(true, x, y) → cond1(or(gr(x, 0), gr(y, 0)), p(x), y)
cond2(false, x, y) → cond3(gr(y, 0), x, y)
cond3(true, x, y) → cond1(or(gr(x, 0), gr(y, 0)), x, p(y))
cond3(false, x, y) → cond1(or(gr(x, 0), gr(y, 0)), x, y)
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)
cond2(true, x0, x1)
cond2(false, x0, x1)
cond3(true, x0, x1)
cond3(false, x0, x1)
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) → cond2(gr(x, 0), x, y)
cond2(true, x, y) → cond1(or(gr(x, 0), gr(y, 0)), p(x), y)
cond2(false, x, y) → cond3(gr(y, 0), x, y)
cond3(true, x, y) → cond1(or(gr(x, 0), gr(y, 0)), x, p(y))
cond3(false, x, y) → cond1(or(gr(x, 0), gr(y, 0)), x, y)
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)
cond2(true, x0, x1)
cond2(false, x0, x1)
cond3(true, x0, x1)
cond3(false, x0, x1)
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)
cond2(true, x0, x1)
cond2(false, x0, x1)
cond3(true, x0, x1)
cond3(false, x0, x1)
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)
cond2(true, x0, x1)
cond2(false, x0, x1)
cond3(true, x0, x1)
cond3(false, x0, x1)
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) → COND1(or(gr(x, 0), gr(y, 0)), p(x), y)
COND1(true, x, y) → COND2(gr(x, 0), x, y)
COND2(false, x, y) → COND3(gr(y, 0), x, y)
COND3(true, x, y) → COND1(or(gr(x, 0), gr(y, 0)), x, p(y))
COND3(false, x, y) → COND1(or(gr(x, 0), gr(y, 0)), x, y)

The TRS R consists of the following rules:

cond1(true, x, y) → cond2(gr(x, 0), x, y)
cond2(true, x, y) → cond1(or(gr(x, 0), gr(y, 0)), p(x), y)
cond2(false, x, y) → cond3(gr(y, 0), x, y)
cond3(true, x, y) → cond1(or(gr(x, 0), gr(y, 0)), x, p(y))
cond3(false, x, y) → cond1(or(gr(x, 0), gr(y, 0)), x, y)
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)
cond2(true, x0, x1)
cond2(false, x0, x1)
cond3(true, x0, x1)
cond3(false, x0, x1)
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) → COND1(or(gr(x, 0), gr(y, 0)), p(x), y)
COND1(true, x, y) → COND2(gr(x, 0), x, y)
COND2(false, x, y) → COND3(gr(y, 0), x, y)
COND3(true, x, y) → COND1(or(gr(x, 0), gr(y, 0)), x, p(y))
COND3(false, x, y) → COND1(or(gr(x, 0), gr(y, 0)), x, y)

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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)
cond2(true, x0, x1)
cond2(false, x0, x1)
cond3(true, x0, x1)
cond3(false, x0, x1)
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)
cond2(true, x0, x1)
cond2(false, x0, x1)
cond3(true, x0, x1)
cond3(false, x0, x1)

(18) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) → COND1(or(gr(x, 0), gr(y, 0)), p(x), y) at position [0] we obtained the following new rules [LPAR04]:

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

(20) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) → COND1(or(false, gr(y1, 0)), p(0), y1) at position [1] we obtained the following new rules [LPAR04]:

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

(22) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) → COND1(or(true, gr(y1, 0)), p(s(x0)), y1) at position [0] we obtained the following new rules [LPAR04]:

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

(24) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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, y0, s(x0)) → COND1(or(gr(y0, 0), true), p(y0), s(x0)) at position [0] we obtained the following new rules [LPAR04]:

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

(26) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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, s(x0), y1) → COND1(true, p(s(x0)), y1) at position [1] we obtained the following new rules [LPAR04]:

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

(28) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) Narrowing (EQUIVALENT transformation)

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

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

(30) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) DependencyGraphProof (EQUIVALENT transformation)

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

(32) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) Narrowing (EQUIVALENT transformation)

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

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

(34) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) Rewriting (EQUIVALENT transformation)

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

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

(36) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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, y0, 0) → COND1(or(gr(y0, 0), false), y0, p(0)) at position [2] we obtained the following new rules [LPAR04]:

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

(38) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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, s(x0)) → COND1(or(gr(y0, 0), true), y0, p(s(x0))) at position [0] we obtained the following new rules [LPAR04]:

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

(40) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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)) → COND1(true, y0, p(s(x0))) at position [2] we obtained the following new rules [LPAR04]:

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

(42) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) Narrowing (EQUIVALENT transformation)

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

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

(44) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) DependencyGraphProof (EQUIVALENT transformation)

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

(46) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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 COND3(false, x, y) → COND1(or(gr(x, 0), gr(y, 0)), x, y) at position [0] we obtained the following new rules [LPAR04]:

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

(48) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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:

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) Rewriting (EQUIVALENT transformation)

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

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

(52) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) Narrowing (EQUIVALENT transformation)

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

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

(54) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) DependencyGraphProof (EQUIVALENT transformation)

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

(56) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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, y0, 0) → COND1(or(gr(y0, 0), false), y0, 0) at position [0] we obtained the following new rules [LPAR04]:

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

(58) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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 1 less node.

(60) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) Rewriting (EQUIVALENT transformation)

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

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

(62) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) Narrowing (EQUIVALENT transformation)

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

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

(64) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) DependencyGraphProof (EQUIVALENT transformation)

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

(66) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) Rewriting (EQUIVALENT transformation)

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

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

(68) Obligation:

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

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

The TRS R consists of the following rules:

gr(0, x) → false
gr(s(x), 0) → true
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) 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.

(70) Obligation:

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

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

The TRS R consists of the following rules:

p(s(x)) → x
p(0) → 0
gr(0, x) → false
gr(s(x), 0) → true
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)
p(0)
p(s(x0))

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

(71) Rewriting (EQUIVALENT transformation)

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

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

(72) Obligation:

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

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

The TRS R consists of the following rules:

p(s(x)) → x
p(0) → 0
gr(0, x) → false
gr(s(x), 0) → true
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)
p(0)
p(s(x0))

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

(73) Narrowing (EQUIVALENT transformation)

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

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

(74) Obligation:

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

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

The TRS R consists of the following rules:

p(s(x)) → x
p(0) → 0
gr(0, x) → false
gr(s(x), 0) → true
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)
p(0)
p(s(x0))

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

(75) DependencyGraphProof (EQUIVALENT transformation)

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

(76) Obligation:

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

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

The TRS R consists of the following rules:

p(s(x)) → x
p(0) → 0
gr(0, x) → false
gr(s(x), 0) → true
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)
p(0)
p(s(x0))

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

(77) Narrowing (EQUIVALENT transformation)

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

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

(78) Obligation:

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

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

The TRS R consists of the following rules:

p(s(x)) → x
p(0) → 0
gr(0, x) → false
gr(s(x), 0) → true
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)
p(0)
p(s(x0))

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

(79) DependencyGraphProof (EQUIVALENT transformation)

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

(80) Obligation:

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

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

The TRS R consists of the following rules:

p(s(x)) → x
p(0) → 0
gr(0, x) → false
gr(s(x), 0) → true
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)
p(0)
p(s(x0))

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

(81) 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.

(82) Obligation:

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

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

The TRS R consists of the following rules:

or(x, true) → true
p(s(x)) → x
p(0) → 0

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) 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].

gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))

(84) Obligation:

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

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

The TRS R consists of the following rules:

or(x, true) → true
p(s(x)) → x
p(0) → 0

The set Q consists of the following terms:

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) Rewriting (EQUIVALENT transformation)

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

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

(86) Obligation:

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

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

The TRS R consists of the following rules:

or(x, true) → true
p(s(x)) → x
p(0) → 0

The set Q consists of the following terms:

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) 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.

(88) Obligation:

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

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

The TRS R consists of the following rules:

p(s(x)) → x
p(0) → 0

The set Q consists of the following terms:

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) 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].

or(false, false)
or(true, x0)
or(x0, true)

(90) Obligation:

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

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

The TRS R consists of the following rules:

p(s(x)) → x
p(0) → 0

The set Q consists of the following terms:

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(x0)) → COND1(true, 0, p(s(x0))) at position [2] we obtained the following new rules [LPAR04]:

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

(92) Obligation:

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

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

The TRS R consists of the following rules:

p(s(x)) → x
p(0) → 0

The set Q consists of the following terms:

p(0)
p(s(x0))

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

(93) Instantiation (EQUIVALENT transformation)

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

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

(94) Obligation:

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

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

The TRS R consists of the following rules:

p(s(x)) → x
p(0) → 0

The set Q consists of the following terms:

p(0)
p(s(x0))

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

(95) DependencyGraphProof (EQUIVALENT transformation)

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

(96) Obligation:

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

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

The TRS R consists of the following rules:

p(s(x)) → x
p(0) → 0

The set Q consists of the following terms:

p(0)
p(s(x0))

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

(97) Instantiation (EQUIVALENT transformation)

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

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

(98) Obligation:

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

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

The TRS R consists of the following rules:

p(s(x)) → x
p(0) → 0

The set Q consists of the following terms:

p(0)
p(s(x0))

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

(99) DependencyGraphProof (EQUIVALENT transformation)

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

(100) Obligation:

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

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

The TRS R consists of the following rules:

p(s(x)) → x
p(0) → 0

The set Q consists of the following terms:

p(0)
p(s(x0))

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

(101) 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.

(102) Obligation:

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

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

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

p(0)
p(s(x0))

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

(103) 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))

(104) Obligation:

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

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

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

(105) Instantiation (EQUIVALENT transformation)

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

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

(106) Obligation:

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

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

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

(107) DependencyGraphProof (EQUIVALENT transformation)

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

(108) Complex Obligation (AND)

(109) Obligation:

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

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

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

(110) 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:

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

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

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

(111) TRUE

(112) Obligation:

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

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

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

(113) 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(x0), y1) → COND2(true, s(x0), y1)
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3

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

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

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

(114) TRUE