YES
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 QDPSizeChangeProof (⇔, 0 ms)
↳20 YES
↳21 QDP
↳22 UsableRulesProof (⇔, 0 ms)
↳23 QDP
↳24 QReductionProof (⇔, 0 ms)
↳25 QDP
↳26 QDPSizeChangeProof (⇔, 0 ms)
↳27 YES
↳28 QDP
↳29 UsableRulesProof (⇔, 0 ms)
↳30 QDP
↳31 QReductionProof (⇔, 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 DependencyGraphProof (⇔, 0 ms)
↳44 QDP
↳45 TransformationProof (⇔, 0 ms)
↳46 QDP
↳47 TransformationProof (⇔, 0 ms)
↳48 QDP
↳49 TransformationProof (⇔, 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 DependencyGraphProof (⇔, 0 ms)
↳64 AND
↳65 QDP
↳66 UsableRulesProof (⇔, 0 ms)
↳67 QDP
↳68 QReductionProof (⇔, 0 ms)
↳69 QDP
↳70 TransformationProof (⇔, 0 ms)
↳71 QDP
↳72 DependencyGraphProof (⇔, 0 ms)
↳73 QDP
↳74 UsableRulesProof (⇔, 0 ms)
↳75 QDP
↳76 QReductionProof (⇔, 0 ms)
↳77 QDP
↳78 TransformationProof (⇔, 0 ms)
↳79 QDP
↳80 UsableRulesProof (⇔, 0 ms)
↳81 QDP
↳82 QReductionProof (⇔, 0 ms)
↳83 QDP
↳84 TransformationProof (⇔, 0 ms)
↳85 QDP
↳86 TransformationProof (⇔, 0 ms)
↳87 QDP
↳88 TransformationProof (⇔, 0 ms)
↳89 QDP
↳90 QDPSizeChangeProof (⇔, 0 ms)
↳91 YES
↳92 QDP
↳93 TransformationProof (⇔, 0 ms)
↳94 QDP
↳95 UsableRulesProof (⇔, 0 ms)
↳96 QDP
↳97 QReductionProof (⇔, 0 ms)
↳98 QDP
↳99 TransformationProof (⇔, 0 ms)
↳100 QDP
↳101 DependencyGraphProof (⇔, 0 ms)
↳102 QDP
↳103 UsableRulesProof (⇔, 0 ms)
↳104 QDP
↳105 QReductionProof (⇔, 0 ms)
↳106 QDP
↳107 TransformationProof (⇔, 0 ms)
↳108 QDP
↳109 DependencyGraphProof (⇔, 0 ms)
↳110 AND
↳111 QDP
↳112 UsableRulesProof (⇔, 0 ms)
↳113 QDP
↳114 QReductionProof (⇔, 0 ms)
↳115 QDP
↳116 TransformationProof (⇔, 0 ms)
↳117 QDP
↳118 TransformationProof (⇔, 0 ms)
↳119 QDP
↳120 QDPSizeChangeProof (⇔, 0 ms)
↳121 YES
↳122 QDP
↳123 TransformationProof (⇔, 0 ms)
↳124 QDP
↳125 TransformationProof (⇔, 0 ms)
↳126 QDP
↳127 TransformationProof (⇔, 0 ms)
↳128 QDP
↳129 TransformationProof (⇔, 0 ms)
↳130 QDP
↳131 TransformationProof (⇔, 0 ms)
↳132 QDP
↳133 TransformationProof (⇔, 0 ms)
↳134 QDP
↳135 QDPSizeChangeProof (⇔, 0 ms)
↳136 YES
cond1(true, x, y) → cond2(gr(x, y), x, y)
cond2(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond2(false, x, y) → cond3(eq(x, y), x, y)
cond3(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond3(false, x, y) → cond1(gr(add(x, y), 0), x, p(y))
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
add(0, x) → x
add(s(x), y) → s(add(x, y))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
p(0) → 0
p(s(x)) → x
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
add(0, x) → x
add(s(x), y) → s(add(x, y))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
p(0) → 0
p(s(x)) → x
cond1(true, x, y) → cond2(gr(x, y), x, y)
cond2(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond2(false, x, y) → cond3(eq(x, y), x, y)
cond3(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond3(false, x, y) → cond1(gr(add(x, y), 0), x, p(y))
cond1(true, x, y) → cond2(gr(x, y), x, y)
cond2(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond2(false, x, y) → cond3(eq(x, y), x, y)
cond3(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond3(false, x, y) → cond1(gr(add(x, y), 0), x, p(y))
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
add(0, x) → x
add(s(x), y) → s(add(x, y))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
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))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND1(true, x, y) → COND2(gr(x, y), x, y)
COND1(true, x, y) → GR(x, y)
COND2(true, x, y) → COND1(gr(add(x, y), 0), p(x), y)
COND2(true, x, y) → GR(add(x, y), 0)
COND2(true, x, y) → ADD(x, y)
COND2(true, x, y) → P(x)
COND2(false, x, y) → COND3(eq(x, y), x, y)
COND2(false, x, y) → EQ(x, y)
COND3(true, x, y) → COND1(gr(add(x, y), 0), p(x), y)
COND3(true, x, y) → GR(add(x, y), 0)
COND3(true, x, y) → ADD(x, y)
COND3(true, x, y) → P(x)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND3(false, x, y) → GR(add(x, y), 0)
COND3(false, x, y) → ADD(x, y)
COND3(false, x, y) → P(y)
GR(s(x), s(y)) → GR(x, y)
ADD(s(x), y) → ADD(x, y)
EQ(s(x), s(y)) → EQ(x, y)
cond1(true, x, y) → cond2(gr(x, y), x, y)
cond2(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond2(false, x, y) → cond3(eq(x, y), x, y)
cond3(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond3(false, x, y) → cond1(gr(add(x, y), 0), x, p(y))
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
add(0, x) → x
add(s(x), y) → s(add(x, y))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
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))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
EQ(s(x), s(y)) → EQ(x, y)
cond1(true, x, y) → cond2(gr(x, y), x, y)
cond2(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond2(false, x, y) → cond3(eq(x, y), x, y)
cond3(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond3(false, x, y) → cond1(gr(add(x, y), 0), x, p(y))
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
add(0, x) → x
add(s(x), y) → s(add(x, y))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
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))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
EQ(s(x), s(y)) → EQ(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))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
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))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
EQ(s(x), s(y)) → EQ(x, y)
From the DPs we obtained the following set of size-change graphs:
ADD(s(x), y) → ADD(x, y)
cond1(true, x, y) → cond2(gr(x, y), x, y)
cond2(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond2(false, x, y) → cond3(eq(x, y), x, y)
cond3(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond3(false, x, y) → cond1(gr(add(x, y), 0), x, p(y))
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
add(0, x) → x
add(s(x), y) → s(add(x, y))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
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))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
ADD(s(x), y) → ADD(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))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
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))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
ADD(s(x), y) → ADD(x, y)
From the DPs we obtained the following set of size-change graphs:
GR(s(x), s(y)) → GR(x, y)
cond1(true, x, y) → cond2(gr(x, y), x, y)
cond2(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond2(false, x, y) → cond3(eq(x, y), x, y)
cond3(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond3(false, x, y) → cond1(gr(add(x, y), 0), x, p(y))
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
add(0, x) → x
add(s(x), y) → s(add(x, y))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
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))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
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))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
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))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
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(gr(add(x, y), 0), p(x), y)
COND1(true, x, y) → COND2(gr(x, y), x, y)
COND2(false, x, y) → COND3(eq(x, y), x, y)
COND3(true, x, y) → COND1(gr(add(x, y), 0), p(x), y)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
cond1(true, x, y) → cond2(gr(x, y), x, y)
cond2(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond2(false, x, y) → cond3(eq(x, y), x, y)
cond3(true, x, y) → cond1(gr(add(x, y), 0), p(x), y)
cond3(false, x, y) → cond1(gr(add(x, y), 0), x, p(y))
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
add(0, x) → x
add(s(x), y) → s(add(x, y))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
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))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND2(true, x, y) → COND1(gr(add(x, y), 0), p(x), y)
COND1(true, x, y) → COND2(gr(x, y), x, y)
COND2(false, x, y) → COND3(eq(x, y), x, y)
COND3(true, x, y) → COND1(gr(add(x, y), 0), p(x), y)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
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))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
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(gr(add(x, y), 0), p(x), y)
COND1(true, x, y) → COND2(gr(x, y), x, y)
COND2(false, x, y) → COND3(eq(x, y), x, y)
COND3(true, x, y) → COND1(gr(add(x, y), 0), p(x), y)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND2(true, 0, x0) → COND1(gr(x0, 0), p(0), x0) → COND2(true, 0, x0) → COND1(gr(x0, 0), p(0), x0)
COND2(true, s(x0), x1) → COND1(gr(s(add(x0, x1)), 0), p(s(x0)), x1) → COND2(true, s(x0), x1) → COND1(gr(s(add(x0, x1)), 0), p(s(x0)), x1)
COND1(true, x, y) → COND2(gr(x, y), x, y)
COND2(false, x, y) → COND3(eq(x, y), x, y)
COND3(true, x, y) → COND1(gr(add(x, y), 0), p(x), y)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND2(true, 0, x0) → COND1(gr(x0, 0), p(0), x0)
COND2(true, s(x0), x1) → COND1(gr(s(add(x0, x1)), 0), p(s(x0)), x1)
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND2(true, 0, x0) → COND1(gr(x0, 0), 0, x0) → COND2(true, 0, x0) → COND1(gr(x0, 0), 0, x0)
COND1(true, x, y) → COND2(gr(x, y), x, y)
COND2(false, x, y) → COND3(eq(x, y), x, y)
COND3(true, x, y) → COND1(gr(add(x, y), 0), p(x), y)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND2(true, s(x0), x1) → COND1(gr(s(add(x0, x1)), 0), p(s(x0)), x1)
COND2(true, 0, x0) → COND1(gr(x0, 0), 0, x0)
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND2(true, s(x0), x1) → COND1(true, p(s(x0)), x1) → COND2(true, s(x0), x1) → COND1(true, p(s(x0)), x1)
COND1(true, x, y) → COND2(gr(x, y), x, y)
COND2(false, x, y) → COND3(eq(x, y), x, y)
COND3(true, x, y) → COND1(gr(add(x, y), 0), p(x), y)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND2(true, 0, x0) → COND1(gr(x0, 0), 0, x0)
COND2(true, s(x0), x1) → COND1(true, p(s(x0)), x1)
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND2(true, s(x0), x1) → COND1(true, x0, x1) → COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, x, y) → COND2(gr(x, y), x, y)
COND2(false, x, y) → COND3(eq(x, y), x, y)
COND3(true, x, y) → COND1(gr(add(x, y), 0), p(x), y)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND2(true, 0, x0) → COND1(gr(x0, 0), 0, x0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND1(true, 0, x0) → COND2(false, 0, x0) → COND1(true, 0, x0) → COND2(false, 0, x0)
COND1(true, s(x0), 0) → COND2(true, s(x0), 0) → COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1)) → COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, x, y) → COND3(eq(x, y), x, y)
COND3(true, x, y) → COND1(gr(add(x, y), 0), p(x), y)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND2(true, 0, x0) → COND1(gr(x0, 0), 0, x0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, 0, x0) → COND2(false, 0, x0)
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND3(true, x, y) → COND1(gr(add(x, y), 0), p(x), y)
COND1(true, 0, x0) → COND2(false, 0, x0)
COND2(false, x, y) → COND3(eq(x, y), x, y)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND3(true, 0, x0) → COND1(gr(x0, 0), p(0), x0) → COND3(true, 0, x0) → COND1(gr(x0, 0), p(0), x0)
COND3(true, s(x0), x1) → COND1(gr(s(add(x0, x1)), 0), p(s(x0)), x1) → COND3(true, s(x0), x1) → COND1(gr(s(add(x0, x1)), 0), p(s(x0)), x1)
COND1(true, 0, x0) → COND2(false, 0, x0)
COND2(false, x, y) → COND3(eq(x, y), x, y)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND3(true, 0, x0) → COND1(gr(x0, 0), p(0), x0)
COND3(true, s(x0), x1) → COND1(gr(s(add(x0, x1)), 0), p(s(x0)), x1)
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND3(true, 0, x0) → COND1(gr(x0, 0), 0, x0) → COND3(true, 0, x0) → COND1(gr(x0, 0), 0, x0)
COND1(true, 0, x0) → COND2(false, 0, x0)
COND2(false, x, y) → COND3(eq(x, y), x, y)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(gr(s(add(x0, x1)), 0), p(s(x0)), x1)
COND3(true, 0, x0) → COND1(gr(x0, 0), 0, x0)
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND3(true, s(x0), x1) → COND1(true, p(s(x0)), x1) → COND3(true, s(x0), x1) → COND1(true, p(s(x0)), x1)
COND1(true, 0, x0) → COND2(false, 0, x0)
COND2(false, x, y) → COND3(eq(x, y), x, y)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND3(true, 0, x0) → COND1(gr(x0, 0), 0, x0)
COND3(true, s(x0), x1) → COND1(true, p(s(x0)), x1)
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND3(true, s(x0), x1) → COND1(true, x0, x1) → COND3(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, 0, x0) → COND2(false, 0, x0)
COND2(false, x, y) → COND3(eq(x, y), x, y)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND3(true, 0, x0) → COND1(gr(x0, 0), 0, x0)
COND3(true, s(x0), x1) → COND1(true, x0, x1)
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND2(false, 0, 0) → COND3(true, 0, 0) → COND2(false, 0, 0) → COND3(true, 0, 0)
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0)) → COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND2(false, s(x0), 0) → COND3(false, s(x0), 0) → COND2(false, s(x0), 0) → COND3(false, s(x0), 0)
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1)) → COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND1(true, 0, x0) → COND2(false, 0, x0)
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND3(true, 0, x0) → COND1(gr(x0, 0), 0, x0)
COND3(true, s(x0), x1) → COND1(true, x0, x1)
COND2(false, 0, 0) → COND3(true, 0, 0)
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND2(false, s(x0), 0) → COND3(false, s(x0), 0)
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND2(false, 0, 0) → COND3(true, 0, 0)
COND3(true, 0, x0) → COND1(gr(x0, 0), 0, x0)
COND1(true, 0, x0) → COND2(false, 0, x0)
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(true, x0, x1)
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND3(true, 0, 0) → COND1(false, 0, 0) → COND3(true, 0, 0) → COND1(false, 0, 0)
COND3(true, 0, s(x0)) → COND1(true, 0, s(x0)) → COND3(true, 0, s(x0)) → COND1(true, 0, s(x0))
COND2(false, 0, 0) → COND3(true, 0, 0)
COND1(true, 0, x0) → COND2(false, 0, x0)
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(true, x0, x1)
COND3(true, 0, 0) → COND1(false, 0, 0)
COND3(true, 0, s(x0)) → COND1(true, 0, s(x0))
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND3(false, x, y) → COND1(gr(add(x, y), 0), x, p(y))
COND1(true, 0, x0) → COND2(false, 0, x0)
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(true, x0, x1)
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND3(false, 0, x0) → COND1(gr(x0, 0), 0, p(x0)) → COND3(false, 0, x0) → COND1(gr(x0, 0), 0, p(x0))
COND3(false, s(x0), x1) → COND1(gr(s(add(x0, x1)), 0), s(x0), p(x1)) → COND3(false, s(x0), x1) → COND1(gr(s(add(x0, x1)), 0), s(x0), p(x1))
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND1(true, 0, x0) → COND2(false, 0, x0)
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(true, x0, x1)
COND3(false, 0, x0) → COND1(gr(x0, 0), 0, p(x0))
COND3(false, s(x0), x1) → COND1(gr(s(add(x0, x1)), 0), s(x0), p(x1))
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND3(false, 0, x0) → COND1(gr(x0, 0), 0, p(x0))
COND1(true, 0, x0) → COND2(false, 0, x0)
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND3(false, 0, x0) → COND1(gr(x0, 0), 0, p(x0))
COND1(true, 0, x0) → COND2(false, 0, x0)
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
COND3(false, 0, x0) → COND1(gr(x0, 0), 0, p(x0))
COND1(true, 0, x0) → COND2(false, 0, x0)
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND3(false, 0, 0) → COND1(false, 0, p(0)) → COND3(false, 0, 0) → COND1(false, 0, p(0))
COND3(false, 0, s(x0)) → COND1(true, 0, p(s(x0))) → COND3(false, 0, s(x0)) → COND1(true, 0, p(s(x0)))
COND1(true, 0, x0) → COND2(false, 0, x0)
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND3(false, 0, 0) → COND1(false, 0, p(0))
COND3(false, 0, s(x0)) → COND1(true, 0, p(s(x0)))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND3(false, 0, s(x0)) → COND1(true, 0, p(s(x0)))
COND1(true, 0, x0) → COND2(false, 0, x0)
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND3(false, 0, s(x0)) → COND1(true, 0, p(s(x0)))
COND1(true, 0, x0) → COND2(false, 0, x0)
p(s(x)) → x
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND3(false, 0, s(x0)) → COND1(true, 0, p(s(x0)))
COND1(true, 0, x0) → COND2(false, 0, x0)
p(s(x)) → x
p(0)
p(s(x0))
COND3(false, 0, s(x0)) → COND1(true, 0, x0) → COND3(false, 0, s(x0)) → COND1(true, 0, x0)
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND1(true, 0, x0) → COND2(false, 0, x0)
COND3(false, 0, s(x0)) → COND1(true, 0, x0)
p(s(x)) → x
p(0)
p(s(x0))
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND1(true, 0, x0) → COND2(false, 0, x0)
COND3(false, 0, s(x0)) → COND1(true, 0, x0)
p(0)
p(s(x0))
p(0)
p(s(x0))
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND1(true, 0, x0) → COND2(false, 0, x0)
COND3(false, 0, s(x0)) → COND1(true, 0, x0)
COND1(true, 0, s(y_0)) → COND2(false, 0, s(y_0)) → COND1(true, 0, s(y_0)) → COND2(false, 0, s(y_0))
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND3(false, 0, s(x0)) → COND1(true, 0, x0)
COND1(true, 0, s(y_0)) → COND2(false, 0, s(y_0))
COND3(false, 0, s(s(y_0))) → COND1(true, 0, s(y_0)) → COND3(false, 0, s(s(y_0))) → COND1(true, 0, s(y_0))
COND2(false, 0, s(x0)) → COND3(false, 0, s(x0))
COND1(true, 0, s(y_0)) → COND2(false, 0, s(y_0))
COND3(false, 0, s(s(y_0))) → COND1(true, 0, s(y_0))
COND2(false, 0, s(s(y_0))) → COND3(false, 0, s(s(y_0))) → COND2(false, 0, s(s(y_0))) → COND3(false, 0, s(s(y_0)))
COND1(true, 0, s(y_0)) → COND2(false, 0, s(y_0))
COND3(false, 0, s(s(y_0))) → COND1(true, 0, s(y_0))
COND2(false, 0, s(s(y_0))) → COND3(false, 0, s(s(y_0)))
From the DPs we obtained the following set of size-change graphs:
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(true, x0, x1)
COND3(false, s(x0), x1) → COND1(gr(s(add(x0, x1)), 0), s(x0), p(x1))
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND3(false, s(x0), x1) → COND1(true, s(x0), p(x1)) → COND3(false, s(x0), x1) → COND1(true, s(x0), p(x1))
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(true, x0, x1)
COND3(false, s(x0), x1) → COND1(true, s(x0), p(x1))
add(0, x) → x
add(s(x), y) → s(add(x, y))
gr(0, x) → false
gr(s(x), 0) → true
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(true, x0, x1)
COND3(false, s(x0), x1) → COND1(true, s(x0), p(x1))
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
add(0, x0)
add(s(x0), x1)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
add(0, x0)
add(s(x0), x1)
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(true, x0, x1)
COND3(false, s(x0), x1) → COND1(true, s(x0), p(x1))
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND3(false, s(y0), 0) → COND1(true, s(y0), 0) → COND3(false, s(y0), 0) → COND1(true, s(y0), 0)
COND3(false, s(y0), s(x0)) → COND1(true, s(y0), x0) → COND3(false, s(y0), s(x0)) → COND1(true, s(y0), x0)
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(true, x0, x1)
COND3(false, s(y0), 0) → COND1(true, s(y0), 0)
COND3(false, s(y0), s(x0)) → COND1(true, s(y0), x0)
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(true, x0, x1)
COND3(false, s(y0), s(x0)) → COND1(true, s(y0), x0)
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(true, x0, x1)
COND3(false, s(y0), s(x0)) → COND1(true, s(y0), x0)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
p(0)
p(s(x0))
p(0)
p(s(x0))
COND2(true, s(x0), x1) → COND1(true, x0, x1)
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(true, x0, x1)
COND3(false, s(y0), s(x0)) → COND1(true, s(y0), x0)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
COND2(true, s(z0), 0) → COND1(true, z0, 0) → COND2(true, s(z0), 0) → COND1(true, z0, 0)
COND2(true, s(z0), s(z1)) → COND1(true, z0, s(z1)) → COND2(true, s(z0), s(z1)) → COND1(true, z0, s(z1))
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(true, x0, x1)
COND3(false, s(y0), s(x0)) → COND1(true, s(y0), x0)
COND2(true, s(z0), 0) → COND1(true, z0, 0)
COND2(true, s(z0), s(z1)) → COND1(true, z0, s(z1))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
COND2(true, s(z0), 0) → COND1(true, z0, 0)
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
COND2(true, s(z0), 0) → COND1(true, z0, 0)
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
COND2(true, s(z0), 0) → COND1(true, z0, 0)
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(s(y_0)), 0) → COND1(true, s(y_0), 0) → COND2(true, s(s(y_0)), 0) → COND1(true, s(y_0), 0)
COND1(true, s(x0), 0) → COND2(true, s(x0), 0)
COND2(true, s(s(y_0)), 0) → COND1(true, s(y_0), 0)
COND1(true, s(s(y_0)), 0) → COND2(true, s(s(y_0)), 0) → COND1(true, s(s(y_0)), 0) → COND2(true, s(s(y_0)), 0)
COND2(true, s(s(y_0)), 0) → COND1(true, s(y_0), 0)
COND1(true, s(s(y_0)), 0) → COND2(true, s(s(y_0)), 0)
From the DPs we obtained the following set of size-change graphs:
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(x0), x1) → COND1(true, x0, x1)
COND3(false, s(y0), s(x0)) → COND1(true, s(y0), x0)
COND2(true, s(z0), s(z1)) → COND1(true, z0, s(z1))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
COND3(true, s(z0), s(z1)) → COND1(true, z0, s(z1)) → COND3(true, s(z0), s(z1)) → COND1(true, z0, s(z1))
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(false, s(y0), s(x0)) → COND1(true, s(y0), x0)
COND2(true, s(z0), s(z1)) → COND1(true, z0, s(z1))
COND3(true, s(z0), s(z1)) → COND1(true, z0, s(z1))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
COND3(false, s(x0), s(s(y_1))) → COND1(true, s(x0), s(y_1)) → COND3(false, s(x0), s(s(y_1))) → COND1(true, s(x0), s(y_1))
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND2(true, s(z0), s(z1)) → COND1(true, z0, s(z1))
COND3(true, s(z0), s(z1)) → COND1(true, z0, s(z1))
COND3(false, s(x0), s(s(y_1))) → COND1(true, s(x0), s(y_1))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
COND2(true, s(s(y_0)), s(x1)) → COND1(true, s(y_0), s(x1)) → COND2(true, s(s(y_0)), s(x1)) → COND1(true, s(y_0), s(x1))
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(true, s(z0), s(z1)) → COND1(true, z0, s(z1))
COND3(false, s(x0), s(s(y_1))) → COND1(true, s(x0), s(y_1))
COND2(true, s(s(y_0)), s(x1)) → COND1(true, s(y_0), s(x1))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
COND3(true, s(s(y_0)), s(x1)) → COND1(true, s(y_0), s(x1)) → COND3(true, s(s(y_0)), s(x1)) → COND1(true, s(y_0), s(x1))
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND2(false, s(x0), s(x1)) → COND3(eq(x0, x1), s(x0), s(x1))
COND3(false, s(x0), s(s(y_1))) → COND1(true, s(x0), s(y_1))
COND2(true, s(s(y_0)), s(x1)) → COND1(true, s(y_0), s(x1))
COND3(true, s(s(y_0)), s(x1)) → COND1(true, s(y_0), s(x1))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
COND2(false, s(x0), s(s(y_2))) → COND3(eq(x0, s(y_2)), s(x0), s(s(y_2))) → COND2(false, s(x0), s(s(y_2))) → COND3(eq(x0, s(y_2)), s(x0), s(s(y_2)))
COND2(false, s(s(y_1)), s(x1)) → COND3(eq(s(y_1), x1), s(s(y_1)), s(x1)) → COND2(false, s(s(y_1)), s(x1)) → COND3(eq(s(y_1), x1), s(s(y_1)), s(x1))
COND1(true, s(x0), s(x1)) → COND2(gr(x0, x1), s(x0), s(x1))
COND3(false, s(x0), s(s(y_1))) → COND1(true, s(x0), s(y_1))
COND2(true, s(s(y_0)), s(x1)) → COND1(true, s(y_0), s(x1))
COND3(true, s(s(y_0)), s(x1)) → COND1(true, s(y_0), s(x1))
COND2(false, s(x0), s(s(y_2))) → COND3(eq(x0, s(y_2)), s(x0), s(s(y_2)))
COND2(false, s(s(y_1)), s(x1)) → COND3(eq(s(y_1), x1), s(s(y_1)), s(x1))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
COND1(true, s(s(y_1)), s(x1)) → COND2(gr(s(y_1), x1), s(s(y_1)), s(x1)) → COND1(true, s(s(y_1)), s(x1)) → COND2(gr(s(y_1), x1), s(s(y_1)), s(x1))
COND1(true, s(x0), s(s(y_2))) → COND2(gr(x0, s(y_2)), s(x0), s(s(y_2))) → COND1(true, s(x0), s(s(y_2))) → COND2(gr(x0, s(y_2)), s(x0), s(s(y_2)))
COND3(false, s(x0), s(s(y_1))) → COND1(true, s(x0), s(y_1))
COND2(true, s(s(y_0)), s(x1)) → COND1(true, s(y_0), s(x1))
COND3(true, s(s(y_0)), s(x1)) → COND1(true, s(y_0), s(x1))
COND2(false, s(x0), s(s(y_2))) → COND3(eq(x0, s(y_2)), s(x0), s(s(y_2)))
COND2(false, s(s(y_1)), s(x1)) → COND3(eq(s(y_1), x1), s(s(y_1)), s(x1))
COND1(true, s(s(y_1)), s(x1)) → COND2(gr(s(y_1), x1), s(s(y_1)), s(x1))
COND1(true, s(x0), s(s(y_2))) → COND2(gr(x0, s(y_2)), s(x0), s(s(y_2)))
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
From the DPs we obtained the following set of size-change graphs: