R
↳Dependency Pair Analysis
APP(f, app(s, x)) -> APP(f, x)
APP(g, app(app(cons, 0), y)) -> APP(g, y)
APP(h, app(app(cons, x), y)) -> APP(h, app(g, app(app(cons, x), y)))
APP(h, app(app(cons, x), y)) -> APP(g, app(app(cons, x), y))
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
APP(f, app(s, x)) -> APP(f, x)
app(f, app(s, x)) -> app(f, x)
app(g, app(app(cons, 0), y)) -> app(g, y)
app(g, app(app(cons, app(s, x)), y)) -> app(s, x)
app(h, app(app(cons, x), y)) -> app(h, app(g, app(app(cons, x), y)))
innermost
one new Dependency Pair is created:
APP(f, app(s, x)) -> APP(f, x)
APP(f, app(s, app(s, x''))) -> APP(f, app(s, x''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 4
↳Polynomial Ordering
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
APP(f, app(s, app(s, x''))) -> APP(f, app(s, x''))
app(f, app(s, x)) -> app(f, x)
app(g, app(app(cons, 0), y)) -> app(g, y)
app(g, app(app(cons, app(s, x)), y)) -> app(s, x)
app(h, app(app(cons, x), y)) -> app(h, app(g, app(app(cons, x), y)))
innermost
APP(f, app(s, app(s, x''))) -> APP(f, app(s, x''))
app(f, app(s, x)) -> app(f, x)
app(g, app(app(cons, 0), y)) -> app(g, y)
app(g, app(app(cons, app(s, x)), y)) -> app(s, x)
app(h, app(app(cons, x), y)) -> app(h, app(g, app(app(cons, x), y)))
POL(0) = 1 POL(g) = 0 POL(cons) = 0 POL(s) = 1 POL(h) = 0 POL(app(x1, x2)) = x1 + x2 POL(f) = 1 POL(APP(x1, x2)) = x2
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 4
↳Polo
...
→DP Problem 5
↳Dependency Graph
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
app(f, app(s, x)) -> app(f, x)
app(g, app(app(cons, 0), y)) -> app(g, y)
app(g, app(app(cons, app(s, x)), y)) -> app(s, x)
app(h, app(app(cons, x), y)) -> app(h, app(g, app(app(cons, x), y)))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Forward Instantiation Transformation
→DP Problem 3
↳Nar
APP(g, app(app(cons, 0), y)) -> APP(g, y)
app(f, app(s, x)) -> app(f, x)
app(g, app(app(cons, 0), y)) -> app(g, y)
app(g, app(app(cons, app(s, x)), y)) -> app(s, x)
app(h, app(app(cons, x), y)) -> app(h, app(g, app(app(cons, x), y)))
innermost
one new Dependency Pair is created:
APP(g, app(app(cons, 0), y)) -> APP(g, y)
APP(g, app(app(cons, 0), app(app(cons, 0), y''))) -> APP(g, app(app(cons, 0), y''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 6
↳Polynomial Ordering
→DP Problem 3
↳Nar
APP(g, app(app(cons, 0), app(app(cons, 0), y''))) -> APP(g, app(app(cons, 0), y''))
app(f, app(s, x)) -> app(f, x)
app(g, app(app(cons, 0), y)) -> app(g, y)
app(g, app(app(cons, app(s, x)), y)) -> app(s, x)
app(h, app(app(cons, x), y)) -> app(h, app(g, app(app(cons, x), y)))
innermost
APP(g, app(app(cons, 0), app(app(cons, 0), y''))) -> APP(g, app(app(cons, 0), y''))
app(f, app(s, x)) -> app(f, x)
app(g, app(app(cons, 0), y)) -> app(g, y)
app(g, app(app(cons, app(s, x)), y)) -> app(s, x)
app(h, app(app(cons, x), y)) -> app(h, app(g, app(app(cons, x), y)))
POL(0) = 1 POL(g) = 0 POL(cons) = 0 POL(s) = 0 POL(h) = 1 POL(app(x1, x2)) = x1 + x2 POL(f) = 1 POL(APP(x1, x2)) = x2
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 6
↳Polo
...
→DP Problem 7
↳Dependency Graph
→DP Problem 3
↳Nar
app(f, app(s, x)) -> app(f, x)
app(g, app(app(cons, 0), y)) -> app(g, y)
app(g, app(app(cons, app(s, x)), y)) -> app(s, x)
app(h, app(app(cons, x), y)) -> app(h, app(g, app(app(cons, x), y)))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Narrowing Transformation
APP(h, app(app(cons, x), y)) -> APP(h, app(g, app(app(cons, x), y)))
app(f, app(s, x)) -> app(f, x)
app(g, app(app(cons, 0), y)) -> app(g, y)
app(g, app(app(cons, app(s, x)), y)) -> app(s, x)
app(h, app(app(cons, x), y)) -> app(h, app(g, app(app(cons, x), y)))
innermost
two new Dependency Pairs are created:
APP(h, app(app(cons, x), y)) -> APP(h, app(g, app(app(cons, x), y)))
APP(h, app(app(cons, 0), y'')) -> APP(h, app(g, y''))
APP(h, app(app(cons, app(s, x'')), y'')) -> APP(h, app(s, x''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 8
↳Narrowing Transformation
APP(h, app(app(cons, 0), y'')) -> APP(h, app(g, y''))
app(f, app(s, x)) -> app(f, x)
app(g, app(app(cons, 0), y)) -> app(g, y)
app(g, app(app(cons, app(s, x)), y)) -> app(s, x)
app(h, app(app(cons, x), y)) -> app(h, app(g, app(app(cons, x), y)))
innermost
two new Dependency Pairs are created:
APP(h, app(app(cons, 0), y'')) -> APP(h, app(g, y''))
APP(h, app(app(cons, 0), app(app(cons, 0), y'))) -> APP(h, app(g, y'))
APP(h, app(app(cons, 0), app(app(cons, app(s, x')), y'))) -> APP(h, app(s, x'))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 8
↳Nar
...
→DP Problem 9
↳Polynomial Ordering
APP(h, app(app(cons, 0), app(app(cons, 0), y'))) -> APP(h, app(g, y'))
app(f, app(s, x)) -> app(f, x)
app(g, app(app(cons, 0), y)) -> app(g, y)
app(g, app(app(cons, app(s, x)), y)) -> app(s, x)
app(h, app(app(cons, x), y)) -> app(h, app(g, app(app(cons, x), y)))
innermost
APP(h, app(app(cons, 0), app(app(cons, 0), y'))) -> APP(h, app(g, y'))
app(f, app(s, x)) -> app(f, x)
app(g, app(app(cons, 0), y)) -> app(g, y)
app(g, app(app(cons, app(s, x)), y)) -> app(s, x)
app(h, app(app(cons, x), y)) -> app(h, app(g, app(app(cons, x), y)))
POL(0) = 0 POL(g) = 0 POL(cons) = 1 POL(s) = 0 POL(h) = 0 POL(app(x1, x2)) = x1 POL(f) = 0 POL(APP(x1, x2)) = x1 + x2
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 8
↳Nar
...
→DP Problem 10
↳Dependency Graph
app(f, app(s, x)) -> app(f, x)
app(g, app(app(cons, 0), y)) -> app(g, y)
app(g, app(app(cons, app(s, x)), y)) -> app(s, x)
app(h, app(app(cons, x), y)) -> app(h, app(g, app(app(cons, x), y)))
innermost