/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. !dot : [o * o] --> o 1 : [] --> o i : [o] --> o !dot(1, X) => X !dot(X, 1) => X !dot(i(X), X) => 1 !dot(X, i(X)) => 1 i(1) => 1 i(i(X)) => X !dot(i(X), !dot(X, Y)) => Y !dot(X, !dot(i(X), Y)) => Y We use rule removal, following [Kop12, Theorem 2.23]. This gives the following requirements (possibly using Theorems 2.25 and 2.26 in [Kop12]): !dot(1, X) >? X !dot(X, 1) >? X !dot(i(X), X) >? 1 !dot(X, i(X)) >? 1 i(1) >? 1 i(i(X)) >? X !dot(i(X), !dot(X, Y)) >? Y !dot(X, !dot(i(X), Y)) >? Y We orient these requirements with a polynomial interpretation in the natural numbers. The following interpretation satisfies the requirements: !dot = \y0y1.3 + 3y0 + 3y1 1 = 0 i = \y0.3 + 3y0 Using this interpretation, the requirements translate to: [[!dot(1, _x0)]] = 3 + 3x0 > x0 = [[_x0]] [[!dot(_x0, 1)]] = 3 + 3x0 > x0 = [[_x0]] [[!dot(i(_x0), _x0)]] = 12 + 12x0 > 0 = [[1]] [[!dot(_x0, i(_x0))]] = 12 + 12x0 > 0 = [[1]] [[i(1)]] = 3 > 0 = [[1]] [[i(i(_x0))]] = 12 + 9x0 > x0 = [[_x0]] [[!dot(i(_x0), !dot(_x0, _x1))]] = 21 + 9x1 + 18x0 > x1 = [[_x1]] [[!dot(_x0, !dot(i(_x0), _x1))]] = 39 + 9x1 + 30x0 > x1 = [[_x1]] We can thus remove the following rules: !dot(1, X) => X !dot(X, 1) => X !dot(i(X), X) => 1 !dot(X, i(X)) => 1 i(1) => 1 i(i(X)) => X !dot(i(X), !dot(X, Y)) => Y !dot(X, !dot(i(X), Y)) => Y 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.