R
↳Dependency Pair Analysis
APP(app(map, f), app(app(cons, x), xs)) -> APP(app(cons, app(f, x)), app(app(map, f), xs))
APP(app(map, f), app(app(cons, x), xs)) -> APP(cons, app(f, x))
APP(app(map, f), app(app(cons, x), xs)) -> APP(f, x)
APP(app(map, f), app(app(cons, x), xs)) -> APP(app(map, f), xs)
APP(app(minus, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(minus, app(s, x)), app(s, y)) -> APP(minus, x)
APP(app(div, app(s, x)), app(s, y)) -> APP(s, app(app(div, app(app(minus, x), y)), app(s, y)))
APP(app(div, app(s, x)), app(s, y)) -> APP(app(div, app(app(minus, x), y)), app(s, y))
APP(app(div, app(s, x)), app(s, y)) -> APP(div, app(app(minus, x), y))
APP(app(div, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(div, app(s, x)), app(s, y)) -> APP(minus, x)
R
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
APP(app(minus, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
app(app(map, f), nil) -> nil
app(app(map, f), app(app(cons, x), xs)) -> app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(minus, x), 0) -> x
app(app(minus, app(s, x)), app(s, y)) -> app(app(minus, x), y)
app(app(div, 0), app(s, y)) -> 0
app(app(div, app(s, x)), app(s, y)) -> app(s, app(app(div, app(app(minus, x), y)), app(s, y)))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 4
↳A-Transformation
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
APP(app(minus, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
none
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 4
↳ATrans
...
→DP Problem 5
↳Size-Change Principle
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
MINUS(s(x), s(y)) -> MINUS(x, y)
none
innermost
|
|
trivial
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳Usable Rules (Innermost)
→DP Problem 3
↳UsableRules
APP(app(div, app(s, x)), app(s, y)) -> APP(app(div, app(app(minus, x), y)), app(s, y))
app(app(map, f), nil) -> nil
app(app(map, f), app(app(cons, x), xs)) -> app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(minus, x), 0) -> x
app(app(minus, app(s, x)), app(s, y)) -> app(app(minus, x), y)
app(app(div, 0), app(s, y)) -> 0
app(app(div, app(s, x)), app(s, y)) -> app(s, app(app(div, app(app(minus, x), y)), app(s, y)))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 6
↳A-Transformation
→DP Problem 3
↳UsableRules
APP(app(div, app(s, x)), app(s, y)) -> APP(app(div, app(app(minus, x), y)), app(s, y))
app(app(minus, x), 0) -> x
app(app(minus, app(s, x)), app(s, y)) -> app(app(minus, x), y)
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 6
↳ATrans
...
→DP Problem 7
↳Negative Polynomial Order
→DP Problem 3
↳UsableRules
DIV(s(x), s(y)) -> DIV(minus(x, y), s(y))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
innermost
DIV(s(x), s(y)) -> DIV(minus(x, y), s(y))
minus(s(x), s(y)) -> minus(x, y)
minus(x, 0) -> x
POL( DIV(x1, x2) ) = x1
POL( s(x1) ) = x1 + 1
POL( minus(x1, x2) ) = x1
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 6
↳ATrans
...
→DP Problem 8
↳Dependency Graph
→DP Problem 3
↳UsableRules
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳Usable Rules (Innermost)
APP(app(map, f), app(app(cons, x), xs)) -> APP(app(map, f), xs)
APP(app(map, f), app(app(cons, x), xs)) -> APP(f, x)
app(app(map, f), nil) -> nil
app(app(map, f), app(app(cons, x), xs)) -> app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(minus, x), 0) -> x
app(app(minus, app(s, x)), app(s, y)) -> app(app(minus, x), y)
app(app(div, 0), app(s, y)) -> 0
app(app(div, app(s, x)), app(s, y)) -> app(s, app(app(div, app(app(minus, x), y)), app(s, y)))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 9
↳Size-Change Principle
APP(app(map, f), app(app(cons, x), xs)) -> APP(app(map, f), xs)
APP(app(map, f), app(app(cons, x), xs)) -> APP(f, x)
none
innermost
|
|
|
|
trivial
app(x1, x2) -> app(x1, x2)