# New Menger-Like Dualities in Digraphs and Applications to Half-Integral Linkages

Victor Campos, Jonas Costa, Raul Lopes, Ignasi Sau

► To cite this version:

Victor Campos, Jonas Costa, Raul Lopes, Ignasi Sau. New Menger-Like Dualities in Digraphs and Applications to Half-Integral Linkages. ACM Transactions on Algorithms, 2025, 21 (3), pp.1-28. 10.1145/3724120. lirmm-05386272

HAL Id: lirmm-05386272

https://hal-lirmm.ccsd.cnrs.fr/lirmm-05386272v1

Submitted on 27 Nov 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# New Menger-like dualities in digraphs and applications to half-integral linkages

Victor Campos [ID]

ParGO group, Universidade Federal do Ceará, Fortaleza, Brazil

Jonas Costa [x]

ParGO group, Universidade Federal do Ceará, Fortaleza, Brazil

Raul Lopes [ID]

DIENS, École normale supérieure, CNRS, PSL University, Paris, France

Université Paris-Dauphine, CNRS UMR7243, PSL University, Paris, France

Ignasi Sau [ID]

LIRMM, Université de Montpellier, CNRS, Montpellier, France

## Abstract

We present new min-max relations in digraphs between the number of paths satisfying certain conditions and the order of the corresponding cuts. We define these objects in order to capture, in the context of solving the half-integral linkage problem, the essential properties needed for reaching a large bramble of congestion two (or any other constant) from the terminal set. This strategy has been used ad-hoc in several articles, usually with lengthy technical proofs, and our objective is to abstract it to make it applicable in a simpler and unified way. We provide two proofs of the min-max relations, one consisting in applying Menger's Theorem on appropriately defined auxiliary digraphs, and an alternative simpler one using matroids, however with worse polynomial running time.

As an application, we manage to simplify and improve several results of Edwards et al. [ESA 2017] and of Giannopoulou et al. [SODA 2022] about finding half-integral linkages in digraphs. Concerning the former, besides being simpler, our proof provides an almost optimal bound on the strong connectivity of a digraph for it to be half-integrally feasible under the presence of a large bramble of congestion two (or equivalently, if the directed tree-width is large, which is the hard case). Concerning the latter, our proof uses brambles as rerouting objects instead of cylindrical grids, hence yielding much better bounds and being somehow independent of a particular topology.

We hope that our min-max relations will find further applications as, in our opinion, they are simple, robust, and versatile to be easily applicable to different types of routing problems in digraphs.

**2012 ACM Subject Classification** Mathematics of computing → Discrete mathematics → Graph theory → Graph algorithms.

**Keywords and phrases** directed graphs, min-max relation, half-integral linkage, directed disjoint paths, bramble, parameterized complexity, matroids.

**Related Version** A conference version of this article will appear in the *Proceedings of the 31st Annual European Symposium on Algorithms (ESA)*, LIPIcs, Amsterdam, The Netherlands, September 2023.

**Funding** Victor Campos: FUNCAP/PRONEM PNE-0112-00061.01.00/16, and CAPES/Cofecub 88887.712023/2022-00.

**Jonas Costa:** FUNCAP/PRONEM PNE-0112-00061.01.00/16, FUNCAP PS1-0186-00155.01.00/2, and PhD scholarship granted by CAPES.

Raul Lopes: group Casino/ENS Chair on Algorithmics and Machine Learning, and French National Research Agency under JCJC program (ASSK: ANR-18-CE40-0025-01).

Ignasi Sau: ELIT (ANR-20-CE48-0008-01).
# 1 Introduction

In combinatorial optimization, a *min-max relation* establishes the equality between two quantities, one naturally associated with *minimizing* the size of an object satisfying some conditions, and the other one associated with *maximizing* the size of another object. Within graph theory, famous such min-max relations include Kőnig's Theorem [16] stating the equality between the sizes of a maximum matching and a minimum vertex cover in a bipartite graph or, more relevant to this article, Menger's Theorem [19] stating, in its simplest form, the equality between the maximum number of pairwise internally disjoint paths between two vertices, and the minimum size of a vertex set disconnecting them. Typically, min-max relations come along with polynomial-time algorithms to find the corresponding objects, making them extremely useful from the algorithmic point of view.

In this article we focus on directed graphs, or *digraphs* for short, and our results are motivated by the complexity of problems related to finding *directed disjoint paths* between given terminals. More precisely, in the *k-DIRECTED DISJOINT PATHS* problem (*k*-DDP for short), we are given a digraph *G* and *k* pairs of vertices *s*<sub>*i*</sub>, *t*<sub>*i*</sub>, *i* ∈ [*k*], and the objective is to decide whether *G* contains *k* pairwise disjoint paths connecting *s*<sub>*i*</sub> to *t*<sub>*i*</sub> for *i* ∈ [*k*]. A solution to this problem is usually called a *linkage* in the literature. Here we note that disjoint paths is equivalent to paths which are vertex-disjoint.

Unfortunately, Fortune et al. [10] proved that the *k*-DDP problem is NP-complete already for *k* = 2, and Thomassen [24] strengthened this result by showing that it remains so even if the input digraph is *p*-strongly connected (see Section 2 for the definition) for any integer *p* ≥ 1. Thus, in order to obtain positive algorithmic results, research has focused on either restricting the input digraphs (for instance, to being acyclic [23] or, more generally, to having bounded directed tree-width [13]), or on considering relaxations of the problem. Concerning the latter, a natural candidate is to relax the disjointness condition of the paths, and allow for *congestion* in the vertices. Namely, for an integer *c* ≥ 2, an input of the *k*-DIRECTED *c*-CONGESTED DISJOINT PATHS problem (($k$, *c*)-DDP for short) is the same as in the *k*-DDP, but now we allow each vertex of *G* to occur in at most *c* out of the *k* paths connecting the terminals. In the particular case *c* = 2, a solution to this problem is usually called a *half-integral linkage* in the literature.

Despite a considerable number of attempts, it is still open whether the (*k*,*c*)-DDP problem can be solved in polynomial time for every fixed value of *c* ≥ 2 and *k* > *c* (note that if *k* ≤ *c*, then the problem can be easily solvable in polynomial time just by verifying the connectivity between each pair of terminals). A positive answer for the case *c* = 2 has been recently conjectured by Giannopoulou et al. [12]. Again, in order to obtain positive results, several restrictions and variations of the problem have been considered, such as considering several parameterizations [2, 17], restricting the input graph to have high connectivity [9], or considering an *asymmetric* version of the (*k*,*c*)-DDP problem [12, 14, 15], where the input is as in (*k*,*c*)-DDP, but the goal is to either certify that it is a *no*-instance of *k*-DDP (without congestion) or a *yes*-instance of (*k*,*c*)-DDP. This asymmetric version has been solved in polynomial time for every fixed *k* (i.e., showing that it is in XP; see Section 2) for distinct values of *c* in a series of articles, namely for *c* = 4 by Kawarabayashi et al. [14], for *c* = 3 by Kawarabayashi and Kreutzer [15], and for *c* = 2 by Giannopoulou et al. [12].

The main motivation of this article stems from the techniques used in the latter two approaches mentioned above. In a nutshell, the main strategy used in [9, 12, 14, 15] is the following. First, one computes whether the directed tree-width of the input graph is bounded by an appropriate function of *k*, the number of terminal pairs. This can be done in time XP
in $k$ by the results of Johnson et al. [13], or even in time FPT by the results of Campos et al. [5] (see also [3, Theorem 9.4.4]). If the directed tree-width is bounded by a function of $k$, one solves the problem in time XP by using standard programming techniques from Johnson et al. [13] (cf. Proposition 9). If not, one exploits the fact that large directed tree-width implies the existence of large “structures” that can be used to carry out the routing of the desired paths. Typically, such a structure is a *bramble*, as for example in [9], or a *cylindrical grid*, as for example in [12, 15], making use of the celebrated Directed Grid Theorem of Kawarabayashi and Kreutzer [15] (see also [5] for recent improvements). For the sake of exposition, assume henceforth that the desired structure is a *bramble*, but the strategy is essentially the same with a *cylindrical grid*.

A bramble in a digraph $D$ is a set $\mathcal{B}$ of strongly connected subgraphs of $G$ that pairwise either intersect or have edges in both directions. The *order* of a bramble $\mathcal{B}$ is the smallest size of a vertex set of $G$ that intersects all its elements, and its *congestion* is the maximum number of times that a vertex of $G$ appears in the elements of $\mathcal{B}$. It is known that large directed treewidth implies the existence of a bramble of large order and of congestion $c \ge 2$. For $c=2$, a proof about how to find such a bramble in polynomial time (with degree not depending on $k$), provided that a certificate for large directed tree-width is given, can be found in [9] (see also [18] for improved bounds for brambles of higher congestion). Assume for simplicity that $c=2$, let $\mathcal{B}$ be such a bramble, and let $S$ and $T$ be the sets of sources and sinks, respectively, of the corresponding problem. The idea is that if one can find a set $\mathcal{P}^S$ of disjoint paths from $S$ to appropriate elements of $\mathcal{B}$, and a set $\mathcal{P}^T$ of disjoint paths from appropriate elements of $\mathcal{B}$ to $T$ (regardless of the ordering of the vertices of $S$ and $T$), then we are done. Indeed, once the paths starting in $S$ reach $\mathcal{B}$, one can use the connectivity properties of the bramble to “shuffle” the paths appropriately as required by the terminals, and then follow the paths from $\mathcal{B}$ to $T$. The fact that the bramble has congestion two, and that the paths in $\mathcal{P}^S$, as well as those in $\mathcal{P}^T$, are pairwise disjoint, together with a good choice for the destination and starting points of the those paths, implies that every vertex of $G$ occurs in at most two of the resulting paths.

Otherwise, if such sets of paths $\mathcal{P}^S$ and $\mathcal{P}^T$ do not exist, the approach consists in using a Menger-like min-max duality to obtain an appropriate *separator* (or *cut*) between the terminals and the bramble of size bounded by a function of $c$ and $k$, and make some progress toward the resolution of the problem, for instance by splitting into subproblems of lower complexity. The ways to define and to exploit such a separator depend on every particular application, and this ad-hoc subroutine is usually one of the most technically involved parts of the resulting algorithms [9, 12, 14, 15].

**Our results and techniques.** Motivated by the inherent common essential strategy in the above articles, we aim at finding the crucial general ingredient that can be applied in order to define and find the corresponding separators. To this end, we introduce new objects that abstract the existence of the aforementioned desired paths $\mathcal{P}^S$ and $\mathcal{P}^T$ between the terminals and the bramble. These objects are what we call *D-paths*, *T-paths* and *R-paths*. The inspiration for D-paths and T-paths is what we believe to be the common essential strategies used by Edwards et al. [9] and Giannopoulou et al. [11]. We remark that a particular set of T-paths is directly constructed in [11], particularly inside the proof of [11, Theorem 9.1]. The presence of D-paths and T-paths in [9] is more subtle in the construction of a long algorithm and a collection of non-trivial proofs. In fact, they are not explicitly built due to constraints in their techniques, but our initial results for this paper included simplifying and improving the proofs in [9] using D-paths and T-paths. Once the new proofs were obtained, we noticed that they could be further improved by a new object which we call R-paths. It
must be noted that this paper includes results for D-paths, T-paths, and R-paths but we only show applications for R-paths. The reason for this is twofold. First, T-paths have stronger properties than R-paths which might be useful for solving different problems, and D-paths are needed in the proof of the duality of T-paths. And second, these three objects are similar to the point of having similar proofs for their min-max formulas and algorithms, and showing these variations incurs little additional effort. The formal definitions of these special types of paths can be found in Section 3.

All three types of paths are associated with a defining partition $P_1, \dots, P_l$ sharing some properties and differing in others. For all three, it holds that any two paths in a same part $P_i$ are disjoint, and it is possible that two paths in distinct parts share vertices. In the context of the $(k, c)$-DDP problem, the main difference between D-paths, T-paths, and R-paths lies in how we want to reach (or, by applying a simple trick of reversing the edges of the digraph, be reached from) the elements of a bramble $\mathcal{B}$ in the given digraph. In D-paths we ask that all paths end in distinct vertices of a given $B \subseteq V(G)$. In T-paths we ask that all paths end in distinct vertices of the bramble, and that the set containing all last vertices of the T-paths forms a *partial transversal* (see Section 2 for the definition) of $\mathcal{B}$. In R-paths we ask that all R-paths end in elements of $\mathcal{B}$ and that there is a “matching-like” association between the last vertices of the paths and elements of $\mathcal{B}$ containing these vertices.

For each type of paths we define an associated notion of *cut* and its corresponding *order* (see e.g. **Definition 16**). These cuts are respectively called *D-cuts*, *T-cuts*, and *R-cuts*. We show that each of these special types of paths and cuts satisfies a Menger-like min-max duality, that is, that the maximum number of paths equals the minimum order of a cut (cf. **Theorems 17, 19, and 21**). Moreover, the corresponding objects attaining the equality can be found in polynomial time. The proofs of these min-max relations basically consist in applying Menger's Theorem [19] in appropriately defined auxiliary graphs. In **Subsection 3.1** we provide alternative simpler proofs of these equalities using intersections and unions of matroids, namely gammoids and transversal matroids. Even if the resulting polynomial-time algorithms using matroids have worse running time than the ones that we obtain by applying Menger's Theorem [19], and that using the deep theory of matroids somehow sheds less light on interpreting the actual behavior of the considered objects, we think that it is interesting to observe that the paths and cuts that we define are in fact matroids with nice properties.

The main application we provide for R-paths/cuts in this article is in the proof of **Theorem 33**, which is an improved version of [11, Theorem 9.1] both in the requested order of the structure and by relying on brambles instead of cylindrical grids. Informally, **Theorem 33** says that given a digraph $G$, ordered sets $S, T \subseteq V(G)$, and a large (depending on the congestion $c$ and on the size $k$ of $S$ and $T$) bramble of congestion $c$, we can either find a large set of R-paths from $S$ to the bramble and from the bramble to $T$, which in turn are used to appropriately connect the pairs $s_i \in S, t_i \in T$, or find a separator of size at most $k-1$ intersecting every path from $S$ to a large subset of the bramble, or every path from a large subset of the bramble to $T$. Additionally, if the bramble is given, one of the outputs can be obtained in polynomial time, computing either the paths or one of the separators.

Since in $k$-strong digraphs the separators are never found, **Theorem 33** immediately implies an improved version of a result by Edwards et al. [9]. Namely, in [9, Theorem 11] the authors show that, when restricted to $(36k^3 + 2k)$-strong digraphs, every instance of $(k, 2)$-DDP where the input digraph contains a large (depending on $k$) bramble of congestion two is positive and a solution can be found in polynomial time. When compared to theirs, our result is an improvement in the following ways. First, it allows us to solve $(k, c)$-DDP for any $c \ge 2$ in the larger class of $k$-strong digraphs instead of being restricted to $(36k^3 + 2k)$-strong
digraphs as in [9]. This bound on the strong connectivity of the digraph is almost best possible according to [9, Theorem 2], unless $P = NP$ (note that an XP algorithm in $(k-d)$-strong digraphs, for some constant $d$, may still be possible). Second, we show how to find the desired paths using a bramble of congestion $c$ and size at least $2k(c \cdot k - c + 2) + c(k-1)$, which is equal to $4k^2 + 2k - 2$ when $c=2$, instead of the size $188k^3$ required in [9]. Finally, our proof is much simpler and shorter than the proof presented in [9]. A main reason of this simplification is that we can replace the seven properties of the paths requested in [9, Lemma 12] by R-paths. It is worth mentioning that our algorithm reuses the procedure of Edwards et al. [9] to find a large bramble of congestion two in digraphs of large directed tree-width (cf. Corollary 14).

We remark that it is also possible to improve the result by Edwards et al. [9] from $(36k^3 + 2k)$-strong digraphs to $k$-strong digraphs by replacing part of their proof, namely [9, Theorem 11], by the result of Giannopoulou et al. [11, Theorem 9.1]. The trade-off is that the latter relies on the stronger structure of a cylindrical grid (and such grids do contain brambles of congestion two [9]) instead of brambles. A fundamental difference stands on the fact that, given a certificate of large directed tree-width, one can produce a bramble of congestion two in polynomial time, while finding a cylindrical grid still requires FPT time parameterized by the order of the certificate [5]. Our result using R-paths keeps the best of both worlds: we are able to drop the request on the strong connectivity of the digraph to $k$ while relying only on brambles as the routing structures.

Our second application deals with the asymmetric version of the $(k, c)$-DDP problem discussed in the introduction. By using our min-max relations, we manage to simplify and improve one of the main results of Giannopoulou et al. [12] for the case $c=2$. Instead of using the Directed Grid Theorem [15] to reroute the paths through a cylindrical grid, we reroute them through a bramble of congestion two in a very easy manner after a careful choice of the paths reaching and leaving the bramble, which is done by applying the duality between R-paths and R-cuts. Namely, we can replace [11, Theorem 9.1] (this is the full version of [12]) entirely by Theorem 33 and mostly keep the remaining part of their proof to obtain an improved version of their XP algorithm for the asymmetric version of $(k, 2)$-DDP.

