R
↳Dependency Pair Analysis
MINUS(s(x), s(y)) -> MINUS(x, y)
LE(s(x), s(y)) -> LE(x, y)
QUOT(x, s(y)) -> IFQUOT(le(s(y), x), x, s(y))
QUOT(x, s(y)) -> LE(s(y), x)
IFQUOT(true, x, y) -> QUOT(minus(x, y), y)
IFQUOT(true, x, y) -> MINUS(x, y)
R
↳DPs
→DP Problem 1
↳Argument Filtering and Ordering
→DP Problem 2
↳AFS
→DP Problem 3
↳Remaining
MINUS(s(x), s(y)) -> MINUS(x, y)
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
quot(x, s(y)) -> ifquot(le(s(y), x), x, s(y))
ifquot(true, x, y) -> s(quot(minus(x, y), y))
ifquot(false, x, y) -> 0
MINUS(s(x), s(y)) -> MINUS(x, y)
POL(MINUS(x1, x2)) = x1 + x2 POL(s(x1)) = 1 + x1
MINUS(x1, x2) -> MINUS(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 4
↳Dependency Graph
→DP Problem 2
↳AFS
→DP Problem 3
↳Remaining
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
quot(x, s(y)) -> ifquot(le(s(y), x), x, s(y))
ifquot(true, x, y) -> s(quot(minus(x, y), y))
ifquot(false, x, y) -> 0
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳Argument Filtering and Ordering
→DP Problem 3
↳Remaining
LE(s(x), s(y)) -> LE(x, y)
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
quot(x, s(y)) -> ifquot(le(s(y), x), x, s(y))
ifquot(true, x, y) -> s(quot(minus(x, y), y))
ifquot(false, x, y) -> 0
LE(s(x), s(y)) -> LE(x, y)
POL(LE(x1, x2)) = x1 + x2 POL(s(x1)) = 1 + x1
LE(x1, x2) -> LE(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 5
↳Dependency Graph
→DP Problem 3
↳Remaining
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
quot(x, s(y)) -> ifquot(le(s(y), x), x, s(y))
ifquot(true, x, y) -> s(quot(minus(x, y), y))
ifquot(false, x, y) -> 0
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳Remaining Obligation(s)
IFQUOT(true, x, y) -> QUOT(minus(x, y), y)
QUOT(x, s(y)) -> IFQUOT(le(s(y), x), x, s(y))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
quot(x, s(y)) -> ifquot(le(s(y), x), x, s(y))
ifquot(true, x, y) -> s(quot(minus(x, y), y))
ifquot(false, x, y) -> 0