A Hall-type condition for path covers in bipartite graphs

Let $G$ be a bipartite graph with bipartition $(X,Y)$. Inspired by a hypergraph problem, we seek an upper bound on the number of disjoint paths needed to cover all the vertices of $X$. We conjecture that a Hall-type sufficient condition holds based on the maximum value of $|S|-|\mathsf\Lambda(S)|$, where $S\subseteq X$ and $\mathsf\Lambda(S)$ is the set of all vertices in $Y$ with at least two neighbors in $S$. This condition is also a necessary one for a hereditary version of the problem, where we delete vertices from $X$ and try to cover the remaining vertices by disjoint paths. The conjecture holds when $G$ is a forest, has maximum degree $3$, or is regular with high girth, and we prove those results in this paper.


Introduction 1.Path covers of bipartite graphs
Problems regarding path covers of graphs are ubiquitous in graph theory.A path cover of G is a collection of vertex-disjoint paths in G where the union of the vertices of the paths is V (G).Certainly the most well-studied example looks for a single path covering all vertices of G, i.e. a Hamiltonian path.Graphs with such a path are also called traceable.See [7] for a survey of results in this area.Determining whether a graph has a Hamiltonian path is NP-complete even for very restrictive classes of graphs; for example, Akiyama et al. [1] prove that it is NP-complete for 3-regular bipartite graphs.
In graphs that are not traceable, we may seek a path cover with as few paths as possible.For example, Magnant and Martin [12] conjecture that a d-regular graph G can be covered with at most |V (G)|/(d + 1) paths, and prove this when d ≤ 5. Feige and Fuchs [6] extend the result to d = 6.In [13], Magnant et al. conjecture that a graph with maximum degree ∆ and minimum degree δ needs at most max 1 δ+1 , ∆−δ ∆+δ • |V (G)| paths to cover its vertices, which they verify for δ ∈ {1, 2} and which Kouider and Zamime [10] prove for ∆ ≥ 2δ.For dense d-regular bipartite graphs, Han [8] proves that a collection of |V (G)|/(2d) vertex-disjoint paths covers all but o(|V (G)|) vertices.
In this paper, we focus on a variant of the path cover problem for bipartite graphs: collections of vertex-disjoint paths that cover one partite set of the bipartite graph.Let an (X, Y )-bigraph be a bipartite graph with a specified ordered bipartition (X, Y ).If G is an (X, Y )-bigraph, a path X-cover of G is a set of pairwise vertex-disjoint paths in G that cover all of X.
We seek a Hall-type condition for the existence of a path X-cover of G with at most k paths.Let S ⊆ X, and let Λ G (S) be the set of all vertices in Y that have at least two neighbors in S; in cases where there is only one graph G under consideration, we will write Λ G (S) simply as Λ(S).We define the Λ-deficiency of S to be Λ-def(G, S) := |S| − |Λ(S)|, and the Λ-deficiency of G to be Λ-def(G) := max{Λ-def(G, S) : S ⊆ X}.
We conjecture the following: Conjecture 1.Every (X, Y )-bigraph G has a path X-cover by at most Λ-def(G) paths.
If this conjecture holds, then for every S ⊆ X, there is a set of at most Λ-def(G) vertex-disjoint paths whose intersection with X is precisely S. To see this, just delete all the vertices in X − S from G, which can only decrease the Λ-deficiency.
Conversely, suppose it is true that for every S ⊆ X, there is a set of at most k vertex-disjoint paths whose intersection with X is precisely S. Then for every S, these paths have at least |S|−k internal vertices in Y that are all elements of Λ(S); therefore |Λ(S)| ≥ |S| − k for all S, which implies that Λ-def(G) ≥ k.It follows that the condition in our conjecture is a necessary one if we would like to draw the stronger conclusion in the preceding paragraph.
Our conjecture is a slightly weakened form of a conjecture on cycle covers proposed in [9]: Conjecture 2. Let G be an (X, Y )-bigraph with the property that for all S ⊆ X with |S| > 2, Λ-def(G, S) ≤ 0. Then G contains a cycle that covers all of X.
We claim Conjecture 2 implies Conjecture 1.Let H be the graph obtained from G by adding Λ-def(G) more vertices to Y , each of which is adjacent to every vertex in X.Then for all S ⊆ X with |S| > 2 (and even with |S| = 2), we have Λ-def(H, S) ≤ 0, since all the new vertices of H are in Λ H (S). Now a cycle in H covering all of X yields a path X-cover of G by at most Λ-def(G) paths by deleting all the new vertices.

