We consider the system 449. Alphabet: a : [] --> o f : [o] --> o g : [o] --> o h : [o] --> o hprime : [o -> o] --> o Rules: f(X) => X hprime(/\x.h(f(g(x)))) => a 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) >? X hprime(/\x.h(f(g(x)))) >? a We use a recursive path ordering as defined in [Kop12, Chapter 5]. Argument functions: [[a]] = _|_ [[f(x_1)]] = x_1 [[g(x_1)]] = x_1 [[h(x_1)]] = x_1 We choose Lex = {} and Mul = {hprime}, and the following precedence: hprime Taking the argument function into account, and fixing the greater / greater equal choices, the constraints can be denoted as follows: X >= X hprime(/\x.x) > _|_ With these choices, we have: 1] X >= X by (Meta) 2] hprime(/\x.x) > _|_ because [3], by definition 3] hprime*(/\x.x) >= _|_ by (Bot) We can thus remove the following rules: hprime(/\x.h(f(g(x)))) => a 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) >? X We use a recursive path ordering as defined in [Kop12, Chapter 5]. We choose Lex = {} and Mul = {f}, and the following precedence: f With these choices, we have: 1] f(X) > X because [2], by definition 2] f*(X) >= X because [3], by (Select) 3] X >= X by (Meta) We can thus remove the following rules: f(X) => X 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.