R
↳Dependency Pair Analysis
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(f, 0) -> APP(s, 0)
APP(f, app(s, x)) -> APP(app(minus, app(s, x)), app(g, app(f, x)))
APP(f, app(s, x)) -> APP(minus, app(s, x))
APP(f, app(s, x)) -> APP(g, app(f, x))
APP(f, app(s, x)) -> APP(f, x)
APP(g, app(s, x)) -> APP(app(minus, app(s, x)), app(f, app(g, x)))
APP(g, app(s, x)) -> APP(minus, app(s, x))
APP(g, app(s, x)) -> APP(f, app(g, x))
APP(g, app(s, x)) -> APP(g, x)
R
↳DPs
→DP Problem 1
↳Narrowing Transformation
APP(g, app(s, x)) -> APP(g, x)
APP(g, app(s, x)) -> APP(f, app(g, x))
APP(f, app(s, x)) -> APP(f, x)
APP(g, app(s, x)) -> APP(app(minus, app(s, x)), app(f, app(g, x)))
APP(f, app(s, x)) -> APP(g, app(f, x))
APP(f, app(s, x)) -> APP(app(minus, app(s, x)), app(g, app(f, x)))
APP(app(minus, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
app(app(minus, x), 0) -> x
app(app(minus, app(s, x)), app(s, y)) -> app(app(minus, x), y)
app(f, 0) -> app(s, 0)
app(f, app(s, x)) -> app(app(minus, app(s, x)), app(g, app(f, x)))
app(g, 0) -> 0
app(g, app(s, x)) -> app(app(minus, app(s, x)), app(f, app(g, x)))
two new Dependency Pairs are created:
APP(f, app(s, x)) -> APP(g, app(f, x))
APP(f, app(s, 0)) -> APP(g, app(s, 0))
APP(f, app(s, app(s, x''))) -> APP(g, app(app(minus, app(s, x'')), app(g, app(f, x''))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Narrowing Transformation
APP(f, app(s, app(s, x''))) -> APP(g, app(app(minus, app(s, x'')), app(g, app(f, x''))))
APP(g, app(s, x)) -> APP(f, app(g, x))
APP(f, app(s, 0)) -> APP(g, app(s, 0))
APP(f, app(s, x)) -> APP(f, x)
APP(f, app(s, x)) -> APP(app(minus, app(s, x)), app(g, app(f, x)))
APP(app(minus, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(g, app(s, x)) -> APP(app(minus, app(s, x)), app(f, app(g, x)))
APP(g, app(s, x)) -> APP(g, x)
app(app(minus, x), 0) -> x
app(app(minus, app(s, x)), app(s, y)) -> app(app(minus, x), y)
app(f, 0) -> app(s, 0)
app(f, app(s, x)) -> app(app(minus, app(s, x)), app(g, app(f, x)))
app(g, 0) -> 0
app(g, app(s, x)) -> app(app(minus, app(s, x)), app(f, app(g, x)))
two new Dependency Pairs are created:
APP(g, app(s, x)) -> APP(f, app(g, x))
APP(g, app(s, 0)) -> APP(f, 0)
APP(g, app(s, app(s, x''))) -> APP(f, app(app(minus, app(s, x'')), app(f, app(g, x''))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 3
↳Remaining Obligation(s)
APP(g, app(s, app(s, x''))) -> APP(f, app(app(minus, app(s, x'')), app(f, app(g, x''))))
APP(g, app(s, x)) -> APP(g, x)
APP(f, app(s, 0)) -> APP(g, app(s, 0))
APP(f, app(s, x)) -> APP(f, x)
APP(f, app(s, x)) -> APP(app(minus, app(s, x)), app(g, app(f, x)))
APP(app(minus, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(g, app(s, x)) -> APP(app(minus, app(s, x)), app(f, app(g, x)))
APP(f, app(s, app(s, x''))) -> APP(g, app(app(minus, app(s, x'')), app(g, app(f, x''))))
app(app(minus, x), 0) -> x
app(app(minus, app(s, x)), app(s, y)) -> app(app(minus, x), y)
app(f, 0) -> app(s, 0)
app(f, app(s, x)) -> app(app(minus, app(s, x)), app(g, app(f, x)))
app(g, 0) -> 0
app(g, app(s, x)) -> app(app(minus, app(s, x)), app(f, app(g, x)))