We hope that our min-max relations will find further applications in the future as, in our opinion, they are quite simple, robust, and versatile to be easily applicable to different types of routing problems in digraphs. A natural candidate is the $(k, c)$-DDP problem for any choice of fixed values of $c \ge 2$ and $k > c$, which has remained elusive for some time.

**Organization.** In Section 2 we present some preliminaries about digraphs, matroids, parameterized complexity, and known results about brambles and related objects. In Section 3 we present and prove our new Menger-like statements for paths in digraphs. The alternative proofs using matroids can be found in Subsection 3.1, and the proofs using Menger's Theorem in Subsection 3.2. The applications of our results can be found in Section 4.

## 2 Preliminaries

In this section we provide the definitions and notation used in this text. If $\mathcal{B}$ is a collection of sets, we denote the we use $\bigcup_{A \in \mathcal{B}} \mathcal{A}$ to denote the set $\bigcup_{A \in \mathcal{B}} A$. For a positive integer $k$, we denote by $[k]$ the set $\{1, \dots, k\}$.
## 2.1 Digraphs

For basic background on graph theory we refer the reader to [4]. Since in this article we mainly work with digraphs, we focus on basic definitions of digraphs, often skipping their undirected counterparts. Unless stated otherwise, every edge is assumed to be directed, and given a digraph $G$ we denote by $V(G)$ and $E(G)$ the sets of vertices and edges of $G$, respectively. We allow for loops and parallel edges in our digraphs. Given $X \subseteq V(G)$, we denote by $G \setminus X$ the digraph resulting from removing every vertex of $X$ from $G$. We denote by $G[X]$ the subgraph of $G$ induced by $X$.

If $e$ is an edge of a digraph from a vertex $u$ to a vertex $v$, we say that $e$ has *endpoints* $u$ and $v$, that $e$ is *incident* to $u$ and $v$, and that $e$ is *oriented* from $u$ to $v$. We may refer to $e$ as the ordered pair $(u, v)$. In this case, $u$ is the *tail* of $e$ and $v$ is the *head* of $e$. We also say that $e$ is *leaving* $u$ and *reaching* $v$, and that $u$ and $v$ are *adjacent*. A *clique* in a (di)graph $G$ is a set of pairwise adjacent vertices of $G$, and an *independent set* is a set of pairwise non-adjacent vertices of $G$.

The *in-degree* (resp. *out-degree*) of a vertex $v$ in a digraph $G$ is the number of edges with head (resp. tail) $v$. The *in-neighborhood* $N_D^-(v)$ of $v$ is the set $\{u \in V(D) \mid (u, v) \in E(G)\}$, and the *out-neighborhood* $N_D^+(v)$ is the set $\{u \in V(D) \mid (v, u) \in E(G)\}$. We say that $u$ is an *in-neighbor* of $v$ if $u \in N_D^-(v)$ and that $u$ is an *out-neighbor* of $v$ if $u \in N_D^+(v)$. We extend these notations to sets of vertices: given $X \subseteq V(D)$, we define $N_D^-(X) = (\cup_{v \in X} N_D^-(v)) \setminus X$ and $N_D^+(X) = (\cup_{v \in X} N_D^+(v)) \setminus X$.

A *walk* in a digraph $G$ is an alternating sequence $W$ of vertices and edges that starts and ends with a vertex, and such that for every edge $(u, v)$ in the walk, vertex $u$ (resp. vertex $v$) is the element right before (resp. right after) edge $(u, v)$ in $W$. If the first vertex in a walk is $u$ and the last one is $v$, then we say this is a *walk from $u$ to $v$*. A *path* is a digraph formed by pairwise distinct vertices $V(P) = \{v_1, \dots, v_k\}$ and $E(P) = \{(v_i, v_{i+1}) \mid i \in [k-1]\}$ for some positive integer $k$. We say that $v_1$ is the *first vertex* of $P$, $v_k$ is the *last vertex* of $P$ and $P$ is a path *from $v_1$ to $v_k$*. We denote by $\mathbf{s}^-(P)$ and $\mathbf{s}^+(P)$ the first and last vertices of $P$, respectively. Every vertex of $P$ other than $\mathbf{s}^-(P)$ and $\mathbf{s}^+(P)$ is an *internal vertex*. For $A, B \in V(G)$, we say that $P$ is an $A \to B$ *path* if $\mathbf{s}^-(P) \in A$ and $\mathbf{s}^+(P) \in B$. For $A, B \subseteq V(G)$ an $(A, B)$-separator is a set $X \subseteq V(G)$ such that there are no $A \to B$ paths in $G \setminus X$.

Let $\mathcal{P}$ be a collection of paths in $G$. We use $\mathbf{s}^-(\mathcal{P})$ to denote $\cup_{P \in \mathcal{P}} \mathbf{s}^-(P)$ and $\mathbf{s}^+(\mathcal{P})$ to denote $\cup_{P \in \mathcal{P}} \mathbf{s}^+(P)$. For conciseness, we say henceforth that the paths in $\mathcal{P}$ are *disjoint* if they are pairwise vertex-disjoint. For $A, B \in V(G)$, we say that $\mathcal{P}$ is a collection of $A \to B$ paths if $\mathbf{s}^-(\mathcal{P}) \subseteq A$ and $\mathbf{s}^+(\mathcal{P}) \subseteq B$. For the remaining of this article and unless stated otherwise, $n$ is used to denote the number of vertices of the input digraph of the problem under consideration.

**Theorem 1** (Menger's Theorem [19]). Let $G$ be a digraph and $A, B \subseteq V(D)$. The maximum size of a collection of disjoint $A \to B$ paths is equal to the minimum size of an $(A, B)$-separator. Furthermore, a maximum size collection of paths and a minimum size separator can be found in time $O(n^2)$.

A digraph $G$ is *strongly connected* if for every $u, v \in V(G)$ there are paths from $u$ to $v$ and from $v$ to $u$ in $G$. A *separator* of $G$ is a set $X \subseteq G$ such that $G \setminus X$ has a single vertex or is *not* strongly connected. If $G$ has at least $k+1$ vertices and $k$ is the minimum size of a separator of $G$, we say that $G$ is *k-strongly connected* (or *k-strong* for short). A *strongly connected component* (or *strong component* for short) of a digraph $G$ is a maximal induced subgraph of $G$ that is strongly connected.
## 2.2 Matroids

We refer the reader to [21] for background on matroid theory and to [22] for a compendium of classical results of the field. For a matroid $M$, we denote its ground set by $E(M)$ and its collection of independent sets by $\mathcal{I}(M)$. We say that $M$ is a matroid on $E$ if the ground set of $M$ is $E$. A subset $I$ of $E(M)$ is independent if $I \in \mathcal{I}(M)$. The rank $r_M(U)$ of $U \subseteq E(M)$ is the largest size of an independent subset of $U$.

For a sequence of sets $B = (B_1, \dots, B_k)$, a transversal of $B$ is a set $\{b_1, \dots, b_k\}$ such that $b_i \in B_i$ for all $i \in [k]$. Here we remark that the terms in $B$ need not be distinct but the elements in a transversal $\{b_1, \dots, b_k\}$ are distinct. For a set of indices $J$, we use $(B_j | j \in J)$ to denote the sequence of sets indexed by $J$ so we can use $B = (B_j | j \in [k])$. A subsequence of $B$ is a sequence $(B_j | j \in J)$ for $J \subseteq [k]$. A partial transversal of $B$ is a transversal of some subsequence of $B$. For convenience, we extend all notation regarding transversals and partial transversals to collections of sets.

**Proposition 2.** If $\mathcal{A}$ is a sequence of subsets of a set $S$ and $\mathcal{I}$ is the set of partial transversals of $\mathcal{A}$, then $\mathcal{I}$ is the collection of independent sets of a matroid on $S$.

The matroid obtained in Proposition 2 is called a *transversal matroid*. We use $M[\mathcal{A}]$ to denote the transversal matroid whose independent sets are the partial transversals of $\mathcal{A}$. We remark that partial transversals correspond to a matching in a bipartite graph with the sets of $\mathcal{A}$ on one part and $S$ on the other, where $A \in \mathcal{A}$ is connected to all of its elements. The next result follows directly from Ore [20].

**Proposition 3.** Let $\mathcal{A} = (A_j | A \in J)$ be a sequence of subsets of a set $S$. If $M[\mathcal{A}]$ has rank function $r$ and $U \subseteq S$, then

$$r(U) = \min_{I \subseteq J} \{|J \setminus I| + |\bigcup_{i \in I} (A_i \cap U)|\}.$$

Furthermore, a maximum size partial transversal of $\mathcal{A}$ inside $U$ can be computed in polynomial time.

To simplify notation, by a family of sets we mean a sequence of sets in the sense that we allow repetitions of elements with different indices, but we allow set theoretic notation where such operations should be considered on the indices of the sequence. To make this observation clear, let $\mathcal{B}_I = (B_i | i \in I)$ denote a sequence of sets indexed by $I$, which we call a family of sets $\mathcal{B}_I = \{B_i | i \in I\}$ Thus, we use $B_i \in \mathcal{B}_I$ when $i \in I$ and $\mathcal{B}_J \subseteq \mathcal{B}_K$ when $J \subseteq K$, i.e., $\mathcal{B}_J$ is a subsequence of $\mathcal{B}_K$. We use $|\mathcal{B}_I|$ to denote $|I|$, i.e., the number of elements in the sequence. Furthermore, when $J \subseteq K$, we use $\mathcal{B}_K \setminus \mathcal{B}_J$ to denote $\mathcal{B}_{K \setminus J}$.

**Proposition 4.** Let $G$ be a digraph and $X, Y \subseteq V(G)$. If $\mathcal{I} = \{\mathbf{s}^+(\mathcal{P}) | \mathcal{P}$ is a collection of disjoint $X \to Y$ paths\}$, then $\mathcal{I}$ is a collection of independent sets of a matroid on $Y$.

The matroid obtained in Proposition 4 is called a *gammoid* and is denoted by $M(G, X, Y)$. The rank function of a gammoid can be derived directly from Theorem 1.

**Proposition 5.** Let $G$ be a digraph and $X, Y \subseteq V(G)$. If $M(G, X, Y)$ has rank function $r$ and $U \subseteq Y$, then $r(U) = \min\{|X| | X$ is an $(X, U)$-separator\}$.

Let $M_1 = (E_1, \mathcal{I}_1), \dots, M_k = (E_k, \mathcal{I}_k)$ be matroids. The union of these matroids is denoted by $M_1 \vee \dots \vee M_k = (E_1 \cup \dots \cup E_k, \mathcal{I}_1 \vee \dots \vee \mathcal{I}_k)$ where $\mathcal{I}_1 \vee \dots \vee \mathcal{I}_k = \{I_1 \cup \dots \cup I_k | I_1 \in \mathcal{I}_1, \dots, I_k \in \mathcal{I}_k\}$. We remark that independent sets in matroids forms a hereditary family so the union of independent sets in $\mathcal{I}_1 \vee \dots \vee \mathcal{I}_k$ may be considered disjoint.
For the following two results, an *independence oracle* for a matroid $M$ is an algorithm which decides if a subset of $E(M)$ is independent in $M$. We note that when a matroid $M$ is given as input to an algorithm, it is assumed that the input contains its ground set and an independence oracle for $M$, but $\mathcal{I}(M)$ is not explicitly provided. Thus, when talking about a polynomial time algorithm for matroids, it means the algorithm runs in polynomial time provided the independence oracle also runs in polynomial time.

**Proposition 6 (Matroid union theorem).** If $M_1 = (E_1, \mathcal{I}_1), \dots, M_k = (E_k, \mathcal{I}_k)$ are matroids with rank functions $r_1, \dots, r_k$, then $M_1 \vee \dots \vee M_k$ is a matroid with rank function $r$ given by

$$r(U) = \min_{T \subseteq U} \{|U \setminus T| + \sum_{i \in [k]} r_i(T \cap E_i)\}$$

for $U \subseteq E_1 \cup \dots \cup E_k$. Furthermore, for $U \subseteq E_1 \cup \dots \cup E_k$, $r(U)$ and a set $T$ achieving equality in the above formula can be computed in polynomial time given polynomial time independence oracles for $M_1, \dots, M_k$.

**Proposition 7 (Matroid intersection theorem).** If $M_1 = (E, \mathcal{I}_1)$ and $M_2 = (E, \mathcal{I}_2)$ are matroids with rank functions $r_1$ and $r_2$, then the maximum size of a set in $\mathcal{I}_1 \cap \mathcal{I}_2$ is equal to

$$\min_{U \subseteq E} \{r_1(U) + r_2(E \setminus U)\}.$$

Furthermore, a maximum size common independent set and a $U \subseteq E$ achieving equality in the above formula can be computed in polynomial time given polynomial time independence oracles for $M_1$ and $M_2$.

We remark that if we can compute the rank function of a matroid in polynomial time, then we have a polynomial time independence oracle by testing whether the largest independent subset of $U$ has size $|U|$. Since both gammoids and transversal matroids have polynomial time algorithms for computing the rank of a set, then they also have polynomial time independence oracles.

## 2.3 Parameterized complexity

We refer the reader to [6, 8] for background on parameterized complexity, and we define here only the most basic definitions. A *parameterized problem* is a language $L \subseteq \Sigma^* \times \mathbb{N}$. For an instance $I = (x, k) \in \Sigma^* \times \mathbb{N}$, $k$ is called the *parameter*. A parameterized problem $L$ is *fixed-parameter tractable* (FPT) if there exists an algorithm $\mathcal{A}$, a computable function $f$, and a constant $c$ such that given an instance $I = (x, k)$, $\mathcal{A}$ (called an *FPT algorithm*) correctly decides whether $I \in L$ in time bounded by $f(k) \cdot |I|^c$. For instance, the VERTEX COVER problem parameterized by the size of the solution is FPT. A parameterized problem $L$ is in XP if there exists an algorithm $\mathcal{A}$ and two computable functions $f$ and $g$ such that given an instance $I = (x, k)$, $\mathcal{A}$ (called an *XP algorithm*) correctly decides whether $I \in L$ in time bounded by $f(k) \cdot |I|^{g(k)}$. For instance, the CLIQUE problem parameterized by the size of the solution is in XP.

Within parameterized problems, the class W[1] may be seen as the parameterized equivalent to the class NP of classical decision problems. Without entering into details, a parameterized problem being W[1]-hard can be seen as a strong evidence that this problem is not FPT. The canonical example of W[1]-hard problem is CLIQUE parameterized by the size of the solution.
## 2.4 Brambles and directed tree-width

The *directed tree-width* of digraphs was introduced by Johnson et al. [13] as a directed analogue of tree-width of undirected graphs. Informally, the directed tree-width dtw(*G*) of a digraph *G* measures how close *G* can be approximated by a DAG, and the formal definition immediately implies that dtw(*G*) = 0 if and only if *G* is an acyclic digraph (DAG). Directed tree-width and arboreal decompositions are not explicitly used in this article and thus we refer the reader to [13] for the formal definitions. Here it suffices to mention a few known results.

In the same paper where they introduced directed tree-width, Johnson et al. [13] showed that *k*-DDP can be solved in XP time with parameters *k* + dtw(*G*).

**Proposition 8 (Johnson et al. [13]).** *The *k*-DDP problem is solvable in time $n^{O(k+dtw(G))}$.*

Notice that every instance of the (*k*, *c*)-DDP problem with *c* ≥ *k* is trivially solvable in polynomial time by simply checking for connectivity between each pair (*s*ᵢ, *t*ᵢ). Thus we can always assume that *c* < *k*. It is easy to reduce the congested version to the disjoint version of DDP: it suffices to generate a new instance by making *c* copies of each vertex *v* of the input digraph, each of them with the same in- and out-neighborhood as *v*. A formal proof of this statement was given by Amiri et al. [1]. Hence it follows that (*k*, *c*)-DDP is also XP with parameters *k* and dtw(*G*). A direct proof of this statement is also possible by applying the same framework used to prove Proposition 8, although such a proof is not given in [13]. A similar proof for a congested version of a DDP-like problem is given by Sau and Lopes in [17]. In any case, the following holds.

**Proposition 9.** *The (k,c)-DDP problem is solvable in time $c \cdot n^{O(c(k+dtw(G)))}$.*

For both the *k*-DDP and (*k*, *c*)-DDP problems, (a small variation of) the result of Slivkins [23] implies that the XP time is unlikely to be improvable to FPT, even when restricted to DAGs (although the result in [23] concerns the *edge*-disjoint version of *k*-DDP, it easily implies W[1]-hardness of the disjoint version by noticing that the line digraph of a DAG is also a DAG). To the best of our knowledge, it is not known if an algorithm with running time of the form $f(\text{dtw}(G), k) \cdot n^{g(k)}$; i.e., an FPT algorithm with parameter dtw(G) for fixed *k*, is possible for (*k*, *c*)-DDP with *c* ≥ 1.

As it is the case with tree-width, Johnson et al. [13] also introduced a dual notion for directed tree-width in the form of *havens*. However, although the duality in the undirected case is sharp, in the directed case it is only approximate: they showed that the directed tree-width of a digraph *G* is within a constant factor (more precisely, a factor three) from the maximum order of a haven of *G*. Since havens and (strict) *brambles* are interchangeable in digraphs whilst paying only a constant factor for the transformation (see [7, Chapter 6] for example), we skip the definition of the former and focus only on the latter.

**Definition 10 (Brambles in digraphs).** A bramble $\mathcal{B} = \{B_1, \dots, B_\ell\}$ in a digraph $G$ is a collection of strong subgraphs of $G$ such that if $B, B' \in \mathcal{B}$ then $V(B) \cap V(B') \neq \emptyset$ or there are edges in $G$ from $V(B)$ to $V(B')$ and from $V(B')$ to $V(B)$. We say that the elements of $\mathcal{B}$ are the bags of $\mathcal{B}$. A hitting set of a bramble $\mathcal{B}$ is a set $C \subseteq V(G)$ such that $C \cap V(B) \neq \emptyset$ for all $B \in \mathcal{B}$. The order of a bramble $\mathcal{B}$, denoted by $\text{ord}(\mathcal{B})$, is the minimum size of a hitting set of $\mathcal{B}$. The bramble number of a digraph $G$, denoted by $\text{bn}(G)$, is the maximum *k* such that *D* admits a bramble of order *k*. A bramble $\mathcal{B}$ is said to be strict if for all pairs $B, B' \in \mathcal{B}$ it holds that $V(B) \cap V(B') \neq \emptyset$. For an integer *c* ≥ 1 we say that $\mathcal{B}$ has congestion if every vertex of *G* appears in at most *c* bags of $\mathcal{B}$.
See Figure 1 for an example of a bramble. Notice that if $\mathcal{B}$ is a bramble of congestion $c$ for some constant $c$, its order increases together with its size; i.e., $|\mathcal{B}|$. More precisely, since every vertex of the host digraph can hit at most $c$ elements of $\mathcal{B}$ it holds that $\text{ord}(\mathcal{B}) \geq [|\mathcal{B}|/c]$. If $\mathcal{B}' \subseteq \mathcal{B}$ then we may say that $\mathcal{B}'$ is a subbramble of $\mathcal{B}$.

