Phylogenetic network classes through the lens of expanding covers

It was recently shown that a large class of phylogenetic networks, the ‘labellable’ networks, is in bijection with the set of ‘expanding’ covers of finite sets. In this paper, we show how several prominent classes of phylogenetic networks can be characterised purely in terms of properties of their associated covers. These classes include the tree-based, tree-child, orchard, tree-sibling, and normal networks. In the opposite direction, we give an example of how a restriction on the set of expanding covers can define a new class of networks, which we call ‘spinal’ phylogenetic networks.


Introduction
Phylogenetic networks can provide more complete representations of evolutionary relationships among species than possible with a simple phylogenetic tree [1,13]. Although a single tree can accurately show ancestral speciation events (splitting of lineages), it cannot display reticulate evolution (where the flow of genomic information follows the merging of ancestral lineages). Well-known reticulate processes in biology include hybridization, horizontal gene transfer, recombination, and endosymbiosis, in both the recent and distant past. By contrast, rooted phylogenetic networks can explicitly and simultaneously display both speciation and reticulate evolution. As a result, the mathematical and algorithmic investigation of phylogenetic networks has become a highly active field over the last ∼15 years, and numerous classes of networks have been defined and studied [16].
In this paper, we show how a recently introduced correspondence for a large class of phylogenetic networks (the labellable networks [11]) can be used to characterise a number of widely used other classes of network. Classes of network have been introduced for a variety of reasons, but usually in order to capture some feature that seems biologically important, or because they are mathematically convenient. Their definitions typically involve constraints on their structures as graphs. For instance, tree-child networks are those for which no vertex has only reticulations as its children, whereas treebased networks are those that can be constructed from a base tree by adding additional edges between the tree edges.
The class of labellable networks contains many commonly studied classes. They have been shown to correspond to a set of covers of finite sets that satisfy a property called "expanding". We explore features of covers arising from networks, and characterise many of the familiar classes in terms of properties of their associated covers. It is to be hoped that encoding network properties in the properties of sets of sets will enable some new directions to be pursued in studying phylogenetic networks.
This paper aims to demonstrate how this encoding of labellable networks into covers may be of broad use in the classification of network classes. Different classes of networks are defined in different ways, and it can be difficult to present a clear hierarchy (there have been several visual attempts, for instance [16,Fig.12] and [11,Fig.6]). Being able to characterise different network classes by the properties of their covers gives a unified framework for defining networks, in the sense that one may add or remove axioms depending on the class of networks one wants to describe. In that sense, moving from one class to another may be just a matter of changing the axioms, providing a potentially useful lens for visualizing the relationships among classes.
We begin by defining what we mean by a phylogenetic network, recalling the key results linking labellable networks with expanding covers (from [11]), in Section 2. We give some general properties of covers arising from networks, before characterising the classes of tree-based labellable networks (Section 3), then tree-child networks (Section 4), normal networks (Section 5), tree-sibling networks (Section 6), and orchard networks (Section 7). These are some of the more widely seen classes, and they are amenable to being described in terms of covers. We also demonstrate how the language of covers can allow one to define new classes of network by changing the constraints on the covers: one small change to the constraints defines a new class we call 'spinal' networks, that have an interesting structure (Section 8). We finish by discussing some open questions and opportunities for further development.

