(0) Obligation:

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

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

The TRS R 2 is

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

The signature Sigma is {cond1, cond2}

(2) Obligation:

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

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

The TRS R consists of the following rules:

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

The TRS R consists of the following rules:

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

The TRS R consists of the following rules:

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

The set Q consists of the following terms:

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

(18) Obligation:

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

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

The TRS R consists of the following rules:

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

The set Q consists of the following terms:

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

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

(19) NonInfProof (EQUIVALENT transformation)

The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND2(true, x, y) → COND1(gr(x, 0), y, y) the following chains were created:
  • We consider the chain COND1(true, x, y) → COND2(gr(x, y), x, y), COND2(true, x, y) → COND1(gr(x, 0), y, y) which results in the following constraint:

    (1)    (COND2(gr(x2, x3), x2, x3)=COND2(true, x4, x5) ⇒ COND2(true, x4, x5)≥COND1(gr(x4, 0), x5, x5))



    We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint:

    (2)    (gr(x2, x3)=trueCOND2(true, x2, x3)≥COND1(gr(x2, 0), x3, x3))



    We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on gr(x2, x3)=true which results in the following new constraints:

    (3)    (true=trueCOND2(true, s(x27), 0)≥COND1(gr(s(x27), 0), 0, 0))


    (4)    (gr(x29, x28)=true∧(gr(x29, x28)=trueCOND2(true, x29, x28)≥COND1(gr(x29, 0), x28, x28)) ⇒ COND2(true, s(x29), s(x28))≥COND1(gr(s(x29), 0), s(x28), s(x28)))



    We simplified constraint (3) using rules (I), (II) which results in the following new constraint:

    (5)    (COND2(true, s(x27), 0)≥COND1(gr(s(x27), 0), 0, 0))



    We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (gr(x29, x28)=trueCOND2(true, x29, x28)≥COND1(gr(x29, 0), x28, x28)) with σ = [ ] which results in the following new constraint:

    (6)    (COND2(true, x29, x28)≥COND1(gr(x29, 0), x28, x28) ⇒ COND2(true, s(x29), s(x28))≥COND1(gr(s(x29), 0), s(x28), s(x28)))







For Pair COND1(true, x, y) → COND2(gr(x, y), x, y) the following chains were created:
  • We consider the chain COND2(true, x, y) → COND1(gr(x, 0), y, y), COND1(true, x, y) → COND2(gr(x, y), x, y) which results in the following constraint:

    (7)    (COND1(gr(x8, 0), x9, x9)=COND1(true, x10, x11) ⇒ COND1(true, x10, x11)≥COND2(gr(x10, x11), x10, x11))



    We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint:

    (8)    (0=x30gr(x8, x30)=trueCOND1(true, x9, x9)≥COND2(gr(x9, x9), x9, x9))



    We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on gr(x8, x30)=true which results in the following new constraints:

    (9)    (true=true0=0COND1(true, x9, x9)≥COND2(gr(x9, x9), x9, x9))


    (10)    (gr(x34, x33)=true0=s(x33)∧(∀x35:gr(x34, x33)=true0=x33COND1(true, x35, x35)≥COND2(gr(x35, x35), x35, x35)) ⇒ COND1(true, x9, x9)≥COND2(gr(x9, x9), x9, x9))



    We simplified constraint (9) using rules (I), (II) which results in the following new constraint:

    (11)    (COND1(true, x9, x9)≥COND2(gr(x9, x9), x9, x9))



    We solved constraint (10) using rules (I), (II).
  • We consider the chain COND2(false, x, y) → COND1(gr(x, 0), p(x), y), COND1(true, x, y) → COND2(gr(x, y), x, y) which results in the following constraint:

    (12)    (COND1(gr(x14, 0), p(x14), x15)=COND1(true, x16, x17) ⇒ COND1(true, x16, x17)≥COND2(gr(x16, x17), x16, x17))



    We simplified constraint (12) using rules (I), (II), (III), (VII) which results in the following new constraint:

    (13)    (0=x36gr(x14, x36)=truep(x14)=x16COND1(true, x16, x15)≥COND2(gr(x16, x15), x16, x15))



    We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on gr(x14, x36)=true which results in the following new constraints:

    (14)    (true=true0=0p(s(x38))=x16COND1(true, x16, x15)≥COND2(gr(x16, x15), x16, x15))


    (15)    (gr(x40, x39)=true0=s(x39)∧p(s(x40))=x16∧(∀x41,x42:gr(x40, x39)=true0=x39p(x40)=x41COND1(true, x41, x42)≥COND2(gr(x41, x42), x41, x42)) ⇒ COND1(true, x16, x15)≥COND2(gr(x16, x15), x16, x15))



    We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint:

    (16)    (COND1(true, x16, x15)≥COND2(gr(x16, x15), x16, x15))



    We solved constraint (15) using rules (I), (II).




