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{4, 1 + x1} not#_A(x1) = max{4, 1 + x1} xor_A(x1,x2) = max{4, x1, x2} xor#_A(x1,x2) = max{4, x1, x2} true_A = 4 true#_A = 4 or_A(x1,x2) = max{4, 3 + x1, 3 + x2} or#_A(x1,x2) = max{4, 3 + x1, 3 + x2} and_A(x1,x2) = max{4, 2 + x1, 1 + x2} and#_A(x1,x2) = max{4, 2 + x1, 1 + x2} implies_A(x1,x2) = max{3, 3 + x1, 4 + x2} implies#_A(x1,x2) = max{3, 3 + x1, 4 + x2} false_A = 1 false#_A = 1 precedence: or = implies = false > not = and > xor = true