YES TRS: not(x) -> xor(x,true()) or(x,y) -> xor(and(x,y),xor(x,y)) implies(x,y) -> xor(and(x,y),xor(x,true())) and(x,true()) -> x and(x,false()) -> false() and(x,x) -> x xor(x,false()) -> x xor(x,x) -> false() and(xor(x,y),z) -> xor(and(x,z),and(y,z)) max/plus interpretations on N: not_A(x1) = max{8, 7 + x1} not#_A(x1) = max{2, 4} xor_A(x1,x2) = max{7, 3 + x1, 2 + x2} xor#_A(x1,x2) = max{3, 1, 4} true_A = 6 true#_A = 3 or_A(x1,x2) = max{3, 5 + x1, 9 + x2} or#_A(x1,x2) = max{6, 6 + x1, 6} and_A(x1,x2) = max{5, 1 + x1, 3} and#_A(x1,x2) = max{5, -2, 5} implies_A(x1,x2) = max{6, 10 + x1, 6} implies#_A(x1,x2) = max{2, 5, 2} false_A = 4 false#_A = 0 precedence: not > true > or = implies > and > false > xor