0 QTRS
↳1 AAECC Innermost (⇔)
↳2 QTRS
↳3 DependencyPairsProof (⇔)
↳4 QDP
↳5 DependencyGraphProof (⇔)
↳6 AND
↳7 QDP
↳8 UsableRulesProof (⇔)
↳9 QDP
↳10 QReductionProof (⇔)
↳11 QDP
↳12 QDPSizeChangeProof (⇔)
↳13 TRUE
↳14 QDP
↳15 UsableRulesProof (⇔)
↳16 QDP
↳17 QReductionProof (⇔)
↳18 QDP
↳19 Narrowing (⇔)
↳20 QDP
↳21 Rewriting (⇔)
↳22 QDP
↳23 DependencyGraphProof (⇔)
↳24 QDP
↳25 Rewriting (⇔)
↳26 QDP
↳27 Rewriting (⇔)
↳28 QDP
↳29 DependencyGraphProof (⇔)
↳30 QDP
↳31 Rewriting (⇔)
↳32 QDP
↳33 Narrowing (⇔)
↳34 QDP
↳35 DependencyGraphProof (⇔)
↳36 QDP
↳37 UsableRulesProof (⇔)
↳38 QDP
↳39 Rewriting (⇔)
↳40 QDP
↳41 Rewriting (⇔)
↳42 QDP
↳43 Narrowing (⇔)
↳44 QDP
↳45 DependencyGraphProof (⇔)
↳46 QDP
↳47 UsableRulesProof (⇔)
↳48 QDP
↳49 QReductionProof (⇔)
↳50 QDP
↳51 Rewriting (⇔)
↳52 QDP
↳53 UsableRulesProof (⇔)
↳54 QDP
↳55 QReductionProof (⇔)
↳56 QDP
↳57 Rewriting (⇔)
↳58 QDP
↳59 UsableRulesProof (⇔)
↳60 QDP
↳61 QReductionProof (⇔)
↳62 QDP
↳63 QDPSizeChangeProof (⇔)
↳64 TRUE
cond(true, x, y) → cond(and(gr(x, 0), gr(y, 0)), p(x), p(y))
and(true, true) → true
and(x, false) → false
and(false, x) → false
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
and(true, true) → true
and(x, false) → false
and(false, x) → false
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
cond(true, x, y) → cond(and(gr(x, 0), gr(y, 0)), p(x), p(y))
cond(true, x, y) → cond(and(gr(x, 0), gr(y, 0)), p(x), p(y))
and(true, true) → true
and(x, false) → false
and(false, x) → false
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
cond(true, x0, x1)
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, x, y) → COND(and(gr(x, 0), gr(y, 0)), p(x), p(y))
COND(true, x, y) → AND(gr(x, 0), gr(y, 0))
COND(true, x, y) → GR(x, 0)
COND(true, x, y) → GR(y, 0)
COND(true, x, y) → P(x)
COND(true, x, y) → P(y)
GR(s(x), s(y)) → GR(x, y)
cond(true, x, y) → cond(and(gr(x, 0), gr(y, 0)), p(x), p(y))
and(true, true) → true
and(x, false) → false
and(false, x) → false
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
cond(true, x0, x1)
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
GR(s(x), s(y)) → GR(x, y)
cond(true, x, y) → cond(and(gr(x, 0), gr(y, 0)), p(x), p(y))
and(true, true) → true
and(x, false) → false
and(false, x) → false
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
cond(true, x0, x1)
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
GR(s(x), s(y)) → GR(x, y)
cond(true, x0, x1)
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
cond(true, x0, x1)
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(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:
COND(true, x, y) → COND(and(gr(x, 0), gr(y, 0)), p(x), p(y))
cond(true, x, y) → cond(and(gr(x, 0), gr(y, 0)), p(x), p(y))
and(true, true) → true
and(x, false) → false
and(false, x) → false
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
cond(true, x0, x1)
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, x, y) → COND(and(gr(x, 0), gr(y, 0)), p(x), p(y))
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(true, true) → true
and(x, false) → false
and(false, x) → false
p(0) → 0
p(s(x)) → x
cond(true, x0, x1)
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
cond(true, x0, x1)
COND(true, x, y) → COND(and(gr(x, 0), gr(y, 0)), p(x), p(y))
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(true, true) → true
and(x, false) → false
and(false, x) → false
p(0) → 0
p(s(x)) → x
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, 0, y1) → COND(and(false, gr(y1, 0)), p(0), p(y1))
COND(true, s(x0), y1) → COND(and(true, gr(y1, 0)), p(s(x0)), p(y1))
COND(true, y0, 0) → COND(and(gr(y0, 0), false), p(y0), p(0))
COND(true, y0, s(x0)) → COND(and(gr(y0, 0), true), p(y0), p(s(x0)))
COND(true, 0, y1) → COND(and(false, gr(y1, 0)), p(0), p(y1))
COND(true, s(x0), y1) → COND(and(true, gr(y1, 0)), p(s(x0)), p(y1))
COND(true, y0, 0) → COND(and(gr(y0, 0), false), p(y0), p(0))
COND(true, y0, s(x0)) → COND(and(gr(y0, 0), true), p(y0), p(s(x0)))
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(true, true) → true
and(x, false) → false
and(false, x) → false
p(0) → 0
p(s(x)) → x
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, 0, y1) → COND(false, p(0), p(y1))
COND(true, s(x0), y1) → COND(and(true, gr(y1, 0)), p(s(x0)), p(y1))
COND(true, y0, 0) → COND(and(gr(y0, 0), false), p(y0), p(0))
COND(true, y0, s(x0)) → COND(and(gr(y0, 0), true), p(y0), p(s(x0)))
COND(true, 0, y1) → COND(false, p(0), p(y1))
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(true, true) → true
and(x, false) → false
and(false, x) → false
p(0) → 0
p(s(x)) → x
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, s(x0), y1) → COND(and(true, gr(y1, 0)), p(s(x0)), p(y1))
COND(true, y0, 0) → COND(and(gr(y0, 0), false), p(y0), p(0))
COND(true, y0, s(x0)) → COND(and(gr(y0, 0), true), p(y0), p(s(x0)))
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(true, true) → true
and(x, false) → false
and(false, x) → false
p(0) → 0
p(s(x)) → x
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, s(x0), y1) → COND(and(true, gr(y1, 0)), x0, p(y1))
COND(true, y0, 0) → COND(and(gr(y0, 0), false), p(y0), p(0))
COND(true, y0, s(x0)) → COND(and(gr(y0, 0), true), p(y0), p(s(x0)))
COND(true, s(x0), y1) → COND(and(true, gr(y1, 0)), x0, p(y1))
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(true, true) → true
and(x, false) → false
and(false, x) → false
p(0) → 0
p(s(x)) → x
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, y0, 0) → COND(false, p(y0), p(0))
COND(true, y0, s(x0)) → COND(and(gr(y0, 0), true), p(y0), p(s(x0)))
COND(true, s(x0), y1) → COND(and(true, gr(y1, 0)), x0, p(y1))
COND(true, y0, 0) → COND(false, p(y0), p(0))
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(true, true) → true
and(x, false) → false
and(false, x) → false
p(0) → 0
p(s(x)) → x
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, y0, s(x0)) → COND(and(gr(y0, 0), true), p(y0), p(s(x0)))
COND(true, s(x0), y1) → COND(and(true, gr(y1, 0)), x0, p(y1))
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(true, true) → true
and(x, false) → false
and(false, x) → false
p(0) → 0
p(s(x)) → x
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, y0, s(x0)) → COND(and(gr(y0, 0), true), p(y0), x0)
COND(true, s(x0), y1) → COND(and(true, gr(y1, 0)), x0, p(y1))
COND(true, y0, s(x0)) → COND(and(gr(y0, 0), true), p(y0), x0)
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(true, true) → true
and(x, false) → false
and(false, x) → false
p(0) → 0
p(s(x)) → x
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, s(y0), 0) → COND(and(true, false), y0, p(0))
COND(true, s(y0), s(x0)) → COND(and(true, true), y0, p(s(x0)))
COND(true, y0, s(x0)) → COND(and(gr(y0, 0), true), p(y0), x0)
COND(true, s(y0), 0) → COND(and(true, false), y0, p(0))
COND(true, s(y0), s(x0)) → COND(and(true, true), y0, p(s(x0)))
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(true, true) → true
and(x, false) → false
and(false, x) → false
p(0) → 0
p(s(x)) → x
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, y0, s(x0)) → COND(and(gr(y0, 0), true), p(y0), x0)
COND(true, s(y0), s(x0)) → COND(and(true, true), y0, p(s(x0)))
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(true, true) → true
and(x, false) → false
and(false, x) → false
p(0) → 0
p(s(x)) → x
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, y0, s(x0)) → COND(and(gr(y0, 0), true), p(y0), x0)
COND(true, s(y0), s(x0)) → COND(and(true, true), y0, p(s(x0)))
and(true, true) → true
p(s(x)) → x
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(false, x) → false
p(0) → 0
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, s(y0), s(x0)) → COND(true, y0, p(s(x0)))
COND(true, y0, s(x0)) → COND(and(gr(y0, 0), true), p(y0), x0)
COND(true, s(y0), s(x0)) → COND(true, y0, p(s(x0)))
and(true, true) → true
p(s(x)) → x
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(false, x) → false
p(0) → 0
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, s(y0), s(x0)) → COND(true, y0, x0)
COND(true, y0, s(x0)) → COND(and(gr(y0, 0), true), p(y0), x0)
COND(true, s(y0), s(x0)) → COND(true, y0, x0)
and(true, true) → true
p(s(x)) → x
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(false, x) → false
p(0) → 0
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, 0, s(y1)) → COND(and(false, true), p(0), y1)
COND(true, s(x0), s(y1)) → COND(and(true, true), p(s(x0)), y1)
COND(true, s(y0), s(x0)) → COND(true, y0, x0)
COND(true, 0, s(y1)) → COND(and(false, true), p(0), y1)
COND(true, s(x0), s(y1)) → COND(and(true, true), p(s(x0)), y1)
and(true, true) → true
p(s(x)) → x
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(false, x) → false
p(0) → 0
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, s(y0), s(x0)) → COND(true, y0, x0)
COND(true, s(x0), s(y1)) → COND(and(true, true), p(s(x0)), y1)
and(true, true) → true
p(s(x)) → x
gr(0, 0) → false
gr(0, x) → false
gr(s(x), 0) → true
and(false, x) → false
p(0) → 0
and(true, true)
and(x0, false)
and(false, x0)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
COND(true, s(y0), s(x0)) → COND(true, y0, x0)
COND(true, s(x0), s(y1)) → COND(and(true, true), p(s(x0)), y1)
and(true, true) → true
p(s(x)) → x
and(true, true)
and(x0, false)
and(false, x0)
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))
COND(true, s(y0), s(x0)) → COND(true, y0, x0)
COND(true, s(x0), s(y1)) → COND(and(true, true), p(s(x0)), y1)
and(true, true) → true
p(s(x)) → x
and(true, true)
and(x0, false)
and(false, x0)
p(0)
p(s(x0))
COND(true, s(x0), s(y1)) → COND(true, p(s(x0)), y1)
COND(true, s(y0), s(x0)) → COND(true, y0, x0)
COND(true, s(x0), s(y1)) → COND(true, p(s(x0)), y1)
and(true, true) → true
p(s(x)) → x
and(true, true)
and(x0, false)
and(false, x0)
p(0)
p(s(x0))
COND(true, s(y0), s(x0)) → COND(true, y0, x0)
COND(true, s(x0), s(y1)) → COND(true, p(s(x0)), y1)
p(s(x)) → x
and(true, true)
and(x0, false)
and(false, x0)
p(0)
p(s(x0))
and(true, true)
and(x0, false)
and(false, x0)
COND(true, s(y0), s(x0)) → COND(true, y0, x0)
COND(true, s(x0), s(y1)) → COND(true, p(s(x0)), y1)
p(s(x)) → x
p(0)
p(s(x0))
COND(true, s(x0), s(y1)) → COND(true, x0, y1)
COND(true, s(y0), s(x0)) → COND(true, y0, x0)
p(s(x)) → x
p(0)
p(s(x0))
COND(true, s(y0), s(x0)) → COND(true, y0, x0)
p(0)
p(s(x0))
p(0)
p(s(x0))
COND(true, s(y0), s(x0)) → COND(true, y0, x0)
From the DPs we obtained the following set of size-change graphs: