Term Rewriting System R:
[x, y, z, k, 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)))))

Termination of R to be shown.

`   R`
`     ↳Dependency Pair Analysis`

R contains the following Dependency Pairs:

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)))

Furthermore, R contains one SCC.

`   R`
`     ↳DPs`
`       →DP Problem 1`
`         ↳Narrowing Transformation`

Dependency Pairs:

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)))
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'(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'(app'(plus, x), y)
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'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
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'(cons, x), app'(app'(app, l), k))
APP'(app'(plus, app'(s, x)), y) -> APP'(app'(plus, 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'(app'(quot, app'(app'(minus, x), y)), app'(s, y))
APP'(app'(minus, app'(app'(minus, x), y)), z) -> APP'(app'(plus, y), z)
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)

Rules:

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)))))

On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

APP'(app'(app, app'(app'(cons, x), l)), k) -> APP'(app'(cons, x), app'(app'(app, l), k))
three new Dependency Pairs are created:

APP'(app'(app, app'(app'(cons, x), nil)), k'') -> APP'(app'(cons, x), k'')
APP'(app'(app, app'(app'(cons, x), l'')), nil) -> APP'(app'(cons, x), l'')
APP'(app'(app, app'(app'(cons, x), app'(app'(cons, x''), l''))), k'') -> APP'(app'(cons, x), app'(app'(cons, x''), app'(app'(app, l''), k'')))

The transformation is resulting in one new DP problem:

`   R`
`     ↳DPs`
`       →DP Problem 1`
`         ↳Nar`
`           →DP Problem 2`
`             ↳Narrowing Transformation`

Dependency Pairs:

APP'(app'(app, app'(app'(cons, x), app'(app'(cons, x''), l''))), k'') -> APP'(app'(cons, x), app'(app'(cons, x''), app'(app'(app, l''), k'')))
APP'(app'(app, app'(app'(cons, x), l'')), nil) -> APP'(app'(cons, x), l'')
APP'(app'(app, app'(app'(cons, x), nil)), k'') -> APP'(app'(cons, x), 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'(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'(app'(plus, x), y)
APP'(app'(app, app'(app'(cons, x), l)), k) -> APP'(app'(app, l), k)
APP'(app'(plus, app'(s, x)), y) -> APP'(app'(plus, 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'(app'(quot, app'(app'(minus, x), y)), app'(s, y))
APP'(app'(minus, app'(app'(minus, x), y)), z) -> APP'(app'(plus, y), z)
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'(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'(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'(cons, x), app'(app'(cons, y), k)))

Rules:

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)))))

On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

APP'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> APP'(app'(cons, app'(app'(plus, x), y)), l)
two new Dependency Pairs are created:

APP'(sum, app'(app'(cons, 0), app'(app'(cons, y''), l))) -> APP'(app'(cons, y''), l)
APP'(sum, app'(app'(cons, app'(s, x'')), app'(app'(cons, y''), l))) -> APP'(app'(cons, app'(s, app'(app'(plus, x''), y''))), l)

The transformation is resulting in one new DP problem:

`   R`
`     ↳DPs`
`       →DP Problem 1`
`         ↳Nar`
`           →DP Problem 2`
`             ↳Nar`
`             ...`
`               →DP Problem 3`
`                 ↳Narrowing Transformation`

Dependency Pairs:

APP'(sum, app'(app'(cons, app'(s, x'')), app'(app'(cons, y''), l))) -> APP'(app'(cons, app'(s, app'(app'(plus, x''), y''))), l)
APP'(app'(app, app'(app'(cons, x), l'')), nil) -> APP'(app'(cons, x), l'')
APP'(app'(app, app'(app'(cons, x), nil)), k'') -> APP'(app'(cons, x), k'')
APP'(sum, app'(app'(cons, 0), app'(app'(cons, y''), l))) -> APP'(app'(cons, y''), l)
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)))
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'(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'(app'(plus, x), y)
APP'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> APP'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
APP'(app'(app, app'(app'(cons, x), l)), k) -> APP'(app'(app, l), k)
APP'(app'(plus, app'(s, x)), y) -> APP'(app'(plus, 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'(app'(quot, app'(app'(minus, x), y)), app'(s, y))
APP'(app'(minus, app'(app'(minus, x), y)), z) -> APP'(app'(plus, y), z)
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'(app, app'(app'(cons, x), app'(app'(cons, x''), l''))), k'') -> APP'(app'(cons, x), app'(app'(cons, x''), app'(app'(app, l''), k'')))

Rules:

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)))))

