0 QTRS
↳1 AAECC Innermost (⇔, 0 ms)
↳2 QTRS
↳3 DependencyPairsProof (⇔, 0 ms)
↳4 QDP
↳5 DependencyGraphProof (⇔, 0 ms)
↳6 AND
↳7 QDP
↳8 UsableRulesProof (⇔, 0 ms)
↳9 QDP
↳10 QReductionProof (⇔, 0 ms)
↳11 QDP
↳12 QDPSizeChangeProof (⇔, 0 ms)
↳13 YES
↳14 QDP
↳15 UsableRulesProof (⇔, 0 ms)
↳16 QDP
↳17 QReductionProof (⇔, 0 ms)
↳18 QDP
↳19 TransformationProof (⇔, 2 ms)
↳20 QDP
↳21 TransformationProof (⇔, 0 ms)
↳22 QDP
↳23 TransformationProof (⇔, 0 ms)
↳24 QDP
↳25 TransformationProof (⇔, 0 ms)
↳26 QDP
↳27 TransformationProof (⇔, 0 ms)
↳28 QDP
↳29 TransformationProof (⇔, 0 ms)
↳30 QDP
↳31 DependencyGraphProof (⇔, 0 ms)
↳32 QDP
↳33 TransformationProof (⇔, 0 ms)
↳34 QDP
↳35 TransformationProof (⇔, 0 ms)
↳36 QDP
↳37 TransformationProof (⇔, 0 ms)
↳38 QDP
↳39 TransformationProof (⇔, 0 ms)
↳40 QDP
↳41 TransformationProof (⇔, 0 ms)
↳42 QDP
↳43 TransformationProof (⇔, 0 ms)
↳44 QDP
↳45 DependencyGraphProof (⇔, 0 ms)
↳46 QDP
↳47 TransformationProof (⇔, 0 ms)
↳48 QDP
↳49 DependencyGraphProof (⇔, 0 ms)
↳50 QDP
↳51 TransformationProof (⇔, 0 ms)
↳52 QDP
↳53 TransformationProof (⇔, 0 ms)
↳54 QDP
↳55 DependencyGraphProof (⇔, 0 ms)
↳56 QDP
↳57 TransformationProof (⇔, 0 ms)
↳58 QDP
↳59 DependencyGraphProof (⇔, 0 ms)
↳60 QDP
↳61 TransformationProof (⇔, 0 ms)
↳62 QDP
↳63 TransformationProof (⇔, 0 ms)
↳64 QDP
↳65 DependencyGraphProof (⇔, 0 ms)
↳66 QDP
↳67 TransformationProof (⇔, 0 ms)
↳68 QDP
↳69 UsableRulesProof (⇔, 0 ms)
↳70 QDP
↳71 TransformationProof (⇔, 0 ms)
↳72 QDP
↳73 TransformationProof (⇔, 0 ms)
↳74 QDP
↳75 DependencyGraphProof (⇔, 0 ms)
↳76 QDP
↳77 TransformationProof (⇔, 0 ms)
↳78 QDP
↳79 DependencyGraphProof (⇔, 0 ms)
↳80 QDP
↳81 UsableRulesProof (⇔, 0 ms)
↳82 QDP
↳83 QReductionProof (⇔, 0 ms)
↳84 QDP
↳85 TransformationProof (⇔, 0 ms)
↳86 QDP
↳87 UsableRulesProof (⇔, 0 ms)
↳88 QDP
↳89 QReductionProof (⇔, 0 ms)
↳90 QDP
↳91 TransformationProof (⇔, 0 ms)
↳92 QDP
↳93 TransformationProof (⇔, 0 ms)
↳94 QDP
↳95 DependencyGraphProof (⇔, 0 ms)
↳96 QDP
↳97 TransformationProof (⇔, 0 ms)
↳98 QDP
↳99 DependencyGraphProof (⇔, 0 ms)
↳100 QDP
↳101 UsableRulesProof (⇔, 0 ms)
↳102 QDP
↳103 QReductionProof (⇔, 0 ms)
↳104 QDP
↳105 TransformationProof (⇔, 0 ms)
↳106 QDP
↳107 DependencyGraphProof (⇔, 0 ms)
↳108 AND
↳109 QDP
↳110 QDPSizeChangeProof (⇔, 0 ms)
↳111 YES
↳112 QDP
↳113 QDPSizeChangeProof (⇔, 0 ms)
↳114 YES
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
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
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)
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
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))
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)
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
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))
GR(s(x), s(y)) → GR(x, y)
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
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))
GR(s(x), s(y)) → GR(x, y)
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))
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))
GR(s(x), s(y)) → GR(x, y)
From the DPs we obtained the following set of size-change graphs:
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)
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
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))
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)
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
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))
cond1(true, x0, x1)
cond2(true, x0, x1)
cond2(false, x0, x1)
cond3(true, x0, x1)
cond3(false, x0, x1)
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)
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
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))
COND2(true, 0, y1) → COND1(or(false, gr(y1, 0)), p(0), y1) → 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, 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, 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, y0, s(x0)) → COND1(or(gr(y0, 0), true), p(y0), s(x0))
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))
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
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))
COND2(true, 0, y1) → COND1(or(false, gr(y1, 0)), 0, y1) → COND2(true, 0, y1) → COND1(or(false, gr(y1, 0)), 0, y1)
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)
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
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))
COND2(true, s(x0), y1) → COND1(true, p(s(x0)), y1) → COND2(true, s(x0), y1) → COND1(true, p(s(x0)), y1)
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)
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
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))
COND2(true, y0, s(x0)) → COND1(true, p(y0), s(x0)) → COND2(true, y0, s(x0)) → COND1(true, p(y0), s(x0))
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))
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
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))
COND2(true, s(x0), y1) → COND1(true, x0, y1) → COND2(true, s(x0), y1) → COND1(true, x0, y1)
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)
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
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))
COND1(true, 0, y1) → COND2(false, 0, y1) → COND1(true, 0, y1) → COND2(false, 0, y1)
COND1(true, s(x0), y1) → COND2(true, s(x0), y1) → COND1(true, s(x0), y1) → COND2(true, s(x0), y1)
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)
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
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))
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)
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
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))
COND3(true, 0, y1) → COND1(or(false, gr(y1, 0)), 0, p(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, 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, 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, y0, s(x0)) → COND1(or(gr(y0, 0), true), y0, p(s(x0)))
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)))
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
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))
COND3(true, s(x0), y1) → COND1(true, s(x0), p(y1)) → COND3(true, s(x0), y1) → COND1(true, s(x0), p(y1))
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))
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
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))
COND3(true, y0, 0) → COND1(or(gr(y0, 0), false), y0, 0) → COND3(true, y0, 0) → COND1(or(gr(y0, 0), false), y0, 0)
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)
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
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))
COND3(true, y0, s(x0)) → COND1(true, y0, p(s(x0))) → COND3(true, y0, s(x0)) → COND1(true, y0, p(s(x0)))
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)))
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
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))
COND3(true, y0, s(x0)) → COND1(true, y0, x0) → COND3(true, y0, s(x0)) → COND1(true, y0, x0)
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)
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
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))
COND2(false, y0, 0) → COND3(false, y0, 0) → COND2(false, y0, 0) → COND3(false, y0, 0)
COND2(false, y0, s(x0)) → COND3(true, y0, s(x0)) → COND2(false, y0, s(x0)) → COND3(true, y0, s(x0))
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))
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
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))
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)
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
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))
COND3(false, 0, y1) → COND1(or(false, gr(y1, 0)), 0, y1) → 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, 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, 0) → COND1(or(gr(y0, 0), false), y0, 0)
COND3(false, y0, s(x0)) → COND1(or(gr(y0, 0), true), y0, s(x0)) → COND3(false, y0, s(x0)) → COND1(or(gr(y0, 0), true), y0, s(x0))
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))
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
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))
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)
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
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))
COND3(false, s(x0), y1) → COND1(true, s(x0), y1) → COND3(false, s(x0), y1) → COND1(true, s(x0), y1)
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)
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
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))
COND3(false, 0, 0) → COND1(or(false, false), 0, 0) → COND3(false, 0, 0) → COND1(or(false, false), 0, 0)
COND3(false, 0, s(x0)) → COND1(or(false, true), 0, s(x0)) → COND3(false, 0, s(x0)) → COND1(or(false, true), 0, s(x0))
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))
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
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))
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)
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
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))
COND3(false, 0, 0) → COND1(or(false, false), 0, 0) → COND3(false, 0, 0) → COND1(or(false, false), 0, 0)
COND3(false, s(x0), 0) → COND1(or(true, false), s(x0), 0) → COND3(false, s(x0), 0) → COND1(or(true, false), s(x0), 0)
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)
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
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))
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)
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
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))
COND3(false, s(x0), 0) → COND1(true, s(x0), 0) → COND3(false, s(x0), 0) → COND1(true, s(x0), 0)
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)
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
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))
COND2(true, 0, 0) → COND1(or(false, false), p(0), 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) → COND2(true, s(x0), 0) → COND1(or(true, false), p(s(x0)), 0)
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)
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
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))
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)
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
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))
COND2(true, s(x0), 0) → COND1(true, p(s(x0)), 0) → COND2(true, s(x0), 0) → COND1(true, p(s(x0)), 0)
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)
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
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))
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)
p(s(x)) → x
p(0) → 0
gr(0, x) → false
gr(s(x), 0) → true
or(false, false) → false
or(x, true) → true
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))
COND2(true, s(x0), 0) → COND1(true, x0, 0) → COND2(true, s(x0), 0) → COND1(true, x0, 0)
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)
p(s(x)) → x
p(0) → 0
gr(0, x) → false
gr(s(x), 0) → true
or(false, false) → false
or(x, true) → true
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))
COND2(true, s(x0), s(y1)) → COND1(true, x0, s(y1)) → COND2(true, s(x0), s(y1)) → COND1(true, x0, s(y1))
COND2(true, 0, s(y1)) → COND1(true, 0, s(y1)) → COND2(true, 0, s(y1)) → COND1(true, 0, s(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)
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))
p(s(x)) → x
p(0) → 0
gr(0, x) → false
gr(s(x), 0) → true
or(false, false) → false
or(x, true) → true
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))
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)
p(s(x)) → x
p(0) → 0
gr(0, x) → false
gr(s(x), 0) → true
or(false, false) → false
or(x, true) → true
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))
COND3(true, 0, 0) → COND1(or(false, false), 0, p(0)) → COND3(true, 0, 0) → COND1(or(false, false), 0, p(0))
COND3(true, 0, s(x0)) → COND1(or(false, true), 0, p(s(x0))) → COND3(true, 0, s(x0)) → COND1(or(false, true), 0, p(s(x0)))
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)))
p(s(x)) → x
p(0) → 0
gr(0, x) → false
gr(s(x), 0) → true
or(false, false) → false
or(x, true) → true
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))
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)))
p(s(x)) → x
p(0) → 0
gr(0, x) → false
gr(s(x), 0) → true
or(false, false) → false
or(x, true) → true
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))
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)))
or(x, true) → true
p(s(x)) → x
p(0) → 0
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))
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
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)))
or(x, true) → true
p(s(x)) → x
p(0) → 0
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))
COND3(true, 0, s(x0)) → COND1(true, 0, p(s(x0))) → COND3(true, 0, s(x0)) → COND1(true, 0, p(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)
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)))
or(x, true) → true
p(s(x)) → x
p(0) → 0
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(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)
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)))
p(s(x)) → x
p(0) → 0
or(false, false)
or(true, x0)
or(x0, true)
p(0)
p(s(x0))
or(false, false)
or(true, x0)
or(x0, true)
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)))
p(s(x)) → x
p(0) → 0
p(0)
p(s(x0))
COND3(true, 0, s(x0)) → COND1(true, 0, x0) → COND3(true, 0, s(x0)) → COND1(true, 0, 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)
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)
p(s(x)) → x
p(0) → 0
p(0)
p(s(x0))
COND2(false, 0, 0) → COND3(false, 0, 0) → COND2(false, 0, 0) → COND3(false, 0, 0)
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)
p(s(x)) → x
p(0) → 0
p(0)
p(s(x0))
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)
p(s(x)) → x
p(0) → 0
p(0)
p(s(x0))
COND2(false, 0, s(x1)) → COND3(true, 0, s(x1)) → COND2(false, 0, s(x1)) → COND3(true, 0, s(x1))
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))
p(s(x)) → x
p(0) → 0
p(0)
p(s(x0))
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)
p(s(x)) → x
p(0) → 0
p(0)
p(s(x0))
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)
p(0)
p(s(x0))
p(0)
p(s(x0))
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)
COND3(true, 0, s(z0)) → COND1(true, 0, z0) → COND3(true, 0, s(x0)) → COND1(true, 0, x0)
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)
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)
From the DPs we obtained the following set of size-change graphs:
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))
From the DPs we obtained the following set of size-change graphs: