R
↳Dependency Pair Analysis
APP(app(plus, app(s, x)), y) -> APP(s, app(app(plus, x), y))
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
APP(app(plus, app(s, x)), y) -> APP(plus, x)
APP(app(app(curry, f), x), y) -> APP(app(f, x), y)
APP(app(app(curry, f), x), y) -> APP(f, x)
ADD -> APP(curry, plus)
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
APP(app(app(curry, f), x), y) -> APP(f, x)
APP(app(app(curry, f), x), y) -> APP(app(f, x), y)
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(app(curry, f), x), y) -> app(app(f, x), y)
add -> app(curry, plus)
innermost
two new Dependency Pairs are created:
APP(app(app(curry, f), x), y) -> APP(f, x)
APP(app(app(curry, app(app(curry, f''), x'')), x0), y) -> APP(app(app(curry, f''), x''), x0)
APP(app(app(curry, app(plus, app(s, x''))), x0), y) -> APP(app(plus, app(s, x'')), x0)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Polynomial Ordering
APP(app(app(curry, app(plus, app(s, x''))), x0), y) -> APP(app(plus, app(s, x'')), x0)
APP(app(app(curry, app(app(curry, f''), x'')), x0), y) -> APP(app(app(curry, f''), x''), x0)
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
APP(app(app(curry, f), x), y) -> APP(app(f, x), y)
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(app(curry, f), x), y) -> app(app(f, x), y)
add -> app(curry, plus)
innermost
APP(app(app(curry, app(plus, app(s, x''))), x0), y) -> APP(app(plus, app(s, x'')), x0)
APP(app(app(curry, app(app(curry, f''), x'')), x0), y) -> APP(app(app(curry, f''), x''), x0)
APP(app(app(curry, f), x), y) -> APP(app(f, x), y)
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(app(curry, f), x), y) -> app(app(f, x), y)
POL(plus) = 0 POL(0) = 1 POL(curry) = 1 POL(s) = 0 POL(app(x1, x2)) = x1 + x2 POL(APP(x1, x2)) = 1 + x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Polo
...
→DP Problem 3
↳Polynomial Ordering
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(app(curry, f), x), y) -> app(app(f, x), y)
add -> app(curry, plus)
innermost
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(app(curry, f), x), y) -> app(app(f, x), y)
POL(plus) = 0 POL(0) = 1 POL(curry) = 1 POL(s) = 1 POL(app(x1, x2)) = x1 + x2 POL(APP(x1, x2)) = 1 + x1 + x2
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Polo
...
→DP Problem 4
↳Dependency Graph
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(app(curry, f), x), y) -> app(app(f, x), y)
add -> app(curry, plus)
innermost