/export/starexec/sandbox2/solver/bin/starexec_run_FirstOrder /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES We consider the system theBenchmark. We are asked to determine termination of the following first-order TRS. 0 : [] --> o f : [o * o * o * o * o] --> o s : [o] --> o f(s(X), Y, Z, U, V) => f(X, Y, Z, U, V) f(0, s(X), Y, Z, U) => f(X, X, Y, Z, U) f(0, 0, s(X), Y, Z) => f(X, X, X, Y, Z) f(0, 0, 0, s(X), Y) => f(X, X, X, X, Y) f(0, 0, 0, 0, s(X)) => f(X, X, X, X, X) f(0, 0, 0, 0, 0) => 0 We use rule removal, following [Kop12, Theorem 2.23]. This gives the following requirements (possibly using Theorems 2.25 and 2.26 in [Kop12]): f(s(X), Y, Z, U, V) >? f(X, Y, Z, U, V) f(0, s(X), Y, Z, U) >? f(X, X, Y, Z, U) f(0, 0, s(X), Y, Z) >? f(X, X, X, Y, Z) f(0, 0, 0, s(X), Y) >? f(X, X, X, X, Y) f(0, 0, 0, 0, s(X)) >? f(X, X, X, X, X) f(0, 0, 0, 0, 0) >? 0 We orient these requirements with a polynomial interpretation in the natural numbers. The following interpretation satisfies the requirements: 0 = 0 f = \y0y1y2y3y4.3 + y0 + y1 + y2 + 2y3 + 3y4 s = \y0.3 + 3y0 Using this interpretation, the requirements translate to: [[f(s(_x0), _x1, _x2, _x3, _x4)]] = 6 + x1 + x2 + 2x3 + 3x0 + 3x4 > 3 + x0 + x1 + x2 + 2x3 + 3x4 = [[f(_x0, _x1, _x2, _x3, _x4)]] [[f(0, s(_x0), _x1, _x2, _x3)]] = 6 + x1 + 2x2 + 3x0 + 3x3 > 3 + x1 + 2x0 + 2x2 + 3x3 = [[f(_x0, _x0, _x1, _x2, _x3)]] [[f(0, 0, s(_x0), _x1, _x2)]] = 6 + 2x1 + 3x0 + 3x2 > 3 + 2x1 + 3x0 + 3x2 = [[f(_x0, _x0, _x0, _x1, _x2)]] [[f(0, 0, 0, s(_x0), _x1)]] = 9 + 3x1 + 6x0 > 3 + 3x1 + 5x0 = [[f(_x0, _x0, _x0, _x0, _x1)]] [[f(0, 0, 0, 0, s(_x0))]] = 12 + 9x0 > 3 + 8x0 = [[f(_x0, _x0, _x0, _x0, _x0)]] [[f(0, 0, 0, 0, 0)]] = 3 > 0 = [[0]] We can thus remove the following rules: f(s(X), Y, Z, U, V) => f(X, Y, Z, U, V) f(0, s(X), Y, Z, U) => f(X, X, Y, Z, U) f(0, 0, s(X), Y, Z) => f(X, X, X, Y, Z) f(0, 0, 0, s(X), Y) => f(X, X, X, X, Y) f(0, 0, 0, 0, s(X)) => f(X, X, X, X, X) f(0, 0, 0, 0, 0) => 0 All rules were succesfully removed. Thus, termination of the original system has been reduced to termination of the beta-rule, which is well-known to hold. +++ Citations +++ [Kop12] C. Kop. Higher Order Termination. PhD Thesis, 2012.