Hypergraphs and the Gallai-Milgram theorem
The setting of Conjecture 1 can be translated into the language of hypergraphs and Berge paths in hypergraphs, and here we see the motivation for focusing on path cover of X.
Following the terminology of Berge [3], a hypergraph H consists of a set of vertices V (H) and a set of edges E(H) where each edge e ∈ E(H) is a subset of V (H).(We allow edges of any size.)The subhypergraph of H generated by a set S ⊆ V (H) is the hypergraph with V (H) = S and There are several notions of paths in hypergraphs that generalize paths in graphs.One such notion is that of a Berge path: a sequence (v 0 , e 1 , v 1 , e 2 , v 2 , . . ., e ℓ , v ℓ ) where v 0 , v 1 , . . ., v ℓ are distinct vertices in V (H), e 1 , e 2 , . . ., e ℓ are distinct edges in E(H), and {v i−1 , v i } ⊆ e i for all i = 1, . . ., ℓ.
Given a hypergraph H, we can define its incidence graph to be the (X, Y )-bigraph G with X = V (H) and Y = E(H) such that xy ∈ E(G) if and only if x ∈ X, y ∈ Y , and x ∈ y.Berge paths in H correspond to paths in G that begin and end in X; these are vertex-disjoint in G if and only if they are both vertex-disjoint and edge-disjoint in H.
If we define a Berge path cover of the hypergraph H to be a set of pairwise vertex-and edge-disjoint paths that cover all of V (H), then Conjecture 1 proposes a sufficient condition for H to have a Berge path cover of size at most k.Moreover, the proposed sufficient condition is a necessary condition for every subhypergraph of H to have a Berge path cover of size at most k.
This statement is reminiscent of the Gallai-Milgram theorem ( [5], p. 298 in [3]), which states that the vertices of any directed graph D can be covered by at most α(D) disjoint paths, where α(D) is the independence number of D. (The weaker statement for undirected graphs clearly follows.)For a hypergraph H, let a set I ⊆ V (H) be strongly independent (following the terminology of Berge) if |e ∩ I| ≤ 1 for all e ∈ E(H); let α(H), the strong independence number of H, be the size of a largest strongly independent set in H.It would be natural to hope that H has a path cover by at most α(H) pairwise-disjoint paths.In [14], Müller proves such a generalization of the Gallai-Milgram theorem (and, in fact, a generalization of it to directed hypergraphs), but in a slightly different setting: Müller does not require the edges of a path to be distinct, and does not require the paths in the cover to be edge-disjoint, merely vertex-disjoint.
In our setting, the corresponding generalization is false.Translating from hypergraphs back into the language of graphs: a set I ⊆ V (H) is strongly independent if and only if, in the incidence graph of H, Λ(I) = ∅.Generalizing to an arbitrary (X, Y )-bigraph G, let S ⊆ X be Λ-independent if Λ(S) = ∅, and let the Λ-independence number α Λ (G) be the size of a largest Λ-independent set.Note that if S is Λ-independent, then Λ-def(G, S) = |S|, so α Λ (G) is always at most Λ-def(G).
To see that an (X, Y )-bigraph G may not have a path X-cover with at most α Λ (G) paths, even if G is balanced and has a high connectivity, consider the following family of examples.Fix an integer k between 1 and n, and let X = {x 1 , . . ., x n } and Y = {y 1 , . . ., y n } with x i y j ∈ E(G) when i ≤ k or j ≤ k.Then α Λ (G) = 1, since any two vertices share the neighbor y 1 , but Λ-def(G) = n − 2k + 1 (choose S = {x k , x k+1 , . . ., x n }), and in fact it can be checked that a minimum path X-cover contains n − 2k + 1 paths.
However, in all the cases of Conjecture 1 we consider where G is a regular graph, α Λ (G) paths suffice for a path X-cover of G. Whether this holds for all regular bigraphs G is an open question that would have far-reaching consequences.For example, a result of Singer [15] states that the incidence graph of any classical projective plane is Hamiltonian.The proof relies on algebra over finite fields, but the claim above would give a purely graph-theoretic reason that these incidence graphs are always traceable, since the incidence graph G of any projective plane must have α Λ (G) = 1.
More generally, a hypergraph H is covering if every pair of vertices of H lie on a common edge: in other words, α(H) = 1.Lu and Wang [11] prove that every {1, 2, 3}-uniform covering hypergraph has a Hamiltonian Berge cycle.This implies Conjecture 1 for (X, Y )-bigraphs G with maximum degree 3 in Y and α Λ (G) = 1.

