Solution (source code)

= Solution

Identify the <space of infinite subsets of the natural numbers> with their increasing enumerations, with the <ordinary topology on infinite subsets> inherited from the discrete product $\omega^\omega$. This is the <sequence> convention in the <Open Ramsey theorem>. For a general infinite ground <set>, first choose a countably infinite <subset> and use its enumeration. The theorem cannot mean unrestricted <sequences> with repetitions: the <clopen> partition according as the first two entries agree or differ has both colours over every infinite ground <set>.

For a finite <finite stem> $s$ and an infinite tail $B$ above $\max s$, write
$$
[s,B]=\{s\cup X:X\in[B]^\omega\},
$$
where the enumeration of $s$ precedes the tail. Let $O$ be <open>. The tail $B$ accepts $s$ if $[s,B]\subseteq O$; it rejects $s$ if no infinite subtail accepts it. Both properties persist on infinite subtails, and any stem can be decided by thinning: choose an accepting subtail if one exists; otherwise the current tail already rejects it.

Use <deciding all finite stems by fusion>. At stage $n$, choose a new element $b_n$ from the current tail, then thin the remaining tail to decide each of the finitely many <subsets> of $\{b_0,\ldots,b_n\}$. First decide the empty stem as well. The final selected <set> $B$ decides every finite stem from $B$, because all subsequent selections lie in the tail that decided that stem. If $B$ accepts the empty stem, $[B]^\omega\subseteq O$ and we are done.

Otherwise the empty stem is rejected. If a stem $s\subset B$ is rejected, only finitely many $a\in B$ above $\max s$ can have the tail $B/a$ accepting $s\cup\{a\}$. Indeed, if infinitely many such $a$ formed $D$, then every $X\in[D]^\omega$ starts with one of them and has its remaining tail in $B/a$. It follows that $[s,D]\subseteq O$, contradicting rejection of $s$. All other one-point extensions are rejected, since the first fusion has already decided them.

Build an infinite $C\subseteq B$ recursively. Maintain that every <subset> of the finite selected prefix is rejected. To select its next element, avoid the finite <union> of the finitely many accepting-extension obstructions for these rejected stems. Such an element exists, and all the new stems remain rejected. Hence every finite stem from $C$ is rejected. If some $X\in[C]^\omega$ were in $O$, openness would supply a finite initial segment $s$ of $X$ whose entire ordinary cylinder is contained in $O$. The tail $C/\max s$ would accept $s$, a contradiction. Thus
$$
\boxed{[C]^\omega\cap O=\varnothing
\quad\text{or}\quad[B]^\omega\subseteq O.}
$$
In particular every <open> payoff has an infinite <homogeneous set>. A finite partition into <open> colour classes can be handled by successive application of this two-colour assertion.

For an arbitrary partition use <finite-symmetric-difference parity colouring>. On the infinite <subsets> of the ground <set>, declare $X\sim Y$ when $X\mathbin\triangle Y$ is finite, and choose a representative $R$ from each <equivalence class>. Colour $X$ by
$$
c(X)=|X\mathbin\triangle R_{[X]}|\pmod2.
$$
For any infinite $H$, removing one member gives an infinite $H'$ in the same class and reverses the parity. Thus $H$ and $H'$ have opposite colours, so neither colour contains all infinite <subsets> of any infinite ground <set>. \b[This two-colouring has no infinite homogeneous <set>.] Representative selection uses <choice>; the construction is deliberately unrestricted by topological regularity.