(i) false;
Let be N = { 0, 1 , 2}; x * y = x + y => a * a = 2a ∈ { 0, 2 , 4}, which is not a( just for a = 0);
(ii) true;
b * c = c * b => a * ( b * c ) = a * ( c * b ); (1)
but, a * ( c * b ) = ( c * b ) * a; (2)
(1) and (2) => a * (b * c) = (c * b) * a.