Our results
Our first result states that Conjecture 1 holds for forests: To strengthen Proposition 3, we go in two directions: we consider graphs with low maximum degree and graphs with high girth.In the first case, we begin by proving: The proof of Theorem 4 begins by taking a 2-factor of G, covering the graph (and, in particular, X) with pairwise vertex-disjoint cycles.If we generalize to graphs with maximum degree 3, we are unable to do this, but if we cover as much of G with cycles as possible, we are left with a forest.Once we deal with the interaction between the forest and the cycles, we can combine the arguments of Theorem 4 with Proposition 3 to prove a result for all graphs with maximum degree 3: It is particularly interesting to strengthen Theorem 4 to Theorem 5 because if G has maximum degree at most 3, then so does every subgraph of G.As a result, we obtain a necessary and sufficient condition for an (X, Y )-bigraph G of maximum degree 3 to have the property that for all S ⊆ X, there is a set of at most Λ-def(G) pairwise vertex-disjoint paths whose intersection with X is precisely S.
Conjecture 1 holds for regular bigraphs of any degree if we add a condition on the girth of G, that is, the length of the shortest cycle in G. Theorem 6.Let G be an (X, Y )-bigraph with maximum degree at most d and girth at least 4ed 2 +1, and assume that there exists a collection of pairwise vertex-disjoint cycles in G that cover all of X.(In particular, such a collection is guaranteed to exist if G is d-regular.) Then G has a path X-cover of size at most α Λ (G).

Forests
Proof of Proposition 3. We may assume that G has no leaves in Y , since a vertex in Y of degree 1 does not contribute to Λ-def(G, S) for any S, and it does not help cover more of X by paths.We may also assume that G is a tree; if G has multiple components, we can solve the problem on each component separately.
When |X| > 1, consider G as a rooted tree with an arbitrary root in X.Let x ∈ X be a leaf of G at the furthest distance possible from the root, and let y ∈ Y be the parent vertex of x.
Case 1: y has other children.
Let x 1 , . . ., x k be all the children of y (including x); by the case, k ≥ 2. Since x was chosen to be as far from the root as possible, each x i must be a leaf.Delete By the inductive hypothesis, G ′ has a path X-cover by at most Λ-def(G ′ , S) paths.Add k − 1 more paths to that set: the path (x 1 , y, x 2 ) and the length-0 paths (x 3 ), . . ., (x k ).This is a path X-cover of G by at most Λ-def(G ′ , S) + k − 1 ≤ Λ-def(G) paths, completing the case.
By the inductive hypothesis, G ′ has a path X-cover by at most Λ-def(G ′ ) paths.By the case, x * is a leaf of G ′ (or an isolated vertex), so the path that covers x * must begin or end at x * .Extend that path to go through y and x, and we get a path X-cover of G by Λ-def(G ′ ) ≤ Λ-def(G) paths, completing the case.
Let y 1 , . . ., y k be all of the children of x * (including y); by the case, k ≥ 2. No vertices of y are leaves, so each has a child.By our choice of x, those children are all as far from the root as possible, so they must all be leaves.If any of y 1 , . . ., y k have multiple children, then we can proceed as in Case 1, so assume each y i has a single child x i .Delete x k and y k from G to get G ′ .
Let S ⊆ X − {x k } be the set such that Λ-def(G ′ ) = Λ-def(G ′ , S).We may assume that x * / ∈ S by one of the following modifications: ), and no other vertices in Y have any neighbors in S ′ that they did not have in S.So Λ-def(G ′ , S ′ ) ≥ Λ-def(G ′ , S).
By the inductive hypothesis, G ′ has a path X-cover by at most Λ-def(G ′ ) paths.Add the path (x k ) to get a path X-cover of G by Λ-def(G ′ ) + 1 ≤ Λ-def(G) paths, completing the case and the proof.

