[proofplan]
We first prove the core estimate for a finite set of positive [real numbers](/page/Real%20Numbers). The proof organizes the grid $B \times B$ by slopes through the origin, uses adjacent slopes to produce disjoint subsets of $(B+B)\times(B+B)$, and then sums over dyadic classes of lines according to their populations. This gives an upper bound for multiplicative energy, while a direct Cauchy-type counting inequality gives the lower bound $|B|^4/|BB|$. Finally we pass from an arbitrary real set to a large same-sign subset and absorb the losses into the absolute constant.
[/proofplan]
[step:Define multiplicative energy and reduce its lower bound to product fibres]
Let $B \subset (0,\infty)$ be a finite non-empty set. Define the product representation function
\begin{align*}
r_{BB}: BB &\to \mathbb{N} \\
t &\mapsto |\{(b_1,b_2) \in B \times B : b_1b_2=t\}|.
\end{align*}
Define the multiplicative energy of $B$ by
\begin{align*}
E^{\times}(B) := |\{(b_1,b_2,b_3,b_4) \in B^4 : b_1b_2=b_3b_4\}|.
\end{align*}
Then
\begin{align*}
E^{\times}(B)=\sum_{t \in BB} r_{BB}(t)^2.
\end{align*}
Since
\begin{align*}
\sum_{t \in BB} r_{BB}(t)=|B|^2,
\end{align*}
the elementary inequality
\begin{align*}
\left(\sum_{t \in BB} r_{BB}(t)\right)^2
\leq |BB|\sum_{t \in BB} r_{BB}(t)^2
\end{align*}
gives
\begin{align*}
\frac{|B|^4}{|BB|} \leq E^{\times}(B).
\end{align*}
[guided]
The quantity we want to control contains $|BB|$ in the denominator, so we count how many times each product occurs. For each $t \in BB$, the function $r_{BB}$ records the number of ordered pairs from $B \times B$ with product $t$:
\begin{align*}
r_{BB}: BB &\to \mathbb{N} \\
t &\mapsto |\{(b_1,b_2) \in B \times B : b_1b_2=t\}|.
\end{align*}
The multiplicative energy
\begin{align*}
E^{\times}(B) := |\{(b_1,b_2,b_3,b_4) \in B^4 : b_1b_2=b_3b_4\}|
\end{align*}
counts pairs of ordered product representations of the same element of $BB$. Therefore, after grouping quadruples according to their common product $t$, we obtain
\begin{align*}
E^{\times}(B)=\sum_{t \in BB} r_{BB}(t)^2.
\end{align*}
Now the total number of ordered pairs in $B \times B$ is $|B|^2$, and these pairs are partitioned by their product. Hence
\begin{align*}
\sum_{t \in BB} r_{BB}(t)=|B|^2.
\end{align*}
Applying the finite Cauchy inequality to the vectors $(r_{BB}(t))_{t \in BB}$ and $(1)_{t \in BB}$ gives
\begin{align*}
\left(\sum_{t \in BB} r_{BB}(t)\right)^2
\leq |BB|\sum_{t \in BB} r_{BB}(t)^2.
\end{align*}
Substituting the two identities above yields
\begin{align*}
|B|^4 \leq |BB|E^{\times}(B),
\end{align*}
and division by $|BB|>0$ gives
\begin{align*}
\frac{|B|^4}{|BB|} \leq E^{\times}(B).
\end{align*}
[/guided]
[/step]
[step:Rewrite multiplicative energy as a sum over slopes]
For each slope $\lambda \in B/B := \{y/x : x,y \in B\}$, define the set of grid points on the ray of slope $\lambda$ by
\begin{align*}
P_{\lambda} := \{(x,y) \in B \times B : y=\lambda x\},
\end{align*}
and write $n_{\lambda}:=|P_{\lambda}|$. Since $B \subset (0,\infty)$, every point of $B \times B$ lies on exactly one such ray. A pair of points $(x,y),(u,v) \in B \times B$ lies on the same ray exactly when $y/x=v/u$, equivalently $yu=xv$. After relabelling the four variables, this is precisely a multiplicative-energy equation. Thus
\begin{align*}
E^{\times}(B)=\sum_{\lambda \in B/B} n_{\lambda}^2.
\end{align*}
[/step]
[step:Use adjacent populated rays to create disjoint sums in the sumset square]
Let $\Lambda \subset B/B$ be a finite set of slopes, listed in increasing order as
\begin{align*}
\lambda_1<\lambda_2<\cdots<\lambda_m.
\end{align*}
For $1 \leq i \leq m-1$, define
\begin{align*}
S_i := P_{\lambda_i}+P_{\lambda_{i+1}}
:= \{p+q : p \in P_{\lambda_i},\ q \in P_{\lambda_{i+1}}\}.
\end{align*}
The map
\begin{align*}
P_{\lambda_i}\times P_{\lambda_{i+1}} &\to S_i \\
(p,q) &\mapsto p+q
\end{align*}
is injective. Indeed, if $p+q=p'+q'$ with $p,p' \in P_{\lambda_i}$ and $q,q' \in P_{\lambda_{i+1}}$, then $p-p'=q'-q$. The left side lies on the line of slope $\lambda_i$, while the right side lies on the line of slope $\lambda_{i+1}$. These two lines meet only at $(0,0)$, so $p=p'$ and $q=q'$. Therefore
\begin{align*}
|S_i|=n_{\lambda_i}n_{\lambda_{i+1}}.
\end{align*}
Moreover, every point of $S_i$ has both coordinates in $B+B$, so $S_i \subset (B+B)\times(B+B)$. The sets $S_i$ are pairwise disjoint because $S_i$ lies strictly inside the open cone between the two rays of slopes $\lambda_i$ and $\lambda_{i+1}$, and these cones are disjoint for different adjacent pairs. Hence
\begin{align*}
\sum_{i=1}^{m-1} n_{\lambda_i}n_{\lambda_{i+1}}
\leq |B+B|^2.
\end{align*}
[guided]
The geometric point is that sums of points from two neighbouring rays land in the cone between those rays. Because neighbouring cones do not overlap, these sums can be counted inside the square $(B+B)\times(B+B)$ without overcounting.
Let $\Lambda \subset B/B$ be a finite slope set, written in increasing order:
\begin{align*}
\lambda_1<\lambda_2<\cdots<\lambda_m.
\end{align*}
For each adjacent pair of slopes, define
\begin{align*}
S_i := P_{\lambda_i}+P_{\lambda_{i+1}}
:= \{p+q : p \in P_{\lambda_i},\ q \in P_{\lambda_{i+1}}\},
\end{align*}
where $1 \leq i \leq m-1$.
First we check that each ordered pair of summands gives a different sum. Consider the map
\begin{align*}
P_{\lambda_i}\times P_{\lambda_{i+1}} &\to S_i \\
(p,q) &\mapsto p+q.
\end{align*}
Suppose $p+q=p'+q'$ for $p,p' \in P_{\lambda_i}$ and $q,q' \in P_{\lambda_{i+1}}$. Rearranging gives
\begin{align*}
p-p'=q'-q.
\end{align*}
The vector $p-p'$ lies on the line through the origin with slope $\lambda_i$, because both $p$ and $p'$ lie on that line. Similarly, $q'-q$ lies on the line through the origin with slope $\lambda_{i+1}$. Since $\lambda_i \neq \lambda_{i+1}$, these two lines intersect only at $(0,0)$. Hence $p-p'=(0,0)$ and $q'-q=(0,0)$, so $p=p'$ and $q=q'$. Thus the map is injective and
\begin{align*}
|S_i|=n_{\lambda_i}n_{\lambda_{i+1}}.
\end{align*}
Next, if $p=(p_1,p_2)$ and $q=(q_1,q_2)$ are points of $B \times B$, then
\begin{align*}
p+q=(p_1+q_1,p_2+q_2) \in (B+B)\times(B+B).
\end{align*}
Therefore each $S_i$ is contained in $(B+B)\times(B+B)$.
Finally, because all coordinates in $B$ are positive and $\lambda_i<\lambda_{i+1}$, every point of $S_i$ has slope strictly between $\lambda_i$ and $\lambda_{i+1}$. Distinct adjacent intervals of slopes are disjoint. Therefore the sets $S_i$ are pairwise disjoint as $i$ varies, and summing their sizes gives
\begin{align*}
\sum_{i=1}^{m-1} n_{\lambda_i}n_{\lambda_{i+1}}
=\sum_{i=1}^{m-1}|S_i|
\leq |(B+B)\times(B+B)|
=|B+B|^2.
\end{align*}
[/guided]
[/step]
[step:Sum the slope populations by dyadic classes]
Let $L:=\lceil \log_2 |B| \rceil$. For each integer $j$ with $0 \leq j \leq L$, define the dyadic slope class
\begin{align*}
\Lambda_j := \{\lambda \in B/B : 2^j \leq n_{\lambda}<2^{j+1}\}.
\end{align*}
These classes partition $B/B$. Fix $j$, set $\tau:=2^j$, and write $\Lambda_j=\{\lambda_1<\cdots<\lambda_m\}$. If $m=1$, then
\begin{align*}
m\tau^2 \leq |B|^2 \leq |B+B|^2,
\end{align*}
where the last inequality follows from the injective map $b \mapsto b+b_0$ for any fixed $b_0 \in B$. If $m\geq 2$, then the adjacent-ray estimate gives
\begin{align*}
(m-1)\tau^2
\leq \sum_{i=1}^{m-1} n_{\lambda_i}n_{\lambda_{i+1}}
\leq |B+B|^2.
\end{align*}
Since $\tau \leq |B| \leq |B+B|$, this implies
\begin{align*}
m\tau^2 \leq 2|B+B|^2.
\end{align*}
In both cases,
\begin{align*}
\sum_{\lambda \in \Lambda_j} n_{\lambda}^2
< 4m\tau^2
\leq 8|B+B|^2.
\end{align*}
Summing over $0 \leq j \leq L$ yields
\begin{align*}
E^{\times}(B)
=\sum_{\lambda \in B/B} n_{\lambda}^2
\leq 8(L+1)|B+B|^2.
\end{align*}
If $|B|\geq 2$, then $L+1\leq 3\log_2 |B|$, and therefore
\begin{align*}
E^{\times}(B)
\leq \frac{24}{\log 2}|B+B|^2\log |B|.
\end{align*}
Combining this with the lower bound from the first step gives
\begin{align*}
\frac{|B|^4}{|BB|}
\leq \frac{24}{\log 2}|B+B|^2\log |B|
\end{align*}
for every finite $B \subset (0,\infty)$ with |B| \geq 2.
[/step]
[step:Pass from positive sets to arbitrary real sets]
Let $A \subset \mathbb{R}$ be finite with $n:=|A|\geq 2$. For $2 \leq n \leq 4$, since $|AA|\geq 1$ and $|A+A|\geq n$ by the injective map $a \mapsto a+a_0$ for any fixed $a_0 \in A$, we have
\begin{align*}
\frac{|A|^4}{|AA|}
\leq n^4
\leq 16|A+A|^2
\leq \frac{1944}{\log 2}|A+A|^2\log n.
\end{align*}
Assume now that $n\geq 5$. Let
\begin{align*}
A_+ &:= A \cap (0,\infty), &
A_- &:= A \cap (-\infty,0).
\end{align*}
Choose $B \subset (0,\infty)$ by taking $B=A_+$ if $|A_+|\geq |A_-|$, and taking $B=-A_-:=\{-a:a\in A_-\}$ otherwise. Then
\begin{align*}
|B| \geq \frac{n-1}{2} \geq 2,
\end{align*}
and $n \leq 3|B|$. Also $BB \subset AA$, and $|B+B|\leq |A+A|$: this is immediate if $B=A_+$, while if $B=-A_-$ then $B+B=-(A_-+A_-)$ and cardinality is preserved by negation. Applying the positive-set estimate to $B$ gives
\begin{align*}
\frac{|A|^4}{|AA|}
&\leq \frac{81|B|^4}{|BB|} \\
&\leq \frac{1944}{\log 2}|B+B|^2\log |B| \\
&\leq \frac{1944}{\log 2}|A+A|^2\log |A|.
\end{align*}
Thus the first asserted estimate holds with the absolute constant
\begin{align*}
C:=\frac{1944}{\log 2}.
\end{align*}
[/step]
[step:Derive the stated sum-product consequence]
Let
\begin{align*}
M:=\max\{|A+A|,|AA|\}.
\end{align*}
From the estimate just proved,
\begin{align*}
|A|^4 \leq C |AA| |A+A|^2 \log |A|.
\end{align*}
Since $|AA|\leq M$ and $|A+A|\leq M$, we obtain
\begin{align*}
|A|^4 \leq C M^3\log |A|.
\end{align*}
Rearranging gives
\begin{align*}
M \geq C^{-1/3}\frac{|A|^{4/3}}{(\log |A|)^{1/3}},
\end{align*}
which is exactly the claimed consequence.
[/step]