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