R
↳Dependency Pair Analysis
APP(app(minus, x), app(s, y)) -> APP(pred, app(app(minus, x), y))
APP(app(minus, x), app(s, y)) -> APP(app(minus, x), y)
APP(app(quot, app(s, x)), app(s, y)) -> APP(s, app(app(quot, app(app(minus, x), y)), app(s, y)))
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(quot, app(app(minus, x), y)), app(s, y))
APP(app(quot, app(s, x)), app(s, y)) -> APP(quot, app(app(minus, x), y))
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(quot, app(s, x)), app(s, y)) -> APP(minus, x)
R
↳DPs
→DP Problem 1
↳Polynomial Ordering
→DP Problem 2
↳Nar
APP(app(minus, x), app(s, y)) -> APP(app(minus, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(quot, 0), app(s, y)) -> 0
app(app(quot, app(s, x)), app(s, y)) -> app(s, app(app(quot, app(app(minus, x), y)), app(s, y)))
innermost
APP(app(minus, x), app(s, y)) -> APP(app(minus, x), y)
POL(0) = 0 POL(pred) = 0 POL(minus) = 0 POL(quot) = 0 POL(s) = 1 POL(app(x1, x2)) = x1 + x2 POL(APP(x1, x2)) = x2
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 3
↳Dependency Graph
→DP Problem 2
↳Nar
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(quot, 0), app(s, y)) -> 0
app(app(quot, app(s, x)), app(s, y)) -> app(s, app(app(quot, app(app(minus, x), y)), app(s, y)))
innermost
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Narrowing Transformation
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(quot, app(app(minus, x), y)), app(s, y))
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(quot, 0), app(s, y)) -> 0
app(app(quot, app(s, x)), app(s, y)) -> app(s, app(app(quot, app(app(minus, x), y)), app(s, y)))
innermost
no new Dependency Pairs are created.
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Narrowing Transformation
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(quot, app(app(minus, x), y)), app(s, y))
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(quot, 0), app(s, y)) -> 0
app(app(quot, app(s, x)), app(s, y)) -> app(s, app(app(quot, app(app(minus, x), y)), app(s, y)))
innermost
two new Dependency Pairs are created:
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(quot, app(app(minus, x), y)), app(s, y))
APP(app(quot, app(s, x'')), app(s, 0)) -> APP(app(quot, x''), app(s, 0))
APP(app(quot, app(s, x'')), app(s, app(s, y''))) -> APP(app(quot, app(pred, app(app(minus, x''), y''))), app(s, app(s, y'')))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 6
↳Remaining Obligation(s)
APP(app(quot, app(s, x'')), app(s, 0)) -> APP(app(quot, x''), app(s, 0))
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(quot, 0), app(s, y)) -> 0
app(app(quot, app(s, x)), app(s, y)) -> app(s, app(app(quot, app(app(minus, x), y)), app(s, y)))
innermost
APP(app(quot, app(s, x'')), app(s, app(s, y''))) -> APP(app(quot, app(pred, app(app(minus, x''), y''))), app(s, app(s, y'')))
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(quot, 0), app(s, y)) -> 0
app(app(quot, app(s, x)), app(s, y)) -> app(s, app(app(quot, app(app(minus, x), y)), app(s, y)))
innermost
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 6
↳Remaining Obligation(s)
APP(app(quot, app(s, x'')), app(s, 0)) -> APP(app(quot, x''), app(s, 0))
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(quot, 0), app(s, y)) -> 0
app(app(quot, app(s, x)), app(s, y)) -> app(s, app(app(quot, app(app(minus, x), y)), app(s, y)))
innermost
APP(app(quot, app(s, x'')), app(s, app(s, y''))) -> APP(app(quot, app(pred, app(app(minus, x''), y''))), app(s, app(s, y'')))
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(quot, 0), app(s, y)) -> 0
app(app(quot, app(s, x)), app(s, y)) -> app(s, app(app(quot, app(app(minus, x), y)), app(s, y)))
innermost