For Pair COND2(false, x, y) → COND1(gr(x, 0), p(x), y) the following chains were created:
  • We consider the chain COND1(true, x, y) → COND2(gr(x, y), x, y), COND2(false, x, y) → COND1(gr(x, 0), p(x), y) which results in the following constraint:

    (17)    (COND2(gr(x20, x21), x20, x21)=COND2(false, x22, x23) ⇒ COND2(false, x22, x23)≥COND1(gr(x22, 0), p(x22), x23))



    We simplified constraint (17) using rules (I), (II), (III) which results in the following new constraint:

    (18)    (gr(x20, x21)=falseCOND2(false, x20, x21)≥COND1(gr(x20, 0), p(x20), x21))



    We simplified constraint (18) using rule (V) (with possible (I) afterwards) using induction on gr(x20, x21)=false which results in the following new constraints:

    (19)    (false=falseCOND2(false, 0, x44)≥COND1(gr(0, 0), p(0), x44))


    (20)    (gr(x47, x46)=false∧(gr(x47, x46)=falseCOND2(false, x47, x46)≥COND1(gr(x47, 0), p(x47), x46)) ⇒ COND2(false, s(x47), s(x46))≥COND1(gr(s(x47), 0), p(s(x47)), s(x46)))



    We simplified constraint (19) using rules (I), (II) which results in the following new constraint:

    (21)    (COND2(false, 0, x44)≥COND1(gr(0, 0), p(0), x44))



    We simplified constraint (20) using rule (VI) where we applied the induction hypothesis (gr(x47, x46)=falseCOND2(false, x47, x46)≥COND1(gr(x47, 0), p(x47), x46)) with σ = [ ] which results in the following new constraint:

    (22)    (COND2(false, x47, x46)≥COND1(gr(x47, 0), p(x47), x46) ⇒ COND2(false, s(x47), s(x46))≥COND1(gr(s(x47), 0), p(s(x47)), s(x46)))







To summarize, we get the following constraints P for the following pairs.
  • COND2(true, x, y) → COND1(gr(x, 0), y, y)
    • (COND2(true, s(x27), 0)≥COND1(gr(s(x27), 0), 0, 0))
    • (COND2(true, x29, x28)≥COND1(gr(x29, 0), x28, x28) ⇒ COND2(true, s(x29), s(x28))≥COND1(gr(s(x29), 0), s(x28), s(x28)))

  • COND1(true, x, y) → COND2(gr(x, y), x, y)
    • (COND1(true, x9, x9)≥COND2(gr(x9, x9), x9, x9))
    • (COND1(true, x16, x15)≥COND2(gr(x16, x15), x16, x15))

  • COND2(false, x, y) → COND1(gr(x, 0), p(x), y)
    • (COND2(false, 0, x44)≥COND1(gr(0, 0), p(0), x44))
    • (COND2(false, x47, x46)≥COND1(gr(x47, 0), p(x47), x46) ⇒ COND2(false, s(x47), s(x46))≥COND1(gr(s(x47), 0), p(s(x47)), s(x46)))




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation [NONINF]:

POL(0) = 0   
POL(COND1(x1, x2, x3)) = -1 + x2 + x3   
POL(COND2(x1, x2, x3)) = -1 + x2 + x3   
POL(c) = -1   
POL(false) = 0   
POL(gr(x1, x2)) = x1   
POL(p(x1)) = x1   
POL(s(x1)) = 1 + x1   
POL(true) = 1   

The following pairs are in P>:

COND2(true, x, y) → COND1(gr(x, 0), y, y)
The following pairs are in Pbound:

COND2(true, x, y) → COND1(gr(x, 0), y, y)
COND1(true, x, y) → COND2(gr(x, y), x, y)
COND2(false, x, y) → COND1(gr(x, 0), p(x), y)
The following rules are usable:

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

(20) Obligation:

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

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

The TRS R consists of the following rules:

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

The set Q consists of the following terms:

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

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

(21) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


COND1(true, x, y) → COND2(gr(x, y), x, y)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO,RATPOLO]:

POL(COND1(x1, x2, x3)) = (1/4)x1 + (4)x2   
POL(true) = 1/2   
POL(COND2(x1, x2, x3)) = (3)x2   
POL(gr(x1, x2)) = (2)x1   
POL(false) = 0   
POL(0) = 0   
POL(p(x1)) = (1/2)x1   
POL(s(x1)) = 4 + (2)x1   
The value of delta used in the strict ordering is 1/8.
The following usable rules [FROCOS05] were oriented:

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

(22) Obligation:

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

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

The TRS R consists of the following rules:

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

The set Q consists of the following terms:

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

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

(23) DependencyGraphProof (EQUIVALENT transformation)

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

(24) TRUE