R
↳Dependency Pair Analysis
APP(cons(x, l), k) -> APP(l, k)
SUM(cons(x, cons(y, l))) -> SUM(cons(plus(x, y), l))
SUM(cons(x, cons(y, l))) -> PLUS(x, y)
SUM(app(l, cons(x, cons(y, k)))) -> SUM(app(l, sum(cons(x, cons(y, k)))))
SUM(app(l, cons(x, cons(y, k)))) -> APP(l, sum(cons(x, cons(y, k))))
SUM(app(l, cons(x, cons(y, k)))) -> SUM(cons(x, cons(y, k)))
PLUS(s(x), y) -> PLUS(x, y)
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
APP(cons(x, l), k) -> APP(l, k)
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
innermost
one new Dependency Pair is created:
APP(cons(x, l), k) -> APP(l, k)
APP(cons(x, cons(x'', l'')), k'') -> APP(cons(x'', l''), k'')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 5
↳Forward Instantiation Transformation
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
APP(cons(x, cons(x'', l'')), k'') -> APP(cons(x'', l''), k'')
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
innermost
one new Dependency Pair is created:
APP(cons(x, cons(x'', l'')), k'') -> APP(cons(x'', l''), k'')
APP(cons(x, cons(x'''', cons(x''''', l''''))), k'''') -> APP(cons(x'''', cons(x''''', l'''')), k'''')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 5
↳FwdInst
...
→DP Problem 6
↳Polynomial Ordering
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
APP(cons(x, cons(x'''', cons(x''''', l''''))), k'''') -> APP(cons(x'''', cons(x''''', l'''')), k'''')
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
innermost
APP(cons(x, cons(x'''', cons(x''''', l''''))), k'''') -> APP(cons(x'''', cons(x''''', l'''')), k'''')
POL(cons(x1, x2)) = 1 + x2 POL(APP(x1, x2)) = 1 + x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 5
↳FwdInst
...
→DP Problem 7
↳Dependency Graph
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Forward Instantiation Transformation
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
PLUS(s(x), y) -> PLUS(x, y)
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
innermost
one new Dependency Pair is created:
PLUS(s(x), y) -> PLUS(x, y)
PLUS(s(s(x'')), y'') -> PLUS(s(x''), y'')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 8
↳Forward Instantiation Transformation
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
PLUS(s(s(x'')), y'') -> PLUS(s(x''), y'')
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
innermost
one new Dependency Pair is created:
PLUS(s(s(x'')), y'') -> PLUS(s(x''), y'')
PLUS(s(s(s(x''''))), y'''') -> PLUS(s(s(x'''')), y'''')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 8
↳FwdInst
...
→DP Problem 9
↳Polynomial Ordering
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
PLUS(s(s(s(x''''))), y'''') -> PLUS(s(s(x'''')), y'''')
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
innermost
PLUS(s(s(s(x''''))), y'''') -> PLUS(s(s(x'''')), y'''')
POL(PLUS(x1, x2)) = 1 + x1 POL(s(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 8
↳FwdInst
...
→DP Problem 10
↳Dependency Graph
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Polynomial Ordering
→DP Problem 4
↳Nar
SUM(cons(x, cons(y, l))) -> SUM(cons(plus(x, y), l))
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
innermost
SUM(cons(x, cons(y, l))) -> SUM(cons(plus(x, y), l))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
POL(plus(x1, x2)) = x2 POL(0) = 0 POL(SUM(x1)) = 1 + x1 POL(cons(x1, x2)) = 1 + x2 POL(s(x1)) = 0
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Polo
→DP Problem 11
↳Dependency Graph
→DP Problem 4
↳Nar
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Polo
→DP Problem 4
↳Narrowing Transformation
SUM(app(l, cons(x, cons(y, k)))) -> SUM(app(l, sum(cons(x, cons(y, k)))))
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
innermost
one new Dependency Pair is created:
SUM(app(l, cons(x, cons(y, k)))) -> SUM(app(l, sum(cons(x, cons(y, k)))))
SUM(app(l, cons(x'', cons(y'', k')))) -> SUM(app(l, sum(cons(plus(x'', y''), k'))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
→DP Problem 12
↳Narrowing Transformation
SUM(app(l, cons(x'', cons(y'', k')))) -> SUM(app(l, sum(cons(plus(x'', y''), k'))))
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
innermost
four new Dependency Pairs are created:
SUM(app(l, cons(x'', cons(y'', k')))) -> SUM(app(l, sum(cons(plus(x'', y''), k'))))
SUM(app(l, cons(x''', cons(y''', nil)))) -> SUM(app(l, cons(plus(x''', y'''), nil)))
SUM(app(l, cons(x''', cons(y''', cons(y', l''))))) -> SUM(app(l, sum(cons(plus(plus(x''', y'''), y'), l''))))
SUM(app(l, cons(0, cons(y''', k')))) -> SUM(app(l, sum(cons(y''', k'))))
SUM(app(l, cons(s(x'), cons(y''', k')))) -> SUM(app(l, sum(cons(s(plus(x', y''')), k'))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
→DP Problem 12
↳Nar
...
→DP Problem 13
↳Polynomial Ordering
SUM(app(l, cons(s(x'), cons(y''', k')))) -> SUM(app(l, sum(cons(s(plus(x', y''')), k'))))
SUM(app(l, cons(0, cons(y''', k')))) -> SUM(app(l, sum(cons(y''', k'))))
SUM(app(l, cons(x''', cons(y''', cons(y', l''))))) -> SUM(app(l, sum(cons(plus(plus(x''', y'''), y'), l''))))
SUM(app(l, cons(x''', cons(y''', nil)))) -> SUM(app(l, cons(plus(x''', y'''), nil)))
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
innermost
SUM(app(l, cons(s(x'), cons(y''', k')))) -> SUM(app(l, sum(cons(s(plus(x', y''')), k'))))
SUM(app(l, cons(0, cons(y''', k')))) -> SUM(app(l, sum(cons(y''', k'))))
SUM(app(l, cons(x''', cons(y''', cons(y', l''))))) -> SUM(app(l, sum(cons(plus(plus(x''', y'''), y'), l''))))
SUM(app(l, cons(x''', cons(y''', nil)))) -> SUM(app(l, cons(plus(x''', y'''), nil)))
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
POL(plus(x1, x2)) = x2 POL(0) = 0 POL(SUM(x1)) = 1 + x1 POL(cons(x1, x2)) = 1 + x2 POL(nil) = 0 POL(sum(x1)) = 1 POL(s(x1)) = 0 POL(app(x1, x2)) = x1 + x2
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
→DP Problem 12
↳Nar
...
→DP Problem 14
↳Dependency Graph
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k)))))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
innermost