R
↳Dependency Pair Analysis
APP'(app'(minus, app'(s, x)), app'(s, y)) -> APP'(app'(minus, x), y)
APP'(app'(minus, app'(s, x)), app'(s, y)) -> APP'(minus, x)
APP'(app'(minus, app'(app'(minus, x), y)), z) -> APP'(app'(minus, x), app'(app'(plus, y), z))
APP'(app'(minus, app'(app'(minus, x), y)), z) -> APP'(app'(plus, y), z)
APP'(app'(minus, app'(app'(minus, x), y)), z) -> APP'(plus, y)
APP'(app'(quot, app'(s, x)), app'(s, y)) -> APP'(s, app'(app'(quot, app'(app'(minus, x), y)), app'(s, y)))
APP'(app'(quot, app'(s, x)), app'(s, y)) -> APP'(app'(quot, app'(app'(minus, x), y)), app'(s, y))
APP'(app'(quot, app'(s, x)), app'(s, y)) -> APP'(quot, app'(app'(minus, x), y))
APP'(app'(quot, app'(s, x)), app'(s, y)) -> APP'(app'(minus, x), y)
APP'(app'(quot, app'(s, x)), app'(s, y)) -> APP'(minus, x)
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, app'(app'(cons, x), l)), k) -> APP'(app'(cons, x), app'(app'(app, l), k))
APP'(app'(app, app'(app'(cons, x), l)), k) -> APP'(app'(app, l), k)
APP'(app'(app, app'(app'(cons, x), l)), k) -> APP'(app, l)
APP'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> APP'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
APP'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> APP'(app'(cons, app'(app'(plus, x), y)), l)
APP'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> APP'(cons, app'(app'(plus, x), y))
APP'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> APP'(app'(plus, x), y)
APP'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> APP'(plus, x)
APP'(sum, app'(app'(app, l), app'(app'(cons, x), app'(app'(cons, y), k)))) -> APP'(sum, app'(app'(app, l), app'(sum, app'(app'(cons, x), app'(app'(cons, y), k)))))
APP'(sum, app'(app'(app, l), app'(app'(cons, x), app'(app'(cons, y), k)))) -> APP'(app'(app, l), app'(sum, app'(app'(cons, x), app'(app'(cons, y), k))))
APP'(sum, app'(app'(app, l), app'(app'(cons, x), app'(app'(cons, y), k)))) -> APP'(sum, app'(app'(cons, x), app'(app'(cons, y), k)))
R
↳DPs
→DP Problem 1
↳Size-Change Principle
→DP Problem 2
↳SCP
→DP Problem 3
↳SCP
→DP Problem 4
↳MRR
→DP Problem 5
↳Neg POLO
→DP Problem 6
↳MRR
APP'(app'(plus, app'(s, x)), y) -> APP'(app'(plus, x), y)
app'(app'(minus, x), 0) -> x
app'(app'(minus, app'(s, x)), app'(s, y)) -> app'(app'(minus, x), y)
app'(app'(minus, app'(app'(minus, x), y)), z) -> app'(app'(minus, x), app'(app'(plus, y), z))
app'(app'(quot, 0), app'(s, y)) -> 0
app'(app'(quot, app'(s, x)), app'(s, y)) -> app'(s, app'(app'(quot, app'(app'(minus, x), y)), app'(s, y)))
app'(app'(plus, 0), y) -> y
app'(app'(plus, app'(s, x)), y) -> app'(s, app'(app'(plus, x), y))
app'(app'(app, nil), k) -> k
app'(app'(app, l), nil) -> l
app'(app'(app, app'(app'(cons, x), l)), k) -> app'(app'(cons, x), app'(app'(app, l), k))
app'(sum, app'(app'(cons, x), nil)) -> app'(app'(cons, x), nil)
app'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> app'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
app'(sum, app'(app'(app, l), app'(app'(cons, x), app'(app'(cons, y), k)))) -> app'(sum, app'(app'(app, l), app'(sum, app'(app'(cons, x), app'(app'(cons, y), k)))))
APP'(app'(plus, app'(s, x)), y) -> APP'(app'(plus, x), y)
none
PLUS(s(x), y) -> PLUS(x, y)
none
|
|
trivial
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳Size-Change Principle
→DP Problem 3
↳SCP
→DP Problem 4
↳MRR
→DP Problem 5
↳Neg POLO
→DP Problem 6
↳MRR
APP'(app'(app, app'(app'(cons, x), l)), k) -> APP'(app'(app, l), k)
app'(app'(minus, x), 0) -> x
app'(app'(minus, app'(s, x)), app'(s, y)) -> app'(app'(minus, x), y)
app'(app'(minus, app'(app'(minus, x), y)), z) -> app'(app'(minus, x), app'(app'(plus, y), z))
app'(app'(quot, 0), app'(s, y)) -> 0
app'(app'(quot, app'(s, x)), app'(s, y)) -> app'(s, app'(app'(quot, app'(app'(minus, x), y)), app'(s, y)))
app'(app'(plus, 0), y) -> y
app'(app'(plus, app'(s, x)), y) -> app'(s, app'(app'(plus, x), y))
app'(app'(app, nil), k) -> k
app'(app'(app, l), nil) -> l
app'(app'(app, app'(app'(cons, x), l)), k) -> app'(app'(cons, x), app'(app'(app, l), k))
app'(sum, app'(app'(cons, x), nil)) -> app'(app'(cons, x), nil)
app'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> app'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
app'(sum, app'(app'(app, l), app'(app'(cons, x), app'(app'(cons, y), k)))) -> app'(sum, app'(app'(app, l), app'(sum, app'(app'(cons, x), app'(app'(cons, y), k)))))
APP'(app'(app, app'(app'(cons, x), l)), k) -> APP'(app'(app, l), k)
none
APP(cons(x, l), k) -> APP(l, k)
none
|
|
trivial
cons(x1, x2) -> cons(x1, x2)
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳SCP
→DP Problem 3
↳Size-Change Principle
→DP Problem 4
↳MRR
→DP Problem 5
↳Neg POLO
→DP Problem 6
↳MRR
APP'(app'(minus, app'(app'(minus, x), y)), z) -> APP'(app'(minus, x), app'(app'(plus, y), z))
APP'(app'(minus, app'(s, x)), app'(s, y)) -> APP'(app'(minus, x), y)
app'(app'(minus, x), 0) -> x
app'(app'(minus, app'(s, x)), app'(s, y)) -> app'(app'(minus, x), y)
app'(app'(minus, app'(app'(minus, x), y)), z) -> app'(app'(minus, x), app'(app'(plus, y), z))
app'(app'(quot, 0), app'(s, y)) -> 0
app'(app'(quot, app'(s, x)), app'(s, y)) -> app'(s, app'(app'(quot, app'(app'(minus, x), y)), app'(s, y)))
app'(app'(plus, 0), y) -> y
app'(app'(plus, app'(s, x)), y) -> app'(s, app'(app'(plus, x), y))
app'(app'(app, nil), k) -> k
app'(app'(app, l), nil) -> l
app'(app'(app, app'(app'(cons, x), l)), k) -> app'(app'(cons, x), app'(app'(app, l), k))
app'(sum, app'(app'(cons, x), nil)) -> app'(app'(cons, x), nil)
app'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> app'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
app'(sum, app'(app'(app, l), app'(app'(cons, x), app'(app'(cons, y), k)))) -> app'(sum, app'(app'(app, l), app'(sum, app'(app'(cons, x), app'(app'(cons, y), k)))))
APP'(app'(minus, app'(app'(minus, x), y)), z) -> APP'(app'(minus, x), app'(app'(plus, y), z))
APP'(app'(minus, app'(s, x)), app'(s, y)) -> APP'(app'(minus, x), y)
app'(app'(plus, 0), y) -> y
app'(app'(plus, app'(s, x)), y) -> app'(s, app'(app'(plus, x), y))
MINUS(minus(x, y), z) -> MINUS(x, plus(y, z))
MINUS(s(x), s(y)) -> MINUS(x, y)
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
|
|
|
|
trivial
minus(x1, x2) -> minus(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳SCP
→DP Problem 3
↳SCP
→DP Problem 4
↳Modular Removal of Rules
→DP Problem 5
↳Neg POLO
→DP Problem 6
↳MRR
APP'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> APP'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
app'(app'(minus, x), 0) -> x
app'(app'(minus, app'(s, x)), app'(s, y)) -> app'(app'(minus, x), y)
app'(app'(minus, app'(app'(minus, x), y)), z) -> app'(app'(minus, x), app'(app'(plus, y), z))
app'(app'(quot, 0), app'(s, y)) -> 0
app'(app'(quot, app'(s, x)), app'(s, y)) -> app'(s, app'(app'(quot, app'(app'(minus, x), y)), app'(s, y)))
app'(app'(plus, 0), y) -> y
app'(app'(plus, app'(s, x)), y) -> app'(s, app'(app'(plus, x), y))
app'(app'(app, nil), k) -> k
app'(app'(app, l), nil) -> l
app'(app'(app, app'(app'(cons, x), l)), k) -> app'(app'(cons, x), app'(app'(app, l), k))
app'(sum, app'(app'(cons, x), nil)) -> app'(app'(cons, x), nil)
app'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> app'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
app'(sum, app'(app'(app, l), app'(app'(cons, x), app'(app'(cons, y), k)))) -> app'(sum, app'(app'(app, l), app'(sum, app'(app'(cons, x), app'(app'(cons, y), k)))))
APP'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> APP'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
app'(app'(plus, 0), y) -> y
app'(app'(plus, app'(s, x)), y) -> app'(s, app'(app'(plus, x), y))
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)) = x1 + x2 POL(SUM(x1)) = 1 + x1 POL(0) = 1 POL(cons(x1, x2)) = x1 + x2 POL(s(x1)) = x1
11 non usable rules have been deleted.
plus(0, y) -> y
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳SCP
→DP Problem 3
↳SCP
→DP Problem 4
↳MRR
→DP Problem 7
↳Modular Removal of Rules
→DP Problem 5
↳Neg POLO
→DP Problem 6
↳MRR
SUM(cons(x, cons(y, l))) -> SUM(cons(plus(x, y), l))
plus(s(x), y) -> s(plus(x, y))
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
plus(s(x), y) -> s(plus(x, y))
POL(plus(x1, x2)) = x1 + x2 POL(SUM(x1)) = 1 + x1 POL(cons(x1, x2)) = 1 + x1 + x2 POL(s(x1)) = x1
SUM(cons(x, cons(y, l))) -> SUM(cons(plus(x, y), l))
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳SCP
→DP Problem 3
↳SCP
→DP Problem 4
↳MRR
→DP Problem 5
↳Negative Polynomial Order
→DP Problem 6
↳MRR
APP'(app'(quot, app'(s, x)), app'(s, y)) -> APP'(app'(quot, app'(app'(minus, x), y)), app'(s, y))
app'(app'(minus, x), 0) -> x
app'(app'(minus, app'(s, x)), app'(s, y)) -> app'(app'(minus, x), y)
app'(app'(minus, app'(app'(minus, x), y)), z) -> app'(app'(minus, x), app'(app'(plus, y), z))
app'(app'(quot, 0), app'(s, y)) -> 0
app'(app'(quot, app'(s, x)), app'(s, y)) -> app'(s, app'(app'(quot, app'(app'(minus, x), y)), app'(s, y)))
app'(app'(plus, 0), y) -> y
app'(app'(plus, app'(s, x)), y) -> app'(s, app'(app'(plus, x), y))
app'(app'(app, nil), k) -> k
app'(app'(app, l), nil) -> l
app'(app'(app, app'(app'(cons, x), l)), k) -> app'(app'(cons, x), app'(app'(app, l), k))
app'(sum, app'(app'(cons, x), nil)) -> app'(app'(cons, x), nil)
app'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> app'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
app'(sum, app'(app'(app, l), app'(app'(cons, x), app'(app'(cons, y), k)))) -> app'(sum, app'(app'(app, l), app'(sum, app'(app'(cons, x), app'(app'(cons, y), k)))))
APP'(app'(quot, app'(s, x)), app'(s, y)) -> APP'(app'(quot, app'(app'(minus, x), y)), app'(s, y))
app'(app'(minus, x), 0) -> x
app'(app'(minus, app'(s, x)), app'(s, y)) -> app'(app'(minus, x), y)
app'(app'(minus, app'(app'(minus, x), y)), z) -> app'(app'(minus, x), app'(app'(plus, y), z))
app'(app'(plus, 0), y) -> y
app'(app'(plus, app'(s, x)), y) -> app'(s, app'(app'(plus, x), y))
QUOT(s(x), s(y)) -> QUOT(minus(x, y), s(y))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
minus(minus(x, y), z) -> minus(x, plus(y, z))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
QUOT(s(x), s(y)) -> QUOT(minus(x, y), s(y))
APP'(app'(quot, app'(s, x)), app'(s, y)) -> APP'(app'(quot, app'(app'(minus, x), y)), app'(s, y))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
minus(minus(x, y), z) -> minus(x, plus(y, z))
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
POL( QUOT(x1, x2) ) = x1
POL( s(x1) ) = x1 + 1
POL( minus(x1, x2) ) = x1
POL( plus(x1, x2) ) = x1 + x2
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳SCP
→DP Problem 3
↳SCP
→DP Problem 4
↳MRR
→DP Problem 5
↳Neg POLO
→DP Problem 8
↳Dependency Graph
→DP Problem 6
↳MRR
app'(app'(minus, x), 0) -> x
app'(app'(minus, app'(s, x)), app'(s, y)) -> app'(app'(minus, x), y)
app'(app'(minus, app'(app'(minus, x), y)), z) -> app'(app'(minus, x), app'(app'(plus, y), z))
app'(app'(quot, 0), app'(s, y)) -> 0
app'(app'(quot, app'(s, x)), app'(s, y)) -> app'(s, app'(app'(quot, app'(app'(minus, x), y)), app'(s, y)))
app'(app'(plus, 0), y) -> y
app'(app'(plus, app'(s, x)), y) -> app'(s, app'(app'(plus, x), y))
app'(app'(app, nil), k) -> k
app'(app'(app, l), nil) -> l
app'(app'(app, app'(app'(cons, x), l)), k) -> app'(app'(cons, x), app'(app'(app, l), k))
app'(sum, app'(app'(cons, x), nil)) -> app'(app'(cons, x), nil)
app'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> app'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
app'(sum, app'(app'(app, l), app'(app'(cons, x), app'(app'(cons, y), k)))) -> app'(sum, app'(app'(app, l), app'(sum, app'(app'(cons, x), app'(app'(cons, y), k)))))
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳SCP
→DP Problem 3
↳SCP
→DP Problem 4
↳MRR
→DP Problem 5
↳Neg POLO
→DP Problem 6
↳Modular Removal of Rules
APP'(sum, app'(app'(app, l), app'(app'(cons, x), app'(app'(cons, y), k)))) -> APP'(sum, app'(app'(app, l), app'(sum, app'(app'(cons, x), app'(app'(cons, y), k)))))
app'(app'(minus, x), 0) -> x
app'(app'(minus, app'(s, x)), app'(s, y)) -> app'(app'(minus, x), y)
app'(app'(minus, app'(app'(minus, x), y)), z) -> app'(app'(minus, x), app'(app'(plus, y), z))
app'(app'(quot, 0), app'(s, y)) -> 0
app'(app'(quot, app'(s, x)), app'(s, y)) -> app'(s, app'(app'(quot, app'(app'(minus, x), y)), app'(s, y)))
app'(app'(plus, 0), y) -> y
app'(app'(plus, app'(s, x)), y) -> app'(s, app'(app'(plus, x), y))
app'(app'(app, nil), k) -> k
app'(app'(app, l), nil) -> l
app'(app'(app, app'(app'(cons, x), l)), k) -> app'(app'(cons, x), app'(app'(app, l), k))
app'(sum, app'(app'(cons, x), nil)) -> app'(app'(cons, x), nil)
app'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> app'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
app'(sum, app'(app'(app, l), app'(app'(cons, x), app'(app'(cons, y), k)))) -> app'(sum, app'(app'(app, l), app'(sum, app'(app'(cons, x), app'(app'(cons, y), k)))))
APP'(sum, app'(app'(app, l), app'(app'(cons, x), app'(app'(cons, y), k)))) -> APP'(sum, app'(app'(app, l), app'(sum, app'(app'(cons, x), app'(app'(cons, y), k)))))
app'(app'(app, nil), k) -> k
app'(app'(app, l), nil) -> l
app'(app'(app, app'(app'(cons, x), l)), k) -> app'(app'(cons, x), app'(app'(app, l), k))
app'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> app'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
app'(sum, app'(app'(cons, x), nil)) -> app'(app'(cons, x), nil)
app'(app'(plus, 0), y) -> y
app'(app'(plus, app'(s, x)), y) -> app'(s, app'(app'(plus, x), y))
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, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(cons(x, nil)) -> cons(x, nil)
plus(0, y) -> y
plus(s(x), y) -> s(plus(x, y))
POL(plus(x1, x2)) = x1 + x2 POL(SUM(x1)) = 1 + x1 POL(0) = 1 POL(cons(x1, x2)) = x1 + x2 POL(nil) = 0 POL(sum(x1)) = x1 POL(s(x1)) = x1 POL(app(x1, x2)) = x1 + x2
6 non usable rules have been deleted.
plus(0, y) -> y
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳SCP
→DP Problem 3
↳SCP
→DP Problem 4
↳MRR
→DP Problem 5
↳Neg POLO
→DP Problem 6
↳MRR
→DP Problem 9
↳Modular Removal of Rules
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, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(cons(x, nil)) -> cons(x, nil)
plus(s(x), y) -> s(plus(x, y))
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
app(nil, k) -> k
app(l, nil) -> l
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(cons(x, nil)) -> cons(x, nil)
plus(s(x), y) -> s(plus(x, y))
POL(plus(x1, x2)) = x1 + x2 POL(SUM(x1)) = 1 + x1 POL(cons(x1, x2)) = x1 + x2 POL(nil) = 0 POL(sum(x1)) = x1 POL(s(x1)) = x1 POL(app(x1, x2)) = 1 + x1 + x2
app(nil, k) -> k
app(l, nil) -> l
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳SCP
→DP Problem 3
↳SCP
→DP Problem 4
↳MRR
→DP Problem 5
↳Neg POLO
→DP Problem 6
↳MRR
→DP Problem 9
↳MRR
...
→DP Problem 10
↳Modular Removal of Rules
SUM(app(l, cons(x, cons(y, k)))) -> SUM(app(l, sum(cons(x, cons(y, k)))))
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(cons(x, nil)) -> cons(x, nil)
plus(s(x), y) -> s(plus(x, y))
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
sum(cons(x, nil)) -> cons(x, nil)
plus(s(x), y) -> s(plus(x, y))
POL(plus(x1, x2)) = x1 + x2 POL(SUM(x1)) = 1 + x1 POL(cons(x1, x2)) = 1 + x1 + x2 POL(nil) = 0 POL(sum(x1)) = x1 POL(s(x1)) = x1 POL(app(x1, x2)) = x1 + x2
sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l))
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳SCP
→DP Problem 3
↳SCP
→DP Problem 4
↳MRR
→DP Problem 5
↳Neg POLO
→DP Problem 6
↳MRR
→DP Problem 9
↳MRR
...
→DP Problem 11
↳Modular Removal of Rules
SUM(app(l, cons(x, cons(y, k)))) -> SUM(app(l, sum(cons(x, cons(y, k)))))
app(cons(x, l), k) -> cons(x, app(l, k))
sum(cons(x, nil)) -> cons(x, nil)
plus(s(x), y) -> s(plus(x, y))
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
app(cons(x, l), k) -> cons(x, app(l, k))
POL(SUM(x1)) = 1 + x1 POL(cons(x1, x2)) = x1 + x2 POL(sum(x1)) = x1 POL(app(x1, x2)) = x1 + x2
R
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳SCP
→DP Problem 3
↳SCP
→DP Problem 4
↳MRR
→DP Problem 5
↳Neg POLO
→DP Problem 6
↳MRR
→DP Problem 9
↳MRR
...
→DP Problem 12
↳Narrowing Transformation
SUM(app(l, cons(x, cons(y, k)))) -> SUM(app(l, sum(cons(x, cons(y, k)))))
app(cons(x, l), k) -> cons(x, app(l, k))
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(cons(x'', l''), cons(x0, cons(y', k'')))) -> SUM(cons(x'', app(l'', sum(cons(x0, cons(y', k''))))))