Preliminaries
A phylogenetic network on n leaves is a directed acyclic graph with a single vertex of in-degree zero, called the root, and n vertices of in-degree 1 and out-degree zero, labelled by [n] := {1, . . . , n}. Note that this includes the possibility of vertices that have in-degree and out-degree both equal to 1, or both strictly greater than 1; such vertices are called degenerate. If N has any degenerate vertices, it is said to be a degenerate network; otherwise, it is non-degenerate.
If every vertex has in-degree and out-degree at most 2, then the network is said to be binary. If N is non-degenerate and binary, then all vertices other than the leaves and root have total degree 3.
Vertices in a network that have in-degree 1 are called tree vertices, and those with in-degree greater than 1 are called reticulate vertices, or reticulations. We will typically use k to denote the number of reticulations in a network, and m to denote the number of non-root vertices in total.
A labellable phylogenetic network is one whose vertices can be deterministically labelled according to an algorithm that generalises one for trees (the algorithm for trees is due to Erdős and Székely [6]) [11]. Such networks are characterized topologically by the property that the map from non-leaf vertices to their sets of children is one-to-one [11,Thm.3.3].
A partition of a finite set A is a set of non-empty, pairwise disjoint subsets of A whose union is A. A cover of a finite set A is a set of non-empty subsets of A whose union is A. The cardinality |C| of a cover C is the number of sets it contains. We use ||C|| to denote the number of distinct elements in the sets in C, that is, ||C|| := | Ci∈C C i |.
Recall the definition from [11]: The map from a labellable phylogenetic network to its expanding cover takes each non-leaf vertex to the set of labels of its children. That is, sets in the cover are sets of labels of sibling vertices sharing a parent. The map from an expanding cover C to a labellable network is a constructive map that first establishes the number of leaves in the network via the following formula [11,Lemma 4.1]: The construction of the network then begins with n isolated leaf vertices, and adds parent vertices to sets of vertices present in the growing network, and lexicographically minimal of those in C. The expanding conditions ensure that there is always such a set, and that the map is well-defined. For examples of this construction the reader is referred to [11].
While the condition for a cover to be expanding may seem artificial, and it certainly restricts from the collection of all covers of a set, it can be seen as a natural extension of the notion of partitions. In particular, it turns out that all partitions are expanding covers.  Proof. Let π be a partition of [m] with = |π| blocks, and set n = m − + 1. Two conditions define an expanding cover. The first is that elements of {1, . . . , n} are not repeated in π, which is satisfied by virtue of π being a partition. The second is that for each i = 1, . . . , , π contains at least i subsets of [n + i − 1], and we prove this by induction on i. First, consider the base case i = 1. We need to show that there is at least one set in π that is a subset of [n]. There are = m − n + 1 pairwise disjoint subsets of [m] in π, and there are m − n integers in [m] that are not in [n]. Therefore, there must be at least one set in π that does not contain an element of {n + 1, . . . , m} and is thus in [n], as required.
Suppose that for i = k, π contains at least k subsets of [n + k − 1]. We would like to show that π contains at least k + 1 subsets of [n + (k + 1) − 1] = [n + k]. The proof proceeds in the same manner as the case of i = 1.
First remove k subsets of [n + k − 1] from π, so that π has − k sets remaining. We need to show at least one remaining set is entirely contained within [n + k]. There are m − (n + k) integers in π that are not in [n + k], and − k = (m − n + 1) − k = m − (n + k) + 1 sets are available. Therefore, at least one must not contain any element outside [n + k], as required.
Since all set partitions are expanding covers, we can ask what sort of networks have partitions as their covers. A partition has a single occurrence of each integer, which means that each vertex of the network (each label) has a single set of siblings. In other words, the network has no reticulations, and thus is a tree. This correspondence of trees with partitions allows trees with degenerate vertices (i.e., vertices with in-degree and out-degree 1). In this way, the correspondence for partitions is closer to the result of Erdős and Székely [6] than the non-degenerate framework that has partitions in bijection with phylogenetic forests in [8].
The lexicographic order on sets (given by A ≺ B if A ⊂ B or min(A \ B) < min(B \ A)) that helps determine the labelling sequence is not always the ordering of sets used to label the internal vertices of the network; that sequence is given by the labelling order, which is defined as follows [11, Section 4]: Definition 2.4. The labelling order for an expanding cover C is determined by the following procedure.
(1) For i = 1, . . . , |C|, (a) Set C i to be the minimal set in (C, ≺) contained in [n + i − 1]; and This order is necessary to establish conditions on a cover that give non-degenerate networks, for instance, and we will use it later in the present paper to describe normal networks (in Section 5) and orchard networks (Section 7).
Given a cover in labelling order, we can label every subset in position 1 ≤ i < |C| by i + n, whereas the last subset is labelled ρ for the root. In this way, the label for each subset corresponds to the label of its parent in the corresponding labellable network.
For example, the labelling order for the network shown in Figure 1 is The first set gives rise to the vertex label n + 1 = 6, the second gives rise to 7, and so on. We can represent this more explicitly as follows, adding ρ to denote the root: A tree vertex in a network is a vertex with in-degree 1, which means it has only one parent and, therefore, is in only one set of sibling vertices. This set of sibling vertices could have any size greater than or equal to one, but it is only a single set. A reticulation vertex, on the other hand, has strictly more than one parent, and thus has two or more sets of siblings. No two vertices in a labellable network have the same set of children [11,Thm 3.3], so the label of a reticulation vertex will appear in at least two sets in the cover. The other translations in Table 1 follow immediately.
Throughout this paper, we will add additional translations to the table, with a summary table given in the Discussion.

Network
Cover An integer in [n] Tree vertex An integer contained in just one subset Reticulation vertex An integer contained in more than one subset In-degree of x The number of subsets that contain x Out-degree of x Size of the subset with label x in the labelling order Parents of x All the subsets that contain x Siblings of x All the other integers contained in the subsets that contain x Children of x The subset with label x in the labelling order Table 1. A translation of features of vertices in a network with n leaves and m non-root vertices into features of the corresponding expanding cover.

