0.00/0.02 YES 0.00/0.03 We consider the system theBenchmark. 0.00/0.03 0.00/0.03 Alphabet: 0.00/0.03 0.00/0.03 compose : [b -> c * a -> b * a] --> c 0.00/0.03 0.00/0.03 Rules: 0.00/0.03 0.00/0.03 compose(f, g, x) => f (g x) 0.00/0.03 0.00/0.03 This AFS is converted to an AFSM simply by replacing all free variables by meta-variables (with arity 0). 0.00/0.03 0.00/0.03 We use rule removal, following [Kop12, Theorem 2.23]. 0.00/0.03 0.00/0.03 This gives the following requirements (possibly using Theorems 2.25 and 2.26 in [Kop12]): 0.00/0.03 0.00/0.03 compose(F, G, X) >? F (G X) 0.00/0.03 0.00/0.03 We use a recursive path ordering as defined in [Kop12, Chapter 5]. 0.00/0.03 0.00/0.03 We choose Lex = {} and Mul = {@_{o -> o}, compose}, and the following precedence: compose > @_{o -> o} 0.00/0.03 0.00/0.03 With these choices, we have: 0.00/0.03 0.00/0.03 1] compose(F, G, X) > @_{o -> o}(F, @_{o -> o}(G, X)) because [2], by definition 0.00/0.03 2] compose*(F, G, X) >= @_{o -> o}(F, @_{o -> o}(G, X)) because compose > @_{o -> o}, [3] and [5], by (Copy) 0.00/0.03 3] compose*(F, G, X) >= F because [4], by (Select) 0.00/0.03 4] F >= F by (Meta) 0.00/0.03 5] compose*(F, G, X) >= @_{o -> o}(G, X) because compose > @_{o -> o}, [6] and [8], by (Copy) 0.00/0.03 6] compose*(F, G, X) >= G because [7], by (Select) 0.00/0.03 7] G >= G by (Meta) 0.00/0.03 8] compose*(F, G, X) >= X because [9], by (Select) 0.00/0.03 9] X >= X by (Meta) 0.00/0.03 0.00/0.03 We can thus remove the following rules: 0.00/0.03 0.00/0.03 compose(F, G, X) => F (G X) 0.00/0.03 0.00/0.03 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. 0.00/0.03 0.00/0.03 0.00/0.03 +++ Citations +++ 0.00/0.03 0.00/0.03 [Kop12] C. Kop. Higher Order Termination. PhD Thesis, 2012. 0.00/0.03 EOF