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