Tree-based networks
A phylogenetic network is tree-based if it has a spanning tree whose leaves are those of the network [10]. Such a spanning tree is called a base tree for the network. Typically, a tree-based network can have many base trees. A similar notion that we will discuss is that of a support tree for a network. A support tree is a base tree but with additional degree 2 vertices where additional arcs are joined to complete the network. That is, the set of vertices in the support tree and the network are identical.
Unlike the other classes that we consider in the coming sections, not all tree-based networks are labellable, but neither are all labellable networks tree-based [11]. There is thus a non-trivial intersection of the two classes, and this intersection contains many other classes, including orchard, tree-child, and normal networks [11]. In the binary case, the tree-based networks that are labellable can be characterised in terms of their structural properties, as those for which no two reticulate vertices have the same sets of parents [11,Thm. 6.3]. In this section, we provide a new characterisation of the tree-based labellable networks in terms of their covers, and the existence of an "embedded" partition, in Theorem 3.2.
We say that a partition π embeds in C if there is a one-to-one map from π to C that maps each set A in π to a set A in C so that A ⊆ A . A partition π fully embeds in a cover C if π embeds in C and |π| = |C|.
Recall from Section 2 that every partition of [m] is an expanding cover. It is straightforward to see that every expanding cover has a partition that embeds into it, as follows. Proof. If all repeats of integers are deleted, so that there is one occurrence of each integer, then the result is a partition of [m].
Any partition obtained in this way will be expanding, according to Lemma 2.3. Note, however, that each such partition may not have the same number of sets as the cover, and therefore may be expanding for a different value of n.
The notion of embedding a partition into a cover turns out to help characterise tree-based networks. Proof. Suppose N is a tree-based network with expanding cover C of [m]. We will show that C has an embedded partition with length |C|. Label the vertices of N according to the labelling algorithm. This labelling gives rise to the expanding cover whose sets are the children of non-leaf vertices in N . Choose a support tree T for N , keeping the labels of the vertices from N . The labels of vertices in T are thus precisely [m]. Note that all vertices of N are present in T , but that each non-root vertex in T has in-degree 1. The set of children of each vertex in T is a subset of the set of children for the corresponding vertex in N .
Construct the cover for T using the inherited labelling of vertices, forming sets of labels of vertices that are the children of the same non-leaf vertex. Each set thus formed is a subset of one of the sets in the cover for N , because the children of vertex i in N are a subset of the children of vertex i in T . Each set is non-empty because the only leaves in the base tree are those of N . The cover for T contains no repeated integers because T is a tree and there are no vertices with in-degree greater than 1. Thus, the cover for T with the labelling inherited from N is a partition of [m] of length |C|, as desired.
Note that the labels on the vertices in T are those inherited from N . They are not the same as the labels that would be put on vertices by the labelling algorithm applied to T . Thus the partition obtained from T is not the same as the partition that would be obtained by labelling T directly.
For the reverse direction, suppose that the expanding cover C has an embedded partition π with length |C|. We will show that the corresponding network is tree-based.
Let N be the network constructed by using C. The partition π embeds in C, so there is a one-to-one map from π to C that maps each set A in π to a set A in C such that A ⊆ A . The sets in C correspond to vertices in N and give the set of children of each vertex. For each non-leaf vertex in N , A ∈ C labels its children, and there is a corresponding set A ∈ π that is its pre-image in the embedding of π into C, with A ⊆ A .
For the non-leaf vertex in N with children A , delete the edges in N between it and the vertices labelled by A \ A, and repeat this for each non-leaf vertex in N . The resulting network now has vertices whose children are labelled by the sets in π. We claim that this resulting networkN is a support tree for N. We need to show thatN is a spanning tree whose leaves are those of N .
First,N contains all vertices of N , since only edges were removed. Second, it is a tree, since no label is repeated in π by virtue of it being a partition, and therefore no vertex has more than one parent. Third, each vertex v that is not a leaf of N has at least one child, since v has a non-empty set of children whose labels are a set in π (the length of π is |C|), and thus the only leaves ofN are those of N .
Thus,N is a support tree for N , and so N is tree-based, as required.
This result gives an alternative way to characterise support trees for a tree-based network, as follows.
Corollary 3.3. The set of support trees for a tree-based network N is in bijection with the set of full embeddings of partitions in the expanding cover for N .
Proof. As seen in the proof of Theorem 3.2, each support tree for N gives rise to a full embedding of a partition in the cover for N . Conversely, every full embedding of a partition into the cover for N constitutes a choice of parent for each reticulation vertex (any element that appears more than once in the cover), and thus gives a support tree for N .
Note that it is possible for a particular partition to embed in more than one way into a cover, and that each such embedding gives a different support tree for the network.  Figure 1 shows a network with cover C = 1 | 2 | 3 | 4, 5 | 6, 8 | 6, 7 | 7, 8 | 11, 12 | 9, 13 | 10, 13 | 14, 15. The embeddings of partitions into C can be enumerated as follows. First, consider the elements that appear exactly once in C: 1, 2, 3, 4, 5, 9, 10, 11, 12, 14, 15. These must appear in the partition where they are in the cover (one appearance means only one possibility), so any embedded partition into C has form Consider then the integer 6, which, in the partition, must be either embedded into the set {6, 7} or {6, 8}. If the former, then 8 must embed into the latter; otherwise, the partition would not be a full embedding (we cannot allow empty sets), which forces 7 to embed into the set {7, 8}. In short, the three sets 6, 8 | 6, 7 | 7, 8 can only have embedded either 6 | 7 | 8 or 8 | 6 | 7. These amount to the same partition but two distinct embeddings that give different support trees because they correspond to different choices of child for each vertex. The other choice for embedding a partition involves the placement of 13, which can either be with 9 or 10.
Thus, there are four full embeddings of partitions π i into C, as follows:  T4 (π4) Figure 2. The tree-based network N and the four support trees given by the four embeddings π 1 , . . . , π 4 , as described in Example 3.4.
3.1. Support trees for a binary tree-based network. Support trees for binary tree-based networks have been counted in earlier work [17,12], building on an upper bound from [15]. Covers provide an alternative and clear approach that replicates these results. For instance (and without giving details of all the components of the statement): Network Cover Spanning tree A partition embedded in C Support tree A full embedding of a partition in C Table 2. Translation of concepts arising in tree-based networks. Theorem 8). For a binary tree-based network N , the number of support trees is: where • J N is a bipartite graph derived from N with parts given by the set of vertices with a reticulate child, and reticulations without a reticulate parent, • c is the number of cycle components in J N , • π(J N ) is the set of path components in J N without an omnian terminal vertex, and • v(P ) is the number of vertices in the path component P . This is an explicit formula based on features of the network, using a representation of key features in the bipartite graph J N in particular.
It was subsequently demonstrated that this formula relied on two key structural elements of the network: the number of "crowns" and the lengths of each "M -fence" [12,Section 5.3]. These are types of "zig-zag trails", which are undirected paths of vertices in the network that alternate between tree and reticulation vertices [21]. A maximal length zig-zag trail is called a crown if it forms a cycle, and is called an M -fence if the ends of the path are tree vertices. Crowns and fences arise naturally when looking at the problem through the lens of covers. We are able to obtain, by using covers, a formula that is analogous to that of Theorem 3.5, as follows.
Suppose N is a binary tree-based network. We allow degenerate vertices with in-degree 2 as well as out-degree 2. The cover C for N then consists of sets of size 1 or 2, and each integer appearing in C appears either once, if it is a tree vertex (in-degree 1), or twice if it is a reticulation (in-degree 2).
We will now describe an algorithm for obtaining an embedded partition (support tree) from C, and this will allow us to count the number of such support trees.
The sets in C fall into exactly five categories: (1) Singletons containing integers appearing once in C, (2) Singletons containing integers appearing twice in C, (3) Pairs containing integers each appearing once in C, (4) Pairs containing integers each appearing twice in C, and (5) Pairs containing one integer appearing once and the other appearing twice in C.
Sets that contain elements that appear only once in C must be fully retained in any embedded partition. Thus sets from categories (1) and (3) must be in the embedded partition, and there is no choice.
Because the partition embeds into C, a set containing a singleton {a} in C must also appear in the embedded partition. Therefore, if {a} is in category (2), none of the other occurrences of a in other sets in C can appear in the partition, and we delete them from the sets in the cover. This will create new sets of size 1, and possibly of category (2). We repeat this process until all sets in category (2) are gone, creating a new cover we denote C 1 . Note that C 1 is uniquely determined from C and embeds into it. Note also that C 1 does not contain any sets in category (2) above.
This leaves sets from categories (4) and (5) to deal with. These sets are connected. If a set is in category (5), then one of its elements appears elsewhere, and it can only be in a set from category (5) or (4). We can thus form sequences of such sets in C 1 by connecting a set from category (5) with a sequence of sets from category (4) and ending with another set from category (5). These sequences are uniquely determined by C 1 , and every set from category (5) is in precisely one sequence of this form. For example, such sequences are of form where a 0 and a t+1 do not appear elsewhere in C 1 (note that t could be 1). We call such sequences fences (they correspond to the M -fences defined above). The notions of crowns and fences for covers are summarized in Table 3.
Let F denote the set of fences in N . For each fence f , let r(f ) denote the number of repeated integers in f , which we call its length. The fence in Equation (1) has length r(f ) = t.
A set from category (4) may be in a sequence such as the one above, or in a sequence of at least three sets from the same category: where t ≥ 2. These correspond precisely to the 'crowns' of [12]. For either fences or crowns, we can count the number of selections of unique elements as follows.
In the case of fences of length t (Equation (1)), the number of choices is simply t + 1, since there are t + 2 elements to go into t + 1 non-empty sets, so one has two elements and the rest have one element. There are t + 1 choices for the set with two elements. For example, with the fence a, b | b, c | c, d | d, e, we have t = 3 and the choices are: In the case of a crown, as in Equation (2), there is only one embedded partition. We have the same number of elements as we have non-empty sets, and so there is only one option for selecting unique elements. Each element forms a singleton. For example, in the crown a, b | b, c | c, d | d, a, we have only a | b | c | d. However, although there is only one embedded partition, that partition has exactly two distinct embeddings. We could have: Therefore, we have shown the following result, which is equivalent to Theorem 3.5: Theorem 3.6. Let N be a binary tree-based network with cover C. The number of embedded partitions in C, and therefore the number of support trees for N , is if F is non-empty, and is 2 c if F = ∅, where c is the number of crowns in C.
Note that the number of crowns, c, is the same as the number of components referred to in Theorem 3.5.
Given a cover C, we can compute the number of crowns and the lengths of fences, and thus the number of embedded partitions, by using Algorithm 1, which uses the definition of 'acquaints'. Acquaints can be defined self-referentially by saying that an acquaint of a vertex x is a sibling of x or is a sibling of an acquaint of x. Fences and crowns can be described in terms of acquaints, as follows.  Proof. (1) For the forward direction, suppose that we have a fence like that in Table 3. The integers in the set {a 0 , a 1 , a 2 , . . . , a t−1 , a t , a t+1 } are acquaints, a 0 and a t+1 have only one sibling (a 1 and a t  respectively), and they appear uniquely by assumption.
Conversely, assume there is a set of acquaints in which exactly two vertices (say a i and a j ) that appear uniquely in C have one sibling. Since we assume that the network is binary, a i and a j appear in only one subset, but they can not be in the same one; otherwise, they would not be acquainted with the other vertices.
It is also the case that every other vertex will appear in exactly two subsets; otherwise, it would imply an in-degree greater than 2, which is not allowed in a binary network. Therefore, we have a set of a type described in Table 3, and the network has a fence.
(2) For the forward direction, suppose we have a crown (as indicated in Table 3). The integers in the set {a 0 , a 1 , a 2 , . . . , a t−1 , a t } are acquaints, and none of them has exactly one sibling.
Conversely, assume there is a set of acquaints in which no vertex has one sibling. Since we assume the network is binary, every vertex will appear in exactly two subsets; otherwise, it would imply an in-degree greater than 2, which is not allowed in a binary network. On the other hand, if a vertex appeared in exactly one subset, this would imply that it had only one sibling, which violates the assumption. Therefore, we have a set of a type described in Table 3, and the network has a crown.
According to the theorem above, we can use Algorithm 1 to count the number of embedded partitions by enumerating the acquaints of all integers that are inside a set of size 2, because, in the definitions of crown and fences (Table 3), they do not contain sets of any other sizes. Example 3.9. We saw in Example 3.4 that the cover for the binary tree-based network in Figure 1 has four embedded partitions, and hence the network has four support trees (shown in Figure 2). These can be counted using Theorem 3.6 as follows. The cover C = 1 | 2 | 3 | 4, 5 | 6, 8 | 6, 7 | 7, 8 | 11, 12 | 9, 13 | 10, 13 | 14, 15 has one crown, namely 6, 8 | 6, 7 | 7, 8, and one fence 9, 13 | 10, 13, which has length 1 (a single reticulation). Hence, the number of support trees is 2 2 × (1 + 1) = 4, as expected.

