This is part of Exercise III.1.16(c) of Bourbaki's set theory.
Let $E$ be a lattice. The condition
$(x\vee y)\wedge(z\vee(x\wedge y))=(x\wedge y)\vee(y\wedge z)\vee(z\wedge x)$
for all $x,y,z\in E$ implies that $E$ is distributive.
I already know that
$(x\vee y)\wedge(y\vee z)\wedge(z\vee x)=(x\wedge y)\vee(y\wedge z)\vee(z\wedge x)$
implies distributivity, so it suffices to prove
$(x\vee y)\wedge(z\vee(x\wedge y))=(x\vee y)\wedge(y\vee z)\wedge(z\vee x)$.
I can't find a proof of this last statement. Either it is true in any lattice, then the proof should be so simple I must be blind not to see it, or I have to use the condition above again, but I can't imagine in what way.
$(x\vee y)\wedge(z\vee(x\wedge y))=(x\wedge y)\vee(y\wedge z)\vee(z\wedge x)$
implies
$x\vee((x\vee y)\wedge(z\vee(x\wedge y)))=x\vee((x\wedge y)\vee(y\wedge z)\vee(z\wedge x)).$
The right side equals $x\vee(y\wedge z)$.
For the left side, we use the condition above again, substituting $x\vee y$ for $y$ and $z\vee(x\wedge y)$ for $z$, and get
$x\vee((x\vee y)\wedge(z\vee(x\wedge y)))=(x\vee y)\wedge((z\vee(x\wedge y))\vee x)=(x\wedge y)\vee(x\wedge z).$