YES

The TRS could be proven terminating. The proof took 225 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (4ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4iUR (194ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

app#(app(plus, app(s, x)), y) → app#(s, app(app(plus, x), y))app#(app(plus, app(s, x)), y) → app#(plus, x)
app#(app(plus, app(s, x)), y) → app#(app(plus, x), y)

Rewrite Rules

app(id, x) → xapp(plus, 0) → id
app(app(plus, app(s, x)), y) → app(s, app(app(plus, x), y))

Original Signature

Termination of terms over the following signature is verified: id, app, plus, 0, s

Strategy


The following SCCs where found

app#(app(plus, app(s, x)), y) → app#(app(plus, x), y)

Problem 2: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

app#(app(plus, app(s, x)), y) → app#(app(plus, x), y)

Rewrite Rules

app(id, x) → xapp(plus, 0) → id
app(app(plus, app(s, x)), y) → app(s, app(app(plus, x), y))

Original Signature

Termination of terms over the following signature is verified: id, app, plus, 0, s

Strategy


Polynomial Interpretation

Improved Usable rules

app(app(plus, app(s, x)), y) → app(s, app(app(plus, x), y))app(plus, 0) → id
app(id, x) → x

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

app#(app(plus, app(s, x)), y) → app#(app(plus, x), y)