3-regular graphs
It is a standard result (Corollary 3.1.13in [16]) that every regular bipartite graph has a perfect matching.Removing a perfect matching from a d-regular bipartite graph leaves a (d − 1)-regular bipartite graph, which also has a perfect matching.The union of the two matchings provides a cover of G by vertex-disjoint cycles, giving the following lemma (which is also well-known): Lemma 7. If G is a regular bipartite graph, then G has a cycle cover.
The existence of this lemma is the primary reason that this proof is simpler than the proof of Theorem 5 in the next section.That proof begins with the same ideas, but must deal with vertices of X that are not part of the initially chosen collection of cycles.
Proof of Theorem 4. By Lemma 7, we can take a cycle cover C of G. Let S be any maximal Λindependent subset of X such that each cycle in C contains at most one vertex of S. To prove the claim, it suffices to construct a path cover of G with exactly |S| paths.We give an algorithm for this below.
Let H be a subgraph of G that will change over the course of the algorithm; initially, H will consist of the |S| cycles in C containing a vertex of S. We will extend H to a spanning subgraph of G, while maintaining the properties (1) H has |S| components, and (2) each component of H is traceable.
At each step of the algorithm, choose a cycle C ∈ C that is not yet contained in H, and x(C) ∈ V (C) ∩ X.In most cases, we make this choice arbitrarily.Occasionally, we will want to make sure that a particular vertex w on a cycle C not yet in H will never become x(C).To do so, we select C to be processed next, and choose an arbitrary vertex in V (C) ∩ X other than w to be x(C).To indicate that we do this, we say that we Do Something Else with w; we provide details about this choice later.Suppose we have selected C and x(C).By the maximality of S, we have Λ(S ∪ {x(C)}) ̸ = ∅, so there is some vertex s ∈ S such that x(C) and s have a common neighbor y.Let C(s) be the cycle in C containing s.The vertex y must lie on either C or C(s), since otherwise y would have four neighbors: x(C), s, and its two neighbors on the cycle in C containing y.We extend H by adding cycle C to H, and either the edge x(C)y (if y lies on C(s)) or sy (if y lies on C).This ends one step of the algorithm.This step maintains the property that H has |S| components, since cycle C has been joined to an existing component of H.To maintain the property that each component of H is traceable, we must clarify when we Do Something Else.Consider an arbitrary s ∈ S; let C(s) be the cycle of C containing s, and let y 1 , y 2 be the two neighbors of s along C(s).Initially, the component of H containing s is just C(s).There are three ways that C(s) can potentially be added to H, namely via an edge from any of s, y 1 , or y 2 going to another cycle in C. The component remains traceable if any one of these edges is used to extend it: in that case, we can extend that edge to a Hamiltonian path by going the long way around both cycles.The component also remains traceable if it is extended both using an edge from s and using an edge from y 1 .In that case, delete edge sy 1 , obtaining a long path containing s and y 1 joining two cycles; extend that path by going the long way around both of those cycles.The same is true if y 1 is replaced by y 2 .However, we must ensure that the component of H containing s is never extended by using edges from both y 1 and y 2 .Suppose that a step of the algorithm extended the component of H containing s via an external edge to y 1 , and y 2 has a neighbor w in some C ∈ C not yet contained in H.In this situation, we Do Something Else with w.This ensures the component of H containing s cannot be extended using edges from both y 1 and y 2 , because one of those edges goes to C, and C will become part of H in the next step of the algorithm and hence will not be considered at later stages of the algorithm.As a result, no component of H is ever prevented from being traceable.
At the end of the algorithm, we have a spanning subgraph H with |S| traceable components.By taking a Hamiltonian path in each component, we obtain a path cover of G with |S| paths, completing the proof.