<figure><img src="image_2.png" /><figcaption>Figure 1 Example of a bramble $\{B_1, B_2, B_3\}$ of order two.</figcaption></figure>

Johnson et al. [13] gave an algorithm that, given a digraph $G$, either correctly decides that $\text{dtw}(G) \leq 3k - 2$ (also yielding an arboreal decomposition of $G$) or produces a bramble of order $\lfloor k/2 \rfloor$. This was later improved to an FPT algorithm by Campos et al. [5]. Although the authors do not explicitly say that the produced bramble is strict, it is easy to verify that this is the case in their proof, and the same holds for the proof of [13].

**Proposition 11** (Campos et al. [5]). Let $G$ be a digraph and $t$ be a non-negative integer. There is an algorithm running in time $2^{O(t \log t)} \cdot n^{O(1)}$ that either produces an arboreal decomposition of $G$ of width at most $3t - 2$ or finds a strict bramble of order $\lfloor t/2 \rfloor$ in $G$.

Brambles of constant congestion are a key structure used to solve instances of $(k, c)$-DDP in $f(k)$-strong digraphs in the approach by Edwards et al. [9]. Briefly, given an instance $(G, S, T)$ of this problem and a large bramble $\mathcal{B}$ of congestion two in $G$, they find two sets of paths $\mathcal{P}^S$ from $S$ to the bags of the bramble and $\mathcal{P}^T$ from the bags of the bramble to $T$ with a set of properties that can be exploited to appropriately connect the last vertices of paths in the first set with the first vertices of the paths from the second set, thus constructing a solution to $(G, S, T)$.

If the directed tree-width of $G$ is bounded, then one can solve $(G, S, T)$ by applying Proposition 9. Edwards et al. [9] showed that every digraph of sufficiently large directed tree-width is guaranteed to contain a large bramble of congestion at most two and that, given appropriate structures that are guaranteed to be found in such digraphs, one can construct a bramble with the desired properties in polynomial time. Formally, they use the following result, originally proved by Kawarabayashi and Kreutzer [15] where an XP algorithm is given, and then improved by Campos et al. [5] with an FPT algorithm and a better dependency on $k$. We refer the reader to [5, 15] for the definition of well-linked sets, and we remark that, for convenience, we present the statement of the following result in a slightly different way than in the original article.

**Proposition 12** (Campos et al [5]). Let $g(k) = (t+1)(\lfloor t/2 \rfloor + 1) - 1$ and $G$ be a digraph with directed tree-width at least $3g(t) - 1$. There is an algorithm running in time $2^{O(t^2 \log t)} \cdot n^{O(1)}$ that finds in $G$ a bramble $\mathcal{B}$ of order $g(t)$, a path $P$ that intersects every bag of $\mathcal{B}$, and a well-linked set $X$ of size $t$ such that $X \subseteq V(P)$.

**Proposition 13** (Edwards et al. [9]). There exists a function $f: \mathbb{N} \to \mathbb{N}$ satisfying the following. Let $G$ be a digraph and $t \geq 1$ be an integer. Let $P$ be a path in $G$ and $X \subseteq V(P)$ be a well-linked set with $|X| \geq f(t)$. Then $G$ contains a bramble $\mathcal{B}$ of congestion two and size $t$ and, given $G, P$, and $X$, we can find $\mathcal{B}$ in polynomial time.

Pipelining Propositions 11–13 we obtain the following.
**Corollary 14.** There is a function $f: \mathbb{N} \to \mathbb{N}$ and an FPT algorithm with parameter $t$ that, given a digraph $G$ and an integer $t \ge 1$, either correctly decides that the directed tree-width of $G$ is at most $f(t)$ or finds a bramble $\mathcal{B}$ of congestion two and size $t$ in $G$.

**3 New Menger-like statements for paths in digraphs**

In this section we present the definition and the min-max formulas associated with each pair D-paths/D-cuts, T-paths/T-cuts, and R-paths/R-cuts. For all three pairs, we prove in this section that there is a sharp duality between the maximum number of paths and the minimum order of the associated cut. Since all three types of paths share some properties (in fact, the major distinction between them is in how they reach their destinations), it is convenient to adopt the following notations.

**Definition 15 (Digraph-source sequences and respecting paths).** For an integer $\ell \ge 1$, a digraph-source sequence of size $\ell$ is a pair $(\mathcal{F}, \mathcal{S})$ such that $\mathcal{F} = (G_1, \dots, G_\ell)$ is a sequence of digraphs and $\mathcal{S} = (S_1, \dots, S_\ell)$ is a sequence of subsets of vertices with $S_i \subseteq V(G_i)$ for $i \in [\ell]$. We say that a set of paths $\mathcal{P}$ respects $(\mathcal{F}, \mathcal{S})$ or, alternatively, is $(\mathcal{F}, \mathcal{S})$-respecting if there is a partition $\mathcal{P}_1, \dots, \mathcal{P}_\ell$ of $\mathcal{P}$ such that

(a) for $i \in [\ell]$, $\mathcal{P}_i$ is a set of disjoints paths in $G_i$, and

(b) for $i \in [\ell]$, $s^-(\mathcal{P}_i) \in S_i$.

In this case, we say that $\mathcal{P}_1, \dots, \mathcal{P}_\ell$ is a defining partition of $\mathcal{P}$.

Thus in any set of $(\mathcal{F}, \mathcal{S})$-respecting paths, any two paths can intersect only if they belong to distinct parts of the defining partition.

To provide some intuition within the context of the $(k, c)$-DDP problem, in the next three definitions one can think of the sequence $(S_1, \dots, S_\ell)$ as being formed by many copies of $\mathcal{S}$ followed by many copies of $\mathcal{T}$. Notice that any set of $(\mathcal{F}, \mathcal{S})$-respecting paths includes paths leaving $\mathcal{T}$, which seems counter-intuitive when considering the goal of solving instances of $(k, c)$-DDP. We remark this can be easily addressed by associating, with each copy of $\mathcal{T}$ in the sequence $\mathcal{S}$, the digraph $G^{\text{rev}}$ formed by reversing the orientation of every edge of $\mathcal{G}$ (we use this tool in Section 4 and a formal definition of $G^{\text{rev}}$ is given in Definition 37).

**D-paths and D-cuts.** Within the context of this paper, D-paths and D-cuts are used as a tool to prove our results regarding T-paths and T-cuts. We believe that D-paths/D-cuts are interesting on their own and under a pedagogical point of view, since they are easy to visualize and comprehend. Thus the definition and proofs regarding those objects are included and we expect that they find further applications in the context of problems like the $(k, c)$-DDP problem. In this scenario, one should think of the set $\mathcal{B}$ in the following definition as the set of vertices of a highly connected structure that is intended to be used to appropriately connect the last vertices of paths from $\mathcal{S}$ to the first vertices of paths from $\mathcal{T}$.

**Definition 16 (D-paths and D-cuts).** For an integer $\ell \ge 1$, let $(\mathcal{F}, \mathcal{S})$ be a digraph-source sequence with $\mathcal{F} = (G_1, \dots, G_\ell)$, $\mathcal{S} = (S_1, \dots, S_\ell)$, and $\mathcal{B} \subseteq \bigcup_{i=1}^\ell V(G_i)$. With respect to $\mathcal{B}$, we say that a set of $(\mathcal{F}, \mathcal{S})$-respecting paths $\mathcal{P}$ with defining partition $\mathcal{P}_1, \dots, \mathcal{P}_\ell$ is a set of D-paths if

(1) for all distinct $P, P' \in \mathcal{P}$ it holds that $s^+(P) \neq s^+(P')$, and

(2a) $s^+(\mathcal{P}) \subseteq \mathcal{B}$.

A D-cut is a sequence $\mathcal{X} = (X_0, \dots, X_\ell)$ with $X_0 \subseteq \mathcal{B}$ such that, for $i \in [\ell]$, the set $X_i \subseteq V(G_i)$ is an $(S_i, \mathcal{B} \setminus X_0)$-separator in $G_i$. The order of a D-cut $\mathcal{X}$ is $\text{ord}(\mathcal{X}) = |X_0| + \sum_{i=1}^\ell |X_i|$.
Thus, in the definition of D-paths we ask each collection of paths associated with each $\mathcal{P}_i$ to be pairwise disjoint in $G_i$, and the paths from distinct parts $\mathcal{P}_i, \mathcal{P}_j$ may share vertices in $\bigcup_{i=1}^\ell V(G_i)$ other than the last vertices of the paths. The “D” in the name stands for “disjoint”. For the min-max formula, we prove the following.

**▶ Theorem 17.** Let $(\mathcal{F}, \mathcal{S})$ be digraph-source sequence of size $\ell$ with $\mathcal{F} = (G_1, \dots, G_\ell)$, and let $B \subseteq \bigcup_{i=1}^\ell V(G_i)$. With respect to $\mathcal{F}, \mathcal{S}$, and $B$, the maximum number of D-paths is equal to the minimum order of a D-cut. Additionally, a D-cut of minimum order and a maximum collection of D-paths can be found in time $O((\ell \cdot n^* + |B|^2)^2)$ where $n^* = \max_{i \in [\ell]}(|V(G_i)|)$.

**T-paths and T-cuts.** For the sake of intuition, in the next definition one should think of $\mathcal{B}$ as a bramble. Informally, and given a digraph $G$, we use T-paths and T-cuts to find a large collection of paths from a given ordered $S \subseteq V(G)$ to the bags of a subbramble $\mathcal{B}^S \subseteq \mathcal{B}$, and from the bags of another subbramble $\mathcal{B}^T \subseteq \mathcal{B}$ to $T$ (we can achieve this orientation for these paths by reversing the orientation of the edges of $G$), while ensuring that every vertex outside of $\mathcal{B}$ appears in at most two of those paths, and that all elements of $\mathcal{B}^S \cup \mathcal{B}^T$ are pairwise distinct. The first property can be achieved by simply applying Menger's Theorem (cf. Theorem 1) twice. However, by doing this, we can end with a set of paths all ending on the same bag of $\mathcal{B}$. This scenario is far from ideal, since at some point the goal is to use the strong connectivity of $G[B \cup B']$ for every $B, B' \in \mathcal{B}$ to appropriately connect the ending vertices of the paths from $S$ to the starting vertices of the paths to $T$, while maintaining the property that every vertex appears in at most two (or $c$, in the general case) of those paths. If a unique bag $B$ contains all starting and ending vertices of the paths, then connecting those vertices while maintaining such properties may be as hard as finding a solution to an instance of $(k, c)$-DDP in the strong digraph $G[B]$, or downright impossible to do.

Therefore, in the proofs applying similar techniques, as seen in the works by Edwards et al. [9] and by Giannopoulou et al. [11], there is considerable effort into finding paths with “good properties” that can be used to connected the paths inside of $\mathcal{B}$ (or inside of a cylindrical grid in the case of [11]), and these properties always include, as far as we know, that the paths end or start in distinct bags of $\mathcal{B}$ (or distinct sections of the cylindrical grid). In particular, [9, Lemma 16] includes a set of seven properties over a set of paths that we can substitute by T-paths to achieve better results in a simpler manner.

We can prove the same results using R-paths and R-cuts, which are simpler than T-paths and T-cuts. We include the proofs for the two latter objects for potential applications in which the extra properties of T-paths and T-cuts may become handy.

**▶ Definition 18 (T-paths and T-cuts).** For an integer $\ell \ge 1$, let $(\mathcal{F}, \mathcal{S})$ be a digraph-source sequence with $\mathcal{F} = (G_1, \dots, G_\ell)$ and $\mathcal{S} = (S_1, \dots, S_\ell)$, and $\mathcal{B}$ be a family of subsets of $\bigcup_{i=1}^\ell V(G_i)$. With respect to $\mathcal{B}$, we say that a set of $(\mathcal{F}, \mathcal{S})$-respecting paths $\mathcal{P}$ with defining partition $P_1, \dots, P_\ell$ is a set of T-paths if

(1) for all distinct $P, P' \in \mathcal{P}$ it holds that $s^+(P) \neq s^+(P')$, and

(2b) the set $s^+(\mathcal{P})$ is a partial transversal of $\mathcal{B}$.

A T-cut is a pair $(\mathcal{B}', \mathcal{X})$ with $\mathcal{B}' \subseteq \mathcal{B}$ and such that $\mathcal{X}$ is a D-cut with respect to $\mathcal{F}, \mathcal{S}$, and $\bigcup \mathcal{B}'$. The order of a T-cut $(\mathcal{B}', X)$ is $\mathrm{ord}(\mathcal{B}', X) = |\mathcal{B} \setminus \mathcal{B}'| + \mathrm{ord}(\mathcal{X})$.

For convenience, we keep only one set of parenthesis, writing $\mathrm{ord}(\mathcal{B}', \mathcal{X})$ instead of $\mathrm{ord}((\mathcal{B}', \mathcal{X}))$.

Notice that conditions (1) in the definition of T-paths is the same as in the definition of D-paths. Thus the difference between D-paths and T-paths is that in the former we ask the paths to end in distinct vertices of $\mathcal{B}$, while in the latter we ask the endpoints of the paths to form a partial transversal of $\mathcal{B}$. This implies that those endpoints are distinct, and
that each of them is associated with a unique element of $\mathcal{B}$. The “T” in the name stands for “transversal”. See Figure 2 for an example of a transversal of a collection of sets.

<figure><img src="image_3.png" /><figcaption>■ **Figure 2** Example of a transversal of the collection $\{B_1, B_2, B_3, B_4\}$. For $i \in [4]$ the vertex $v_i$ is associated with the set $B_i$.</figcaption></figure>

For the T-paths/T-cuts duality, we prove the following.

**▶ Theorem 19.** Let $(\mathcal{F}, \mathcal{S})$ be a digraph-source sequence of size $\ell$ with $\mathcal{F} = (G_1, \dots, G_\ell)$, and let $\mathcal{B}$ be a collection of subsets of $\bigcup_{i=1}^\ell V(G_i)$. With respect to $\mathcal{F}, \mathcal{S}$, and $\mathcal{B}$, the maximum number of T-paths is equal to the minimum order of a T-cut. Additionally, a T-cut of minimum order and a maximum collection of T-paths can be found in time $O((\ell \cdot n^* + |\mathcal{B}|)^2)$, where $n^* = \max_{i \in [\ell]}(|V(G_i)|)$.

