R
↳Dependency Pair Analysis
APP(app(ack, 0), y) -> APP(succ, y)
APP(app(ack, app(succ, x)), y) -> APP(app(ack, x), app(succ, 0))
APP(app(ack, app(succ, x)), y) -> APP(ack, x)
APP(app(ack, app(succ, x)), y) -> APP(succ, 0)
APP(app(ack, app(succ, x)), app(succ, y)) -> APP(app(ack, x), app(app(ack, app(succ, x)), y))
APP(app(ack, app(succ, x)), app(succ, y)) -> APP(ack, x)
APP(app(ack, app(succ, x)), app(succ, y)) -> APP(app(ack, app(succ, x)), y)
R
↳DPs
→DP Problem 1
↳Narrowing Transformation
APP(app(ack, app(succ, x)), app(succ, y)) -> APP(app(ack, app(succ, x)), y)
APP(app(ack, app(succ, x)), app(succ, y)) -> APP(app(ack, x), app(app(ack, app(succ, x)), y))
APP(app(ack, app(succ, x)), y) -> APP(app(ack, x), app(succ, 0))
app(app(ack, 0), y) -> app(succ, y)
app(app(ack, app(succ, x)), y) -> app(app(ack, x), app(succ, 0))
app(app(ack, app(succ, x)), app(succ, y)) -> app(app(ack, x), app(app(ack, app(succ, x)), y))
innermost
two new Dependency Pairs are created:
APP(app(ack, app(succ, x)), app(succ, y)) -> APP(app(ack, x), app(app(ack, app(succ, x)), y))
APP(app(ack, app(succ, x'')), app(succ, y'')) -> APP(app(ack, x''), app(app(ack, x''), app(succ, 0)))
APP(app(ack, app(succ, x'')), app(succ, app(succ, y''))) -> APP(app(ack, x''), app(app(ack, x''), app(app(ack, app(succ, x'')), y'')))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Remaining Obligation(s)
APP(app(ack, app(succ, x'')), app(succ, app(succ, y''))) -> APP(app(ack, x''), app(app(ack, x''), app(app(ack, app(succ, x'')), y'')))
APP(app(ack, app(succ, x'')), app(succ, y'')) -> APP(app(ack, x''), app(app(ack, x''), app(succ, 0)))
APP(app(ack, app(succ, x)), y) -> APP(app(ack, x), app(succ, 0))
APP(app(ack, app(succ, x)), app(succ, y)) -> APP(app(ack, app(succ, x)), y)
app(app(ack, 0), y) -> app(succ, y)
app(app(ack, app(succ, x)), y) -> app(app(ack, x), app(succ, 0))
app(app(ack, app(succ, x)), app(succ, y)) -> app(app(ack, x), app(app(ack, app(succ, x)), y))
innermost