Network Cover Crown
Collection of sets a 0 , a 1 | a 1 , a 2 | · · · | a t−1 , a t | a t , a 0 . Fence Collection of sets a 0 , a 1 | a 1 , a 2 | · · · | a t−1 , a t | a t , a t+1 with a 0 = a t+1 both appearing uniquely. Table 3. Translation of concepts arising from counting support trees for binary treebased networks.

Tree-child networks
Tree-child networks are phylogenetic networks for which every vertex has a child that is a tree vertex [3]. They satisfy a number of important properties. For instance, they have the property that every vertex is visible. This is a property that we describe in Section 4.1, but first, tree-child networks turn out to have a very natural description in terms of covers, as follows.
Theorem 4.1. Tree-child networks are in bijection with expanding covers for which each set contains an integer that appears exactly once in the cover.
Proof. The proof relies on the fact that the integers that appear precisely once in a cover are exactly the tree vertices.

Algorithm 1 Count the number of support trees in a binary tree-based network.
procedure TraverseAcquaints(τ , i, A) add i to A mark i in τ as visited for s ∈ τ i such that s is not marked as visited do TraverseAcquaints(τ, s, A) end for end procedure procedure CountSupportTreesBinaryNetworks(C) σ i ←number of times integer i appears in C C =2 ← all subsets of C of size 2 I ← integers appearing in C =2 τ ← Theorem 3.8. By Theorem 3.6, we have to add 1 to the length end if end if end while return 2 c × f end procedure Let N be a tree-child network with expanding cover C. Each non-leaf vertex v in N corresponds to a specific set C v in C, whose elements label the children of v in N . Because N is a tree-child network, each such vertex v has at least one child that is a tree vertex. The labels of the tree vertices appear precisely once in the cover, so the set C v contains at least one element that appears precisely once in the cover. This holds for every non-leaf vertex, and so for every set in C, which establishes the forward direction.
The reverse direction is also straightforward. Suppose that every set in an expanding cover C has an element that appears precisely once in C. Since each set in the cover is the set of labels of the children of a non-leaf vertex, this implies that every non-leaf vertex has at least one child whose label appears once in the cover. In other words, it is a tree vertex. Thus, the network corresponding to C is a tree-child network.   Proof. For the forward direction, assume that a vertex x of a network is visible. By definition, there exists a leaf y (in other words, y ∈ [n]) such that all paths from the root to y pass through x. Since β L(β) is the set of all vertices we have to visit from y to ρ, x must be in this intersection.
For the backward direction, let y ∈ [n] and x ∈ β∈B C (y) L(β). Then it means that all paths from y to ρ contain x. Therefore x is visible in the corresponding network.
Since all x ∈ β∈B C (x) L(β) are visible vertices and vice versa, we obtain the following corollary.

