/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: branch : [a * b * b] --> b leaf : [a] --> b mapbt : [a -> a * b] --> b Rules: mapbt(f, leaf(x)) => leaf(f x) mapbt(f, branch(x, y, z)) => branch(f x, mapbt(f, y), mapbt(f, z)) 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]): mapbt(F, leaf(X)) >? leaf(F X) mapbt(F, branch(X, Y, Z)) >? branch(F X, mapbt(F, Y), mapbt(F, Z)) We orient these requirements with a polynomial interpretation in the natural numbers. The following interpretation satisfies the requirements: branch = \y0y1y2.3 + y0 + y1 + y2 leaf = \y0.1 + y0 mapbt = \G0y1.3y1 + G0(0) + 3y1G0(y1) Using this interpretation, the requirements translate to: [[mapbt(_F0, leaf(_x1))]] = 3 + 3x1 + F0(0) + 3x1F0(1 + x1) + 3F0(1 + x1) > 1 + x1 + F0(x1) = [[leaf(_F0 _x1)]] [[mapbt(_F0, branch(_x1, _x2, _x3))]] = 9 + 3x1 + 3x2 + 3x3 + F0(0) + 3x1F0(3 + x1 + x2 + x3) + 3x2F0(3 + x1 + x2 + x3) + 3x3F0(3 + x1 + x2 + x3) + 9F0(3 + x1 + x2 + x3) > 3 + x1 + 3x2 + 3x3 + F0(x1) + 2F0(0) + 3x2F0(x2) + 3x3F0(x3) = [[branch(_F0 _x1, mapbt(_F0, _x2), mapbt(_F0, _x3))]] We can thus remove the following rules: mapbt(F, leaf(X)) => leaf(F X) mapbt(F, branch(X, Y, Z)) => branch(F X, mapbt(F, Y), mapbt(F, Z)) 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.