In which of following stuctures is valid implication $x\cdot y=1\implies x=1$?

In which of following stuctures is valid implication $x\cdot y=1\implies x=1$?

a) $(\mathbb{N}, *)$

b) $(\mathbb{Z}, *)$

c) $(\mathbb{Q}, *)$

d) $(\mathbb{C}, *)$

Solution is a), I can prove it by using simple example for all of four sets, but I need more general explanation.

-
You are dealing with a multiplicative commutative monoid; $xy=1$ implies $x=1$ if and only if the only the only invertible is the identity element. – Arturo Magidin Mar 14 '12 at 16:05
The tags were actually correct to begin with. This is a question about structures of predicate calculus, and logical implications. – Asaf Karagila Mar 14 '12 at 21:58

What are the units (or elements that have a multiplicative inverse) in each of these structures? What your sentence says is that in the correct structure, $x$ has a multiplicative inverse $\implies x = 1$.
How about counting the number of invertible elements? c) and d) are fields; b) has two units. Notice that when $xy=1, x=1 \Leftrightarrow y=1$
If you solve for $x$, you obtain $x=\dfrac{1}{y}$. So, if both $\dfrac{1}{y}$ is in your system and $\dfrac{1}{y}\neq 1$, then it won't imply that $x=1$.