YES
The TRS could be proven terminating. The proof took 367 ms.
Problem 1 was processed with processor DependencyGraph (68ms). | Problem 2 was processed with processor PolynomialLinearRange4 (62ms). | Problem 3 was processed with processor PolynomialLinearRange4 (110ms). | | Problem 4 was processed with processor DependencyGraph (0ms).
| U12#(y', y, x, x') | → | plus#(x', y') | plus#(x, y) | → | U01#(x, y, x) | |
| U11#(s(x'), y, x) | → | T(y) | plus#(x, y) | → | U11#(x, y, x) | |
| fib#(s(x)) | → | U31#(fib(x), x) | fib#(s(x)) | → | fib#(x) | |
| U11#(s(x'), y, x) | → | U12#(y, y, x, x') | U01#(0, y, x) | → | U02#(y, y, x) | |
| U12#(y', y, x, x') | → | T(x') | U01#(0, y, x) | → | T(y) | |
| U31#(pair(y, z), x) | → | plus#(y, z) |
| plus(x, y) | → | U01(x, y, x) | U01(0, y, x) | → | U02(y, y, x) | |
| U02(y', y, x) | → | y' | plus(x, y) | → | U11(x, y, x) | |
| U11(s(x'), y, x) | → | U12(y, y, x, x') | U12(y', y, x, x') | → | s(plus(x', y')) | |
| fib(0) | → | pair(0, s(0)) | fib(s(x)) | → | U31(fib(x), x) | |
| U31(pair(y, z), x) | → | pair(z, plus(y, z)) |
Termination of terms over the following signature is verified: plus, 0, s, pair, fib
Context-sensitive strategy:
μ(T) = μ(0) = ∅
μ(U11#) = μ(U12#) = μ(U31#) = μ(fib) = μ(s) = μ(U01) = μ(U02) = μ(U11) = μ(U12) = μ(fib#) = μ(U31) = μ(U02#) = μ(U01#) = {1}
μ(plus) = μ(pair) = μ(plus#) = {1, 2}
| U12#(y', y, x, x') → plus#(x', y') | plus#(x, y) → U11#(x, y, x) |
| U11#(s(x'), y, x) → U12#(y, y, x, x') |
| fib#(s(x)) → fib#(x) |
| fib#(s(x)) | → | fib#(x) |
| plus(x, y) | → | U01(x, y, x) | U01(0, y, x) | → | U02(y, y, x) | |
| U02(y', y, x) | → | y' | plus(x, y) | → | U11(x, y, x) | |
| U11(s(x'), y, x) | → | U12(y, y, x, x') | U12(y', y, x, x') | → | s(plus(x', y')) | |
| fib(0) | → | pair(0, s(0)) | fib(s(x)) | → | U31(fib(x), x) | |
| U31(pair(y, z), x) | → | pair(z, plus(y, z)) |
Termination of terms over the following signature is verified: plus, 0, s, pair, fib
Context-sensitive strategy:
μ(T) = μ(0) = ∅
μ(U11#) = μ(U12#) = μ(U31#) = μ(fib) = μ(s) = μ(U01) = μ(U02) = μ(U11) = μ(U12) = μ(U31) = μ(fib#) = μ(U02#) = μ(U01#) = {1}
μ(plus) = μ(pair) = μ(plus#) = {1, 2}
There are no usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
| fib#(s(x)) | → | fib#(x) |
| U12#(y', y, x, x') | → | plus#(x', y') | plus#(x, y) | → | U11#(x, y, x) | |
| U11#(s(x'), y, x) | → | U12#(y, y, x, x') |
| plus(x, y) | → | U01(x, y, x) | U01(0, y, x) | → | U02(y, y, x) | |
| U02(y', y, x) | → | y' | plus(x, y) | → | U11(x, y, x) | |
| U11(s(x'), y, x) | → | U12(y, y, x, x') | U12(y', y, x, x') | → | s(plus(x', y')) | |
| fib(0) | → | pair(0, s(0)) | fib(s(x)) | → | U31(fib(x), x) | |
| U31(pair(y, z), x) | → | pair(z, plus(y, z)) |
Termination of terms over the following signature is verified: plus, 0, s, pair, fib
Context-sensitive strategy:
μ(T) = μ(0) = ∅
μ(U11#) = μ(U12#) = μ(U31#) = μ(fib) = μ(s) = μ(U01) = μ(U02) = μ(U11) = μ(U12) = μ(U31) = μ(fib#) = μ(U02#) = μ(U01#) = {1}
μ(plus) = μ(pair) = μ(plus#) = {1, 2}
| fib(s(x)) | → | U31(fib(x), x) | U12(y', y, x, x') | → | s(plus(x', y')) | |
| plus(x, y) | → | U01(x, y, x) | U01(0, y, x) | → | U02(y, y, x) | |
| U02(y', y, x) | → | y' | U31(pair(y, z), x) | → | pair(z, plus(y, z)) | |
| fib(0) | → | pair(0, s(0)) | U11(s(x'), y, x) | → | U12(y, y, x, x') | |
| plus(x, y) | → | U11(x, y, x) |
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
| U12#(y', y, x, x') | → | plus#(x', y') | U11#(s(x'), y, x) | → | U12#(y, y, x, x') |
| plus#(x, y) | → | U11#(x, y, x) |
| plus(x, y) | → | U01(x, y, x) | U01(0, y, x) | → | U02(y, y, x) | |
| U02(y', y, x) | → | y' | plus(x, y) | → | U11(x, y, x) | |
| U11(s(x'), y, x) | → | U12(y, y, x, x') | U12(y', y, x, x') | → | s(plus(x', y')) | |
| fib(0) | → | pair(0, s(0)) | fib(s(x)) | → | U31(fib(x), x) | |
| U31(pair(y, z), x) | → | pair(z, plus(y, z)) |
Termination of terms over the following signature is verified: plus, 0, s, pair, fib
Context-sensitive strategy:
μ(T) = μ(0) = ∅
μ(U11#) = μ(U12#) = μ(U31#) = μ(fib) = μ(s) = μ(U01) = μ(U02) = μ(U11) = μ(U12) = μ(fib#) = μ(U31) = μ(U02#) = μ(U01#) = {1}
μ(plus) = μ(pair) = μ(plus#) = {1, 2}