Network
Cover Path from node x to the root A backtrack for x Visible vertex x There is a y ∈ [n] such that x ∈ β∈B C (y) L(β).  Proof. Since each set in the cover for a tree-child network has a uniquely appearing element, there are no sets containing only reticulations (i.e. no singletons with elements that appear elsewhere, and no pairs in which both elements are repeated). Using the categories above, all sets in such a cover are from Categories (1), (3), or (5). As a consequence, there are no crowns, which require sets with two reticulations, and each fence can only have length 1, being of the form a, b | b, c, and containing only one reticulation (b in this case). Furthermore, each repeated integer in the cover (i.e., each reticulation) is in a fence, since it must be part of a pair with a uniquely appearing element (a tree vertex). Thus, the number of fences is the number of reticulations, and each fence has length 1. Therefore, by Theorem 3.6, there are 2 k support trees.  (i) The number of spanning trees in a phylogenetic network is the product of all the in-degrees of the reticulation vertices. (ii) A network is a tree-child network if and only if every spanning tree is also a support tree.
Proof. Part (i): A reticulation vertex x is an integer contained in k > 1 subsets of C (Table 1) and a spanning tree is an embedded partition (Table 2). Thus, to obtain an embedded partition from a cover, we have to remove k −1 instances of x from C. This can be done in k k−1 = k different ways, and each choice is independent of the others. Since k is also the in-degree for vertex x, it follows than the number of embedded partitions (spanning trees) is x in-degree(x), where x is a reticulation vertex. If x is a tree vertex, then in-degree(x) = 1 and, therefore, it does not contribute to the product.
Part (ii): By Theorem 4.1, every subset of a tree-child cover has at least one element that is not present in any other subset. This implies that every embedding partition must contain at least one element for each subset; hence, it has the same size as |C|.
To show the forward direction, suppose that N is not a tree-child network. We will show that there must be a spanning tree for N that is not a support tree. If N is not tree-child, then it has at least one vertex that is not visible. Let v be a non-visible vertex that is maximally distant from the root, so that all vertices descended from v are visible. If we delete each arc out of v, then there is a path from the root to each vertex, so N has a spanning tree T . However, in this tree, T has v as a leaf. The tree T is therefore a spanning tree of N and not all its leaves are in X, so T is not a support tree.