Graphs with maximum degree 3
Proof of Theorem 5. We will prove the theorem by describing an algorithm that constructs a path X-cover P and a set S ⊆ X with |P| = Λ-def(G, S).
To begin the algorithm, let C be a collection of vertex-disjoint cycles in G satisfying the following conditions: 1.The union of the cycles contains as many vertices of G as possible.
2. Subject to condition 1, there are as few cycles as possible.
As a consequence of condition 1, deleting the vertices in C from G leaves a forest, which we call F .
In the next phase of the algorithm, we process the cycles in C, one at a time.This phase has two goals.First, for each C ∈ C, we will choose a designated vertex x(C) ∈ V (C) ∩ X. Intuitively, x(C) will be the only vertex of C which may become part of the high-Λ-deficiency set S we construct.We define y + (C) and y − (C) to be the two neighbors of x(C) along C. Second, we will split C into three sets: C good , C bad , and C ugly .Intuitively, if C ∈ C good , then x(C) is far from any problems; if C ∈ C bad , then x(C) is too close to the forest F ; finally, if C ∈ C ugly , then x(C) is too close to x(D) for some D ∈ C good ∪ C bad .
In most cases, we arbitrarily choose an unprocessed cycle C to process next, and arbitrarily choose x(C) ∈ V (C) ∩ X. Occasionally, as in the proof of Theorem 4, we will want to make sure that a particular vertex w on an unprocessed cycle C will never become x(C).To do so, we select C to be processed next, and choose an arbitrary vertex in V (C) ∩ X other than w to be x(C).As in Theorem 4, to indicate that we do this, we say that we Do Something Else with w.
To decide what to do with a cycle C as we process it, we consider the following cases, in order, choosing the first that applies: Additionally, if e(C) = x(C)y ± (D) and the vertex y ∓ (D) (that is, whichever of y + (D), y − (D) is not an endpoint of e(C)) is adjacent to a vertex w on an unprocessed cycle, we Do Something Else with w.
Case 2: At least one of x(C), y + (C), or y − (C) has a neighbor in F .In this case, we place C in C bad .Additionally, if y ± (C) has a neighbor in F and y ∓ (C) has a neighbor w on an unprocessed cycle, we Do Something Else with w.
Case 3: Neither case 1 nor case 2 occurs.In this case, we simply place C in C good .This concludes the second phase (or the processing phase) of the algorithm.
In the third phase of the algorithm, we create an auxiliary graph F * (which is not precisely a subgraph of G) containing F and some extra vertices representing the elements of C bad .For each C ∈ C bad : • We add x(C) to F * , together with the edge to its neighbor in F , if there is one.
• We add an artificial vertex y * (C) to F * that is adjacent to x(C) and to the neighbors of both y + (C) and y − (C) in F , if these exist.
Before we continue, we must show that F * is a forest.Suppose for the sake of contradiction that F * contains a cycle.Since F is acyclic, this cycle must contain either x(C) or y * (C) for at least one C ∈ C bad .
First, consider the case that the cycle only includes the vertex y * (C) for a single C ∈ C bad .This means that there is a path P from y Finally, consider the case that the cycle in F * includes vertices x(C) and/or y * (C) for multiple C ∈ C bad .In this case, we can extend it to a cycle in G: every time the cycle in F * visits y * (C), we can replace that visit by a path that enters C via y ± (C), goes around C, and leaves via either y ∓ (C) or x(C).This cycle in G contains at least as many vertices as the cycles from C it uses: it misses at most the vertex x(C) from each of them, but includes a vertex in F between any two of the cycles in C. Therefore, we can replace multiple cycles in C by a single cycle through at least as many vertices, violating condition 2 in the definition of C.
In all cases, we arrive at a contradiction, so we can conclude that F * is a forest.We give it the structure of an (X ′ , Y ′ )-bigraph by defining: By Proposition 3, we can find a path X ′ -cover P ′ of F * and a set S ′ ⊆ X ′ such that Λ-def(F * , S ′ ) ≥ |P ′ |.We may assume that both endpoints of every path in P ′ are in X ′ , not Y ′ .
Because X ′ ⊆ X, we have S ′ ⊆ X as well; moreover, none of the vertices x(C) for C ∈ C bad have common neighbors outside F , or else one of the cycles would have been handled by Case 1 of the processing phase instead.Therefore Λ-def(G, S ′ ) = Λ-def(F * , S ′ ).
We are now ready to construct the path X-cover P in G and a set S ⊆ X with |P| ≤ Λ-def(G, S).
Let S = S ′ ∪ {x(C) : C ∈ C good }.The vertices {x(C) : C ∈ C good } have no common neighbors with each other or with any vertex in S ′ .This is ensured by Case 1 and Case 2 of the processing phase, where any cycle C for which x(C) did have such a common neighbor would be placed in C bad or C ugly instead.Therefore Λ-def(G, S) = Λ-def(G, S ′ )+|C good |.We transform P ′ into P with |C good | additional paths.
For each C ∈ C good , we add a single path to P that covers the vertices of X on both C and any cycles in C ugly that attach to C. There are three possibilities: • If there are no cycles in C ugly that attach to C, we take a path that goes around C.
• If there is one cycle C 1 ∈ C ugly that attaches to C, we obtain a path that covers both C and C 1 by taking both cycles, adding edge e(C 1 ), and deleting an edge incident on e(C 1 ) from both cycles.
• We obtain a path that covers C, C 1 , and C 2 by taking all three cycles, adding edges e(C 1 ) and e(C 2 ), deleting edge x(C)y + (C) from C, and deleting an edge from each of C 1 and C 2 incident on e(C 1 ) and e(C 2 ), respectively.
Finally, we must transform the paths in P ′ that use the vertices x(C) or y * (C) for some C ∈ C bad into paths in G that cover the cycles in C bad , as well as any cycles in C ugly that attach to them.
For each C ∈ C bad , there is a path P x ∈ P ′ that covers x(C), and possibly a different path P y ∈ P ′ that passes through y * (C).Without changing these paths outside {x(C), y * (C)}, we modify them to cover C and any cycles in C ugly that attach to C. During this process, the host graph of the paths in P ′ is unclear, but once we have considered all of C bad , the paths will all be paths in G.
There are multiple possibilities for how the modification is done: • P x contains x(C) but not y * (C), and P y does not exist.Then x(C) must be an endpoint of P x , since x(C) has only one neighbor in F * other than y * (C).
We extend P x to go around the cycle C, ending at either y + (C) or y − (C).If there is a cycle C 1 ∈ C ugly that attaches to C at y ± (C), we choose P x to go around C so that it ends at the endpoint of e(C 1 ); then, extend P x to use e(C 1 ) and go around C 1 .As before, there cannot be two cycles C 1 , C 2 ∈ C ugly that attach to C at y + (C) and y − (C), since we Do Something Else to prevent this.
• P x goes from x(C) to y * (C) and continues to F , and P y does not exist.
The edge used from y * (C) comes from an edge in G from y ± (C) to F ; we modify P x to go around the cycle C from x(C) to y ± (C).If there is a cycle C 1 ∈ C ugly that attaches to C at x(C), then x(C) cannot have a neighbor in F , so it is an endpoint of P x .We extend x(C) in the other direction, prepending a path that goes around C 1 and takes edge e(C 1 ) to x(C).
There cannot be a cycle C 2 ∈ C ugly that attaches to C at y ∓ (C), again because we Do Something Else to prevent it.
• P x contains x(C), and a different path P y contains y * (C).
In this case, x(C) must be an endpoint of P x .We leave P x unchanged, unless there is a cycle C 1 ∈ C ugly that attaches to C at x(C).In this case, x(C) has no neighbors in F , so P x must be a path of length 0. We replace P x by a path that covers C 1 and ends with e(C 1 ), also covering x(C).
Meanwhile, P y must enter and leave y * (C) by edges other than x(C)y * (C); in G, these correspond to two edges between {y + (C), y − (C)} and F .We modify P y , replacing y * (C) by the y + (C), y − (C)-path that goes around C, covering all its vertices except the previously covered x(C).
Once this process is complete, we add these modified paths to P, along with the paths that covered the cycles in C good .The collection P is a path X-cover; just as P ′ did, it still covers all vertices of X ′ , but now it also covers all vertices of the cycles in C.This completes the proof, since