On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

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)))))
three new Dependency Pairs are created:

APP'(sum, app'(app'(app, nil), app'(app'(cons, x'), app'(app'(cons, y'), k'')))) -> APP'(sum, app'(sum, app'(app'(cons, x'), app'(app'(cons, y'), k''))))
APP'(sum, app'(app'(app, app'(app'(cons, x''), l'')), app'(app'(cons, x0), app'(app'(cons, y'), k'')))) -> APP'(sum, app'(app'(cons, x''), app'(app'(app, l''), app'(sum, app'(app'(cons, x0), 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, app'(app'(plus, x''), y'')), k'))))

The transformation is resulting in one new DP problem:

`   R`
`     ↳DPs`
`       →DP Problem 1`
`         ↳Nar`
`           →DP Problem 2`
`             ↳Nar`
`             ...`
`               →DP Problem 4`
`                 ↳Narrowing Transformation`

Dependency Pairs:

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, app'(app'(plus, x''), y'')), k'))))
APP'(sum, app'(app'(app, app'(app'(cons, x''), l'')), app'(app'(cons, x0), app'(app'(cons, y'), k'')))) -> APP'(sum, app'(app'(cons, x''), app'(app'(app, l''), app'(sum, app'(app'(cons, x0), app'(app'(cons, y'), k''))))))
APP'(sum, app'(app'(app, nil), app'(app'(cons, x'), app'(app'(cons, y'), k'')))) -> APP'(sum, app'(sum, app'(app'(cons, x'), app'(app'(cons, y'), k''))))
APP'(app'(app, app'(app'(cons, x), app'(app'(cons, x''), l''))), k'') -> APP'(app'(cons, x), app'(app'(cons, x''), app'(app'(app, l''), k'')))
APP'(app'(app, app'(app'(cons, x), l'')), nil) -> APP'(app'(cons, x), l'')
APP'(app'(app, app'(app'(cons, x), nil)), k'') -> APP'(app'(cons, x), k'')
APP'(sum, app'(app'(cons, 0), app'(app'(cons, y''), l))) -> APP'(app'(cons, y''), l)
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)))
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'(cons, x), app'(app'(cons, y), l))) -> APP'(app'(plus, x), y)
APP'(sum, app'(app'(cons, x), app'(app'(cons, y), l))) -> APP'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
APP'(app'(app, app'(app'(cons, x), l)), k) -> APP'(app'(app, l), k)
APP'(app'(plus, app'(s, x)), y) -> APP'(app'(plus, 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'(app'(quot, app'(app'(minus, x), y)), app'(s, y))
APP'(app'(minus, app'(app'(minus, x), y)), z) -> APP'(app'(plus, y), z)
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'(sum, app'(app'(cons, app'(s, x'')), app'(app'(cons, y''), l))) -> APP'(app'(cons, app'(s, app'(app'(plus, x''), y''))), l)

Rules:

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)))))

On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

APP'(app'(app, app'(app'(cons, x), nil)), k'') -> APP'(app'(cons, x), k'')
no new Dependency Pairs are created.
The transformation is resulting in one new DP problem:

`   R`
`     ↳DPs`
`       →DP Problem 1`
`         ↳Nar`
`           →DP Problem 2`
`             ↳Nar`
`             ...`
`               →DP Problem 5`
`                 ↳Narrowing Transformation`

Dependency Pairs:

APP'(sum, app'(app'(app, app'(app'(cons, x''), l'')), app'(app'(cons, x0), app'(app'(cons, y'), k'')))) -> APP'(sum, app'(app'(cons, x''), app'(app'(app, l''), app'(sum, app'(app'(cons, x0), app'(app'(cons, y'), k''))))))
APP'(sum, app'(app'(app, nil), app'(app'(cons, x'), app'(app'(cons, y'), k'')))) -> APP'(sum, app'(sum, app'(app'(cons, x'), app'(app'(cons, y'), k''))))
APP'(sum, app'(app'(cons, app'(s, x'')), app'(app'(cons, y''), l))) -> APP'(app'(cons, app'(s, app'(app'(plus, x''), y''))), l)
APP'(app'(app, app'(app'(cons, x), app'(app'(cons, x''), l''))), k'') -> APP'(app'(cons, x), app'(app'(cons, x''), app'(app'(app, l''), k'')))
APP'(app'(app, app'(app'(cons, x), l'')), nil) -> APP'(app'(cons, x), l'')
APP'(sum, app'(app'(cons, 0), app'(app'(cons, y''), l))) -> APP'(app'(cons, y''), l)
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)))
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'(app'(app, app'(app'(cons, x), l)), k) -> APP'(app'(app, l), k)
APP'(app'(plus, app'(s, x)), y) -> APP'(app'(plus, 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'(app'(quot, app'(app'(minus, x), y)), app'(s, y))
APP'(app'(minus, app'(app'(minus, x), y)), z) -> APP'(app'(plus, y), z)
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'(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'(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, app'(app'(plus, x''), y'')), k'))))