Normal networks
Normal networks are a subclass of the tree-child networks, with the added constraint that they contain no "shortcuts" [20]. A shortcut is an edge (u, v) for which there is an alternative directed path from u to v in the network.
To capture this information in terms of covers, we need a way to record paths in that context. This motivated the definition of backtrack (Definition 4.2), which requires the labelling order that was defined in Section 2. The backtrack algorithm identifies a path from the vertex labelled x back to the root, expressing the path in terms of a sequence of sets in the cover. The edges between the parent vertices that correspond with these sets defines the path.  Figure 1. This cover has the labelling order A backtrack for x = 3 starts with a subset containing 8 (with the label of {3} in the labelling order). There are two choices; suppose we pick {7, 8}. The label of {7, 8} is 12, so now we must find a set containing 12. There is only one, so we add {11, 12} to the backtrack sequence. {11, 12} has label 13, so we look for a set containing 13 and choose one of the two options, say {10, 13}. This has label 15 in the order, so we look for a set containing 15. There is one, namely {14, 15}, and its label is ρ, which means we terminate the algorithm and output the backtrack sequence Note, each such backtrack defines a path from 3 to the root ρ; in this case, 3 → 8 → 12 → 13 → 15 → ρ.
Theorem 5.2. Let N be a phylogenetic network with expanding cover C, in labelling order. Then N has a shortcut if and only if there is a backtrack for an x ∈ [m] that includes a subset containing x.
Proof. Suppose N has a shortcut. Then there is a vertex x with a non-trivial path from some vertex v to x, and there is also an edge (v, x). The existence of a non-trivial path from v to x means that the cover has a non-trivial backtrack from x, which includes the children of v as a set. However, x is also a child of v, so x is in a set in the backtrack.
Conversely, suppose that the cover contains a backtrack for x that includes a set S containing x. Let v be the label of the parent of S. Then x is a child of v, meaning there is an edge (v, x) in N . However, the backtrack provides a non-trivial path in N from v to x through S. That is, N contains a shortcut. Corollary 5.3. Let C be a cover in labelling order for a tree-child network. Then C is a cover for a normal network if and only if, for all x ∈ [m], no backtrack for x has a subset that contains x.
Without loss of generality, in Theorem 5.2 and Corollary 5.3, we can assume that x is a reticulation vertex (i.e., a value in [m] that is contained in more that one subset of C), since, by definition, reticulations have in-degree greater than one and thus are the only vertices that can have shortcuts.
Using Theorem 5.2, we can construct an algorithm that removes all the shortcuts from a cover. This implies that, given a tree=child network, we can transform it to a normal network by removing all the shortcuts via Algorithm 3.

Algorithm 3 Remove all shortcuts from a cover
Require: Expanding cover C in labelling order procedure RemoveShortcuts(C) Compute all backtracks for all reticulation vertices for backtrack β for reticulation vertex x do for s ∈ β do if x ∈ s then Remove x from s end if end for end for end procedure

Network
Cover Shortcut to x A backtrack of x that includes a set containing x. Table 5. A translation of a shortcut into a feature of the corresponding expanding cover.

Tree-sibling networks
Tree-sibling networks are also amenable to a description in terms of covers. Definition 6.1 ([2]). A tree-sibling network is a network in which every reticulation vertex is a sibling of a tree vertex. Theorem 6.2. Tree-siblings networks are in bijection with those expanding covers for which every repeated integer lies in at least one set with an integer that appears only once.
Proof. The statement is a direct translation of the definition of tree-sibling into the language of covers, according to Table 1. Reticulation vertices are those that appear more than once in the cover, and vertices are siblings when they appear in the same set in the cover.
We have already seen a characterisation of tree-child networks using covers in Theorem 4.1. Covers for tree-child networks are those for which every set has a uniquely appearing element. However, there is a close connection between tree-child and tree-sibling networks, which can be captured in a cover description for tree-child networks, as follows. Theorem 6.3. Tree-child networks are in bijection with expanding covers for which, for every repeated element k in C, every subset containing k also contains an integer that appears only once.
Proof. We will prove that this statement is equivalent to Theorem 4.1.
For the forward direction, suppose that a cover satisfies the condition in Theorem 4.1. If every subset contains a uniquely occurring integer, then all subsets that contain a reticulation will do also do so.
For the backward direction, by assumption, every subset that contains a reticulation vertex has an integer that is not contained in another subset. This implies that all other subsets do not contain a reticulation vertex, and therefore, it contains a tree vertex that is not contained in any other subset (Table 1).
In other words, tree-child networks are networks in which every parent of a reticulation vertex has a tree-vertex as a child. Therefore, we recover the well-known fact that all tree-child networks are tree-sibling networks.

