(0) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
nonZero(0) → false
nonZero(s(x)) → true
p(s(0)) → 0
p(s(s(x))) → s(p(s(x)))
id_inc(x) → x
id_inc(x) → s(x)
random(x) → rand(x, 0)
rand(x, y) → if(nonZero(x), x, y)
if(false, x, y) → y
if(true, x, y) → rand(p(x), id_inc(y))
Q is empty.
(1) DependencyPairsProof (EQUIVALENT transformation)
Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.
(2) Obligation:
Q DP problem:
The TRS P consists of the following rules:
P(s(s(x))) → P(s(x))
RANDOM(x) → RAND(x, 0)
RAND(x, y) → IF(nonZero(x), x, y)
RAND(x, y) → NONZERO(x)
IF(true, x, y) → RAND(p(x), id_inc(y))
IF(true, x, y) → P(x)
IF(true, x, y) → ID_INC(y)
The TRS R consists of the following rules:
nonZero(0) → false
nonZero(s(x)) → true
p(s(0)) → 0
p(s(s(x))) → s(p(s(x)))
id_inc(x) → x
id_inc(x) → s(x)
random(x) → rand(x, 0)
rand(x, y) → if(nonZero(x), x, y)
if(false, x, y) → y
if(true, x, y) → rand(p(x), id_inc(y))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(3) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 4 less nodes.
(4) Complex Obligation (AND)
(5) Obligation:
Q DP problem:
The TRS P consists of the following rules:
P(s(s(x))) → P(s(x))
The TRS R consists of the following rules:
nonZero(0) → false
nonZero(s(x)) → true
p(s(0)) → 0
p(s(s(x))) → s(p(s(x)))
id_inc(x) → x
id_inc(x) → s(x)
random(x) → rand(x, 0)
rand(x, y) → if(nonZero(x), x, y)
if(false, x, y) → y
if(true, x, y) → rand(p(x), id_inc(y))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(6) UsableRulesProof (EQUIVALENT transformation)
We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R.
(7) Obligation:
Q DP problem:
The TRS P consists of the following rules:
P(s(s(x))) → P(s(x))
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(8) 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:
- P(s(s(x))) → P(s(x))
The graph contains the following edges 1 > 1
(9) YES
(10) Obligation:
Q DP problem:
The TRS P consists of the following rules:
IF(true, x, y) → RAND(p(x), id_inc(y))
RAND(x, y) → IF(nonZero(x), x, y)
The TRS R consists of the following rules:
nonZero(0) → false
nonZero(s(x)) → true
p(s(0)) → 0
p(s(s(x))) → s(p(s(x)))
id_inc(x) → x
id_inc(x) → s(x)
random(x) → rand(x, 0)
rand(x, y) → if(nonZero(x), x, y)
if(false, x, y) → y
if(true, x, y) → rand(p(x), id_inc(y))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(11) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04,JAR06].
The following pairs can be oriented strictly and are deleted.
IF(true, x, y) → RAND(p(x), id_inc(y))
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO] with arctic integers [ARCTIC,STERNAGEL_THIEMANN_RTA14]:
POL(IF(x1, x2, x3)) = | 0A | + | 0A | · | x1 | + | 0A | · | x2 | + | -I | · | x3 |
POL(RAND(x1, x2)) = | 0A | + | 0A | · | x1 | + | -I | · | x2 |
POL(id_inc(x1)) = | 0A | + | -I | · | x1 |
POL(nonZero(x1)) = | -I | + | 0A | · | x1 |
The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:
p(s(0)) → 0
p(s(s(x))) → s(p(s(x)))
nonZero(0) → false
nonZero(s(x)) → true
(12) Obligation:
Q DP problem:
The TRS P consists of the following rules:
RAND(x, y) → IF(nonZero(x), x, y)
The TRS R consists of the following rules:
nonZero(0) → false
nonZero(s(x)) → true
p(s(0)) → 0
p(s(s(x))) → s(p(s(x)))
id_inc(x) → x
id_inc(x) → s(x)
random(x) → rand(x, 0)
rand(x, y) → if(nonZero(x), x, y)
if(false, x, y) → y
if(true, x, y) → rand(p(x), id_inc(y))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(13) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.
(14) TRUE