we can assume without loss of generality that networks are binary.

\[lem:transfBinary\] Let $N$ be a phylogenetic network on ${{\mathcal X}}$. Then we can transform N into a binary phylogenetic network $N'$ such that $N'$ has the same reticulation number and level as $N$ and all clusters represented by $N$ are also represented by $N'$.

Deferred to the appendix.

Note that, given a simple binary network $N$, each node of $N$ has at most one leaf child. Armed with these technical results we are ready to prove the main result of this section.

\[lem:core\] Let ${{\mathcal C}}$ be separating set of clusters on ${{\mathcal X}}$. Then, for every fixed $k \geq 0$, it is possible to determine in polynomial time whether a level-$k$ network exists that represents ${{\mathcal C}}$, and if so to construct such a network.

From Lemmas \[lem:simpleexists\] and \[lem:transfBinary\] it is sufficient to focus on simple binary networks. We assume then that, for fixed $k$, there exists a binary simple level-$k$ network $N$ that represents ${{\mathcal C}}$. Let $|{{\mathcal X}}|=n$. Then ${{\mathcal C}}$ will contain at most $2^{k+1}(n-1)$ clusters, because there are at most $2^{k}$ trees displayed by a simple level-$k$ network, and each tree represents at 