Orchard networks
Orchard networks are non-degenerate phylogenetic networks defined by the property that they can be reduced to a trivial network (a single vertex) by a series of cherry or reticulated cherry reductions [5,14,19]. In the present paper, we will restrict our attention to binary orchard networks.
A cherry is a pair of leaves that are siblings; a reticulated cherry is a pair of leaves, one of which has a reticulate parent and the other is the sibling of that reticulate parent. Cherry reduction involves replacing the cherry with a single vertex. Reticulated cherry reduction involves deleting the arc between the parents of the two leaves and then suppressing degree-2 vertices. By a theorem of [5,14], for orchard networks, the order in which these are performed is not important.
To translate this definition into covers, we need to first characterise cherries and reticulated cherries as they are manifested in covers, and then describe the action of such reductions in terms of the cover. The first of these requirements is routine; the second, not, as it requires us to augment the cover with its set of leaves. We will describe a test for orchard that reduces an expanding cover to a trivial cover but, along the way, passes through covers that are not expanding.
In covers, a cherry is given by a set consisting of two elements of [n] (the leaves), whereas a reticulated cherry is given by a singleton subset of [n] appearing in position j in the labelling order, and a pair {n + j, i} where i ∈ [n] (summarized in Table 7). An example is shown in Figure 3. 7.1. The cherry reduction process via covers. The cherry reduction test for orchard networks can be defined efficiently using covers by keeping track of the changing set of leaf labels L within the algorithm, as follows. Identifying a cherry or reticulated cherry in a cover can be done using the translations given in Table 7. The process in Algorithm 4 chooses to reduce a cherry first, if there is one, as it involves fewer checks.
In general, the set C that is redefined during Algorithm 4 may not be an expanding cover, but these processes do nevertheless model the network cherry and reticulated cherry reduction steps, applied to a labelled network. Proof. A network is orchard, by definition, if and only if it can be reduced to a trivial network by cherry or reticulated cherry reductions. According to a result of [5,14], the order of such reductions is not important. The procedures in Algorithm 4 exactly reflect the effect on the cover of these operations on the network, as can be seen in Figure 4.  Example 7.2. The cherry reduction process in Algorithm 4, applied to the cover for the network in Figure 3, proceeds as described in Table 6.

A new class of network detected through the lens of covers
We have used covers to describe several classes of phylogenetic network. However, the encoding into covers also creates the opportunity to define new classes of network that correspond to particular features of covers. Such classes might currently have little direct utility for application to phylogenetics, but they may have an indirect value in that algorithms and methods using covers may involve such classes in passing. We introduce one such class as an example of this opportunity.
Recall that the definition of an expanding cover has two criteria (Definition 2.1). The first is that elements of the leafset [n] are not repeated, and the second ensures that the labelling algorithm is well-defined by requiring at least i subsets of [n + i − 1] to be in the cover.
If a cover contains exactly i subsets of [n + i − 1], it has a strong consequence for the network, as follows. We define a spine in a network to be a path from a leaf to the root that traverses all non-leaf vertices, and we call a network spinal if it has a spine. Proof. We prove the reverse direction first. Suppose that the cover C has exactly i subsets of [n+i−1], for each i = 1, . . . , |C|, and consider its labelling order. The first set in the labelling order is the unique set that is contained in [n], and its label is n + 1. For each i = 1, . . . , |C| − 1, the ith set in the labelling order is contained in [n + i − 1], according to the expanding property, but is not contained in [n + i − 2], according to our assumption about C. Therefore, it must contain the integer n + i − 1. The ith set in the labelling order has label n + i, which means that n + i is a parent of n + i − 1. Since this holds for each i > 1, this determines a path from a leaf (labelled by an element of the first set in the labelling order) through every vertex with label n+1 to n+|C|−1, and the last set, containing ||C|| = n+|C|−1, has the root as parent. Thus the network is spinal.
We now prove the forward direction. Suppose that N is spinal with cover C. Being spinal means that N has a path of length |C| from a leaf to the root. This means that there is a backtrack of a leaf that has length |C| − 1. That is, a sequence of sets from the cover such that the label of one set (from the labelling order on C) is an element of the next set in the backtrack sequence. Because the label of a set in the cover is strictly greater than all the elements of the set, the maximal elements of the sets in a backtrack are strictly increasing. C contains the cherry {1, 5} 6 (and the reticulated cherry, {4} 8 , {2, 8} 9 ). We reduce the cherry. . We reduce the cherry.

