YES (VAR x0 x1 x y z) (RULES i2(x0) -> f(i1(x0),a2()) f(i1(x0),a1()) -> i1(x0) i1(f(x1,x0)) -> f(i1(x0),i1(x1)) f(i1(x0),f(x0,x1)) -> x1 i1(i1(x0)) -> f(x0,a1()) f(x1,f(i1(x1),x0)) -> x0 i1(a1()) -> a1() i1(a2()) -> a1() f(x,i1(x)) -> a1() f(a2(),y) -> y f(a1(),y) -> y f(f(x,y),z) -> f(x,f(y,z)) ) (COMMENT Termination is shown by LPO with precedence: i2 > i1 > f > a2 > a1 )