YES (VAR x1 x0 x2 x y z) (RULES i2(f(x1,i1(i1(x0)))) -> i2(f(x1,x0)) f(x0,i2(x1)) -> i2(f(x1,i1(x0))) i1(f(x1,x0)) -> f(i1(x0),i1(x1)) i2(f(f(x0,i1(x1)),x1)) -> i2(x0) f(f(f(x0,i1(x2)),x2),x1) -> f(x0,x1) i2(f(i1(x0),x0)) -> i2(a1()) i2(i1(i1(x0))) -> i2(x0) i1(i1(i1(x0))) -> i1(x0) f(f(i1(x0),x0),x1) -> x1 f(f(x0,i1(i1(x1))),x2) -> f(f(x0,x1),x2) f(i2(x0),x1) -> f(i1(x0),x1) i2(i2(x0)) -> i2(i1(x0)) f(i1(i1(x0)),x1) -> f(x0,x1) i1(i2(x0)) -> i1(i1(x0)) f(x0,a1()) -> i1(i1(x0)) f(f(x0,x1),i1(x1)) -> i1(i1(x0)) i1(a1()) -> a1() a2() -> i2(a1()) f(x,i1(x)) -> a1() f(a1(),y) -> y f(x,f(y,z)) -> f(f(x,y),z) ) (COMMENT Termination is shown by EKBO with interpretations on natural numbers f_A(x1,x2) = x1 + x2 + 2 a1_A = 0 a2_A = 6 i1_A(x1) = x1 i2_A(x1) = x1 + 1 f#_A(x1,x2) = x2 a1#_A = 0 a2#_A = 0 weights w0 = 1 w(f) = 1 w(a1) = 1 w(a2) = 2 w(i1) = 0 w(i2) = 1 and precedence: i1 > f > a1 > a2 > i2 )