[proofplan]
Choose $X \subset A$ maximal subject to the translates $x+B$, with $x \in X$, being pairwise disjoint. The disjoint union of these translates lies inside $A+B$, so the small-doubling hypothesis bounds $|X|$. Maximality then forces every translate $a+B$ with $a \in A$ to intersect one of the selected translates, and that intersection identity rearranges to $a \in X+B-B$.
[/proofplan]
[step:Choose a maximal disjoint family of $B$-translates indexed by elements of $A$]
Let $\mathcal{F}$ be the finite collection of subsets $Y \subset A$ such that the family of translates
\begin{align*}
\{y+B : y \in Y\}
\end{align*}
is pairwise disjoint. Since $\varnothing \in \mathcal{F}$ and $A$ is finite, there exists $X \in \mathcal{F}$ with maximal cardinality. Thus $X \subset A$, the translates $x+B$ for $x \in X$ are pairwise disjoint, and no strictly larger subset of $A$ has this disjointness property.
[guided]
We need a small set $X$ whose $B-B$-neighbourhood covers $A$. The standard way to build it is to select as many disjoint translates of $B$ as possible, with translating elements taken from $A$.
Define $\mathcal{F}$ to be the finite collection of all subsets $Y \subset A$ such that the family
\begin{align*}
\{y+B : y \in Y\}
\end{align*}
is pairwise disjoint. This collection is nonempty because $\varnothing \in \mathcal{F}$. It is finite because $A$ is finite, so among all elements of $\mathcal{F}$ there is one with maximal cardinality. Choose such a subset and call it $X$.
By construction, $X \subset A$, the translates $x+B$ for $x \in X$ are pairwise disjoint, and maximality means the following precise statement: if $a \in A \setminus X$, then the enlarged family indexed by $X \cup \{a\}$ is not pairwise disjoint.
[/guided]
[/step]
[step:Bound the size of the maximal set using the small sumset hypothesis]
For every $x \in X$, since $x \in A$, we have
\begin{align*}
x+B \subset A+B.
\end{align*}
The translates $x+B$ are pairwise disjoint and each has cardinality $|B|$, because the map $B \to x+B$ given by $b \mapsto x+b$ is a bijection. Therefore
\begin{align*}
|X|\,|B|
= \left|\bigcup_{x \in X} (x+B)\right|
\leq |A+B|
\leq K|B|.
\end{align*}
Since $B$ is nonempty, $|B|>0$, and division by $|B|$ gives $|X| \leq K$.
[guided]
The purpose of maximal disjointness is that it converts the size of $X$ into a counting estimate. For each $x \in X$, the translate $x+B$ lies in $A+B$ because $x \in A$ and every element of $x+B$ has the form $x+b$ with $b \in B$.
Also, translation by $x$ is a bijection from $B$ to $x+B$:
\begin{align*}
B &\to x+B \\
b &\mapsto x+b.
\end{align*}
Its inverse is $x+B \to B$, $z \mapsto z-x$. Hence $|x+B|=|B|$ for every $x \in X$.
Since the sets $x+B$ are pairwise disjoint, the cardinality of their union is the sum of their cardinalities:
\begin{align*}
\left|\bigcup_{x \in X} (x+B)\right|
= \sum_{x \in X} |x+B|
= |X|\,|B|.
\end{align*}
Because this union is contained in $A+B$, and because the hypothesis gives $|A+B| \leq K|B|$, we obtain
\begin{align*}
|X|\,|B|
\leq |A+B|
\leq K|B|.
\end{align*}
The set $B$ is nonempty, so $|B|>0$. Dividing by $|B|$ yields $|X| \leq K$.
[/guided]
[/step]
[step:Use maximality to force every translate $a+B$ to meet a selected translate]
Let $a \in A$ be arbitrary. If $a \in X$, then $a \in X+B-B$ because $B$ is nonempty: choosing any $b_0 \in B$ gives
\begin{align*}
a = a+b_0-b_0 \in X+B-B.
\end{align*}
Now suppose $a \in A \setminus X$. By maximality of $X$, the family of translates indexed by $X \cup \{a\}$ is not pairwise disjoint. Since the translates indexed by $X$ are pairwise disjoint, there exists $x \in X$ such that
\begin{align*}
(a+B) \cap (x+B) \neq \varnothing.
\end{align*}
Choose $b_1,b_2 \in B$ with
\begin{align*}
a+b_1 = x+b_2.
\end{align*}
Rearranging in the abelian group $G$ gives
\begin{align*}
a = x+b_2-b_1 \in X+B-B.
\end{align*}
Thus every $a \in A$ belongs to $X+B-B$, and hence
\begin{align*}
A \subset X+B-B.
\end{align*}
[guided]
We now turn maximality into covering. Fix an arbitrary element $a \in A$. We must prove $a \in X+B-B$.
First consider the case $a \in X$. Since $B$ is nonempty, choose $b_0 \in B$. Then
\begin{align*}
a = a+b_0-b_0,
\end{align*}
with $a \in X$ and $b_0,b_0 \in B$, so $a \in X+B-B$.
Now consider the case $a \in A \setminus X$. Because $X$ was chosen maximal among subsets of $A$ whose $B$-translates are pairwise disjoint, the enlarged set $X \cup \{a\}$ cannot still have pairwise disjoint translates. The old translates $x+B$ with $x \in X$ are already pairwise disjoint, so the only possible failure is that the new translate $a+B$ intersects one of them. Therefore there exists $x \in X$ such that
\begin{align*}
(a+B) \cap (x+B) \neq \varnothing.
\end{align*}
Choose an element in this intersection. By the definition of the two translates, there exist $b_1,b_2 \in B$ such that
\begin{align*}
a+b_1 = x+b_2.
\end{align*}
Subtracting $b_1$ from both sides in the abelian group gives
\begin{align*}
a = x+b_2-b_1.
\end{align*}
Here $x \in X$ and $b_2,b_1 \in B$, so $a \in X+B-B$.
Since the element $a \in A$ was arbitrary, this proves
\begin{align*}
A \subset X+B-B.
\end{align*}
[/guided]
[/step]
[step:Combine the cardinality estimate and the covering inclusion]
The set $X \subset A$ constructed above satisfies both
\begin{align*}
|X| \leq K
\end{align*}
and
\begin{align*}
A \subset X+B-B.
\end{align*}
This is exactly the asserted conclusion.
[/step]