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