Graphs with high girth
We will use the Lovász Local Lemma [4] to prove Theorem 6, in the form stated below.
Lemma 8 (The Local Lemma; Lemma 5.1.1 in [2]).Let A 1 , A 2 , . . ., A N be events in an arbitrary probability space.A directed graph D = (V, E) on the set of vertices V = {1, 2, . . ., N } is called a dependency digraph for the events A 1 , . . ., A N if for each i, 1 ≤ i ≤ N , the event A i is mutually independent of all the events {A j : (i, j) / ∈ E}.Suppose that D = (V, E) is a dependency digraph for the above events and suppose there are real numbers x 1 , . . ., x N such that 0 ≤ x i < 1 and Pr In particular, with positive probability, no event A i holds.
A symmetric version of Lemma 8 is often used, where Pr[A i ] = p for all i; by setting x i = e • Pr[A i ] for all i, and using the inequality (1 − 1 x+1 ) x ≥ 1 e , valid for all x ≥ 0, the hypotheses of the lemma are satisfied.In our case, the probabilities of our events A i will vary, but we will pursue mostly the same strategy.We will still set x i = e • Pr[A i ] for all i; because event A i will depend on two types of other events, we will use the inequality (1 − 1 2x+1 ) x ≥ e −1/2 (also valid for all x ≥ 0) on two parts of the product, instead.
Proof of Theorem 6.Let G be an (X, Y )-bigraph with maximum degree at most d and girth g ≥ 4ed 2 + 1.Additionally, let C be a collection of pairwise vertex-disjoint cycles in G that cover X.This collection exists either by assumption or (if G is taken to be d-regular) by Lemma 7. The girth condition on G guarantees that the cycles in C are relatively long, so there cannot be too many of them; in fact, we will show that there cannot be more than α Λ (G) of them.
If v ∈ X, we will write C(v) for the cycle in C containing v. Furthermore, if v 1 , v 2 ∈ X, we will write v 1 ∼ v 2 to mean that C(v 1 ) ̸ = C(v 2 ) and v 1 and v 2 have a common neighbor in Y .
We choose a set S randomly, by selecting one vertex of X uniformly at random from each cycle in C. Let {u 1 , v 1 }, . . ., {u N , v N } be an enumeration of the (unordered) pairs of vertices in X such that u i ∼ v i .For each i, 1 ≤ i ≤ N , we let A i be the event that u i ∈ S and v i ∈ S. As a result, the conjunction A 1 ∧ • • • ∧ A n is exactly the claim that S is Λ-independent.If we can satisfy the hypotheses of Lemma 8 for the events A 1 , . . ., A N , then this conjunction occurs with positive probability, and therefore |C| = |S| ≤ α Λ (G), proving the theorem.
We define the dependency digraph D to include an edge (i, j) whenever the four vertices u i , v i , u j , and v j do not lie on four distinct cycles.If C(u i ) has length 2ℓ 1 and C(v i ) has length 2ℓ 2 , we define x i = e ℓ 1 ℓ 2 ; for reference, Pr[A i ] = 1 ℓ 1 ℓ 2 .We will show that the hypotheses of Lemma 8 hold with the choices made above.To do this, we must put a lower bound on x i (i,j)∈E(D) (1 − x j ) for an arbitrary event A i .
This product consists of two types of events A j .The first type consists of those A j for which either u j or v j lies on C(u i ) (including u j = u i or v j = u i ).There are at most ℓ 1 d 2 events A j of this type.For each of them, one of C(u j ), C(v j ) is the same as C(u i ) and has length ℓ 1 , and the other has length at least g.Therefore 1 − x j ≥ 1 − 2e ℓ 1 g , for an overall product of at least (1 − 2e ℓ 1 g ) ℓ 1 d 2 .The second type of events A j such that (i, j) ∈ E(D) consists of those A j for which either u j or v j lies on C(v i ).By a similar argument, there are at most ℓ 2 d 2 events A j of this type, and for each of them, 1 − x j ≥ 1 − 2e ℓ 2 g , so x i (i,j)∈E(D) Recall that g ≥ 4ed 2 +1; a lower bound on ℓ 1 g 2e ≥ 2ℓ 1 d 2 + ℓ 1 2e is 2ℓ 1 d 2 +1.Applying (1− 1 2x+1 ) x ≥ e −1/2 , we get and similarly 1 − 2e and the conditions of Lemma 8 are satisfied.
The theorem follows, since we can find a path X-cover of G of size |C| by removing a vertex of Y from each cycle in C.

