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}