YES TRS: not(x) -> xor(x,true()) implies(x,y) -> xor(and(x,y),xor(x,true())) or(x,y) -> xor(and(x,y),xor(x,y)) =(x,y) -> xor(x,xor(y,true())) max/plus interpretations on N: not_A(x1) = max{0, x1} not#_A(x1) = max{0, x1} xor_A(x1,x2) = max{0, x1, x2} xor#_A(x1,x2) = max{0, x1, x2} true_A = 0 true#_A = 0 implies_A(x1,x2) = max{0, x1, x2} implies#_A(x1,x2) = max{0, x1, x2} and_A(x1,x2) = max{0, x1, x2} and#_A(x1,x2) = max{0, x1, x2} or_A(x1,x2) = max{0, x1, x2} or#_A(x1,x2) = max{0, x1, x2} =_A(x1,x2) = max{0, x1, x2} =#_A(x1,x2) = max{0, x1, x2} precedence: not = implies = or = = > xor = true = and