R
↳Dependency Pair Analysis
APP(f, app(g, x)) -> APP(g, app(f, app(f, x)))
APP(f, app(g, x)) -> APP(f, app(f, x))
APP(f, app(g, x)) -> APP(f, x)
APP(f, app(h, x)) -> APP(h, app(g, x))
APP(f, app(h, x)) -> APP(g, x)
R
↳DPs
→DP Problem 1
↳Narrowing Transformation
APP(f, app(g, x)) -> APP(f, x)
APP(f, app(g, x)) -> APP(f, app(f, x))
app(f, app(g, x)) -> app(g, app(f, app(f, x)))
app(f, app(h, x)) -> app(h, app(g, x))
two new Dependency Pairs are created:
APP(f, app(g, x)) -> APP(f, app(f, x))
APP(f, app(g, app(g, x''))) -> APP(f, app(g, app(f, app(f, x''))))
APP(f, app(g, app(h, x''))) -> APP(f, app(h, app(g, x'')))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Narrowing Transformation
APP(f, app(g, app(h, x''))) -> APP(f, app(h, app(g, x'')))
APP(f, app(g, app(g, x''))) -> APP(f, app(g, app(f, app(f, x''))))
APP(f, app(g, x)) -> APP(f, x)
app(f, app(g, x)) -> app(g, app(f, app(f, x)))
app(f, app(h, x)) -> app(h, app(g, x))
no new Dependency Pairs are created.
APP(f, app(g, app(h, x''))) -> APP(f, app(h, app(g, x'')))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 3
↳Remaining Obligation(s)
APP(f, app(g, x)) -> APP(f, x)
APP(f, app(g, app(g, x''))) -> APP(f, app(g, app(f, app(f, x''))))
app(f, app(g, x)) -> app(g, app(f, app(f, x)))
app(f, app(h, x)) -> app(h, app(g, x))