We consider the system 470. Alphabet: L : [o] --> o P : [o * o -> o * o -> o] --> o R : [o] --> o Rules: P(L(X), /\x.Y(x), /\y.Z(y)) => Y(X) P(R(X), /\x.Y(x), /\y.Z(y)) => Z(X) We use rule removal, following [Kop12, Theorem 2.23]. This gives the following requirements (possibly using Theorems 2.25 and 2.26 in [Kop12]): P(L(X), /\x.Y(x), /\y.Z(y)) >? Y(X) P(R(X), /\x.Y(x), /\y.Z(y)) >? Z(X) We use a recursive path ordering as defined in [Kop12, Chapter 5]. We choose Lex = {} and Mul = {L, P, R}, and the following precedence: R > L > P With these choices, we have: 1] P(L(X), /\x.Y(x), /\y.Z(y)) >= Y(X) because [2], by (Star) 2] P*(L(X), /\x.Y(x), /\y.Z(y)) >= Y(X) because [3], by (Select) 3] Y(P*(L(X), /\x.Y(x), /\y.Z(y))) >= Y(X) because [4], by (Meta) 4] P*(L(X), /\x.Y(x), /\y.Z(y)) >= X because [5], by (Select) 5] L(X) >= X because [6], by (Star) 6] L*(X) >= X because [7], by (Select) 7] X >= X by (Meta) 8] P(R(X), /\x.Y(x), /\y.Z(y)) > Z(X) because [9], by definition 9] P*(R(X), /\x.Y(x), /\y.Z(y)) >= Z(X) because [10], by (Select) 10] Z(P*(R(X), /\x.Y(x), /\y.Z(y))) >= Z(X) because [11], by (Meta) 11] P*(R(X), /\x.Y(x), /\y.Z(y)) >= X because [12], by (Select) 12] R(X) >= X because [13], by (Star) 13] R*(X) >= X because [14], by (Select) 14] X >= X by (Meta) We can thus remove the following rules: P(R(X), /\x.Y(x), /\y.Z(y)) => Z(X) We use rule removal, following [Kop12, Theorem 2.23]. This gives the following requirements (possibly using Theorems 2.25 and 2.26 in [Kop12]): P(L(X), /\x.Y(x), /\y.Z(y)) >? Y(X) We use a recursive path ordering as defined in [Kop12, Chapter 5]. We choose Lex = {} and Mul = {L, P}, and the following precedence: L > P With these choices, we have: 1] P(L(X), /\x.Y(x), /\y.Z(y)) > Y(X) because [2], by definition 2] P*(L(X), /\x.Y(x), /\y.Z(y)) >= Y(X) because [3], by (Select) 3] Y(P*(L(X), /\x.Y(x), /\y.Z(y))) >= Y(X) because [4], by (Meta) 4] P*(L(X), /\x.Y(x), /\y.Z(y)) >= X because [5], by (Select) 5] L(X) >= X because [6], by (Star) 6] L*(X) >= X because [7], by (Select) 7] X >= X by (Meta) We can thus remove the following rules: P(L(X), /\x.Y(x), /\y.Z(y)) => Y(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.