In Alon and Spencer's book The Probabilistic Method, they prove the following theorem:
Theorem: Let $m$ and $k$ be two positive integers satisfying $$e(m(m-1)+1)k\left(1-\frac{1}{k}\right)^m \leq 1$$ Then, for any set $S$ of $m$ real numbers there is a $k$-colouring of $\mathbb{R}$ so that each translation $x+S$ (for $x \in\mathbb{R}$) is multicoloured (i.e. contains at least one real of each colour).
Their proof proceeds by proving the statement holds for every finite set of translations $X$ (i.e. there is a $k$-colouring so that each translation $x+S$ is multicoloured when $x \in X$) and then they apply an argument which they refer to as "a standard compactness argument", invoking Tychonoff's Theorem to prove the compactness of the space of all functions from $\mathbb{R}$ to $\{1,2,...,k\}$ etc.
I'm slightly less familiar with analysis than you might hope (/expect?) when reading this book and while I understand their argument formally, it definitely doesn't come across as "standard". I therefore wonder whether it is possible to finish the proof instead using the Compactness Theorem in first-order logic (a piece of machinery I'm a little more comfortable with!).
It seems to me that we could formalise the notion of a k-colouring of a set of real numbers in first-order logic and then similarly formalise every sentence of the form "$x+S$ is multicoloured" (for each individual $x \in\mathbb{R}$). We then know from their earlier argumentation that for every finite subset of these sentences, there is a colouring (i.e. a model for these sentences) and therefore there is a model for all the sentences and the theorem is proven.
Question: Is the above reasoning correct? Are there any barriers I have missed to formalising this in first-order logic and using the Compactness Theorem?