Rules:

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)))))

On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

APP'(app'(app, app'(app'(cons, x), l'')), nil) -> APP'(app'(cons, x), l'')
no new Dependency Pairs are created.
The transformation is resulting in one new DP problem:

`   R`
`     ↳DPs`
`       →DP Problem 1`
`         ↳Nar`
`           →DP Problem 2`
`             ↳Nar`
`             ...`
`               →DP Problem 6`
`                 ↳Narrowing Transformation`

Dependency Pairs:

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, app'(app'(plus, x''), y'')), k'))))
APP'(sum, app'(app'(app, nil), app'(app'(cons, x'), app'(app'(cons, y'), k'')))) -> APP'(sum, app'(sum, app'(app'(cons, x'), app'(app'(cons, y'), k''))))
APP'(sum, app'(app'(cons, app'(s, x'')), app'(app'(cons, y''), l))) -> APP'(app'(cons, app'(s, app'(app'(plus, x''), y''))), l)
APP'(app'(app, app'(app'(cons, x), app'(app'(cons, x''), l''))), k'') -> APP'(app'(cons, x), app'(app'(cons, x''), app'(app'(app, l''), k'')))
APP'(sum, app'(app'(cons, 0), app'(app'(cons, y''), l))) -> APP'(app'(cons, y''), l)
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)))
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'(app'(app, app'(app'(cons, x), l)), k) -> APP'(app'(app, l), k)
APP'(app'(plus, app'(s, x)), y) -> APP'(app'(plus, 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'(app'(quot, app'(app'(minus, x), y)), app'(s, y))
APP'(app'(minus, app'(app'(minus, x), y)), z) -> APP'(app'(plus, y), z)
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'(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'(sum, app'(app'(cons, app'(app'(plus, x), y)), l))
APP'(sum, app'(app'(app, app'(app'(cons, x''), l'')), app'(app'(cons, x0), app'(app'(cons, y'), k'')))) -> APP'(sum, app'(app'(cons, x''), app'(app'(app, l''), app'(sum, app'(app'(cons, x0), app'(app'(cons, y'), k''))))))

Rules:

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)))))

On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

APP'(sum, app'(app'(cons, 0), app'(app'(cons, y''), l))) -> APP'(app'(cons, y''), l)
no new Dependency Pairs are created.
The transformation is resulting in one new DP problem:

`   R`
`     ↳DPs`
`       →DP Problem 1`
`         ↳Nar`
`           →DP Problem 2`
`             ↳Nar`
`             ...`
`               →DP Problem 7`
`                 ↳Remaining Obligation(s)`

The following remains to be proven:
Dependency Pairs:

APP'(sum, app'(app'(app, app'(app'(cons, x''), l'')), app'(app'(cons, x0), app'(app'(cons, y'), k'')))) -> APP'(sum, app'(app'(cons, x''), app'(app'(app, l''), app'(sum, app'(app'(cons, x0), app'(app'(cons, y'), k''))))))
APP'(sum, app'(app'(app, nil), app'(app'(cons, x'), app'(app'(cons, y'), k'')))) -> APP'(sum, app'(sum, app'(app'(cons, x'), app'(app'(cons, y'), k''))))
APP'(app'(app, app'(app'(cons, x), app'(app'(cons, x''), l''))), k'') -> APP'(app'(cons, x), app'(app'(cons, x''), app'(app'(app, l''), k'')))
APP'(sum, app'(app'(cons, app'(s, x'')), app'(app'(cons, y''), l))) -> APP'(app'(cons, app'(s, 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'(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'(app'(app, app'(app'(cons, x), l)), k) -> APP'(app'(app, l), k)
APP'(app'(plus, app'(s, x)), y) -> APP'(app'(plus, 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'(app'(quot, app'(app'(minus, x), y)), app'(s, y))
APP'(app'(minus, app'(app'(minus, x), y)), z) -> APP'(app'(plus, y), z)
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'(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'(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, app'(app'(plus, x''), y'')), k'))))

Rules:

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)))))

Termination of R could not be shown.
Duration:
0:03 minutes