Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
@PiotrAchinger Ok, I think I understand. The "similar" argument should be the following. To check that $C\cdot D>0$, we may assume $D\neq C$. Let $y\in D$ such that $y\not\in C$. Let $x\in C$. Then $(x-y) + D$ intersects $C$, because it contains $x$. If $(x-y) +D =C$, then we can use your first comment, because we already know $C^2>0$. If $(x-y) +D \neq C$, then clearly $C\cdot D>0$ (because the intersection is a finite set and contains $x$). Is this the argument you had in mind?