[step:Show the opposite fibre over $a$ is finite]
Define, for each $x \in D$, the horizontal fibre
\begin{align*}
H_x := \{y \in D : R(x,y)\}.
\end{align*}
Also define
\begin{align*}
R^a := \{y \in D : R(a,y)\}.
\end{align*}
Thus $R^a = H_a$. We prove that $H_a$ is finite.
We use the standard uniformity consequence of [strong minimality](/page/Strong%20Minimality) for the formula $R(x,y)$, with $x$ as the parameter variable and $y$ as the object variable ranging over $D$: there is an integer $N \in \mathbb{N}$ such that, for every $x \in D$, if $H_x$ is finite then $|H_x| \leq N$. To justify this, suppose no such $N$ existed. For every $m \in \mathbb{N}$, there would be $x_m \in D$ such that $H_{x_m}$ is finite and has at least $m$ elements. Hence, for each $m \in \mathbb{N}$, the partial type over $c$ asserting that $x \in D$, that there exist $m$ pairwise distinct elements of $H_x$, and that there exist $m$ pairwise distinct elements of $D \setminus H_x$ is finitely satisfiable. By the [compactness theorem](/page/Compactness%20Theorem), it is realized by some $x_* \in D$. Then $H_{x_*}$ and $D \setminus H_{x_*}$ are both infinite, so $H_{x_*}$ is an infinite coinfinite subset of $D$ definable with parameters $c$ and $x_*$. This contradicts strong minimality, which allows parameters in definable subsets of $D$.
Therefore the set of parameters with cofinite horizontal fibre is definable over $c$ by
\begin{align*}
T := \{x \in D : \exists y_1,\dots,y_{N+1} \in D
\text{ pairwise distinct and } R(x,y_i) \text{ for all } i\}.
\end{align*}
For each $x \in D$, strong minimality says $H_x$ is finite or cofinite in $D$. By the choice of $N$, the displayed condition is equivalent to $H_x$ being cofinite.
Suppose toward a contradiction that $H_a$ is infinite. Since $H_a$ is definable with parameters from $c$ and $a$, strong minimality implies that $H_a$ is cofinite in $D$, so $a \in T$.
We now show that $T$ is finite. If $T$ contained distinct elements $x_1,\dots,x_{n+1} \in D$, then each $H_{x_i}$ would be cofinite in $D$. The intersection
\begin{align*}
H_{x_1} \cap \cdots \cap H_{x_{n+1}}
\end{align*}
would also be cofinite, hence nonempty. Choose $y \in D$ in this intersection. Then $R(x_i,y)$ holds for every $i \in \{1,\dots,n+1\}$, so the vertical fibre
\begin{align*}
R_y := \{x \in D : R(x,y)\}
\end{align*}
has at least $n+1$ elements, contradicting the construction of $R$, which gives $|R_y| \leq n$ for every $y \in D$. Hence $|T| \leq n$.
Thus $T$ is a finite set definable over $c$. Since $D$ is parameter-free definable and $R$ is definable over $c$, the definition of $T$ uses no parameters outside $c$. Because $a \in T$, it follows that
\begin{align*}
a \in \operatorname{acl}_{\mathfrak{M}}(c) \subseteq \operatorname{acl}_{\mathfrak{M}}(A),
\end{align*}
contradicting the choice of $c$ with $a \notin \operatorname{acl}_{\mathfrak{M}}(c)$. Therefore $H_a = R^a$ is finite.
[/step]