porous sets: why measure zero? We call a measurable set $E\subset\mathbb R^N$ porous if every ball $B_r(x)$ contains a smaller ball $B_{cr}(y)$ for some $c\in(0,1)$ such that
$$
B_{cr}(y)\subset B_r(x)\setminus E.
$$
So I've read in my book that all porous sets have Lebesgue-measure zero. Why does this hold?
Add: I do know $\limsup_{r\to0}\frac{|E\cap B_r(z)|}{|B_r|}<1$ for some $z\in E$.
 A: I assume that $c$ is fixed (otherwise, a fat Cantor set should provide a counter-example). You can prove it quickly with the Lebesgue density theorem. Assume that $E$ has non-zero measure. By this theorem, Lebesgue-almost every point in $E$ is a density point, so there exists $x \in E$ such that :
$$\lim_{r \to 0} \frac{|E \cap B_r (x)|}{|B_r (x)|} = 1.$$
But then, for all $r > 0$, there exists $y$ such that $B_{cr} (y) \subset B_r (x) \cap E^c$. Hence, for all $r > 0$,
$$\frac{|E \cap B_r (x)|}{|B_r (x)|} = 1-\frac{|E^c \cap B_r (x)|}{|B_r (x)|} \leq  1-\frac{|B_{cr} (y)|}{|B_r (x)|} = 1-c^N,$$
which provides a contradiction.
Edit: the point is that $\limsup_{r \to 0} \frac{|E \cap B_r (z)|}{|B_r (z)|} < 1$ not merely for one, but for every $z \in E$; from there we can conclude with the theorem.
A: Suppose $|E| > 0$.  Given $\epsilon>0$, there exists a sequence of balls $B_n$ such that $E \subseteq \bigcup_n B_n$ and $$\sum_n |B_n| \le (1+\epsilon) |E| .\tag1$$  (This follows from the definition of outer-measure.)
Now, since $E$ is porous, there exists open balls $C_n \subset B_n \setminus E$ with $|C_n| = c^N |B_n|$.  Then $E \subset \bigcup_n (B_n\setminus C_n)$, and hence $$|E| \le \sum_n |B_n \setminus C_n| = (1-c^N) \sum_n |B_n | .\tag2 $$
Putting (1) and (2) together we get
$$ (1+\epsilon) (1 - c^N) > 1 .$$
Since $c$ is fixed, and $\epsilon>0$ can be picked arbitrarily, we obtain a contradiction.