**R-paths and R-cuts.** The intuition for R-paths is similar to the one for T-paths, as is the motivation to use these objects in the context of $(k, c)$-DDP and similar problems. The difference between them is that, if $\mathcal{P}$ is a set of T-paths, then all vertices of the form $s^+(P)$, where $P \in \mathcal{P}$, are distinct. In R-paths this only holds when considering paths inside of the same part of its defining partition. More precisely, given a partition $\mathcal{P}$ of a set of R-paths as defined below, $s^+(P)$ and $s^+(P')$ are guaranteed to be disjoint only when $P$ and $P'$ are in distinct parts of $\mathcal{P}$. In Section 4 we show that this relaxation poses no problem for the application of R-paths/R-cuts we show in this article.

**▶ Definition 20 (R-paths and R-cuts).** For $\ell \ge 1$, let $(\mathcal{F}, \mathcal{S})$ be a digraph-source sequence with $\mathcal{F} = (G_1, \dots, G_\ell)$ and $\mathcal{S} = (S_1, \dots, S_\ell)$, and $\mathcal{B}$ be a family of subsets of $\bigcup_{i=1}^\ell V(G_i)$. With respect to $\mathcal{B}$, we say that a set of $(\mathcal{F}, \mathcal{S})$-respecting paths $\mathcal{P}$ with defining partition $P_1, \dots, P_\ell$ is a set of R-paths if

(1c) for some family $\mathcal{B}^* \subseteq \mathcal{B}$ there is a bijective mapping $h : \mathcal{P} \to \mathcal{B}^*$ such that $h(P) = B$ implies $s^+(P) \in B$.

An R-cut is a pair $(\mathcal{B}', \mathcal{X})$ where $\mathcal{B}' \subseteq \mathcal{B}$ and $\mathcal{X}$ is a sequence $(X_1, \dots, X_\ell)$ such that each $X_i \in \mathcal{X}$ is an $(S_i, \bigcup \mathcal{B}')$-separator in $G_i$. The order of an R-cut $(\mathcal{B}', \mathcal{X})$ is $\mathrm{ord}(\mathcal{B}', \mathcal{X}) = |\mathcal{B} \setminus \mathcal{B}'| + \sum_{i=1}^\ell |X_i|$.

We remark that the only difference between R-paths and T-paths is that, in the latter, condition (1c) ensures that all vertices forming the partial transversal of $\mathcal{B}$ are distinct. For R-paths this is not the case, and the construction of the auxiliary digraph used in the proof of the R-paths/R-cuts duality reflects this distinction. The “R” in the name stands for “representatives”. For the duality, we prove the following.

**▶ Theorem 21.** Given a digraph-source sequence $(\mathcal{F}, \mathcal{S})$ of size $\ell$ and a set $B \subseteq \bigcup_{i=1}^\ell V(G_i)$ then, with respect to $\mathcal{F}, \mathcal{S}$, and $B$, the maximum number of R-paths is equal to the minimum
order of an R-cut. Additionally, an R-cut of minimum order and a maximum collection of R-paths can be found in $O((k \cdot n^* + |\mathcal{B}|)^2)$ where $n^* = \max_{i \in [\ell]} (|V(G_i)|)$.

Observe that the right side of the pair forming an R-cut cannot be simply a set of vertices $X$ because, for example, a vertex $v \in X$ can be in two distinct $G_i$ and $G_j$ and be part of the separator in $G_i$ but not part of the separator in $G_j$. In this case $v$ would be counted twice in the order of the R-cut, but it is only used in one separator. Also notice that when $|\mathcal{B}|$ is larger than the allowed budget to construct an R-cut, every R-cut of appropriate order must identify some separator in some $G_i$, i.e., $\mathcal{X} \neq \emptyset$. In fact, there are only two options for the size of $\mathcal{X}$: either $\mathcal{B}' = \emptyset$ and hence $\mathcal{X} = \emptyset$, or $\mathcal{B}' \neq \emptyset$ and $|\mathcal{X}| = \ell$. In the latter case, it is possible that some $X_i \in \mathcal{X}$ are empty. In Lemma 36 we exploit this fact to show how to either find in a digraph $G$ a large collection of R-paths from a set $S$ to the vertices appearing in the elements of some sufficiently large collection $\mathcal{B}$ (corresponding to a bramble), or a small separator intersecting every path from $S$ to all such vertices.

Next, we present the proofs of the min-max relations (Theorems 17, 19, and 21) in two different ways. In Subsection 3.1 we show how to use classical results of matroids to obtain the relations. In Subsection 3.2 we show how to prove the results by applying Menger's Theorem to carefully constructed auxiliary digraphs. We remark that the bounds on the running times of all three theorems are obtained from the second approach.

## 3.1 Alternative proofs using matroids

In this section we show how to prove Theorems 17, 19, and 21 by using matroid union and intersection from gammoids and transversal matroids. For the remainder of this subsection, let $(\mathcal{F}, \mathcal{S})$ be a digraph-source sequence with $\mathcal{F} = (G_1, \dots, G_\ell)$ and $\mathcal{S} = (S_1, \dots, S_\ell)$, for a positive integer $\ell$.

We remark that each proof will relate D-paths, T-paths and R-paths to some application of matroid union or intersection starting from gammoids or transversal matroids. In what follows, we only prove the min-max relation between a maximum collection of paths and the minimum order of a cut. We ignore the algorithmic statement of those results for two reasons. First, the provided proofs can be turned into polynomial time algorithms simply by using the polynomial time algorithms for matroid union and intersection. And second because the complexity of the matroid algorithms is worse than the complexity of the corresponding algorithms obtained in Subsection 3.2.

**Proof for D-paths and D-cuts.** Let $B \subseteq \bigcup_{i=1}^\ell V(G_i)$ and $M_i$ be the gammoid $M(G_i, S_i, B \cap V(G_i))$. Let $\mathcal{P}$ be a $(\mathcal{F}, \mathcal{S})$-respecting collection of D-paths with respect to $B$ and let $\mathcal{P}_1, \dots, \mathcal{P}_\ell$ be a defining partition of $\mathcal{P}$. The key observation here is that $\mathbf{s}^+(\mathcal{P}_i)$ is independent in $M_i$ for $u \in [\ell]$, which implies $\mathbf{s}^+(\mathcal{P})$ is independent in $M_1 \vee \dots \vee M_\ell$. Since the independent sets in $M_1 \vee \dots \vee M_\ell$ are disjoint unions of independent sets, we conclude the independent sets in $M_1 \vee \dots \vee M_\ell$ are precisely the sets $\mathbf{s}^+(\mathcal{P})$ where $\mathcal{P}$ are D-paths with respect to $\mathcal{F}, \mathcal{S}$ and $B$. We immediately conclude the following result.

**Proposition 22.** Let $B \subseteq \bigcup_{i=1}^\ell V(G_i)$ and $M_i$ be the gammoid $M(G_i, S_i, B \cap V(G_i))$ with rank function $r_i$, for $i \in [\ell]$. If $\mathcal{I} = \{\mathbf{s}^+(\mathcal{P}) \mid \mathcal{P}$ is a collection of D-paths with respect to $B\}$, then $\mathcal{I}$ is the collection of independent sets of a matroid on $B$ with rank function $r$ given by

$$r(U) = \min_{T \subseteq U} \{|U \setminus T| + \sum_{i \in [\ell]} r_i(T \cap V(G_i))\}$$

for $U \subseteq B$.
The matroid obtained in Proposition 22 is called a *D-paths matroid* and we denote it by $M(\mathcal{F}, \mathcal{S}, \mathcal{B})$.

Now, we can prove Theorem 17 by showing that the formula provided for $r(\mathcal{B})$ minimizes the order of a D-cut. Let $\mathcal{X} = (X_0, \dots, X_\ell)$ be a D-cut. For $T = \mathcal{B} \setminus X_0$, we get that $X_i$ is a $(S_i, T \cap V(G_i))$-separator which implies $|X_i| \ge r_i(T \cap V(G_i))$, for $i \in [\ell]$, and we get $\mathrm{ord}(\mathcal{X}) \ge r(\mathcal{B})$. To prove equality, let $T \subseteq \mathcal{B}$ achieve equality for the formula of $r(\mathcal{B})$. Let $X_0 = \mathcal{B} \setminus T$ and choose the D-cut $\mathcal{X} = (X_0, \dots, X_\ell)$ by letting $X_i$ be a $(S_i, \mathcal{B} \setminus X_0)$-separator of size $r_i(T \cap V(G_i))$. This can be done since $(\mathcal{B} \setminus X_0) \cap V(G_i) = T \cap V(G_i)$.

**Proof for T-paths and T-cuts.** Let $\mathcal{B}$ be a family of subsets of $\bigcup_{i=1}^\ell V(G_i)$. We note that, by definition, a collection of $(\mathcal{F}, \mathcal{S})$-respecting paths $\mathcal{P}$ are T-paths with respect to $\mathcal{B}$ if, and only if, they are D-paths with respect to $\bigcup \mathcal{B}$ and $\mathbf{s}^+(\mathcal{P})$ is a partial transversal of $\mathcal{B}$. Let $M_1$ be the D-paths matroid $M(\mathcal{F}, \mathcal{S}, \bigcup \mathcal{B})$ with rank function $r_1$ and $M_2$ be the transversal matroid $M[\mathcal{B}]$ with rank function $r_2$. We conclude that $\{\mathbf{s}^+(\mathcal{P}) \mid \mathcal{P} \text{ is a collection of T-paths with respect to } \mathcal{F}, \mathcal{S} \text{ and } \mathcal{B}\} = \mathcal{I}(M_1) \cap \mathcal{I}(M_2)$.

By using the matroid intersection theorem, we get that the maximum size of $\mathbf{s}^+(\mathcal{P})$, and equivalently of $\mathcal{P}$, is equal to

$$ \min_{U \subseteq \bigcup \mathcal{B}} \{r_1(U) + r_2(\bigcup \mathcal{B} \setminus U)\}. $$

From Proposition 22 and Proposition 3 we simplify the previous equation into

$$ \min_{U \subseteq \bigcup \mathcal{B}, T \subseteq U, \mathcal{B}' \subseteq \mathcal{B}} \left\{ |\mathcal{B} \setminus \mathcal{B}'| + |\bigcup \mathcal{B}' \setminus U| + |U \setminus T| + \sum_{i \in [\ell]} |X_i| \right\} $$

where $X_i$ is a minimum size $(S_i, T \cap V(i))$-separator. Considering only the value of $U$, note that this equation is minimized when $U = \bigcup \mathcal{B}'$. By renaming $\bigcup \mathcal{B}' \setminus T$ by $X_0$ we get that the maximum size of $\mathcal{P}$ is

$$ \min_{\mathcal{B}' \subseteq \mathcal{B}, X_0 \subseteq \bigcup \mathcal{B}'} \left\{ |\mathcal{B} \setminus \mathcal{B}'| + |X_0| + \sum_{i \in [\ell]} |X_i| \right\} $$

where $X_i$ is a minimum size $(S_i, \bigcup \mathcal{B}' \setminus X_0)$-separator. We note the last equation is equal to $\mathrm{ord}(\mathcal{B}', \mathcal{X})$ for some T-cut with respect to $\mathcal{F}, \mathcal{S}$, and $\mathcal{B}$. To complete the proof, note that for any T-cut $(\mathcal{B}', \mathcal{X})$, we directly get

$$ \mathrm{ord}(\mathcal{B}', \mathcal{X}) \ge \min_{\mathcal{B}' \subseteq \mathcal{B}, X_0 \subseteq \bigcup \mathcal{B}'} \left\{ |\mathcal{B} \setminus \mathcal{B}'| + |X_0| + \sum_{i \in [\ell]} |X_i| \right\} $$

where $X_i$ is a minimum size $(S_i, \bigcup \mathcal{B}' \setminus X_0)$-separator.

**Proof for R-paths and R-cuts.** Let $\mathcal{B}$ be a family of subsets of $\bigcup_{i=1}^\ell V(G_i)$. We remark that this proof is very similar to the proof obtained for the min-max duality of T-paths and T-cuts. The difference is that we construct the D-paths matroid on disjoint copies of the graphs in $\mathcal{F} = (G_1, \dots, G_\ell)$ and moving the sets in $\mathcal{S} = (S_1, \dots, S_\ell)$ to the copied vertices. In this construction, the sets in $\mathcal{B}$ maintain all copies of vertices it contained initially. In this case, a partial transversal of the modified problem is a bijection between paths and a subfamily of $\mathcal{B}$, and the paths between different parts of a defining partition have no other constraint. We remark that creating copies of the graphs in $\mathcal{F}$ is equivalent to assuming that $G_1, \dots, G_\ell$ are disjoint and following the same proof for T-paths and T-cuts.
## 3.2 Menger-based proofs

In this section we show how to obtain Theorems 17, 19, and 21 applying Menger's Theorem (cf. Theorem 1) to auxiliary digraphs constructed from given the digraph-source sequences. Since all constructions begin from the same digraph, it is convenient to adopt the following notation.

**► Definition 23.** Let $\mathcal{F} = (G_1, \dots, G_\ell)$ be a sequence of (not necessarily disjoint) digraphs. We denote by $G(\mathcal{F})$ the digraph formed by taking disjoint copies of each $G_i$. Formally, for each $i \in [\ell]$ and $v \in V(G_i)$ we add to $G(\mathcal{F})$ the vertex $v_i$, set $V_i = \{v_i \mid v \in V(G_i)\}$, and say that $v_i$ is a copy of $v$. Then, for each $u_i, v_i \in V_i$ we add the edge $(u_i, v_i)$ to $G(\mathcal{F})$ if an only if $(u, v) \in G_i$.

In other words, in $G(\mathcal{F})$ each subgraph induced by $V_i$, for $i \in [\ell]$, is exactly a copy of $G_i$, and all such copies are disjoint. For the remaining of this subsection, we assume that $(\mathcal{F}, S)$ is a digraph-source sequence with $\mathcal{F} = (G_1, \dots, G_\ell)$ and $S = (S_1, \dots, S_\ell)$.

**Proof for D-paths and D-cuts.** In this part, we assume that $B \subseteq \bigcup_{i=1}^\ell V(G_i)$. From $\mathcal{F}, S$, and $B$ we construct an auxiliary digraph $G^D$ containing $B$ and a set of vertices $S'$ such that, from any set of disjoint $S' \to B$ paths in $G^D$, we can construct an equally large set of D-paths.

We begin with $G^D = G(\mathcal{F})$. Then, we add to $G^D$ all vertices of $B$ and an edge from each $u \in \bigcup_{i=1}^\ell V^i$ to $v \in B$ if $u$ is a copy of $v$. Define $S'_i = \{s_i \mid s \in S_i\}$ and $S' = \bigcup_{i=1}^\ell S'_i$. Notice that $B$ is an independent set of $G^D$ and that each $v \in B$ has at least one copy in some $V_i$. See Figure 3 for an illustration of this construction.

<figure><img src="image_4.png" /><figcaption>■ **Figure 3** On the left, digraphs $G_1, G_2$, and $G_3$, with $S_i = \{s^i\}$ for $i \in [3]$. In the example $B = \{u, v\}$ forms the set of destinations for the D-paths we want to construct, taken from the vertex set of the digraphs $G_i$. On the right, the resulting construction of $G^D$. Notice that $v_2$ and $v_3$ are copies of $v$, that $u_1$ and $u_2$ are copies of $u$, and that each $s_i^i$ is a copy of $s_i$.</figcaption></figure>

Now, for $i \in [\ell]$ and $B' \subseteq B$, let $x_i(B')$ be the size of a minimum $(S_i, B')$-separator in $G_i$ and

$$f^D(\mathcal{F}, S, B) = \min_{B' \subseteq B} \left\{ |B \setminus B'| + \sum_{i=1}^{\ell} x_i(B') \right\}. \qquad (1)$$

The definition of $f^D(\mathcal{F}, S, B)$ comes from the definition of D-cuts: if $B'$ is the subset of $B$ witnessing the value of $f^D(\mathcal{F}, S, B)$ then we construct the D-cut $\mathcal{X} = (B \setminus B', X_1, \dots, X_\ell)$ such that, for each $i \in [\ell]$, the set $X_i \subseteq V(G_i)$ is a minimum $(S_i, B')$-separator in $G_i$. Therefore the minimum order of a D-cut is at most $f^D(\mathcal{F}, S, B)$. On the other hand, when constructing a D-cut, we first pay one unit for each $b \in B$ that we want to include in
our D-cut (i.e., the value $|B \setminus B'|$) and then, for each $i \in [\ell]$, we pay the minimum cost to separate $S_i$ from the remaining vertices $B' \subseteq B$ that were not included in our D-cut (i.e., the value $\sum_{i=1}^{\ell} x_i(B')$). Thus any D-cut has order at least $f^D(\mathcal{F}, \mathcal{S}, B)$ and it follows that the minimum order of a D-cut is equal to $f^D(\mathcal{F}, \mathcal{S}, B)$. We proceed to show that the maximum number of D-paths is also equal to $f^D(\mathcal{F}, \mathcal{S}, B)$. This implies that the maximum number of D-paths is equal to the minimum order of a D-cut, and thus we obtain a min-max formula. We begin by showing how to associate paths in $G^D$ with D-paths, and the size of $(S', B)$-separators in $G^D$ with $f^D(\mathcal{F}, \mathcal{S}, B)$.

**Lemma 24.** Given $\mathcal{F}, \mathcal{S}$, and $B$, it holds that

(i) for any set of D-paths $\mathcal{P}$ there is a set $\mathcal{P}'$ of disjoint $S' \to B$ paths in $G^D$ with $|\mathcal{P}'| \ge |\mathcal{P}|$, and

(ii) for any set $\mathcal{P}'$ of disjoint $S' \to B$-paths in $G^D$ there is a set of D-paths $\mathcal{P}$ with $|\mathcal{P}| \ge |\mathcal{P}'|$.

**Proof.** To prove (i) let $\mathcal{P} = \{P_1, \dots, P_r\}$ be a set of D-paths with partition $P_1, \dots, P_\ell$ as in the definition of D-paths. From each $P_i$ contained in $P_j$ construct a path $Q'_i$ in $G^D$ by following the copies of the vertices of $P_i$ as they appear in $V_j$. Note that this ensures that each $Q'_i$ has $s^-(Q'_i) \in S'_j$. Now we construct $P'_i$ from $Q'_i$ by appending to the latter the edge from $s^+(Q'_i)$ to the vertex $v \in B$ such that $s^+(Q'_i)$ is the copy of $v$ in $V_j$. Set $\mathcal{P}' = \{P'_1, \dots, P'_r\}$ and (i) follows from observing that the defining properties of D-paths immediately imply the disjointness of the paths in $\mathcal{P}'$.

To prove (ii) let $\mathcal{P}' = \{P'_1, \dots, P'_r\}$ be a set of disjoint $S' \to B$ paths in $G^D$. Since there are no edges between vertices in $B$, every vertex of each $P'_i$, except $s^+(P'_i)$, is contained in some $V_j$ with $j \in [\ell]$. Thus we can follow each $P'_i$ in $G^D$ to construct a path $P_i$ in some $G_j$ with vertex set $V(P_i) = \{v \in V(G_j) \mid v_j \in V(P'_i) \setminus \{s^+(P'_i)\}\}$. In other words, $P_i$ contains the vertices of $V(G_j)$ whose copies form $V(P'_i)$ minus the last vertex of this path. Let $\mathcal{P} = \{P_1, \dots, P_r\}$ be the set of paths constructed this way and partition $\mathcal{P}$ into sets $P_i = \{P \in \mathcal{P} \mid s^-(P) \in S_i\}$ for each $i \in [\ell]$. The choice of $\mathcal{P}'$ immediately implies that $\mathcal{P}$ is a set of D-paths: since the paths of the first are disjoint, it follows that any distinct pair of paths in $P_i$ are disjoint in $G_i$ and thus (a) of Definition 15 holds. The choices of the parts $P_i$ ensures that (b) of Definition 15 holds. Again by the choice of $\mathcal{P}'$ no two paths in $\mathcal{P}$ can share a vertex in $B$ and (1) of Definition 16 holds. Finally, as $s^+(P'_i) \in B$ for $i \in [\ell]$, by the choice of the edges entering $B$ in $G^D$, and observing that $G^D[B]$ has no edges, we conclude that $s^+(P) \in B$ for all $P \in \mathcal{P}$ and (2a) also holds. $\quad$

**Lemma 25.** Given $\mathcal{F}, \mathcal{S}$, and $B$, the minimum size of an $(S', B)$-separator in $G^D$ is equal to $f^D(\mathcal{F}, \mathcal{S}, B)$.

**Proof.** Let $X$ be a minimum $(S', B)$-separator in $G^D$, let $B' \subseteq B$, and for $i \in [\ell]$ let $X_i$ be an $(S'_i, B')$-separator in $G^D$. Clearly the set $(B \setminus B') \cup X_1 \cup \dots \cup X_\ell$ contains an $(S', B)$-separator in $G^D$, as every $S'_i \to B'$ path in $G^D$ is blocked by $X_i$ and every other $S' \to B$ path is intersected by $B \setminus B'$. Hence $|X| \le f^D(\mathcal{F}, \mathcal{S}, B)$.

By contradiction, assume that $|X| < f^D(\mathcal{F}, \mathcal{S}, B)$. Then $f^D(\mathcal{F}, \mathcal{S}, B) > |X| = |B \cap X| + \sum_{i=1}^\ell |X_i \cap V_i|$. Defining $X_i = X \cap V_i$ for each $i \in [\ell]$ and $B^* = B \setminus X$, we conclude that $f^D(\mathcal{F}, \mathcal{S}, B) > |X| = |B \setminus B^*| + \sum_{i=1}^\ell |X_i|$. Since each $X_i$ is a $(S_i, B^*)$-separator and $B^* \subseteq B$, this contradicts the minimality of $f^D(\mathcal{F}, \mathcal{S}, B)$ and thus $|X|$ has to be equal to $f^D(\mathcal{F}, \mathcal{S}, B)$, and the result follows. $\quad$

**Theorem 26.** Given $\mathcal{F}, \mathcal{S}$, and $B$, the maximum size of a set of D-paths is equal to $f^D(\mathcal{F}, \mathcal{S}, B)$.
**Proof.** The result easily follows by applying Theorem 1 to $G^D$ and Lemmas 24 and 25. Indeed, assume that $\mathcal{P}$ is a maximum set of D-paths. By item (i) of Lemma 24 we find a maximum set $\mathcal{P}'$ of disjoint $S' \to B$ paths in $G^D$ with $|\mathcal{P}'| \ge |\mathcal{P}|$. By Theorem 1 we know that that $|\mathcal{P}|$ is equal to the size of a minimum $(S', B)$-separator $X$ in $G^D$, and by Lemma 25 we know that $|X| = f^D(\mathcal{F}, S, B)$. Plugging together those statements we obtain $|\mathcal{P}| \le |\mathcal{P}'| = |X| = f^D(\mathcal{F}, S, B)$. Similarly, applying Theorem 1, item (ii) of Lemma 24, and Lemma 25 we conclude that any maximum set of D-paths $\mathcal{P}$ satisfies $|\mathcal{P}| \ge f^D(\mathcal{F}, S, B)$, and the result follows. ◀

In the paragraph after Equation 1 we argued that the minimum order of a D-cut is equal to the value $f^D(\mathcal{F}, S, B)$. With this observation and applying Theorems 1 and 26 we immediately obtain Theorem 17. Observe that the running time follows from the fact that $|V(G^D)| = \ell \cdot n^* + |B|$, where $n^*$ is the maximum number of vertices of a digraph in $\mathcal{F}$, and from the running time mentioned in the statement of Theorem 1, which is applied to $G^D$.

**Proof for T-paths and T-cuts.** In this part, we assume that $\mathcal{B} = \{B_1, \dots, B_r\}$ is a family of subsets of $\bigcup_{i=1}^l V(G_i)$. Similarly to the previous case, we begin with $G^T = G(\mathcal{F})$. Now, set $V^* = \bigcup_{i=1}^r B_i$, add to $G^T$ every vertex appearing in $V^*$, and add an edge from $u \in \bigcup_{i=1}^l V_i$ to $v \in V^*$ if and only if $u$ is a copy of $v$. Define $S'_i = \{s_i | s \in S_i\}$ and $S' = \bigcup_{i=1}^l S'_i$. To finish the construction, add to $G^T$ a set of vertices $B = \{b_1, \dots, b_r\}$ and one edge from $v \in V^*$ to $b_i$ if and only if $v \in B_i$. Thus the vertices $\{b_1, \dots, b_r\}$ induce an independent set in $G^T$ and each of these vertices can be accessed only from $V^*$ in $G^T$. See Figure 4 for an example of this construction.

<figure><img src="image_5.png" /><figcaption>■ **Figure 4** On the left, example graphs $G_1$, $G_2$, $G_3$, and $G_4$ with $S_i = \{s^i\}$ for $i \in [3]$ and $S_4 = \{s_1, s_2, s_3\}$. On the right, the resulting construction of $G^T$ with $B_1 = \{u\}$, $B_2 = \{u, v\}$, and $B_3 = \{v\}$.</figcaption></figure>

For the corresponding min-max formula, let

$$f^T(\mathcal{F}, S, \mathcal{B}) = \min_{\mathcal{B}' \subseteq \mathcal{B}} \{|\mathcal{B} \setminus \mathcal{B}'| + f^D(\mathcal{F}, S, \bigcup \mathcal{B}')\}. \qquad (2)$$

The definition of this function comes from observing the shape of T-cuts. As we did for D-cuts, we give an intuition on how to associate the value $f^T(\mathcal{F}, S, \mathcal{B})$ with T-cuts by thinking of the order of a T-cut as the cost we pay to construct it. Since we have no control over the size of each $A \in \mathcal{B}$, we cannot simply count vertices to define this cost since it is possible, for example, that some $A \in \mathcal{B}$ contains every vertex of every $G_i$. This message is implicit in the definition of $f^T(\mathcal{F}, S, \mathcal{B})$: when looking at the left side of Equation 2 we see that we are allowed to choose a $\mathcal{B}' \subseteq \mathcal{B}$ and pay one unit for each $A \in \mathcal{B} \setminus \mathcal{B}'$ we want
to ignore as a destination for the R-paths (i.e., the value $|\mathcal{B} \setminus \mathcal{B}'|$). Then, we pay the cost to construct a D-cut with respect to $\mathcal{F}, \mathcal{S}$, and $\bigcup \mathcal{B}'$. The intuition for this is visible in the auxiliary digraph (see Figure 4): by "compressing" each $B_i \in \mathcal{B}$ to a single vertex $b_i$ having as in-neighbors every $v \in B_i$ in $G^T$ we ensure that, for any set of D-paths $\mathcal{Q}$, the set $\{s^P | P \in \mathcal{Q}\}$ forms a partial transversal of $\mathcal{B}$.

From the above discussion, one can verify that the minimum order of a T-cut is at least $f^T(\mathcal{F}, \mathcal{S}, \mathcal{B})$. To see that the that $f^T(\mathcal{F}, \mathcal{S}, \mathcal{B})$ is at least the minimum order of a T-cut, it suffices to construct a T-cut from a $\mathcal{B}' \subseteq \mathcal{B}$ witnessing the value of the function, and thus those two values are equal. We show that the maximum number of T-paths is also equal to $f^T(\mathcal{F}, \mathcal{S}, \mathcal{B})$, and use this fact to obtain a min-max formula. We begin by showing how to associate paths in $G^T$ with T-paths, and the size of $(S', B)$-separators in $G^T$ with $f^T(\mathcal{F}, \mathcal{S}, \mathcal{B})$.

**► Lemma 27.** Given $\mathcal{F}, \mathcal{S}$, and $\mathcal{B}$, it holds that

(i) for any set of T-paths $\mathcal{P}$ there is a set $\mathcal{P}'$ of disjoint $S' \to B$ paths in $G^T$ with $|\mathcal{P}'| \ge |\mathcal{P}|$, and

(ii) for any set $\mathcal{P}'$ of disjoint $S' \to B$ paths in $G^T$ there is a set of T-paths $\mathcal{P}$ with $|\mathcal{P}| \ge |\mathcal{P}'|$.

**Proof.** To prove (i), let $\mathcal{P} = \{P_1, \dots, P_q\}$ be a set of T-paths and consider a partition $P_1, \dots, P_\ell$ witnessing the defining properties of T-paths. From each path $P_i$ in $P_j$ for some $j \in [\ell]$ construct a path $Q_i$ in $G^T$ by taking the copies of vertices in $V(P_i)$ appearing in $V_j$. This ensures that $s^-(Q_i) \in S'_j$ whenever $P_i$ is contained in $G_j$, and that the paths $Q_1, \dots, Q_q$ are disjoint since the paths in each part of $P_j$ are disjoint. Now, each $s^+(Q_i)$ is a copy of some vertex $v \in V^*$ and we construct $Q'_i$ appending to $Q_i$ the edge from $s^+(Q_i)$ to $v$ in $G^T$. Observe that (1) of Definition 18 implies that the paths remain disjoint in $G^T$. Finally, for each $i \in [q]$, (2b) of Definition 18 implies that the edges of $G^T$ of the form $(s^+(Q_i), b_j)$, for each pair $i, j$ such that $s^+(P_i) \in B_j$, contain a matching of size $q$ in $G^T$. We construct the paths $P'_i$ by appropriately appending to each $Q_i$ the edges of this matching, set $\mathcal{P}' = \{P'_1, \dots, P'_q\}$, and (i) follows.

To prove (ii), let $\mathcal{P}' = \{P'_1, \dots, P'_q\}$ be a set of disjoint $S' \to B$ paths in $G^T$. For each $i \in [q]$ we construct the path $P_i$ by taking the vertices of $V(G_j)$ whose copies form $V(P'_i) \cap V_j$ and set $\mathcal{P} = \{P_1, \dots, P_q\}$. For $i \in [\ell]$ let $P_i = \{P \in \mathcal{P} | s^-(P) \in S_i\}$. Naturally (a) and (b) of Definition 15 hold with relation to $\mathcal{P}$ by the disjointness of paths in $\mathcal{P}'$ and since each $P'_i$ is an $S' \to B$ path. Notice that no two paths in $\mathcal{P}'$ can share a vertex in $B$. This is true because those paths are disjoint, and thus they do not intersect in $V^*$, and they all end in $B$. Now, since each $P'_i$ ends in a distinct $b_j \in B$ and $B$ induces an independent set in $G^T$, the choice of the edges from the sets $V_j$ to $V^*$ in $G^T$ implies that the set $X \subseteq V^*$ whose copies form $\{s^+(P_1), \dots, s^+(P_q)\}$ is a partial transversal of $\mathcal{B}$. Together with the disjointness of paths of $\mathcal{P}'$, this implies that (1) and (2b) of Definition 18 hold with relation to $\mathcal{P}$, and (ii) follows.

◀

**► Lemma 28.** Given $\mathcal{F}, \mathcal{S}$, and $\mathcal{B}$, the minimum size of an $(S', B)$-separator in $G^T$ is equal to $f^T(\mathcal{F}, \mathcal{S}, \mathcal{B})$.

**Proof.** Let $X$ be a minimum $(S', B)$-separator in $G^T$. For any $B' \subseteq B$, let $\mathcal{B}(B')$ contain exactly the sets $A \in \mathcal{B}$ such that $A \subseteq N_{G^T}^-(v)$ for some $v \in B'$ (notice that this choice implies that $|B \setminus B'| = |\mathcal{B} \setminus \mathcal{B}(B')|$). Define $T(B') = \bigcup \mathcal{B}(B')$.

By Theorem 17 we know that any minimum D-cut $\mathcal{X}(B')$ for $(\mathcal{F}, \mathcal{S}, T(B'))$ has order equal to $f^\mathcal{D}(\mathcal{F}, \mathcal{S}, T(B'))$. Since $(B \setminus B') \cup (\bigcup \mathcal{X}(B'))$ is an $(S', B)$-separator in $G^T$, the choice
of X implies that, for any $B' \subseteq B$,

$$
\begin{align*}
|X| &\le |B \setminus B'| + \mathrm{ord}(X(B')) \\
&= |\mathcal{B} \setminus \mathcal{B}(B')| + \mathrm{ord}(X(B')) \\
&= |\mathcal{B} \setminus \mathcal{B}(B')| + f^{\mathrm{D}}(\mathcal{F}, \mathcal{S}, T(B')),
\end{align*}
$$

and hence we conclude that $|X| \le f^{\mathrm{T}}(\mathcal{F}, \mathcal{S}, \mathcal{B})$.

By contradiction, assume now that $|X| < f^{\mathrm{T}}(\mathcal{F}, \mathcal{S}, \mathcal{B})$. Define $B^* = B \setminus X$, let $\mathcal{B}^*$ contain all $A \in \mathcal{B}$ such that $A \subseteq N_{\mathrm{GT}}^-(v)$ for some $v \in B^*$, and $T = \bigcup \mathcal{B}^*$. This choice immediately implies that $|B \setminus B^*| = |\mathcal{B} \setminus \mathcal{B}^*|$. Consider now D-paths/D-cuts with respect to $\mathcal{F}, \mathcal{S}$, and $T$. Since $X$ is a minimum $(S', B)$-separator, we know that $X \setminus B$ is a minimum $(S', T)$-separator, and thus by Lemma 25 we get $|X \setminus B| = f^{\mathrm{D}}(\mathcal{F}, \mathcal{S}, T)$. By our assumption that $|X| < f^{\mathrm{T}}(\mathcal{F}, \mathcal{S}, \mathcal{B})$ we get that

$$
\begin{align*}
f^{\mathrm{T}}(\mathcal{F}, \mathcal{S}, \mathcal{B}) &> |X| = |X \cap B| + |X \setminus B| = |B \setminus B^*| + |X \setminus B| \\
&= |B \setminus B^*| + |X \setminus B| \\
&= |B \setminus B^*| + f^{\mathrm{D}}(\mathcal{F}, \mathcal{S}, T),
\end{align*}
$$

contradicting the minimality of $f^{\mathrm{T}}(\mathcal{F}, \mathcal{S}, \mathcal{B})$ and thus we conclude that $|X| \ge f^{\mathrm{T}}(\mathcal{F}, \mathcal{S}, \mathcal{B})$,
and the result follows.
$\blacksquare$

**Theorem 29.** Given $\mathcal{F}$, $\mathcal{S}$, and $\mathcal{B}$, the maximum size of a set of $T$-paths is equal to $f^{\mathrm{T}}(\mathcal{F}, \mathcal{S}, \mathcal{B})$.

**Proof.** Let $\mathcal{P}$ be a maximum set of $T$-paths. By item (i) of Lemma 27 there is a maximum set $\mathcal{P}'$ of disjoint $S' \to B$ paths in $G^T$ with $|\mathcal{P}'| \ge |\mathcal{P}|$ and by Theorem 1 it holds that $|\mathcal{P}'| = |X|$ where $X$ is a minimum $(S', B)$-separator in $G^T$. By Lemma 28 we know that $|X| = f^T(\mathcal{F}, \mathcal{S}, \mathcal{B})$ and hence $|\mathcal{P}| \le |\mathcal{P}'| = |X| = f^T(\mathcal{F}, \mathcal{S}, \mathcal{B})$. Similarly, applying Theorem 1, item (ii) of Lemma 27, and Lemma 28 we conclude that any maximum set of $T$-paths has size bounded from below by $f^T(\mathcal{F}, \mathcal{S}, \mathcal{B})$ and the result follows.
$\blacksquare$

As mentioned in the paragraph after Equation 2, by choosing $\mathcal{B}' \subseteq \mathcal{B}$ minimizing the order of a $T$-cut $(\mathcal{B}', X)$, it clearly holds that the minimum order of a $T$-cut is equal to $f^{\mathrm{T}}(\mathcal{F}, \mathcal{S}, \mathcal{B})$. Thus, applying Theorems 1 and 29 and observing the bound on the running time of Theorem 1, which we apply to $G^T$, we immediately obtain Theorem 19.

**Proof for R-paths and R-cuts.** In this part, we assume again that $\mathcal{B} = \{B_1, \dots, B_r\}$ is a family of subsets of $\bigcup_{i=1}^l V(G_i)$. Start with $G^R = G(\mathcal{F})$, add to $G^R$ a set of vertices $\{b_1, \dots, b_r\}$ and, for each $u \in \bigcup_{i=1}^l V(G_i)$ and $j \in [r]$, add an edge from each copy of $u$ to $b_j$ in $G^R$ if $u \in B_j$. Define $S'_i = \{s_i \mid s \in S_i\}$ and $S' = \bigcup_{i=1}^l S'_i$. See Figure 5 for an illustration of this construction.

For $i \in [l]$ and $\mathcal{B}' \subseteq \mathcal{B}$ let $x_i(\mathcal{B}')$ be the size of a minimum $(S_i, \bigcup \mathcal{B}')$-separator in $G_i$, and

$$
f^{\mathrm{R}}(\mathcal{F}, \mathcal{S}, \mathcal{B}) = \min_{\mathcal{B}' \subseteq \mathcal{B}} \left\{ |\mathcal{B} \setminus \mathcal{B}'| + \sum_{i=1}^{\ell} x_i(\mathcal{B}') \right\}. \qquad (3)
$$

Similarly to $T$-cuts the definition of $f^{\mathrm{R}}(\mathcal{F}, \mathcal{S}, \mathcal{B})$ follows the shape of $R$-cuts. As it was the case with $T$-cuts, we cannot construct $R$-cuts by paying one unit for each vertex of $\bigcup_{i=1}^k V(G_i)$ that we want to include in the cut, since its possible that some $A \in \mathcal{B}$ contains every vertex of every digraph in $\mathcal{F}$. Thus, we are again allowed to choose a $\mathcal{B}' \subseteq \mathcal{B}$ and pay
<figure><img src="image_6.png" /><figcaption>■ **Figure 5** On the left, example graphs $G_1$, $G_2$, and $G_3$. On the right, the resulting construction of $G^R$ with $B_1 = \{u\}$, $B_2 = \{u, v\}$, and $B_3 = \{v\}$.</figcaption></figure>

one unit for each $A \in \mathcal{B} \setminus \mathcal{B}'$ that we ignore as destinations for the R-paths (i.e., the value $|\mathcal{B} \setminus \mathcal{B}'|$). Then, for each $i \in [k]$ we pay the minimum cost to separate $S_i$ from every vertex in $\bigcup \mathcal{B}'$ (i.e., the value $\sum_{i=1}^k x_i(\mathcal{B}')$).

As in the previous cases, the above discussion and a simple observation that every $\mathcal{B}' \subseteq \mathcal{B}$ witnessing the value of $f^R(\mathcal{F}, \mathcal{S}, \mathcal{B})$ can be used to construct an R-cut with this order implies that the minimum order of an R-cut is equal to $f^R(\mathcal{F}, \mathcal{S}, \mathcal{B})$. Following the proofs for D-paths/D-cuts and T-paths/T-cuts, to obtain the desired min-max formula we show that the maximum number of T-paths is equal to $f^R(\mathcal{F}, \mathcal{S}, \mathcal{B})$. We first show how to associate paths in $G^R$ with R-paths, and the size of $(S', B)$-separators in $G^R$ with $f^R(\mathcal{F}, \mathcal{S}, B)$.

**► Lemma 30.** Given $\mathcal{F}, \mathcal{S}$, and $\mathcal{B}$, it holds that

(i) for any set of R-paths $\mathcal{P}$ there is a set $\mathcal{P}'$ of disjoint $S' \to B$ paths in $G^R$ with $|\mathcal{P}'| \ge |\mathcal{P}|$, and

(ii) for any set $\mathcal{P}'$ of disjoint $S' \to B$ paths in $G^R$ there is a set of R-paths $\mathcal{P}$ with $|\mathcal{P}| \ge |\mathcal{P}'|$.

**Proof.** To prove (i), let $\mathcal{P} = \{P_1, \dots, P_q\}$ be a set of R-paths and consider a partition $P_1, \dots, P_\ell$ witnessing the defining properties of R-paths. From each path $P_i$ in $P_j$ for some $j \in [\ell]$ construct a path $Q_i$ in $G^R$ by taking the copies of vertices in $V(P_i)$ appearing in $V_j$. This ensures that $\mathcal{s}^-(Q_i) \in S'_j$ whenever $P_i$ is contained in $G_j$, and that the paths $Q_1, \dots, Q_q$ are disjoint since the paths in each part of $P_j$ are disjoint. Now, let $\mathcal{B}^* \subseteq \mathcal{B}$ and $h: \mathcal{P} \to \mathcal{B}^*$ be a bijective mapping as in (1c) of Definition 20. We construct the paths $P'_i$ appending to each $Q_i$ the edge in $G^R$ from $\mathcal{s}^+(P_i)$ to the vertex $b \in B$ that is associated with the bag $h(P_i) \in \mathcal{B}^*$. This edge is guaranteed to exist because $\mathcal{s}^+(P_i) \in h(P_i)$.

To prove (ii), let $\mathcal{P}' = \{P'_1, \dots, P'_q\}$ be a set of disjoint $S' \to B$ paths in $G^R$. For each $i \in [q]$ we construct the path $P_i$ by taking the vertices of $V(G_j)$ whose copies form $V(P'_i) \cap V_j$, and set $\mathcal{P} = \{P_1, \dots, P_q\}$. For $i \in [\ell]$ let $P_i = \{P \in \mathcal{P} \mid \mathcal{s}^-(P) \in S_i\}$. Naturally (a) and (b) of Definition 15 hold with relation to $\mathcal{P}$ by the disjointness of paths in $\mathcal{P}'$ and since each $P'_i$ is an $S' \to B$ path. Notice that since those paths are disjoint, no two paths in $\mathcal{P}'$ can share a vertex in $B$. Now, since each $P'_i$ ends in a distinct $b_j \in B$ and $B$ induces an independent set in $G^R$, the choice of the edges from $\cup_{j=1}^\ell V_j$ to $B$ in $G^R$ implies that the last edge of each path $P'_i$ is of the form $(v, b_j)$ for some $j \in [r]$. Thus we can construct the desired mapping $h: \mathcal{P} \to \mathcal{B}^*$, with $\mathcal{B}^* \subseteq \mathcal{B}$, by setting for each $i \in [q]$, $h(P_i) = B_j$ if $b_j$ is the last vertex of $P'_i$. Thus (1c) of Definition 20 holds and the result follows. ◀

The proof of Lemma 30 is similar to the proof of Lemma 27. The only difference is that the set $V^*$ is not present in $G^R$ and thus the edges reaching the vertices in $B$ are directly
from vertices in $\bigcup_{i=1}^{\ell} V_i$. Hence the last vertices of the paths in $\mathcal{P}'$ are not guaranteed to be disjoint. This is not an issue since in the definition of R-paths this property (item (1) in Definitions 16 and 18) is not required.

**Lemma 31.** Given $\mathcal{F}, \mathcal{S}$, and $\mathcal{B}$, the minimum size of an $(S', B)$-separator in $G^R$ is equal to $f^R(\mathcal{F}, \mathcal{S}, B)$.

**Proof.** Again, the proof follows similarly to the proof of Lemma 28. Let $X$ be a minimum $(S', B)$-separator in $G^R$. For any $B' \subseteq B$ let $\mathcal{B}(B')$ contain exactly the sets $A \in \mathcal{B}$ such that $A \subseteq N_{G^R}^-(v)$ for some $v \in B'$. This immediately implies that $|B \setminus B'| = |\mathcal{B} \setminus \mathcal{B}(B')|$. Define $T(B') = \bigcup_{i=1}^{\ell} X_i(B')$ and for $i \in [\ell]$ let $X_i(B')$ be a minimum $(S'_i, T(B'))$-separator in $G^R$. Hence every $X_i(B')$ is contained in $V_i$ (we remind the reader of Definition 23). Clearly $(B \setminus B') \cup (\bigcup_{i=1}^{\ell} X_i(B'))$ is an $(S', B)$-separator in $G^R$ since every $S' \to B'$ is intersected by some $X_i(B')$ (notice that no path can have an internal vertex in $B$). Thus for any $B' \subseteq B$ it holds that

$$ 
\begin{aligned}
|X| &\le |B \setminus B'| + \left| \bigcup_{i=1}^{\ell} X_i(B') \right| \\
&= |B \setminus B'| + \sum_{i=1}^{\ell} x_i(\mathcal{B}(B')) \\
&= |\mathcal{B} \setminus \mathcal{B}(B')| + \sum_{i=1}^{\ell} x_i(\mathcal{B}(B')),
\end{aligned}
$$

and we conclude that $|X| \le f^R(\mathcal{F}, \mathcal{S}, \mathcal{B})$ (the value of $x_i(\mathcal{B}(B'))$ as defined right before Equation 3).

By contradiction, assume now that $|X| < f^R(\mathcal{F}, \mathcal{S}, \mathcal{B})$. Define $B^* = B \setminus X$, let $\mathcal{B}^*$ contain all $A \in \mathcal{B}$ such that $A \subseteq N_{G^R}^-(v)$ for some $v \in B^*$, and define $T = \bigcup \mathcal{B}^*$. We remark that the choice of $B^*$ immediately implies that $|B \setminus B^*| = |\mathcal{B} \setminus \mathcal{B}^*|$. Clearly $X \setminus B$ is a minimum $(S', B^*)$-separator in $G^R$, for otherwise there would be an $(S', B)$-separator smaller than $X$. Thus by our assumption that $|X| < f^R(\mathcal{F}, \mathcal{S}, \mathcal{B})$ we obtain

$$ 
\begin{aligned}
f^R(\mathcal{F}, \mathcal{S}, \mathcal{B}) &> |X| = |X \cap B| + |X \setminus B| = |B \setminus B^*| + |X \setminus B| = |\mathcal{B} \setminus \mathcal{B}^*| + |X \setminus B| \\
&= |\mathcal{B} \setminus \mathcal{B}^*| + \sum_{i=1}^{\ell} |X \cap V_i| \\
&= |\mathcal{B} \setminus \mathcal{B}^*| + \sum_{i=1}^{\ell} x_i(\mathcal{B}^*),
\end{aligned}
$$

by observing that each $x_i(\mathcal{B}^*)$ is equal to the size of a minimum $(S'_i, T)$-separator in $G^R$. Thus we conclude that $|X| \ge f^R(\mathcal{F}, \mathcal{S}, \mathcal{B})$ and the result follows. ◀

**Theorem 32.** Given $\mathcal{F}, \mathcal{S}$, and $\mathcal{B}$, the maximum size of a set of R-paths is equal to $f^R(\mathcal{F}, \mathcal{S}, \mathcal{B})$.

**Proof.** Let $\mathcal{P}$ be a maximum set of R-paths. By item (i) of Lemma 30 there is a maximum set $\mathcal{P}'$ of disjoint $S' \to B$ paths in $G^R$ with $|\mathcal{P}'| \ge |\mathcal{P}|$ and by Theorem 1 it holds that $|\mathcal{P}'| = |X|$ where $X$ is a minimum $(S', B)$-separator in $G^R$. By Lemma 31 we know that $|X| = f^R(\mathcal{F}, \mathcal{S}, \mathcal{B})$ and hence $|\mathcal{P}| \le |\mathcal{P}'| = |X| = f^R(\mathcal{F}, \mathcal{S}, \mathcal{B})$. Similarly, applying Theorem 1, item (ii) of Lemma 30, and Lemma 31 we conclude that any maximum set of R-paths has size bounded from below by $f^R(\mathcal{F}, \mathcal{S}, \mathcal{B})$, and the result follows. ◀
Finally, applying Theorems 1 and 32 and since the minimum order of an R-cut is equal to $f^R(\mathcal{F}, \mathcal{S}, \mathcal{B})$, we obtain Theorem 21. The running time follows from applying Theorem 1 to $G^R$.

## 4 Applications

In this section we show how to exploit the duality between R-paths and R-cuts to improve on results by Edwards et al. [9] and Giannopoulou et al. [12]. The following is the main result that we prove, and then we use it to improve on results by [9, 12].

**▶ Theorem 33.** Let $k, c$ be integers with $k, c \ge 2$ and $g(k, c) = 2k(c \cdot k - c + 2) + c(k - 1)$. Let $G$ be a digraph, assume that we are given the bags of a bramble $\mathcal{B}$ of congestion $c$ and size at least $g(k, c)$, and $S, T \subseteq V(G)$ with $S = \{s_1, \dots, s_k\}$ and $T = \{t_1, \dots, t_k\}$. Then in time $O(k^4 \cdot n^2)$ one can either

1. find a $\mathcal{B}^* \subseteq \mathcal{B}$ with $|\mathcal{B}^*| \ge g(k, c) - c(k-1)$ and an $(S, \bigcup \mathcal{B}^*)$-separator $X_S$ with $|X_S| \le k-1$ that is disjoint from all bags of $\mathcal{B}^*$, or

2. find a $\mathcal{B}^* \subseteq \mathcal{B}$ with $|\mathcal{B}^*| \ge g(k, c) - c(k-1)$ and an $(\bigcup \mathcal{B}^*, T)$-separator $X_T$ with $|X_T| \le k-1$ that is disjoint from all bags of $\mathcal{B}^*$, or

3. find a set of paths $\{P_1, \dots, P_k\}$ in $G$ such that each $P_i$ with $i \in [k]$ is a path from $s_i$ to $t_i$ and each vertex of $G$ appears in at most $c$ of these paths.

Theorem 33 yields an XP algorithm with parameter $k$ for the $(k, c)$-DDP problem in $k$-strong digraphs, as we proceed to discuss. First, we remark that the XP time is only required when a large bramble of congestion at most $c$ is not provided. If this is the case, we first look at the directed tree-width of $G$, which can be approximated in FPT time applying Proposition 11. If $\text{dtw}(G) \le f(k)$ for some computable function $f$, then we solve the problem applying Proposition 9. Otherwise, we apply the machinery by Edwards et al. [9] pipelining Propositions 12 and 13 to obtain a large bramble of congestion two in digraphs of large directed tree-width, and use Theorem 33 to find a solution in polynomial time, which we show to always be possible. When assuming that the input digraph is $k$-strong, only the third output of Theorem 33 is possible, and therefore as a direct consequence of Theorem 33 we obtain the following.

**▶ Theorem 34.** Let $G$ be a $k$-strong digraph and $\mathcal{B}$ be a bramble of congestion $c \ge 2$ with $|\mathcal{B}| \ge 2k(c \cdot k - c + 2) + c(k - 1)$. Then for any ordered sets $S, T \subseteq V(G)$ both of size $k$, the instance $(G, S, T)$ of $(k, c)$-DDP with $c \ge 2$ is positive and a solution can be found in time $O(k^4 \cdot n^2)$.

As mentioned in the introduction, our result improves over the result of Edwards et al. [9] by relaxing the strong connectivity of the input digraph from $36k^3 + 2k$ to $k$ (and this bound is close to the best possible unless $P = NP$), by needing a smaller bramble (from size $188k^3$ to $4k^2 + 2k - 2$ when $c = 2$), and because the proof is simpler and shorter. Finally, applying Corollary 14, Proposition 9, and Theorem 34 (thus again using Proposition 13 by [9]) we immediately obtain the following.

**▶ Corollary 35.** For every integer $c \ge 2$, the $(k, c)$-DDP problem is solvable in XP time with parameter $k$ in $k$-strong digraphs.

As a tool to prove Theorem 33, we first show how we can take many copies of digraphs $G$ and $G'$, say $\ell$ copies of each, to either find $2\ell \cdot k$ R-paths to a given collection $\mathcal{B}$ of sufficiently large size, or find an appropriate separator of size at most $k-1$ in $G$ or in $G'$.
**Lemma 36.** Let $(\mathcal{F}, \mathcal{S})$ be a digraph-source sequence where $\mathcal{F}$ contains $\ell$ copies of a digraph $G_S$ and $\ell$ copies of a digraph $G_T$, in this order, and $\mathcal{S}$ contains $\ell$ copies of a set $S \subseteq V(G_S)$ and $\ell$ copies of a set $T \subseteq V(G_T)$, in this order, where $|S| = |T| = k$. Finally, let $\mathcal{B}$ be a collection of subsets of $V(G)$ with $|\mathcal{B}| \ge 2\ell \cdot k$.

Then either there is a set of $R$-paths with respect to $\mathcal{F}$, $\mathcal{S}$, and $\mathcal{B}$ of size at least $2\ell \cdot k$, or for some non-empty $\mathcal{B}' \subseteq \mathcal{B}$ there is an $R$-cut $(\mathcal{B}', \mathcal{X})$ of order at most $2\ell \cdot k - 1$ such that $\mathcal{X}$ contains $\ell$ copies of an $(S, \bigcup \mathcal{B}')$-separator $X_S$ followed by $\ell$ copies of an $(T, \bigcup \mathcal{B})$-separator $X_T$ with $|X_S| + |X_T| \le 2k - 1$.

**Proof.** Assume that the maximum size of a set of $R$-paths with respect to $\mathcal{F}$, $\mathcal{S}$, and $\mathcal{B}$ is at most $2\ell \cdot k - 1$. Then by Theorem 21 there is a minimum $R$-cut $Y = (\mathcal{B}', \mathcal{X}')$ of order at most $2\ell \cdot k - 1$.

Since $|\mathcal{B}| \ge 2\ell \cdot k$ we conclude that $\mathcal{B}' \ne \emptyset$ and thus $|\mathcal{X}'| = 2\ell$. (we refer the reader to the discussion in the end of the first part of Section 3). Hence by the choice of $\mathcal{F}$ and $\mathcal{S}$ and the definition of $R$-cuts, we can construct an $R$-cut $(\mathcal{B}', \mathcal{X})$ with the same order as $Y$ by simply including in $\mathcal{X}$ exactly $\ell$ copies of the $(S, \bigcup \mathcal{B}')$-separator $X_S$ contained in $\mathcal{X}'$, and $\ell$ copies of the $(T, \bigcup \mathcal{B}')$-separator $X_T$ contained in $\mathcal{X}'$. Thus the newly generated $R$-cut satisfies $|\mathcal{B} \setminus \mathcal{B}'| + \ell(|X_S| + |X_T|) = \text{ord}(\mathcal{B}', \mathcal{X}) = \text{ord}(\mathcal{B}', \mathcal{X}') \le 2\ell k - 1$. This immediately implies that $|X_S| + |X_T| \le 2k - 1$ and the result follows. ◀

The following definition is used in the proof of Theorem 33. Since $R$-paths only consider paths leaving the sets $S_i$ and arriving in the elements of $\mathcal{B}$, and the goal is to find $S \to T$ paths, we construct a digraph-source sequence by taking many copies of the digraph $G$, and many copies of the digraph resulting from reversing the orientation of every edge of $G$.

**Definition 37 (Reverse digraph).** Let $G$ be a digraph. The reverse digraph $G^{\text{rev}}$ of $G$ is the digraph constructed by reversing the orientation of every edge of $G$. That is, $(u, v) \in E(G^{\text{rev}})$ if and only if $(v, u) \in E(G)$.

Now the plan is to apply twice the duality between $R$-paths and $R$-cuts. In the first application, we consider the digraph-source sequence formed by $2k(c \cdot k - c + 1)$ copies of $G_S = G$ and then exactly as many copies of $G_T = G^{\text{rev}}$, and the same number of copies of $S$ and $T$, also in this order. If we do not find a set of $2k(c \cdot k - c + 1)$ $R$-paths to the bags of the bramble, then we apply Lemma 36 and find an $R$-cut $(\mathcal{B}', \mathcal{X})$ of small order and a separator of size at most $k-1$ in $G_S$ or $G_T$. Since the given bramble has congestion $c$, we show that we can stop with output 1 or 2 of Theorem 33 by taking the bramble $\mathcal{B}^*$ containing all bags of $\mathcal{B}$ that are disjoint from the small separator. This holds because no bag of $\mathcal{B}^*$ can be in the “wrong side” of the separator. That is, if for instance there is an $S \to A$ path $P$ avoiding the separator $X_S$ of size at most $k-1$ in $G_S$, then every bag of $\mathcal{B}^*$ must be in $\mathcal{B} \setminus \mathcal{B}'$ since otherwise one can construct a path in $G_S \setminus X_S$ from $S$ to a bag of $\mathcal{B}'$ by using $P$ and the connectivity properties of the bramble. In this case, we also arrive at a contradiction since the size of $\mathcal{B}^*$ is too large to be contained in the $R$-cut.

If the $R$-paths are found, then we refine the digraph by carefully choosing edges to delete from $G$ in such a way that, from a second application of the duality between $R$-paths and $R$-cuts, we are guaranteed to find $2k$ $R$-paths that can be used to construct the $\{s_i\} \to \{t_i\}$ paths while maintaining the congestion under control. In the refined digraph, we keep the $R$-paths found in the first iteration and delete edges leaving vertices of the bramble appearing in bags that were not used as destinations for the $R$-paths. We apply Lemma 36 in this digraph and show that the only possible outcome is that the $R$-paths are found. Otherwise, there is an $R$-cut of order at most $2k-1$ and hence there is a $\mathcal{B}'' \subseteq \mathcal{B}$ that contains at least
one bag A that is not in the R-cut and is disjoint from the separator, say $X'_S$, of size at most $k-1$ that is part of the R-cut. Now the size of $X'_S$ implies that there is a path from $S$ to a bag disjoint from $X'_S$ avoiding the separator, and thus we can reach $A$ from $S$ avoiding $X'_S$. Finally, the refined digraph allows us to associate each vertex of the bramble used by a path in $\{P_1, \dots, P_k\}$ with a bag of the bramble, depending on where the vertex appears in the path, in such a way that no vertex is associated twice with the same bag by two distinct paths. Together with the bound on the congestion of the bramble, this immediately implies that every vertex of the digraph appears in at most $c$ paths of the set $\{P_1, \dots, P_k\}$. The details follow.

**Proof of Theorem 33.** Let $G, S, T$, and $\mathcal{B}$ be as in the statement of the theorem. Define $G_S = G$ and $G_T = G^{\text{rev}}$ and let $(\mathcal{F}, \mathcal{S}, \mathcal{B})$ be a digraph-source sequence with $\mathcal{F}$ containing, in order, $c \cdot k - c + 1$ copies of $G_S$ followed by $c \cdot k - c + 1$ copies of $G_T$, and $\mathcal{S}$ containing, in order, the same number of copies of $S$ followed by exactly as many copies of $T$. Now, applying Lemma 36 with respect to $\mathcal{F}, \mathcal{S}, \mathcal{B}$, and $\ell = c \cdot k - c + 1$, we conclude that either there are $2k(c \cdot k - c + 1)$ R-paths or, for some $\mathcal{B}' \subseteq \mathcal{B}$ there is an R-cut $(\mathcal{B}', \mathcal{X})$ where $\mathcal{X}$ contains $\ell$ copies of an $(S, \mathcal{U}\mathcal{B}')$-separator $X_S$ and $\ell$ copies of an an $(S, \mathcal{U}\mathcal{B}')$-separator $X_T$ with $|X_S| + |X_T| \le 2k-1$. We first consider the case where the separators are obtained. Thus $|X_S| \le k-1$ or $|X_T| \le k-1$. Since both cases are symmetric (the $T \to X_T$ paths become $X_T \to T$ paths when we restore the orientation of the edges of $G_T$), we suppose without loss of generality that $|X_S| \le k-1$.

Let $\mathcal{B}^*$ contain all bags of $\mathcal{B}$ that are disjoint from $X_S$. Since $\mathcal{B}$ has congestion $c$ we conclude that $|\mathcal{B}^*| \ge g(k, c) - c(k-1)$. We show that no vertex appearing in a bag of $\mathcal{B}^*$ is reachable from $S$ in $G_S \setminus X_S$. By contradiction, assume that there is an $S \to A$ path $P$ in $G_S \setminus X_S$ for some $A \in \mathcal{B}^*$. If there is $A' \in \mathcal{B}^* \cap \mathcal{B}'$ then we can use the strong connectivity of $G_S[A \cup A']$ and the path $P$ to construct an $S \to A'$ path in $G_S \setminus X_S$, contradicting the choice of $X_S$. Thus in this case $\mathcal{B}^*$ must be entirely contained in $\mathcal{B} \setminus \mathcal{B}'$. Again we obtain a contradiction since $2k(c \cdot k - c + 2) \le |\mathcal{B}^*| \le |\mathcal{B} \setminus \mathcal{B}'| \le \text{ord}(\mathcal{B}', \mathcal{X}) < 2k(c \cdot k - c + 1)$. In other words, the existence of path from $S$ to a vertex in a bag of $\mathcal{B}^*$ avoiding $X_S$ implies that every bag of $\mathcal{B}^*$ is reachable from $S$ in $G_S \setminus X_S$ and thus such path cannot exist since $\mathcal{B}^*$ is too large to be contained in any R-cut of order less than $2k(c \cdot k - c + 1)$. We conclude that no bag $A \in \mathcal{B}^*$ is reachable from $S$ in $G_S \setminus X_S$, and and output 1 of the theorem follows. Symmetrically, output 2 of the theorem follows if $|X_T| \le k-1$.

Assume now that a set of R-paths $\mathcal{P}$ of size at least $2k(c \cdot k - c + 1)$ is found. Let $\mathcal{B}^1 \subseteq \mathcal{B}$ and let $h: \mathcal{P} \to \mathcal{B}^1$ be the bijective mapping as in (1c) of Definition 20. Thus $h(p) = \mathcal{B}$ implies that $s^+(P) \in \mathcal{B}$. Since $|S| = |T| = k$, we can split $\mathcal{P}$ into two sets of equal size $\mathcal{P}^S$ and $\mathcal{P}^T$, where every path in $\mathcal{P}^S$ is a path leaving $S$ in $G_S$ and every path in $\mathcal{P}^T$ is a path leaving $T$ in $G_T$. We define $\mathcal{B}_S = \{h(P) \in \mathcal{B}^1 \mid P \in \mathcal{P}^S\}$ and $\mathcal{B}_T = \{h(P) \in \mathcal{B}^1 \mid P \in \mathcal{P}^T\}$. The next step is to refine $\mathcal{P}$ to make it minimal with respect to $\mathcal{B}$. That is, we say that $\mathcal{P}$ is $\mathcal{B}$-minimal if no path of $\mathcal{P}$ contains an internal vertex that is in a bag $\mathcal{B} \setminus (\mathcal{B}_S \cup \mathcal{B}_T)$. In other words, when following a path $P \in \mathcal{P}$ from the first to the last vertex, if we find an internal vertex $v$ in a bag $B$ that is not in $\mathcal{B}_S$ nor in $\mathcal{B}_T$, we swap $P$ in $\mathcal{P}$ by its subpath ending in $v$ and update $\mathcal{B}_S$ or $\mathcal{B}_T$ accordingly. Clearly, condition (1c) of Definition 20 still hold with respect to the new choice of $\mathcal{P}$, and therefore from now on we assume that $\mathcal{P}$ is $\mathcal{B}$-minimal. This property is important later to bound the maximum number of times that a vertex can appear in the $S \to T$ paths we construct.

Next, we reduce $G_S$ and $G_T$ to digraphs that are still well connected to $\mathcal{B}$, thus ensuring that we can find a large set of R-paths in the new digraphs, in which we can maintain control over how many times a vertex can appear in the $S \to T$ paths we construct from these new
R-paths. To this end, define

$$
V_S = \bigcup_{P \in \mathcal{P}^S} (V(P) \setminus \{\mathbf{s}^+(P)\}) \cup \bigcup_{A \in \mathcal{B}_S} A \quad \text{and} \quad V_T = \bigcup_{P \in \mathcal{P}^T} (V(P) \setminus \{\mathbf{s}^+(P)\}) \cup \bigcup_{A \in \mathcal{B}_T} A. \quad (4)
$$

Finally, we construct the digraphs $G'_S$ and $G'_T$ starting from $G_S$ and $G_T$, respectively, applying the following two rules:

■ For every $v \in V(G_S)$, if $v \in (\bigcup \mathcal{B}) \setminus V_S$ then we delete from $G'_S$ every edge leaving $v$.

■ For every $v \in V(G_T)$, if $v \in (\bigcup \mathcal{B}) \setminus V_T$ then we delete from $G'_T$ every edge leaving $v$.

Consider the digraph-source sequence ($\{G'_S, G'_T\}, \{S, T\}$) and let $\mathcal{B}' = \mathcal{B} \setminus (\mathcal{B}_S \cup \mathcal{B}_T)$, and notice that $\mathcal{B}'$ may not be a bramble in $G'_S$ nor in $G'_T$. Clearly $|\mathcal{B}'| \ge g(k, c) - 2k(c \cdot k - c + 1) = c(k - 1) + 2k > 2k$. We apply Lemma 36 with respect to $\{G'_S, G'_T\}, \{S, T\}$ (and thus $\ell = 1$), and $\mathcal{B}'$, to either obtain a set of R-paths $\mathcal{P}'$ of size at least $2k$ or an R-cut $(\mathcal{B}'', \{X'_S, X'_T\})$ with order at most $2k - 1$ where $|X'_S| + |X'_T| \le 2k - 1$ and $\mathcal{B}'' \ne \emptyset$. We claim that only the first output is possible. By contradiction, assume that the R-cut and the separators were obtained and, without loss of generality, that $|X_S| \le k - 1$. First notice that the upper bound on the order of the R-cut implies that $|\mathcal{B}'' \setminus \mathcal{B}'| \ge c(k - 1) + 1$. Since $|X_S| \le k - 1$ this implies that there is at least one bag $A' \in \mathcal{B}''$ that is disjoint from $X_S$ and not included in R-cut.

Now, set $q = 2(c \cdot k - c + 1)$ and let $\mathcal{P}_1, \dots, \mathcal{P}_q$ be the defining partition of $\mathcal{P}$. That is, for every $i \in [q]$, the part $\mathcal{P}_i$ is a set of $k$ disjoint paths in the $i$-th digraph of $\mathcal{F}$ (this is possible since $|S| = |T| = k$ and hence $\mathcal{P}$ cannot contain more than $k$ disjoint paths in any digraph in $\mathcal{F}$). Thus exactly $q/2$ parts $\mathcal{P}_i$ contain only paths starting in $S$. Now the size of $X_S$ allows it to intersect at most $c(k-1)$ bags of $\mathcal{B}$, and thus for some $\mathcal{P}_i$ no bag in $\mathcal{B}_i = \{A \in \mathcal{B}_S | P \in \mathcal{P}_i \text{ and } \mathbf{s}^+(P) \in A\}$ is intersected by $X'_S$. Since $|X'_S| \le k-1$, there is a $P \in \mathcal{P}_i$ from $S$ to a bag $A \in \mathcal{B}_i$ that is not intersected by $X'_S$. By the choice of $G'_S$ this path also exists in this digraph and, since $\mathbf{s}^+(P) \in A$ and $A \in \mathcal{B}_S$, every edge of $G_S$ leaving every vertex in $A$ is kept in $G'_S$ and thus $G'_S[A]$ is strong. Now, as $\mathcal{B}$ is a bramble, we can construct a path from $S$ to $A'$ (remember that $A' \in \mathcal{B}''$ and $A' \cap X_S = \emptyset$) by following the path $P$ and then taking a path from $\mathbf{s}^+(P)$ to $A'$ in $G'_S[A \cup A']$, which in turn is guaranteed to exist since either $A \cap A' \ne \emptyset$ or there is an edge from $A$ to $A'$ in $G'_S$. This contradicts our assumption that $(\mathcal{B}'', \{X'_S, X'_T\})$ is an R-cut and the claim follows.

Assume now that a set $\mathcal{P}'$ of $2k$ R-paths is obtained. Therefore, there are disjoint paths $\{Q_1^S, \dots, Q_k^S\}$ leaving $S$ and disjoint paths $\{Q'_1, \dots, Q'_k\}$ leaving $T$ in $\mathcal{P}$. By recovering the orientation of the edges of $G'_T$ (we remind the reader that $G_T = G^{\text{rev}}$), we construct paths $\{Q_1^T, \dots, Q_k^T\}$ reaching $T$ in $G$ and, by renaming the paths if needed, we assume that, for $i \in [k]$, each $Q_i^S$ is a path starting in $s_i$ and each $Q_i^T$ is a path ending in $t_i$. Moreover, by condition (1c) in the definition of R-paths (see Definition 20), each $\mathbf{s}^+(Q_i^S)$ is associated with a unique bag $A_i \in \mathcal{B}$ and each $\mathbf{s}^-(Q_i^T)$ is associated with a unique bag $A'_i \in \mathcal{B}$, such that all bags $A_1, \dots, A_k, A'_1, \dots, A'_k$ are distinct. Hence, since $\mathcal{B}$ is a bramble, it follows that for every $i \in [k]$ we can find a shortest path $Q_i$ from $\mathbf{s}^+(Q_i^S)$ to $\mathbf{s}^-(Q_i^T)$ in the strong digraph $G[A_i \cup A'_i]$. Finally, we construct the desired paths $\{P_1, \dots, P_k\}$, such that each $P_i$ with $i \in [k]$ is a path from $s_i$ to $t_i$, by appending $Q_i$ to $Q_i^S$ and then $Q_i^T$ to the resulting path. Notice that this construction may result in a walk instead of a path, but every walk can be easily shortened into a path $P_i$.

We now claim that every vertex of $G$ appears in at most $c$ paths of the collection $\{P_1, \dots, P_k\}$. First, notice that since the paths $\{Q_1^S, \dots, Q_k^S\}$ are disjoint and the paths $\{Q_1^T, \dots, Q_k^T\}$ are disjoint as well, any vertex not appearing in any bag of $\mathcal{B}$ can appear in
at most two paths of {$P_1, \dots, P_k$}. Assume now that $v$ is a vertex appearing in some bag of $\mathcal{B}$. Depending on where $v$ is located in the paths $Q_i^S, Q_i^T$, and $Q_i$, we associate $v$ with a bag of $\mathcal{B}$. Since $\mathcal{B}$ has congestion $c$, this immediately validates the claim and the result follows. We remind the reader of our assumption that $\mathcal{P}$ is $\mathcal{B}$-minimal, and look again at Equation 4. If $v$ is in $V_S$ because $v$ is in path $P \in \mathcal{P}^S \cup \mathcal{P}^T$ and $v \neq \mathbf{s}^+(P)$, then we say that $v$ is a *type 1 vertex*. Otherwise, we say that $v$ is a *type 2 vertex*.

For $i \in [k]$, if $v$ is a internal vertex of some $Q_i^S$, then $v \in V^S$ and is either a type 1 or a type 2 vertex. If $v$ is of type 1, then $v$ is an internal vertex of some path $P \in \mathcal{P}^S$ and $v \neq \mathbf{s}^+(P)$. Since $\mathcal{P}$ is $\mathcal{B}$-minimal, this implies that $v$ is in some destination bag of $\mathcal{B}_S$ and we associate $v$ with this bag. If $v$ is of type 2, then $v$ is not an internal vertex of any path in $\mathcal{P}^S$ and is in some bag of $\mathcal{B}_S$. We associate $v$ with this bag. Since the paths $\{Q_1^S, \dots, Q_k^S\}$ are disjoint, $v$ appears only in one of those paths and thus no other $Q_j^S$ can associate $v$ with another bag of $\mathcal{B}$. The analysis is similar if $v$ is an internal vertex of some $Q_j^T$. Notice that it is possible that $v$ is in both $Q_i^S$ and $Q_j^T$ and, in this case, those two paths associate $v$ with two distinct bags of $\mathcal{B}_S$ and $\mathcal{B}_T$, respectively.

Now let $\mathcal{B}^2 \subseteq \mathcal{B}'$ and let $h' : \mathcal{P} \to \mathcal{B}^2$ be a bijective mapping as in (1c) of Definition 20. If $v$ is a vertex of some $P_i$ from $\mathbf{s}^+(Q_i^S)$ to $\mathbf{s}^-(Q_i^T)$ then we associate $v$ with $h'(Q_i^S)$ if $v \in h'(Q_i^S)$, and we associated $v$ with $h'(Q_i^T)$ if $v \in h'(Q_i^T)$.

Now, for $i, j \in [k]$, every path of the form $Q_i^S, Q_i^T$, or $P_i$ associates each of its vertex inside of the bramble with a unique bag of $\mathcal{B}$, each vertex associated with some bag appears in $V(Q_i^S) \setminus \{\mathbf{s}^+(Q_i^S)\}, V(Q_i^T) \setminus \{\mathbf{s}^-(Q_i^T)\}$, or $V(Q_i)$, no two distinct $Q_i^S, Q_j^T$ associate a vertex $v$ with the same bag, and the same holds with relation to distinct pairs of paths of the form $Q_i, Q_j$ and $Q_i^T, Q_j^T$. We remark that while it is possible that some $v$ appears in both $Q_i^S$ and $Q_j^T$, this does not pose an issue since in this case $v$ is associated with a pair of distinct bags $B \in \mathcal{B}_S$ and $B' \in \mathcal{B}_T$ by $Q_i^S$ and $Q_i^T$, respectively. Since $\mathcal{B}$ has congestion $c$, it follows that every vertex is associated with at most $c$ bags, which implies that every vertex is in at most $c$ paths of $\{P_1, \dots, P_k\}$, and the result follows.

The bound on the running time follows by Theorem 21 and by observing that a set of R-paths can be made $\mathcal{B}$-minimal in time $O(c \cdot k^2 \cdot n^2)$. $\quad$

Next, we discuss how to apply Theorem 33 in the context of the asymmetric version of $(k, c)$-DDP as an improvement over [11, Theorem 9.1].

## 4.1 Application to the asymmetric version of $(k, c)$-DDP

Theorem 33 is a direct translation of Giannopoulou et al. [11, Theorem 9.1] to our setting. As mentioned in the introduction, we can prove a weaker version of Theorem 34 by replacing Theorem 33 by [11, Theorem 9.1]. In comparison with the result by Edwards et al. [9], with this approach we can drop the bound on the strong connectivity of the digraph from $(36k^3 + 2k)$ to $k$, and the trade-off is that in this case we have to rely on the topology of cylindrical grids to connect the paths, instead of a bramble of congestion $c$. Although it is true that every digraph with large directed tree-width contains a large cylindrical grid [15], and that such a grid can be found in FPT time [5], to find a cylindrical grid of order $k$ the directed tree-width of the digraph has to increase much more than it is needed to find a bramble of congestion two (although both dependencies still consist of a non-elementary tower of exponentials). Additionally, we remark that if the goal is to solve the $(k, c)$-DDP problem with $c \ge 8$, then as stated in Theorem 34 a bramble of congestion eight suffices, and a polynomial dependency on how large the directed tree-width of a digraph must be
to guarantee the existence of a large bramble of congestion eight was shown by Masarík et al. [18].

On the other hand, Theorem 33 improves upon [11, Theorem 9.1] in both its statement, since we use brambles instead of cylindrical grids, and in simplicity. Indeed, brambles of bounded congestion seem to be a weaker structure than cylindrical grids, since it is possible to extract such brambles with order $t$ from a cylindrical grid of order at least $2t$ (see [9, Lemma 9]), and the bound on how large the directed tree-width of a digraph has to be to guarantee the existence of such a bramble with size $t$ is, in many cases (see [18] for instance) and as far as we know also in the general case, substantially better than what is needed to find a cylindrical grid with the same order. Additionally, the algorithm to find cylindrical grids runs in FPT time (see [5]) provided that a certificate of large directed tree-width is given and, in contrast, a large bramble of congestion two can be found in polynomial time when such certificates are provided, as stated in Proposition 13. Finally, we only ask the bramble to have order $2k(c \cdot k - c + 2) + c(k-1)$ (which corresponds to $4k^2 + 2k - 2$ when $c = 2$) instead of the requested order $k(6k^2 + 2k + 3)$ for the cylindrical grid in the statement of [11, Theorem 9.1], where the goal is to compute solutions for $(k, 2)$-DDP. Their proof relies on the topology of cylindrical grids to connect the paths inside of this structure, after some careful selection on how to reach it from $S$ and leave it to reach $T$. In our proof of Theorem 33, it is very simple to connect the paths inside the bramble. Indeed, after applying twice the duality between R-paths and R-cuts, for each $i \in [k]$ we simply connect the ending vertex of the path from $s_i$ to the bramble containing the starting vertex of the path from the bramble to $t_i$, using the strong connectivity of the digraph induced by $B \cup B'$, where $B$ is the bag associated with $s_i$ and $B'$ the bag associated with $t_i$.

Their result [11, Theorem 9.1] is one of the cornerstones in their algorithm to solve the asymmetric version of $(k, 2)$-DDP. Recall that, given ordered sets of terminals $\{s_1, \dots, s_k\}$ and $\{t_1, \dots, t_k\}$, the goal in this asymmetric version is to either produce a collection of paths from each $s_i$ to the corresponding $t_i$ such that every vertex is in at most two paths of the collection, or conclude that there is no collection of disjoint $\{s_i\} \to \{t_i\}$ paths. In the first case, we say that we have constructed a *half-integral linkage*. In the second case, we say that we have a *no-instance*. At any point of their dynamic programming algorithm, if one of the subproblems they define deals with an instance in which there is no small separator intersecting all paths from $S$ to the grid or from the grid to $T$, then they apply [11, Theorem 9.1] to find a solution to the instance. If a separator is found, then they generate two easier instances, one of bounded directed tree-width, and one with fewer number of terminals. Intuitively, the same holds true if we substitute [11, Theorem 9.1] by our Theorem 33, and it is not hard to write a formal proof verifying this. We give an informal intuition of why this is the case below.

Let $(G, S, T)$ be an instance of the asymmetric version of $(k, 2)$-DDP, with ordered sets $S, T \subseteq V(G)$ as described in the previous paragraph. The goal is to adapt [11, Theorem 10.1] using Theorem 33. In short, the point is that in the proof of the former result by Giannopoulou et al. [11], the actual topology of the cylindrical grid is not relevant. The important observations are that (i) every digraph not containing a cylindrical grid of order $t$ has directed tree-width bounded by some function of $t$, and (ii) if there are many disjoint paths from $S$ to the cylindrical grid and from the grid to $T$, then an appropriate half-integral linkage can be found in polynomial time. To apply their strategy, we have to show that the following (informal) statement holds.

*"For any choice of $(G, S, T)$ where $G$ is a digraph where no two large brambles of congestion two (whose sizes depend on $g(k, 2)$ as in Theorem 33) are separated by a small separator*
(whose size depends on $k$), then the problem on $(G, S, T)$ can be solved in XP time."

We can assume that $G$ contains a large bramble $\mathcal{B}$ of congestion two, since otherwise we can solve $(G, S, T)$ applying Corollary 14 and Proposition 9. Following the strategy of [11], we apply induction on the size $k$ of $|S|$ and $|T|$, observing that at each step of the induction a subbramble of $G$ with size linear in $k$ is lost and thus at the starting point the requested order for $\mathcal{B}$ is larger than $g(k, 2)$.

We apply Theorem 33 with $c = 2$ and, if no separators are found, we output a solution for $(G, S, T)$. Otherwise one of the separators, say $X_S$ (the other case is symmetric), is obtained. Denote by $G^{\text{left}}$ the digraph induced by $X_S$ plus all vertices that are reachable from $S$ in $G \setminus X_S$, and by $G^{\text{right}}$ the digraph induced by $(V(G) \setminus V(G^{\text{left}})) \cup X_S$. For simplicity, assume that $T \subseteq V(G^{\text{right}}) \setminus V(G^{\text{left}})$. By our assumption that output (1) of Theorem 33 was obtained, $G^{\text{right}}$ contains a large bramble $\mathcal{B}'$ that is separated from $S$ by $X_S$.

Since the goal is to obtain an XP algorithm, we are allowed to guess how a solution can cross the separator $X_S$. That is, we guess the ordered sets

$S' \subseteq V(G^{\text{left}}) \setminus X_S,$

$X^{\text{mid}} \subseteq X_S$, and

$T' \subseteq V(G^{\text{right}}) \setminus X_S,$

and the goal is to solve instances of $(k, 2)$-DDP of the form $(G^{\text{left}}, S', X^{\text{mid}})$ and $(G^{\text{right}}, X^{\text{mid}}, T')$ (we omit some details on the choices of the new instances in order to shorten this informal discussion). A simple enumeration argument suffices to show that the number of instances is bounded by a function depending on $k$.

By our assumption that no two large brambles of congestion two are separated by a small separator, we conclude that $G^{\text{left}}$ cannot contain a large bramble of congestion two and thus the directed tree-width of $G^{\text{left}}$ is bounded by some function of $k$. Thus, we can apply Proposition 8 to solve instances of $k$-DDP in $G^{\text{left}}$. For instances on $G^{\text{right}}$, we apply the induction hypothesis. We remind the reader that our assumption that output 1 of Theorem 33 was obtained implies that $G^{\text{right}}$ contains a large bramble of congestion two. The fact that $|X_S| \le k-1$ immediately implies that $|X^{\text{mid}}| \le k-1$, and it remains to argue that no two large (where the size now depends on $(g(k-1, 2))$ brambles of congestion two in $G^{\text{left}}$ are separated by a small separator (whose size now depends on $k-1$). This can be done by a counting argument as in the proof of [11, Theorem 10.2].

If for some choice of $X^{\text{mid}}$ we obtain a solution $\mathcal{P}^{\text{left}}$ for an instance $(G^{\text{left}}, S', X^{\text{mid}})$ of $k$-DDP and a solution $\mathcal{P}^{\text{right}}$ for the instance $(G^{\text{right}}, X^{\text{mid}}, T')$, then we can glue together both solutions to construct a half-integral solution for $(G, S, T)$. If this is not the case, then we conclude that $(G, S, T)$ is a no-instance.

Therefore, with a new version of [11, Theorem 10.1] it is straightforward to apply it together with the decomposition by Giannopoulou et al. [11] to obtain a new proof of an XP algorithm for the asymmetric version of $(k, 2)$-DDP.

References

1 Saeed Akhoondian Amiri, Stephan Kreutzer, Dániel Marx, and Roman Rabinovich. Routing with congestion in acyclic digraphs. *Information Processing Letters*, 151:105836, 2019. doi: doi.org/10.1016/j.ipl.2019.105836.

2 Saeed Akhoondian Amiri, Stephan Kreutzer, Dániel Marx, and Roman Rabinovich. Routing with congestion in acyclic digraphs. *Information Processing Letters*, 151, 2019. doi:10.1016/j.ipl.2019.105836.

3 Jørgen Bang-Jensen and Gregory Gutin. *Classes of Directed Graphs*. Springer Monographs in Mathematics, 2018. doi:10.1007/978-3-319-71840-8.
4 Adrian Bondy and U.S.R. Murty. *Graph Theory*. Springer-Verlag London, 2008.

5 Victor Campos, Raul Lopes, Ana Karolinna Maia, and Ignasi Sau. Adapting the Directed Grid Theorem into an FPT Algorithm. *SIAM Journal on Discrete Mathematics*, 36(3):1887–1917, 2022. doi:10.1137/21M1452664.

6 Marek Cygan, Fedor V. Fomin, Lukasz Kowalik, Daniel Lokshtanov, and Dániel Marx. *Parameterized Algorithms*. Springer, 2015.

7 Matthias Dehmer and Frank Emmert-Streib. *Quantitative Graph Theory: Mathematical Foundations and Applications*. Discrete Mathematics and its Applications. Chapman and Hall/CRC, 2014.

8 Rodney G. Downey and Michael R. Fellows. *Fundamentals of Parameterized Complexity*. Texts in Computer Science. Springer, 2013.

9 Katherine Edwards, Irene Muzi, and Paul Wollan. Half-Integral Linkages in Highly Connected Directed Graphs. In *Proc. of the 25th Annual European Symposium on Algorithms (ESA)*, volume 87 of LIPIcs, pages 36:1–36:12, 2017. Full version available in https://arxiv.org/abs/1611.01004. doi:10.4230/LIPIcs.ESA.2017.36.

10 Steven Fortune, John E. Hopcroft, and James Wyllie. The directed subgraph homeomorphism problem. *Theoretical Computer Science*, 10:111–121, 1980. doi:10.1016/0304-3975(80)90009-2.

11 Archontia C. Giannopoulou, Ken-ichi Kawarabayashi, Stephan Kreutzer, and O-joung Kwon. The canonical directed tree decomposition and its applications to the directed disjoint paths problem, 2020. This article is the full version of reference [12]. arXiv:2009.13184.

12 Archontia C. Giannopoulou, Ken-ichi Kawarabayashi, Stephan Kreutzer, and O-joung Kwon. Directed tangle tree-decompositions and applications. In *Proc. of the 2022 ACM-SIAM Symposium on Discrete Algorithms (SODA)*, pages 377–405, 2022. The full version of this article is reference [11]. doi:10.1137/1.9781611977073.19.

13 Thor Johnson, Neil Robertson, Paul Seymour, and Robin Thomas. Directed tree-width. *Journal of Combinatorial Theory, Series B*, 82(01):138–154, 2001. doi:10.1006/jctb.2000.2031.

14 Ken-ichi Kawarabayashi, Yusuke Kobayashi, and Stephan Kreutzer. An excluded half-integral grid theorem for digraphs and the directed disjoint paths problem. In *Proc. of the 46th Annual ACM on Symposium on Theory of Computing (STOC)*, pages 70–78, 2014. doi:10.1145/2591796.2591876.

15 Ken-ichi Kawarabayashi and Stephan Kreutzer. The Directed Grid Theorem. In *Proc. of the 47th Annual ACM on Symposium on Theory of Computing (STOC)*, pages 655–664. ACM, 2015. doi:10.1145/2746539.2746586.

16 Dénes Kőnig. Gráfok és mátrixok. *Matematikai és Fizikai Lapok*, 38:116–119, 1931.

17 Raul Lopes and Ignasi Sau. A relaxation of the Directed Disjoint Paths problem: A global congestion metric helps. *Theoretical Computer Science*, 898:75–91, 2022. doi:10.1016/j.tcs.2021.10.023.

18 Tomás Masarík, Marcin Pilipczuk, Pawel Rzazewski, and Manuel Sorge. Constant congestion brambles in directed graphs. *SIAM Journal on Discrete Mathematics*, 36(2):922–938, 2022. doi:10.1137/21m1417661.

19 Karl Menger. Zur allgemeinen kurventheorie. *Fundamenta Mathematicae*, 10(1):96–115, 1927. URL: http://eudml.org/doc/211191.

20 Oystein Ore. Graphs and matching theorems. *Duke Mathematical Journal*, 22(4):625–639, 1955.

21 James G. Oxley. *Matroid theory*. Oxford University Press, USA, 2011.

22 Alexander Schrijver. *Combinatorial Optimization*. Algorithms and Combinatorics. Springer Berlin, Heidelberg, 2002.

23 Aleksandrs Slivkins. Parameterized tractability of edge-disjoint paths on directed acyclic graphs. *SIAM Journal on Discrete Mathematics*, 24(1):146–157, 2010. doi:10.1137/070697781.

24 Carsten Thomassen. Highly connected non-2-linked digraphs. *Combinatorica*, 11(4):393–395, 1991. doi:10.1007/BF01275674.