R
↳Dependency Pair Analysis
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)
APP(app(app(f, 0), app(s, 0)), x) -> APP(app(app(f, x), app(app(plus, x), x)), x)
APP(app(app(f, 0), app(s, 0)), x) -> APP(app(f, x), app(app(plus, x), x))
APP(app(app(f, 0), app(s, 0)), x) -> APP(f, x)
APP(app(app(f, 0), app(s, 0)), x) -> APP(app(plus, x), x)
APP(app(app(f, 0), app(s, 0)), x) -> APP(plus, x)
R
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
APP(app(plus, x), app(s, y)) -> APP(app(plus, x), y)
app(app(plus, x), 0) -> x
app(app(plus, x), app(s, y)) -> app(s, app(app(plus, x), y))
app(app(app(f, 0), app(s, 0)), x) -> app(app(app(f, x), app(app(plus, x), x)), x)
app(app(g, x), y) -> x
app(app(g, x), y) -> y
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 3
↳A-Transformation
→DP Problem 2
↳UsableRules
APP(app(plus, x), app(s, y)) -> APP(app(plus, x), y)
none
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 3
↳ATrans
...
→DP Problem 4
↳Size-Change Principle
→DP Problem 2
↳UsableRules
PLUS(x, s(y)) -> PLUS(x, y)
none
innermost
|
|
trivial
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳Usable Rules (Innermost)
APP(app(app(f, 0), app(s, 0)), x) -> APP(app(app(f, x), app(app(plus, x), x)), x)
app(app(plus, x), 0) -> x
app(app(plus, x), app(s, y)) -> app(s, app(app(plus, x), y))
app(app(app(f, 0), app(s, 0)), x) -> app(app(app(f, x), app(app(plus, x), x)), x)
app(app(g, x), y) -> x
app(app(g, x), y) -> y
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 5
↳A-Transformation
APP(app(app(f, 0), app(s, 0)), x) -> APP(app(app(f, x), app(app(plus, x), x)), 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
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 5
↳ATrans
...
→DP Problem 6
↳Narrowing Transformation
F(0, s(0), x) -> F(x, plus(x, x), x)
plus(x, 0) -> x
plus(x, s(y)) -> s(plus(x, y))
innermost
two new Dependency Pairs are created:
F(0, s(0), x) -> F(x, plus(x, x), x)
F(0, s(0), 0) -> F(0, 0, 0)
F(0, s(0), s(y')) -> F(s(y'), s(plus(s(y'), y')), s(y'))