0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 QDP
↳5 QDPOrderProof (⇔)
↳6 QDP
↳7 PisEmptyProof (⇔)
↳8 TRUE
nonZero(0) → false
nonZero(s(x)) → true
p(0) → 0
p(s(x)) → 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))
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)
nonZero(0) → false
nonZero(s(x)) → true
p(0) → 0
p(s(x)) → 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))
IF(true, x, y) → RAND(p(x), id_inc(y))
RAND(x, y) → IF(nonZero(x), x, y)
nonZero(0) → false
nonZero(s(x)) → true
p(0) → 0
p(s(x)) → 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))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
IF(true, x, y) → RAND(p(x), id_inc(y))
RAND(x, y) → IF(nonZero(x), x, y)
The value of delta used in the strict ordering is 3/4.
POL(IF(x1, x2, x3)) = 5/4 + (4)x1 + x2
POL(true) = 11/4
POL(RAND(x1, x2)) = 3 + (4)x1
POL(p(x1)) = (1/4)x1
POL(id_inc(x1)) = (1/4)x1
POL(nonZero(x1)) = 1/4 + (3/4)x1
POL(0) = 0
POL(s(x1)) = 15/4 + (4)x1
POL(false) = 1/4
p(0) → 0
p(s(x)) → x
nonZero(0) → false
nonZero(s(x)) → true
nonZero(0) → false
nonZero(s(x)) → true
p(0) → 0
p(s(x)) → 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))