3
C 2 contains no cherry, but contains the reticulated cherry {4} 8 , {2, 8} 9 , which we reduce.     Now consider the backtrack arising from the spine (the path from a leaf to the root traversing all non-leaf vertices). The leaf at the base of the spine must be in a set contained in [n]; otherwise, there would be no path from it to the vertex labelled n + 1. Therefore, the first set in the backtrack contains n + 1 as its maximal element because that is the parent label for the set containing the initial leaf. The spine has |C| − 1 vertices in it, including the initial leaf, because it includes all except n − 1 of the vertices in the network (the network has ||C|| + 1 = |C| + n vertices in total). Therefore, the backtrack for the initial leaf has |C| − 1 sets. The maximal elements of these |C| − 1 sets are strictly increasing, and run from n + 1 to m = ||C|| = |C| + n − 1 = n + (|C| − 1). This forces each set in the backtrack to have a distinct maximal element. Put together with the set containing the initial leaf, which is a subset of [n], this means that there are exactly i subsets of [n + i − 1], for each i = 1, . . . , |C|, as required.
In the light of Theorem 8.1, we say that a cover C is spinal if it contains exactly i subsets of [n+i−1], for each i = 1, . . . , |C|. An example of a spinal network is shown in Figure 5. Spinal networks have some non-trivial intersections with other classes; for example, the spinal network 1 | 2 | 2, 3 | 3, 4 is not a tree-child, tree-sibling, or orchard network. It can, however, be shown that the class of spinal networks lies within the intersection of the labellable and tree-based classes of networks.  Figure 5. A spinal network with cover 1, 3 | 5 | 2, 6 | 5, 7 | 4, 6, 8 | 7, 9. Note that n = 4 and the cover has one set in [4], two in [5], three in [6], four in [7], five in [8], and six in [9]. There is a path from the elements of the set that is in [4], namely 1 and 3, to the root, and this path traverses every non-leaf vertex. Observe that this path is in labelling sequence. The spine is particularly clear when the network is drawn as shown on the right.

Network Cover
Spine Exactly i subsets of [n + i − 1], for each i Table 8. A translation of the feature of spinal networks into a feature of the corresponding expanding cover.

Discussion
Sometimes a relatively small shift in perspective can open up new possibilities in surprising ways. What seems like a fairly straightforward idea in a paper by Diaconis and Holmes (the idea that rooted binary phylogenetic trees correspond to perfect matchings [4]), itself building on an elegant but simple way to label internal vertices [6], was loosened slightly to yield a correspondence between phylogenetic forests and all partitions of finite sets, as well as a raft of interesting questions in semigroup theory [8]. This subtle twist of an idea, like something from a Philip Pullman novel [18], seems to have opened up further opportunities that, with a further gentle twist, have opened a new canvas on which to draw phylogenetic networks [7]. Capturing the features that define different network classes on this canvas provided the underlying motivation for this paper.
Many core features discussed in the context of networks, such as reticulations, paths, cherries, siblings, and so on, have been translated into the language of covers; a summary is given in Table 9. These translations of features have been necessary for characterising several important classes of phylogenetic network in the language of covers. This includes some of the most prominent classes, including normal, tree-child, tree-sibling, orchard, and tree-based networks (relationships among the classes, determined by properties of their covers, are represented in Figure 6). However there are many classes, each of which is important for its own reasons, and this list is not complete. Some classes that have been omitted in the present paper might be difficult to define with covers (for instance, level-k networks or HGT networks), whereas others might just be a matter of following through with the first steps we have taken here (for example, reticulation-visible networks, and non-binary orchard networks).
Network N Cover C

Non-root vertex An integer in [m] Leaf
An integer in [n] Tree vertex An integer contained in just one subset Reticulation vertex An integer contained in more than one subset In-degree of x The number of subsets that contain x Out-degree of x Size of the subset with label x in the labelling order Parents of x All the subsets that contain x Siblings of x All the other integers contained in the subsets that contain x Children of x The subset with label x in the labelling order Spanning tree A partition embedded in C Support tree A full embedding of a partition in C Crown Collection of sets a 0 , a 1 | a 1 , a 2 | · · · | a t−1 , a t | a t , a 0 . Fence Collection of sets a 0 , a 1 | a 1 , a 2 | · · · | a t , a t+1 , with a 0 = a t+1 both unique. Path from x to ρ A backtrack for x Visible x There is a y ∈ [n] such that x ∈ β∈B C (y) L(β).

Shortcut to x
A backtrack of x that includes a set containing x. Exactly i subsets of [n + i − 1], for each i Table 9. A translation of the features of a network with n leaves and m non-root vertices, into the features of the corresponding expanding cover.
Defining a language is not the goal, however, despite it being a necessary step. The goal is to be able to efficiently work with phylogenetic networks -computationally, algorithmically, and mathematically -in order to establish robust methods of inference for networks that will eventually be of practical use for biological researchers. To that end, encoding various classes of phylogenetic networks in terms of expanding covers provides an opportunity to make computation more effective and allow their structure to be seen more clearly.

Data Availability
Data sharing is not applicable to this article as no datasets were generated or analysed during the current study.  Figure 6. A diagram showing the hierarchy of networks. The nodes are classes of networks, the arrows represent inclusion and the labels indicate which axiom we add to obtain that class. R(x) means "x is repeated in more than one subset" and U (S) means "S contains an unique integer". The class labels are (from top to bottom): LN (labellable networks), T BN (tree-based networks), LT BN (labellable tree-based networks), SN (spinal networks), ON (orchard networks), T SN (tree-sibling networks), T CN (tree-child networks), N N (normal networks), and T (trees).