We consider the system 479. Alphabet: a : [] --> o apply : [o -> o * o] --> o b : [] --> o Rules: apply(/\x.X(x), Y) => X(Y) a => b We use rule removal, following [Kop12, Theorem 2.23]. This gives the following requirements (possibly using Theorems 2.25 and 2.26 in [Kop12]): apply(/\x.X(x), Y) >? X(Y) a >? b We orient these requirements with a polynomial interpretation in the natural numbers. The following interpretation satisfies the requirements: a = 3 apply = \G0y1.3 + y1 + G0(y1) b = 0 Using this interpretation, the requirements translate to: [[apply(/\x._x0(x), _x1)]] = 3 + x1 + F0(x1) > F0(x1) = [[_x0(_x1)]] [[a]] = 3 > 0 = [[b]] We can thus remove the following rules: apply(/\x.X(x), Y) => X(Y) a => b 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.