in polynomial time.

We first require some auxiliary lemmas and definitions. The proofs are rather technical so we defer them to the appendix. For a node $v$ let ${{\mathcal X}}(v) \subseteq {{\mathcal X}}$ be the set of all taxa reachable from $v$ by directed paths. For an edge $e=(u,v)$ we define ${{\mathcal X}}(e)$ to be equal to ${{\mathcal X}}(v)$.

\[obs:nocutfreedom\] Let ${{\mathcal C}}$ be a separating set of clusters on ${{\mathcal X}}$. Let $N$ be any network that represents ${{\mathcal C}}$. Then each node of $N$ has at most one leaf child and for each cut-edge $(u,v)$ in $N$, $|{{\mathcal X}}(v)|=1$ or ${{\mathcal X}}(v)={{\mathcal X}}$.

Deferred to the appendix.

\[lem:simpleexists\] Let ${{\mathcal C}}$ be a separating set of clusters on ${{\mathcal X}}$. Let $N$ be any network that represents ${{\mathcal C}}$. Then there exists a simple network $N^{*}$ with at most one leaf-child per node such that $\ell(N^{*}) \leq \ell(N)$.

Deferred to the appendix.

Observation \[obs:nocutfreedom\] and Lemma \[lem:simpleexists\] formalize the idea that any network that represents a separating set of clusters is simple or can easily be made simple by deleting certain redundant parts of it. The following lemma shows that, in terms of minimizing reticulation number or level, 