Case 2 :
y has no other children.Let x * ∈ X be the parent vertex of y.Case 2a: deg(x * ) ≤ 2 (this includes the case where x * is the root and deg(x * ) = 1).Delete x and y from G to get G ′ .For every S ⊆ X −{x}, we have Λ-def(G, S) = Λ-def(G ′ , S), since y cannot be in Λ G (S) and all other vertices of Y are still in G

Case 1 :
x(C) has a common neighbor with x(D) for some D ∈ C good ∪ C bad , and that common neighbor lies on either C or D. In other words, at least one edge e(C) ∈ {x(C)y + (D), x(C)y − (D), y + (C)x(D), y − (C)x(D)} must exist in G. (If multiple choices of D or of e(C) are possible, then fix one of them.)In this case, we place C in C ugly ; we say that C attaches to D at u, where u is the endpoint of e(C) in D. We save the edge e(C) for reference; later, we will use it to extend a path covering D to also cover C.
+ (C) to y − (C) of length at least 3, whose internal vertices are in F .Now we can modify C, replacing x(C) and the edges y + (C)x(C), x(C)y − (C) by P .The resulting cycle contains more vertices that C, violating condition 1 in the definition of C. Similarly, if the cycle in F * includes only the vertices x(C) and y * (C) for a single C ∈ C bad , we can expand C to include some vertices in F .This also violates condition 1 in the definition of C.
If there are two cycles C 1 , C 2 ∈ C ugly that attach to C, then e(C 1 ) and e(C 2 ) cannot both have endpoints in {y + (C), y − (C)}, because once one such cycle is added to C ugly in Case 1, we Do Something Else to prevent a second cycle of this type from appearing.(This is also why three cycles in C ugly cannot attach to C.) Without loss of generality, C 1 and C 2 attach to C at x(C) and y + (C).