/export/starexec/sandbox/solver/bin/starexec_run_HigherOrder /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES We consider the system theBenchmark. Alphabet: f : [] --> a -> b -> c f1 : [a] --> b -> c f2 : [a * b] --> c Rules: f x => f1(x) f1(x) y => f2(x, y) This AFS is converted to an AFSM simply by replacing all free variables by meta-variables (with arity 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(X) >? f1(X) f1(X) Y >? f2(X, Y) We orient these requirements with a polynomial interpretation in the natural numbers. The following interpretation satisfies the requirements: f = \y0y1.3 + 3y0 + 3y1 f1 = \y0y1.y0 f2 = \y0y1.y0 + y1 Using this interpretation, the requirements translate to: [[f(_x0)]] = \y0.3 + 3y0 + 3x0 > \y0.x0 = [[f1(_x0)]] [[f1(_x0) _x1]] = x0 + x1 >= x0 + x1 = [[f2(_x0, _x1)]] We can thus remove the following rules: f(X) => f1(X) We use rule removal, following [Kop12, Theorem 2.23]. This gives the following requirements (possibly using Theorems 2.25 and 2.26 in [Kop12]): f1(X, Y) >? f2(X, Y) We orient these requirements with a polynomial interpretation in the natural numbers. The following interpretation satisfies the requirements: f1 = \y0y1.3 + 3y0 + 3y1 f2 = \y0y1.y0 + y1 Using this interpretation, the requirements translate to: [[f1(_x0, _x1)]] = 3 + 3x0 + 3x1 > x0 + x1 = [[f2(_x0, _x1)]] We can thus remove the following rules: f1(X, Y) => f2(X, 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.