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)) linear polynomial interpretations on N: not_A(x1) = x1 + 1 not#_A(x1) = x1 + 2 xor_A(x1,x2) = x1 + 1 xor#_A(x1,x2) = 1 true_A = 1 true#_A = 0 or_A(x1,x2) = x1 + x2 + 2 or#_A(x1,x2) = x1 + x2 + 3 and_A(x1,x2) = x1 + x2 + 1 and#_A(x1,x2) = x2 + 2 implies_A(x1,x2) = x1 + x2 + 2 implies#_A(x1,x2) = x1 + x2 + 3 false_A = 1 false#_A = 0 precedence: not = or = implies = false > true = and > xor