1 Introduction

All graphs in this paper are undirected, do not have loops but they may contain multiple edges. We denote by \(\theta _{r}\) the graph containing two vertices x and y connected by r parallel edges between x and y. Given a graph class \(\mathcal{C}\) and a graph G, we call \(\mathcal{C}\)-subgraph of G any subgraph of G that is isomorphic to some graph in \(\mathcal{C}\). All along this paper, when giving the running time of an algorithm with input some graph G, we agree that \(n=|V(G)|\) and \(m=|E(G)|\).

Packings and Coverings Paul Erdős and Lajos Pósa, proved in 1965 [12] that there is a function \(f:\mathbb {N}\rightarrow \mathbb {N}\) such that for each positive integer k, every graph either contains k vertex-disjoint cycles or it contains f(k) vertices that intersect every cycle in G. Moreover, they proved that the “gap” of this min-max relation is \(f(k) = O(k\cdot \log k)\) and that this gap is optimal. This result initiated an interesting line of research on the duality between coverings and packings of combinatorial objects. To formulate this duality, given a class \(\mathcal{C}\) of connected graphs, we define \(\mathsf{v}\hbox {-}\mathsf{cover}_\mathcal{C}(G)\) (resp. \(\mathsf{e}\hbox {-}\mathsf{cover}_\mathcal{C}(G)\)) as the minimum cardinality of a set S of vertices (resp. edges) such that each \(\mathcal{C}\)-subgraph of G contains some element of S. Also, we define \(\mathsf{v}\hbox {-}\mathsf{pack}_\mathcal{C}(G)\) (resp. \(\mathsf{e}\hbox {-}\mathsf{pack}_\mathcal{C}(G)\)) as the maximum number of vertex- (resp. edge-) disjoint \(\mathcal{C}\)-subgraphs of G.

We say that \(\mathcal{C}\) has the vertex Erdős–Pósa property (resp. the edge Erdős–Pósa property) if there is a function \(f:\mathbb {N}\rightarrow \mathbb {N}\), called gap function, such that, for every graph G, \(\mathsf{v}\hbox {-}\mathsf{cover}_\mathcal{C}(G)\le f(\mathsf{v}\hbox {-}\mathsf{pack}_\mathcal{C}(G))\) (resp. \(\mathsf{e}\hbox {-}\mathsf{cover}_\mathcal{C}(G)\le f(\mathsf{e}\hbox {-}\mathsf{pack}_\mathcal{C}(G))\)). Using this terminology, the original result of Erdős and Pósa says that the set of all cycles has the vertex Erdős–Pósa property with gap \(O(k\cdot \log k)\). The general question in this branch of Graph Theory is to detect instantiations of \(\mathcal{C}\) which have the vertex/edge Erdős–Pósa property (in short, v/e-EP-property) and when this is the case, minimize the gap function f. Several theorems of this type have been proved concerning different instantiations of \(\mathcal{C}\) such as odd cycles [24, 30], long cycles [2], and graphs containing cliques as minors [10] (see also [18, 22, 34] for results on more general combinatorial structures and [32, 33] for surveys).

A general class that is known to have the v-EP-property is the class \(\mathcal{C}_{H}\) of the graphs that contain some fixed planar graph H as a minor.Footnote 1 This fact was proven by Robertson and Seymour in [35] and the best known general gap is \(f(k)=O(k\cdot \log ^{O(1)}k)\) due to the results of [8]—see also [14, 15, 17] for better gaps for particular instantiations of H. Moreover, the planarity of H appears to be the right dichotomy, as for non-planar H’s, \(\mathcal{C}_{H}\) does not satisfy the v-EP-property. Besides the near-optimality of the general upper bound of [8], it is open whether the lower bound \(\varOmega (k\cdot \log k)\) can be matched for the general gap function, while this is indeed the case when \(H=\theta _{r}\) [14].

The question about classes that have the e-EP-property has also attracted some attention (see [2]). According to  [9, Exercise 23 of Chapter 7], the original proof of Erdős and Pósa implies that cycles have the e-EP-property with gap \(O(k\cdot \log k)\). Moreover, as proved in [31], the class \(\mathcal{C}_{\theta _{r}}\) has the e-EP-property with the (non-optimal) gap \(f(k)=O(k^2\cdot \log ^{O(1)} k)\). Interestingly, not much more is known on the graphs H for which \(\mathcal{C}_{H}\) has the e-EP-property and is tempting to conjecture that the planarity of H provides again the right dichotomy. Other graph classes that are known to have the e-EP-property are rooted cycles [29] (here the cycles to be covered and packed are required to intersect some particular set of terminals of G) and odd cycles for the case where G is a 4-edge connected graph [23], a planar graph [26], or a graph embeddable in an orientable surface [24].

Approximation Algorithms The above defined four graph parameters are already quite general when \(\mathcal{C}{:}{=}\mathcal{C}_{H}\). From the algorithmic point of view, the computation of \(\mathsf{x}\hbox {-}\mathsf{pack}_{\mathcal{C}_H}\) (for \(\mathsf{x}\in \{ \mathsf{v}, \mathsf{e}\}\)) corresponds to the general family of graph packing problems, while the computation of \(\mathsf{x}\hbox {-}\mathsf{cover}_{\mathcal{C}_H}\) belongs to the general family of graph modification problems where the modification operation is the removal of vertices/edges (depending on whether \(\mathsf{x}= \mathsf{v}\) or \(\mathsf{x}= \mathsf{e}\)). Interestingly, particular instantiations of \(H=\theta _{r}\) generate known, well studied, NP-hard problems. For instance, asking whether \(\mathsf{v}\hbox {-}\mathsf{cover}_{\mathcal{C}_{\theta _{r}}}\le k\) generates Vertex Cover for \(r=1\), Feedback Vertex Set for \(r=2\), and Diamond Hitting Set for \(r=3\) [13, 16]. Moreover, asking whether \(\mathsf{x}\hbox {-}\mathsf{pack}_{\mathcal{C}_{\theta _{2}}}(G)\ge k\) corresponds to Vertex Cycle Packing [5, 25] and Edge Cycle Packing [6, 27] when \(\mathsf{x}=\mathsf{v}\) and \(\mathsf{x}=\mathsf{e}\), respectively. Finally, asking whether \(|E(G)|-\mathsf{e}\hbox {-}\mathsf{cover}_{\mathcal{C}_{\theta _{3}}}(G)\le k\) corresponds to the Maximum Cactus Subgraph.Footnote 2 All parameters keep being NP-complete to compute because the aforementioned base cases can be reduced to the general one by replacing each edge by one of multiplicity \(r-1\).

From the approximation point of view, it was proven in [16] that, when H is a planar graph, there is a randomized polynomial O(1)-approximation algorithm for \(\mathsf{v}\hbox {-}\mathsf{cover}_{{H}}\). For the cases of \(\mathsf{v}\hbox {-}\mathsf{cover}_{\mathcal{C}_{\theta _{r}}}\) and \(\mathsf{v}\hbox {-}\mathsf{pack}_{\mathcal{C}_{\theta _{r}}}\), \(O(\log n)\)-approximations are known for every \(r\ge 1\) because of [21] (see also [36]). Moreover, \(\mathsf{v}\hbox {-}\mathsf{cover}_{\mathcal{C}_{\theta _{r}}}\) admits a deterministic 9-approximation [13]. Also, about \(\mathsf{e}\hbox {-}\mathsf{pack}_{\mathcal{C}_{\theta _{r}}}(G)\) it is known, from [28], that there is a polynomial \(O(\sqrt{\log n})\)-approximation algorithm for the case where \(r=2\). Notice also that for \(r=1\), it is trivial to compute \(\mathsf{e}\hbox {-}\mathsf{cover}_{\mathcal{C}_{\theta _{r}}}(G)\) in polynomial time. However, to our knowledge, nothing is known about the computation of \(\mathsf{e}\hbox {-}\mathsf{cover}_{\mathcal{C}_{\theta _{r}}}(G)\) for \(r\ge 3\).

Our Results In this paper we introduce a unified approach for the study of the combinatorial interconnections and the approximability of the parameters \(\mathsf{v}\hbox {-}\mathsf{cover}_{\mathcal{C}_{\theta _{r}}}\), \(\mathsf{e}\hbox {-}\mathsf{cover}_{\mathcal{C}_{\theta _{r}}}\), \(\mathsf{v}\hbox {-}\mathsf{pack}_{\mathcal{C}_{\theta _{r}}}\), and \(\mathsf{e}\hbox {-}\mathsf{pack}_{\mathcal{C}_{\theta _{r}}}\). Our main combinatorial result is the following.

Theorem 1

For every \(r\in \mathbb {N}_{\ge 2}\) and every \(\mathsf{x}\in \{\mathsf{v},\mathsf{e}\}\) the graph class \(\mathcal{C}_{\theta _{r}}\) has the x-EP-property with (optimal) gap function \(f(k)=O(k\cdot \log k)\).

Our proof is unified and treats simultaneously the covering and the packing parameters for both the vertex and the edge cases. This verifies the optimal combinatorial bound for the case where \(\mathsf{x}=\mathsf{v}\) [14] and optimally improves the previous bound in [31] for the case where \(\mathsf{x}=\mathsf{e}\). Based on the proof of Theorem 1, we prove the following algorithmic result.

Theorem 2

For every \(r\in \mathbb {N}_{\ge 2}\) and every \(\mathsf{x}\in \{\mathsf{v},\mathsf{e}\}\), there is an algorithm that, given a graph G, outputs an \(O(\log \mathrm{OPT})\)-approximation of \(\mathsf{x}\hbox {-}\mathsf{cover}_{\mathcal{C}_{\theta _{r}}}(G)\) and \(\mathsf{x}\hbox {-}\mathsf{pack}_{\mathcal{C}_{\theta _{r}}}(G)\) in \(O(n\cdot \log (n)\cdot m)\) steps when \(\mathsf{x}= \mathsf{v}\) and in \(O(m^2 \log n)\) steps when \(\mathsf{x}= \mathsf{e}\).

Theorem 2 improves the results in [21] for the cases of \(\mathsf{v}\hbox {-}\mathsf{cover}_{\mathcal{C}_{\theta _{r}}}\) and \(\mathsf{v}\hbox {-}\mathsf{pack}_{\mathcal{C}_{\theta _{r}}}\) and, to our knowledge, is the first approximation algorithm for \(\mathsf{e}\hbox {-}\mathsf{cover}_{\mathcal{C}_{\theta _{r}}}\) and \(\mathsf{e}\hbox {-}\mathsf{pack}_{\mathcal{C}_{\theta _{r}}}\) for \(r\ge 3\). We were also able to derive the following Erdős–Pósa-type result with linear gap on graphs of bounded tree-partition width (the definition of this width parameter is given in Sect. 2.2).

Theorem 3

Let \(t \in \mathbb {N}\). For every \(\mathsf{x}\in \{\mathsf{v},\mathsf{e}\}\), the following holds: if \(\mathcal{H}\) is a finite collection of connected graphs and G is a graph of tree-partition width at most t, then \(\mathsf{x}\)-cover \(_\mathcal{H}(G)\le \alpha \cdot \mathsf{x}\)-pack \(_\mathcal{H}(G)\), where \(\alpha \) is a constant which depends only on t and \(\mathcal {H}\).

Let \(\theta _{r,r'}\) (for some \(r,r'\in \mathbb {N}_{\ge 1}\)) denote the graph obtained by taking the disjoint union of \(\theta _{r}\) and \(\theta _{r'}\) and identifying one vertex of \(\theta _{r}\) with one of \(\theta _{r'}\). Another consequence of our results is that, for every \(r,r' \in \mathbb {N}_{\ge 1}\), the class \(\mathcal{C}_{\theta _{r,r'}}\) has the edge Erdős–Pósa property.

Theorem 4

For every \(r,r' \in \mathbb {N}\), there is a function \({f}_{1}^{r,r'} :\mathbb {N}_{\ge 1}\rightarrow \mathbb {N}_{\ge 1}\) such that for every simple graph G where \(k=\mathsf{e}\hbox {-}\mathsf{pack}_{\mathcal{C}_{\theta _{r,r'}}}(G)\), it holds that \(\mathsf{e}\hbox {-}\mathsf{cover}_{\mathcal{C}_{\theta _{r,r'}}}(G)\le {f}_{1}^{r,r'}(k)\).

Our Techniques Our proofs are based on the notion of partitioned protrusion that, roughly, is a tree-structured subgraph of G with small boundary to the rest of G (see Sect. 2.2 for the precise definition). Partitioned protrusions were essentially introduced in [7] by the name edge-protrusions and can be seen as the edge-analogue of the notion of protrusions introduced in [4] (see also [3]). Our approach makes strong use of the main result of [7], that is equivalently stated as Proposition 1 in this paper. According to this result, there exists a polynomial algorithm that, given a graph G and an integer k as an input, outputs one of the following: (1) a collection of k edge/vertex disjoint \(\mathcal{C}_{\theta _{r}}\)-subgraphs of G, (2) a \(\mathcal{C}_{\theta _{r}}\)-subgraph J with \(O(\log k)\) edges, or (3) a large partitioned protrusion of G.

Our approximation algorithm does the following for each \(k\le |V(G)|\). If the first case of the above combinatorial result applies on G, we can safely output a packing of k \(\mathcal{C}_{\theta _{r}}\)-subgraphs in G. In the second case, we make some progress as we may remove the vertices/edges of J from G and then set \(k{:}{=}k-1\). In order to deal with the third case, we prove that in a graph G with a sufficiently large partitioned protrusion, we can either find some \(\mathcal{C}_{\theta _{r}}\)-subgraph with \(O(\log k)\) edges (which is the same as in the second case), or we can replace it by a smaller graph where both \(\mathsf{x}\hbox {-}\mathsf{cover}_\mathcal{H}\) and \(\mathsf{x}\hbox {-}\mathsf{pack}_\mathcal{H}\) remain invariant (Lemma 1). The proof that such a reduction is possible is given in Sect. 3 and is based on a suitable dynamic programming encoding of partial packings and coverings that is designed to work on partitioned protrusions.

Notice that the “essential step” in the above procedure is the second case that reduces the packing number of the current graph by 1 to the price of reducing the covering number by \(O(\log k)\). This is the main argument that supports the claimed \(O(\log \mathrm{OPT})\)-approximation algorithm (Theorem 2) and the corresponding Erdős–Pósa relations in Theorem 1. Finally, Theorem 3 is a combinatorial implication of Lemma 1 and Theorem 4 follows by combining Theorem 3 with the results of Ding and Oporowski in [11].

Organization of the Paper In Sect. 2 we provide all concepts and notation that we use in our proofs. Section 3 contains the proof of Lemma 1, which is the main technical part of the paper. The presentation and analysis of our approximation algorithm is done in Sect. 4, where Theorem 1 and Theorem 2 are proven. Section 5 contains the proofs of Theorem 3 and Theorem 4. Finally, we summarize our results and provide several directions for further research in Sect. 6.

2 Preliminaries

2.1 Basic Definitions

Let \(\mathbf{t}=(x_{1},\ldots ,x_{l})\in \mathbb {N}^{l}\) and \(\chi ,\psi : \mathbb {N}\rightarrow \mathbb {N}\). We say that \(\chi (n)=O_{\mathbf{t}}(\psi (n))\) if there exists a computable function \(\phi :\mathbb {N}^{l} \rightarrow \mathbb {N}\) such that \(\chi (n)=O( \phi (\mathbf{t})\cdot \psi (n))\). For every \(i,j\in \mathbb {N}\), we denote by \(\llbracket i, j \rrbracket \) the interval of \(\{i, \dots , j\}\).

Graphs All graphs in this paper are undirected, loopless, and may have multiple edges. For this reason, a graph G is represented by a pair (VE) where V is its vertex set, denoted by V(G) and E is its edge multi-set, denoted by E(G). The edge-multiplicity of an edge of G is the number of times it appears in E(G). We set \(n(G)=|V(G)|\) and \(m(G)=|E(G)|\). If \(\mathcal{H}\) is a finite collection of connected graphs, we set \(n(\mathcal{H})=\sum _{H\in \mathcal{H}} n(H)\), \(m(\mathcal{H})=\sum _{H\in \mathcal{H}} m(H)\), and \(\pmb {\pmb {\cup }}\mathcal{H} = \bigcup _{G \in \mathcal{H}}G\). The degree of a vertex is the number of vertices adjacent to it. We denote by \(\delta (G)\) the minimum degree of G.

Let \(\mathsf{x}\in \{\mathsf{v}, \mathsf{e}\}\) where, in the rest of this paper, v will be interpreted as “vertex” and e will be interpreted as “edge”. Given a graph G, we denote by \({A}_\mathsf{x}(G)\) the set of vertices or edges of G depending on whether \(\mathsf{x}=\mathsf{v}\) or \(\mathsf{x}=\mathsf{e}\), respectively.

Given a graph H and a graph J that are both subgraphs of the same graph G, we define the subgraph \(H\cap _{G} J\) of G as the graph \((V(H)\cap V(J),E(H)\cap E(J))\).

Given a graph G and a set \(S\subseteq V(G)\), such that all vertices of S have degree 2 in G, we define \(\mathsf{diss}(G,S)\) as the graph obtained from G after we dissolve in it all vertices in S, i.e., replace each maximal path whose internal vertices are in S with an edge whose endpoints are the endpoints of the path.

A rooted tree is a pair (Ts) where T is a tree and \(s \in V(T)\) is a distinguished vertex called the root of T. If \(v\in V(T)\), a vertex \(u \in V(T)\) is a descendant of v in (Ts) if v lies on the (unique) path from u to s. Note that v is a descendant of itself. We denote by \(\mathsf{children}_{(T,s)}(v)\) the set of children of v, which are the vertices that are both neighbors and descendants of v.

Given a graph G and an edge \(e=(u,v)\in E(G)\), the subdivision of e is defined as the operation of removing e and adding a new vertex w and the edges (wu) and (wv). A graph H is called a subdivision of G, if it can be obtained by performing a series of subdivisions in G.

Minors and Topological Minors Given two graphs G and H, we say that H is a minor of G if there exits some function \(\phi : V(H)\rightarrow 2^{V(G)}\) such that

  • for every \(v\in V(H)\), \(G[\phi (v)]\) is connected;

  • for every two distinct \(v,u\in V(H)\), \(\phi (v)\cap \phi (u)=\emptyset \); and

  • for every edge \(e=\{v,u\}\in E(H)\) of multiplicity l, there are at least l edges in G with one endpoint in \(\phi (v)\) and the other in \(\phi (u)\).

We say that H is a topological minor of G if there exits some collection \(\mathcal{P}\) of paths in G and an injection \(\phi : V(H)\rightarrow V(G)\) such that

  • no path in \(\mathcal{P}\) has an internal vertex that belongs to some other path in \(\mathcal{P}\);

  • \(\phi (V(H))\) is the set of endpoints of the paths in \(\mathcal{P}\); and

  • for every two distinct \(v,u\in V(H)\), \(\{v,u\}\) is an edge of H of multiplicity l if and only if there are l paths in \(\mathcal{P}\) between \(\phi (v)\) and \(\phi (u)\).

Given a graph H, we define by \(\mathsf{ex}(H)\) the set of all topologically-minor minimal graphs that contain H as a minor. Notice that the size of \(\mathsf{ex}(H)\) is upper-bounded by some function of m(H) and that H is a minor of G if it contains a member of \(\mathsf{ex}(H)\) as a topological minor. An H-minor model of G is any minimal subgraph of G that contains a member of \(\mathsf{ex}(H)\) as a topological minor.

Subdivisions The subdivision of an edge \(\{u,v\}\) of a graph is the operation that introduces a new vertex w to the graph adjacent to u and v and deletes the edge. A graph G is a subdivision of H if it can be obtained from H by repeteadly subdividing edges. If G is a graph and \(\mathcal{H}\) is a finite collection of connected graphs, an \(\mathcal{H}\)-subdivision of G is a subgraph M of G that is a subdivision of a graph, denoted by \(\hat{M}\), that is isomorphic to a member of \(\mathcal{H}\). Clearly, the vertices of \(\hat{M}\) are vertices of G and its edges correspond to paths in G between their endpoints such that internal vertices of a path do not appear in any other path. We refer to the vertices of \(\hat{M}\) in G as the branch vertices of the \(\mathcal{H}\)-subdivision M, whereas internal vertices of the paths between branch vertices will be called subdivision vertices of M. Note that we are here dealing with what is sometimes called a topological minor model. A graph which contains no \(\mathcal {H}\)-subdivision is said to be \(\mathcal {H}\)-free. Notice that G has an \(\mathcal{H}\)-subdivision iff G contains a graph of \(\mathcal {H}\) as a topological minor.

Packings and Coverings An \(\mathsf{x}\)-\(\mathcal{H}\)-packing of size k of a graph G is a collection \(\mathcal{P}\) of k pairwise \(\mathsf{x}\)-disjoint \(\mathcal{H}\)-subdivisions of G. Given an \(\mathsf{x}\in \{\mathsf{v}, \mathsf{e}\}\), we define \({{\mathrm{\mathbf{P}}}}_{\mathsf{x},\mathcal{H}}^{\ge k}(G)\) as the set of all x-\(\mathcal{H}\)-packings of G of size at least k. An \(\mathsf{x}\)-\(\mathcal{H}\)-covering of a graph G is a set \(C\subseteq {A}_\mathsf{x}(G)\) such that \(G{\setminus } C\) does not contain any \(\mathcal{H}\)-subdivision. We define \({{\mathrm{\mathbf{C}}}}_{\mathsf{x},\mathcal{H}}^{\le k}(G)\) as the set of all x-\(\mathcal{H}\)-coverings of G of size at most k. We finally define

$$\begin{aligned} \mathsf{x}\hbox {-}\mathsf{cover}_\mathcal{H}(G)=\min \left\{ k\mid {{\mathrm{\mathbf{C}}}}_{\mathsf{x},\mathcal{H}}^{\le k}(G)\ne \emptyset \right\} \end{aligned}$$

and

$$\begin{aligned} \mathsf{x}{-\mathsf{pack}}_\mathcal{H}(G)=\max \left\{ k\mid {{\mathrm{\mathbf{P}}}}_{\mathsf{x},\mathcal{H}}^{\ge k}(G)\ne \emptyset \right\} . \end{aligned}$$

These numbers are well-defined: G always has a packing of size 0 (the empty packing) and a covering of size \(|{A}_\mathsf{x}(G)|\) (which contains all vertices/edges of G). It is easy to observe that, for every graph G and every finite collection of connected graphs \(\mathcal{H}\), the following inequalities hold:

$$\begin{aligned} \mathsf{v}{-\mathsf{cover}}_\mathcal{H}(G)\le \mathsf{e}{-\mathsf{cover}}_\mathcal{H}(G),&\mathsf{v}{-\mathsf{pack}}_\mathcal{H}(G)\le \mathsf{e}{-\mathsf{pack}}_\mathcal{H}(G),\\ \mathsf{v}{-\mathsf{pack}}_\mathcal{H}(G)\le \mathsf{v}{-\mathsf{cover}}_\mathcal{H}(G),&\mathsf{e}{-\mathsf{pack}}_\mathcal{H}(G)\le \mathsf{e}{-\mathsf{cover}}_\mathcal{H}(G). \end{aligned}$$

Notice that the definition of these invariants differs from that given in the introduction.

2.2 Boundaried Graphs

Informally, a boundaried graph will be used to represent a graph that has been obtained by “dissecting” a larger graph along some of its edges, where the boundary vertices correspond to edges that have been cut.

Boundaried Graphs A boundaried graph \(\mathbf{G}=(G,B,\lambda )\) is a triple consisting of a graph G, where B is a set of vertices of degree one (called boundary) and \({\lambda }\) is a bijection from B to a subset of \(\mathbb {N}_{\ge 1}\). The edges with at least one endpoint in B are called boundary edges. We define \(E^\mathsf{s}(G)\) as the subset of E(G) of boundary edges. We stress that instead of \(\mathbb {N}_{\ge 1}\) we could choose any other set of symbols to label the vertices of B. We denote the set of labels of \(\mathbf{G}\) by \(\varLambda (\mathbf{G})=\lambda (B)\). Given a finite collection of connected graphs \(\mathcal{H}\), we say that a boundaried graph \(\mathbf{G}\) is \(\mathcal{H}\)-free if \(G{\setminus } B\) is \(\mathcal{H}\)-free.

Two boundaried graphs \(\mathbf{G}_1\) and \(\mathbf{G}_2\) are compatible if \(\varLambda (\mathbf{G}_{1})=\varLambda (\mathbf{G}_{2})\). Let now \(\mathbf{G}_1=(G_{1},B_{1},\lambda _{1})\) and \(\mathbf{G}_2=(G_{2},B_{2},\lambda _{2})\) be two compatible boundaried graphs. We define the graph \(\mathbf{G}_1 {\oplus } \mathbf{G}_2\) as the non-boundaried graph obtained by first taking the disjoint union of \(G_{1}\) and \(G_{2}\), then, for every \(i\in \varLambda (\mathbf{G}_{1}),\) identifying \(\lambda _{1}^{-1}(i)\) with \(\lambda _{2}^{-1}(i)\), and finally dissolving all resulting identified vertices. Suppose that e is an edge of \(G=\mathbf{G}_1 {\oplus } \mathbf{G}_2\) that was created after dissolving the vertex resulting from the identification of a vertex \(v_{1}\) in \(B_1\) and a vertex \(v_{2}\) in \(B_2\) and that \(e_{i}\) is the boundary edge of \(G_{i}\) that has \(v_{i}\) as endpoint, for \(i=1,2\).

Figure 1 shows the result of the operation \(\oplus \) on two graphs. Boundaries are drawn in gray and their labels are written next to them. The graphs \(\mathbf{G}_1\) and \(\mathbf{G}_2\) on this picture are compatible as \(\varLambda (\mathbf{G}_1) = \varLambda (\mathbf{G}_2) = \{0,1,2,3\}\).

Fig. 1
figure 1

Gluing graphs together: \(G =\mathbf{G}_1 \oplus \mathbf{G}_2\)

For every \(t \in \mathbb {N}_{\ge 1}\), we denote by \(\mathcal{B}_{t}\) all boundaried graphs whose boundary is labeled by numbers in \(\llbracket 1, t \rrbracket \). Given a boundaried graph \(\mathbf{G}=(G,B,\lambda )\) and a subset S of V(G) such that all vertices in S have degree 2 in G, we define \(\mathsf{diss}(\mathbf{G},S)\) as the graph \(\hat{\mathbf{G}}=(\hat{G},B,\lambda )\) where \(\hat{G}=\mathsf{diss}(G,S)\).

Let W be a graph and S be a non-empty subset of V(W). An S-splitting of W is a pair \((\mathbf{G}_{S},\mathbf{G}_{S^\mathsf{c}})\) consisting of two boundaried graphs \(\mathbf{G}_{S}=(G_{S},B_{S},\lambda _{S})\) and \(\mathbf{G}_{S^\mathsf{c}}=(G_{S^\mathsf{c}},B_{S^\mathsf{c}},\lambda _{S^\mathsf{c}})\) that can be obtained as follows: First, let \(W^+\) be the graph obtained by subdividing in W every edge with one endpoint in S and the other in \(V(W) {\setminus } S\) and let B be the set of created vertices. Let \(\lambda \) be any bijection from B to a subset of \(\mathbb {N}_{\ge 1}\). Then \(G_S = W^+[S \cup B]\), \(G_{S^\mathsf{c}} = W^+ {\setminus } S\), \(B_S = B_{S^\mathsf{c}} = B\), and \(\lambda _S = \lambda _{S^\mathsf{c}} = \lambda \). Notice that there are infinite such pairs, depending on the numbers that will be assigned to the boundaries of \(\mathbf{G}_{S}\) and \(\mathbf{G}_{S^\mathsf{c}}\). Moreover, keep in mind that all the boundary edges of \(G_{S}\) are non-loop edges with exactly one endpoint in B and the same holds for the boundary edges of \(G_{S^\mathsf{c}}\). An example of a splitting is given in Fig. 2, where boundaries are depicted by gray vertices.

Fig. 2
figure 2

Cutting a graph: \((\mathbf{G}_{S}, \mathbf{G}_{S^\mathsf{c}})\) is an S-splitting of W, where S consists of all the white vertices

We say that \(\mathbf{G}'=(G',B',\lambda ')\) is a boundaried subgraph of \(\mathbf{G}=(G,B,\lambda )\) if \(G'\) is a subgraph of G, \(B' \subseteq B \cap V(G')\) and \(\lambda ' = \lambda _{|B'}\). On the other hand, \(\mathbf{G}\) is a subgraph of a (non-boundaried) graph H if \(\mathbf{G} = \mathbf{H}_S\) for some S-splitting \((\mathbf{H}_S, \mathbf{H}_{S^\mathsf{c}})\), where \(S\subseteq V(H)\).

If H is a graph, G is a subgraph of H, and \(\mathbf{F} = (F,B,\lambda )\) is a boundaried subgraph of H, we define \(G \cap _H \mathbf{F}\) as follows. Let \(S = V(G) \cap (V(F) {\setminus } B)\) and let \(G^+\) be the graph obtained by subdividing once every edge of G that has one endpoint in S and the other in \(V(G) {\setminus } S\). We call \(B'\) the set of created vertices and let \(G' = G^+[S \cup B']\). Then \(G'\) is a subgraph of F where \(B' \subseteq B\). For every \(v \in B'\), we set \(\lambda '(v) = \lambda (v)\), which is allowed according to the previous remark. Then \(G \cap _H \mathbf{F} = (G', B', \lambda ')\). Observe that \(G \cap _H \mathbf{F}\) is part of an S-splitting of G (but not necessarily of H).

Given two boundaried graphs \(\mathbf{G}'=(G',B',\lambda ')\) and \(\mathbf{G}=(G,B,\lambda )\), we say that they are isomorphic if there is an isomorphism from \(G'\) to G that respects the labelings of B and \(B'\), i.e., maps every vertex \(x\in B'\) to \(\lambda ^{-1}(\lambda '(x))\in B\). Given a boundaried graph \(\mathbf{G}=(G,B,\lambda )\), we denote \(n(\mathbf{G})=n(G)-|B|\) and \(m(\mathbf{G})=m(G)\).

Given a boundaried graph \(\mathbf{G}=(G,B,\lambda )\) and an \(\mathsf{x}\in \{\mathsf{v},\mathsf{e}\}\), we set \(A_\mathsf{x}(\mathbf{G})=V(G){\setminus } B\) or \(A_\mathsf{x}(\mathbf{G})=E(G)\), depending on whether \(\mathsf{x}=\mathsf{v}\) or \(\mathsf{x}=\mathsf{e}\).

Partial Structures Let \(\mathcal H\) be a family of graphs. A boundaried subgraph \(\mathbf J\) of a boundaried graph \(\mathbf G\) is a partial \(\mathcal {H}\)-subdivision if there is a boundaried graph \(\mathbf H\) which is compatible with \(\mathbf G\) and a boundaried subgraph \(\mathbf{J}'\) of \(\mathbf H\) which is compatible with \(\mathbf J\) such that \(\mathbf{J} \oplus \mathbf{J}'\) is an \(\mathcal {H}\)-subdivision of \(\mathbf{G} \oplus \mathbf{H}\). Intuitively, this means that \(\mathbf J\) can be extended into an \(\mathcal H\)-subdivision in some larger graph. In this case, the \(\mathcal {H}\)-subdivision \(\mathbf{J} \oplus \mathbf{J}'\) is said to be an extension of \(\mathbf J\).

Similarly, for every \(p \in \mathbb {N}_{\ge 1}\), a collection of boundaried subgraphs \(\mathcal {J} = \{\mathbf{J}_1, \dots , \mathbf{J}_p\}\) of a graph \(\mathbf G\) is a partial \(\mathsf{x}\)-\(\mathcal {H}\)-packing if there is a boundaried graph \(\mathbf H\) which is compatible with \(\mathbf G\) and a collection of boundaried subgraphs \(\{\mathbf{J}_1', \dots , \mathbf{J}_p'\}\) of \(\mathbf H\) such that \(\{\mathbf{J}_1 \oplus \mathbf{J}_1', \dots , \mathbf{J}_p \oplus \mathbf{J}_p'\}\) is an \(\mathsf{x}\)-\(\mathcal {H}\)-packing of \(\mathbf{G} \oplus \mathbf{H}\). The obtained packing is said to be an extension of the partial packing \(\mathcal {J}\). A partial packing is \(\mathcal {H}\)-free if none of its members (the boundaried graphs \(\{\mathbf{J}_1, \dots , \mathbf{J}_p\}\)) has an \(\mathcal {H}\)-subdivision. Observe that if the graphs in \(\mathcal{H}\) are connected, then every partial subdivision of an \(\mathcal {H}\)-free partial \(\mathsf{x}\)-\(\mathcal {H}\)-packing in \(\mathbf G\) must contain at least one boundary vertex of \(\mathbf G\).

Fig. 3
figure 3

The partitioned protrusion \(\mathbf{P_u} = (\mathbf{G}_u, \mathcal {D}_u)\) as a substructure of \((\mathbf{G}, \mathcal {D})\). White circles represent bags of the rooted tree-partitions. Only the edges between B and \(X_s\) are depicted

Partitions and Protrusions A rooted tree-partition of a graph G is a triple \(\mathcal{D}=(\mathcal{X},T,s)\) where (Ts) is a rooted tree and \(\mathcal{X}=\{X_t\}_{t\in V(T)}\) is a partition of V(G) where either \(n(T)=1\) or for every \(\{x,y\}\in E(G)\), there exists an edge \(\{t,t'\}\in E(T)\) such that \(\{x,y\}\subseteq X_{t}\cup X_{t'}\) (see also [11, 20, 37]). Given an edge \(f=\{t,t'\}\in E(T)\), we define \(E_{f}\) as the set of edges of G with one endpoint in \(X_{t}\) and the other in \(X_{t'}\). Notice that all edges in \(E_{f}\) are non-loop edges. The width of \(\mathcal{D}\) is defined as

$$\begin{aligned} \max \{|X_{t}|_{t\in V(T)}\}\cup \{|E_{f}|_{f\in E(T)}\}. \end{aligned}$$

The tree-partition width of G is the minimum width over all tree-partitions of G and will be denoted by \({{\mathrm{\mathbf{tpw}}}}(G)\). The elements of \(\mathcal{X}\) are called bags.

In order to decompose graphs along edge cuts, we introduce the following edge-counterpart of the notion of (vertex-)protrusion introduced in [3, 4].

Given a rooted tree-partition \(\mathcal{D}=(\mathcal{X},T,s)\) of G and a vertex \(i\in V(T)\), we define \(T_i\) as the subtree of T induced by the descendants of i (including i) and

$$\begin{aligned}V_{i} = \bigcup _{h\in V(T_{i})}X_{h},\ \ \text {and} \quad G_i = G [V_i]. \end{aligned}$$

Let W be a graph and \(t \in \mathbb {N}_{\ge 1}\). A pair \(\mathbf{P}=(\mathbf{G},\mathcal{D})\) is a t-partitioned protrusion of W if there exists an \(S\subseteq V(W)\) such that

  • \(\mathbf{G}=(G,B,\lambda )\) is a boundaried graph where \(\mathbf{G}\in \mathcal{B}_{t}\) and \(\mathbf{G}=\mathbf{G}_{S}\) for some S-splitting \((\mathbf{G}_{S},\mathbf{G}_{S^\mathsf{c}})\) of W and

  • \(\mathcal{D}=(\mathcal{X},T,s)\) is a rooted tree-partition of \(G{\setminus } B\) of width at most t, where \(X_{s}\) are the neighbors in G of the vertices in B.

We say that a t-partitioned protrusion \((\mathbf {G}, \mathcal {D})\) (with \(\mathcal {D} = (\{X_u\}_{u\in V(T)}, T,s)\)) of a graph W is \(\mathcal {H}\)-free if \(\mathbf{G}\) is \(\mathcal {H}\)-free. Recall that in the rooted tree-partition \(\mathcal {D}\), for every \(u \in V(T)\), we denote by \(V_u\) the union of the bags indexed by descendants of u (including u). For every vertex \(u \in V(T)\), we define the t-partitioned protrusion \(\mathbf{P}_{u}\) of W as a pair \(\mathbf{P}_{u}=(\mathbf{G}_{u},\mathcal{D}_{u})\), where \(\mathcal{D}_{u}=(\{X_{v}\}_{v\in V_{T_u}},T_{u},u)\) and \(\mathbf{G}_{u}\) is defined as \(\mathbf{G}_{V_{u}}\) for some \(V_{u}\)-splitting \((\mathbf{G}_{V_{u}},\mathbf{G}_{V^\mathsf{c}_{u}})\) of W. Informally speaking, the rooted tree-partition \(\mathcal {D}_u\) is the part of \(\mathcal {D}\) corresponding to the subgraph of \(\mathbf G\) induced by vertices in the bags that are descendants of u. Figure 3 provides an example of partitioned protrusions. We choose the labeling function of \(\mathbf{G}_{s}\) so that it is the same as the one of \(\mathbf{G}\), i.e., \(\mathbf{G}_{s}=\mathbf{G}\). Notice that the labelings of all other \(\mathbf{G}_{u}\)’s are arbitrary. For every \(u \in V(T)\) we define

$$\begin{aligned} \mathcal {G}_u = \{\mathbf {G}_l \mid {l \in \mathsf{children}_{(T,s)}(u)} \}. \end{aligned}$$

2.3 Encodings, Signatures, and Folios

In this section we introduce tools that we will use to sort boundaried graphs depending on the subdivisions that are realizable inside.

Encodings Let \(\mathcal {H}\) be a family of graphs, let \(t \in \mathbb {N}_{\ge 1}\), and let \(\mathsf{x}\in \{\mathsf{v}, \mathsf{e}\}\). Recall that if M is an \(\mathcal {H}\)-subdivision in G, we denote by \(\hat{M}\) a graph isomorphic to some graph of \(\mathcal {H}\) such that M is a subdivision of \(\hat{M}\) (see Sect. 2.1). If \(\mathbf{G}=(G,B,\lambda )\in \mathcal{B}_{t}\) is a boundaried graph and \(S\subseteq A_\mathsf{x}(\mathbf{G})\), we define \(\mu ^\mathsf{x}_\mathcal{H}(\mathbf{G},S)\) as the collection of all sets \(\{(\mathbf{J}_{1},L_{1}),\ldots ,(\mathbf{J}_{\sigma },L_{\sigma })\}\) such that

  1. (i)

    \(\{\mathbf{J}_1, \dots , \mathbf{J}_\sigma \}\) is a partial \(\mathsf{x}\)-\(\mathcal H\)-packing of \(\mathbf{G} {\setminus } S\) of size \(\sigma \) and

  2. (ii)

    \(L_i = V(\hat{M_i})\cap V(G)\), where \(M_i\) is an extension of \(\mathbf{J_i}\), for every \(i \in \llbracket 1, \sigma \rrbracket \).

Fig. 4
figure 4

A member of \({{\mathrm{\mathbf{P}}}}_{\mathsf{e},\mathcal{H}}^{\ge 1}(\mathbf{F}\oplus \mathbf{G})\). Branch vertices are circled

Fig. 5
figure 5

A partial subdivision from the packing of Fig. 4. Branch vertices are circled

In other words, \(L_i\) contains branch vertices of the partial subdivision \(\mathbf{J}_i\) for every \(i \in \llbracket 1, \sigma \rrbracket \) (see Figs. 45). The set \(\mu ^\mathsf{x}_\mathcal{H}(\mathbf{G},S)\) encodes all different restrictions in \(\mathbf{G}\) of partial x-\(\mathcal{H}\)-packings that avoid the set S. Given a boundaried graph \(\mathbf{G} = (G,B, \lambda )\) and a set \(L \subseteq V(G)\) such that every vertex of \(V(G) {\setminus } L\) has degree 2 in G, we define \(\kappa (\mathbf {G}, L)\) as the boundaried graph obtained from \(\mathbf {G}\) by dissolving every vertex of \(V(G) {\setminus } L\), i.e., \(\kappa (\mathbf {G}, L) = (\mathsf{diss}(\mathbf {G}, V(G) {\setminus } L), B, \lambda )\). In the definition of \(\kappa \) we assume that the boundary vertices of \(\kappa (\mathbf {G}, L)\) remain the same as in \(\mathbf{G}\) while the other vertices are treated as new vertices (see Fig. 6).

Fig. 6
figure 6

The compression of the partial packing of Fig. 5: \(\hat{\mathbf{J}} = \kappa (\mathbf{J},L)\)

This allows us to introduce the following notation aimed at representing, intuitively, the essential part of each partial packing.

$$\begin{aligned} \hat{\mu }^\mathsf{x}_\mathcal{H}(\mathbf{G},S)= & {} \{\hat{\mathcal{J}}=\{\hat{\mathbf{J}}_{1},\ldots ,\hat{\mathbf{J}}_{\sigma }\}=\{\kappa (\mathbf{J}_{1}, L_{1}),\ldots ,\kappa (\mathbf{J}_{\sigma }, L_{\sigma })\}\mid \\&\ \ \{(\mathbf{J}_{1},L_{1}),\ldots ,(\mathbf{J}_{\sigma },L_{\sigma })\}\in \mu _\mathcal{H}(\mathbf{G},S)\}. \end{aligned}$$

Isomorphisms If \(\mathbf{G}=(G,B,\lambda )\) and \(\mathbf{G'}=(G',B',\lambda ')\) are two compatible boundaried graphs in \(\mathcal{B}_{t}\), \(S\in V(G)\), and \(S'\in V(G')\), we say that a member \(\hat{\mathcal{J}}\) of \(\hat{\mu }^\mathsf{x}_\mathcal{H}(\mathbf{G},S)\) and a member \(\hat{\mathcal{J}}'\) of \(\hat{\mu }^\mathsf{x}_\mathcal{H}(\mathbf{G}',S')\) are isomorphic if there is a bijection between them such that paired elements are isomorphic. We also say that \(\hat{\mu }^\mathsf{x}_\mathcal{H}(\mathbf{G},S)\) and \(\hat{\mu }^\mathsf{x}_\mathcal{H}(\mathbf{G}',S')\) are isomorphic if there is a bijection between them such that paired elements are isomorphic.

We now come to the point where we can define, for every boundaried graph, a signature encoding all the possible partial packings that can be realized in this graph.

Signatures and Folios For every \(y \in \mathbb {N}\), we set

$$\begin{aligned} {{\mathrm{\mathsf{sig}}}}^\mathsf{x}_\mathcal{H}(\mathbf{G},y)= & {} \{\hat{\mu }^\mathsf{x}_\mathcal{H}(\mathbf{G},S),\ S \subseteq A_{\mathsf{x}}(G),\ |S|=y\} \end{aligned}$$

and, given two compatible t-boundaried graphs \(\mathbf{G}\) and \(\mathbf{G}'\) and a \(y \in \mathbb {N}\), we say that \(\mathsf{sig}^\mathsf{x}_\mathcal{H}(\mathbf{G},y)\) and \(\mathsf{sig}^\mathsf{x}_\mathcal{H}(\mathbf{G}',y)\) are isomorphic if there is a bijection between them such that paired elements are isomorphic.

Finally, for \(\rho \in \mathbb {N}\), we set

$$\begin{aligned} \mathsf{folio}_{\mathcal{H},\rho }(\mathbf{G})= & {} ({{\mathrm{\mathsf{sig}}}}^\mathsf{v}_\mathcal{H}(\mathbf{G},0),\ldots ,\mathsf{sig}^\mathsf{v}_\mathcal{H}(\mathbf{G},\rho ),\mathsf{sig}^\mathsf{e}_\mathcal{H}(\mathbf{G},0),\ldots ,\mathsf{sig}^\mathsf{e}_\mathcal{H}(\mathbf{G},\rho )). \end{aligned}$$

Given two t-boundaried graphs \(\mathbf{G}\) and \(\mathbf{G}'\), a \(\rho \in \mathbb {N}\), and a finite collection of connected graphs \(\mathcal{H}\), we say that \(\mathbf{G}\simeq _{\mathcal {H},\rho }{} \mathbf{G}'\) if \(\mathbf{G}\) and \(\mathbf{G}'\) are compatible, neither \(\mathbf{G}\) nor \(\mathbf{G}'\) contains an \(\mathcal {H}\)-subdivision, and the elements of \(\mathsf{folio}_{\mathcal{H},\rho }(\mathbf{G})\) and \(\mathsf{folio}_{\mathcal{H},\rho }(\mathbf{G}')\) are position-wise isomorphic.

3 The Reduction

The purpose of this section is to prove the following lemma.

Lemma 1

There exists a function \({f_{2}} :\mathbb {N}^2\rightarrow \mathbb {N}\) and an algorithm that, given a positive integer t, a finite collection \(\mathcal{H}\) of connected graphs where \(h=m(\mathcal{H})\), and a t-partitioned protrusion \(\mathbf{P} = (\mathbf{G}, (\mathcal {X}, T, s))\) of a graph W with \(n(\mathbf{G}) > {f_{2}}(h, t)\), outputs either

  • an \(\mathcal {H}\)-subdivision of W with at most \({f_{2}}(h, t)\) edges or

  • a graph \(W'\) such that

    $$\begin{aligned} \mathsf{x}\hbox {-}\mathsf{pack}_\mathcal {H}(W')&= \mathsf{x}\hbox {-}\mathsf{pack}_\mathcal {H}(W),\\ \mathsf{x}\hbox {-}\mathsf{cover}_\mathcal {H}(W')&= \mathsf{x}\hbox {-}\mathsf{cover}_\mathcal {H}(W),\ \text {and}\\ n(W')&< n(W). \end{aligned}$$

Furthermore, this algorithm runs in time \(O_{t,h}(n(T))\). Moreover, this algorithm can be enhanced so that given a \(\mathsf{x}\)-\(\mathcal{H}\)-packing (resp. \(\mathsf{x}\)-\(\mathcal{H}\)-covering) in \(W'\) then it outputs a same size \(\mathsf{x}\)-\(\mathcal{H}\)-packing (resp. \(\mathsf{x}\)-\(\mathcal{H}\)-covering) in W.

In other words we can, in linear time, either find a small \(\mathcal {H}\)-subdivision, or reduce the graph to a smaller one where the parameters of packing and covering stay the same. The main lines of the proof are the following. We consider the equivalence relation \(\simeq _{\mathcal {H},t}\) on \(\mathcal {H}\)-free t-partitioned protrusions. Informally, \(\simeq _{\mathcal {H},t}\) relates the partitioned protrusions in which the same partial packings are realizable. The first step is to show that this relation has a finite number of equivalence classes. Recall that each vertex i of the tree T of the partitioned protrusion \(\mathbf P\) defines a partitioned protrusion \(\mathbf{P}_i\). We then show that if T is too large (i.e. it has a long path or a vertex of large degree), then for several vertices, such partitioned protrusions belong to the same equivalence class of \(\simeq _{\mathcal {H},t}\). We finally show that in this case, some of these vertices can be deleted without changing the packing and covering numbers.

Before giving the proof of Lemma 1, we need to prove several intermediate results. In the sequel, unless stated otherwise, we assume that \({\mathsf{x}} \in \{{\mathsf{v}}, {\mathsf{e}}\}\), \(t\in \mathbb {N}_{\ge 1}\) and that \(\mathcal {H}\) is a finite collection of connected graphs. We set \(h = m(\mathcal {H})\). Recall that, for a t-partitioned protrusion \((\mathbf{G}, (\mathcal {X}, T, s))\) of a graph W, and \(v\in V(T)\), we denote by \(\mathcal {G}_v\) the set of all boundaried graphs of the form \(\mathbf{G}_{V_u}\), for some \(V_u\)-splitting \((\mathbf{G}_{V_u}, \mathbf{G}_{V_u^\mathsf{c}})\) of W, where u is a child of v. Informally, these are the boundaried graphs induced by the bags of the subtrees of T rooted at the children of v.

Lemma 2

There are two functions \({f_{3}} :\mathbb {N}^2 \rightarrow \mathbb {N}\) and \({f_{4}} :\mathbb {N}^2 \rightarrow \mathbb {N}\) such that, for every graph W and every t-partitioned protrusion \((\mathbf{G}, (\mathcal {X}, T, s))\) of W, if \(\mathcal {P}\) is an \(\mathcal {H}\)-free partial \(\mathsf{x}\)-\(\mathcal {H}\)-packing in \(\mathbf {G}\) then:

  1. (a)

    The partial subdivisions of graphs in \(\mathcal{H}\) that are contained in \(\mathcal{P}\) have in total at most \({f_{3}}(h, t)\) branch vertices.

  2. (b)

    \(\mathcal {P}\) intersects at most \({f_{4}}(h ,t)\) graphs of \(\mathcal {G}_s\).

Proof

Proof of (a) First, note that any \(\mathcal {H}\)-free partial \(\mathsf{x}\)-\(\mathcal {H}\)-packing in \(\mathbf {G}\) has cardinality at most t,  because each partial subdivision it contains must use a boundary edge of \(\mathbf {G}\), and two distinct subdivisions of the same packing are (at least) edge-disjoint. Also, each of these partial subdivisions contains at most \(\max _{H \in \mathcal {H}} n(H) \le h\) branch vertices. Consequently, for every \(\mathcal {H}\)-free partial \(\mathsf x\)-\(\mathcal {H}\)-packing in \(\mathbf {G},\) the number of branch vertices of graphs of \(\mathcal {H}\) it induces in \(\mathbf {G}\) is at most \(t\cdot h\). Hence the function \({f_{3}}(h,t) {:}{=} t \cdot h\) upper-bounds the amount of branch vertices each \(\mathcal {H}\)-free partial packing can contain.

Proof of (b) Let \(\zeta \) be the maximum multiplicity of an edge in a graph of \(\mathcal {H}\). Because of (a), every \(\mathcal {H}\)-free partial \(\mathsf{x}\)-\(\mathcal {H}\)-packing \(\mathcal {P}\) in \(\mathbf{G}\) has at most \({f_{3}}(h, t)\) branch vertices of graphs of \(\mathcal {H}\), so at most \({f_{3}}(h, t)\) graphs of \(\mathcal {G}_s\) may contain such vertices. Besides, \(\mathcal {P}\) might also contain paths free of branch vertices linking pairs of branch vertices. Since there are at most \(({f_{3}}(h, t))^{2}\) such pairs and no pair will need to be connected with more than \(\zeta \le h\) distinct paths, it follows that at most \(({f_{3}}(h, t))^{2} \cdot h\) graphs of \(\mathcal {G}_s\) contain vertices from these paths. Therefore, every \(\mathcal {H}\)-free partial \(\mathsf x\)-\(\mathcal {H}\)-packing intersects at most \({f_{3}}(h, t) + ({f_{3}}(h, t))^{2}\cdot h {=}{:} {f_{4}}(h, t)\) graphs of \(\mathcal {G}_s.\) \(\square \)

Lemma 3

There is a function \({f_{5}} :\mathbb {N}^2 \rightarrow \mathbb {N}\) such that the image of the function \(\hat{\mu }^\mathsf{x}_{\mathcal H}\), when its domain is restricted to

$$\begin{aligned} \{(\mathbf {G},S),\ \mathbf {G}\ \text {is}\ {\mathcal {H}}\text {-free and}\ S \subseteq A_\mathsf{x}(\mathbf {G})\}, \end{aligned}$$

has size upper-bounded by \({f_{5}}(h,t)\).

Proof

Let \(\mathbf {G}\) be an \(\mathcal {H}\)-free t-boundaried graph and let \(S \subseteq A_\mathsf{x}(\mathcal {G}).\) From Lemma 2(a), every \(\mathcal {H}\)-free partial \(\mathsf x\)-\(\mathcal {H}\)-packing in \(\mathbf {G}\) contains at most \({f_{3}}(h,t)\) branch vertices. This partial packing can in addition use at most t boundary vertices. Let \(\mathcal {C}_{h,t}\) be the class of all \((\le t)\)-boundaried graphs on at most \({f_{3}}(h,t) + t\) vertices. Clearly the size of this class is a function depending on h and t only. Recall that the elements of the set \(\hat{\mu }^\mathsf{x}_{\mathcal H}(\mathbf {G}, S)\) are obtained from partial \(\mathsf x\)-\(\mathcal {H}\)-packings by dissolving internal vertices of the paths linking branch vertices, hence every element of \(\hat{\mu }^\mathsf{x}_{\mathcal H}(\mathbf {G}, S)\) is a t-boundaried graph of \(\mathcal {B}_t\) having at most \({f_{3}}(h,t) + t\) vertices. Therefore, for any \(\mathcal {H}\)-free t-boundaried graph \(\mathbf {G}\) and subset \(S \subseteq A_\mathsf{x}(\mathbf {G})\), we have \(\hat{\mu }^\mathsf{x}_{\mathcal H}(\mathbf {G}, S) \subseteq \mathcal {C}_{h,t}\). As a consequence, the image of the function \(\hat{\mu }^\mathsf{x}_{\mathcal H}\) when restricted to \(\mathcal {H}\)-free t-boundaried graphs \(\mathbf {G} \in \mathcal {B}_t\) (and subsets \(S \subseteq A_\mathsf{x}(\mathbf {G})\)) is a subset of the power set of \(\mathcal {C}_{h,t}\), so its size is upper-bounded by a function (which we call \({f_{5}}\)) that depends only on h and t. \(\square \)

Corollary 1

There is a function \({f_{6}} :\mathbb {N}^2 \rightarrow \mathbb {N}\) such that the relation \(\simeq _{\mathcal {H},t}\) partitions \(\mathcal {H}\)-free t-boundaried graphs into at most \({f_{6}}(h,t)\) equivalence classes.

The following lemma follows directly from the definition of \(\hat{\mu }^\mathsf{x}_\mathcal {H}\).

Lemma 4

Let \(\mathbf {F}, \mathbf {G} \in \mathcal {B}_t\) be two compatible t-boundaried graphs and let \(k \in \mathbb {N}\). Then we have:

$$\begin{aligned} {{\mathrm{\mathbf{P}}}}_{\mathsf{x},\mathcal{H}}^{\ge k}(\mathbf {F} \oplus \mathbf {G}) \ne \emptyset \iff \exists \hat{\mathcal {J}} \in \hat{\mu }^\mathsf{x}_{\mathcal H}(\mathbf {G}, \emptyset ),\ {{\mathrm{\mathbf{P}}}}_{\mathsf{x},\mathcal{H}}^{\ge k}(\mathbf {F} \oplus \pmb {\pmb {\cup }}\hat{\mathcal {J}}) \ne \emptyset . \end{aligned}$$

The choice of the definition of the relation \(\simeq \) is justified by the following lemma. Roughly speaking, it states that we can replace a t-partitioned protrusion of a graph with any other \(\simeq _{\mathcal {H},t}\)-equivalent t-partitioned protrusion without changing the covering and packing number of the graph. The reduction algorithm that we give after this lemma relies on this powerful property.

Lemma 5

(Protrusion replacement) Let \(\mathbf {F}, \mathbf {G}, \mathbf {G'} \in \mathcal {B}_t\) be three compatible boundaried graphs such that \(\mathbf {G} \simeq _{\mathcal {H}, t} \mathbf {G'}\). For every \(k \in \mathbb {N}\), we have:

  1. (i)

    \({{\mathrm{\mathbf{P}}}}_{\mathsf{x},\mathcal{H}}^{\ge k}(\mathbf {F} \oplus \mathbf {G}) \ne \emptyset \iff {{\mathrm{\mathbf{P}}}}_{\mathsf{x},\mathcal{H}}^{\ge k}(\mathbf {F} \oplus \mathbf {G'}) \ne \emptyset \) and

  2. (ii)

    \({{\mathrm{\mathbf{C}}}}_{\mathsf{x},\mathcal{H}}^{\le k}(\mathbf {F} \oplus \mathbf {G}) \ne \emptyset \iff {{\mathrm{\mathbf{C}}}}_{\mathsf{x},\mathcal{H}}^{\le k}(\mathbf {F} \oplus \mathbf {G'}) \ne \emptyset \).

Proof

Notice that, by definition of \(\simeq _{\mathcal , t}\), the boundaried graphs \(\mathbf {G}\) and \(\mathbf {G'}\) are \(\mathcal {H}\)-free.

Proof of item (i), \(\Rightarrow \)”. Let \(\mathcal {M}\) be an \(\mathsf{x}\)-\(\mathcal {H}\)-packing of size at least k in \(\mathbf {F} \oplus \mathbf {G}\), whose set of branch vertices is L. We define

$$\begin{aligned} \mathbf{J}_{\mathbf {F}}= & {} (\pmb {\pmb {\cup }}\mathcal {M}) \cap _{\mathbf{F} \oplus \mathbf{G}} \mathbf{F},\\ \mathbf{J}_{\mathbf {G}}= & {} (\pmb {\pmb {\cup }}\mathcal {M}) \cap _{\mathbf{F} \oplus \mathbf{G}} \mathbf{G}, and\\ \hat{\mathbf {J}}_{\mathbf {G}}= & {} \bigcup _{{M}\in \mathcal{M}}\kappa (M\cap _{\mathbf{F} \oplus \mathbf{G}} \mathbf{G}, L\cap V(G)). \end{aligned}$$

Note that \(\hat{\mathbf {J}}_{\mathbf {G}} \in \hat{\mu }^\mathsf{x}_{\mathcal H}(\mathbf {G}, \emptyset )\) and that \(\mathbf{F} \oplus \hat{\mathbf {J}}_{\mathbf {G}} \) has an \(\mathsf{x}\)-\(\mathcal {H}\)-packing of size at least k (cf. Lemma 4). By definition of \(\simeq ,\) there is a bijection \(\psi \) between \(\hat{\mu }^\mathsf{x}_{\mathcal H}(\mathbf {G}, \emptyset )\) and \(\hat{\mu }^{\mathsf{x}}_{\mathcal H}(\mathbf {G'}, \emptyset )\). Let \(\hat{\mathbf {J}}_{\mathbf {G}}'\) be the image of \(\hat{\mathbf {J}}_{\mathbf {G}}\) by \(\psi .\) Since \(\hat{\mathbf {J}}_{\mathbf {G}}'\) and \(\hat{\mathbf {J}}_{\mathbf {G}}\) are isomorphic, \(\mathbf{F} \oplus \hat{\mathbf {J}}_{\mathbf {G}} '\) also has an \(\mathsf{x}\)-\(\mathcal {H}\)-packing of size at least k. By Lemma 4, this implies that such a packing exists in \(\mathbf{F} \oplus \mathbf{G'}\) as well. The direction “\(\Leftarrow \)” is symmetric as \(\mathbf G\) and \(\mathbf{G'}\) play the same role.

Proof of item (ii), \(\Rightarrow \)”. Let \(C \subseteq A_{\mathsf{x}}(\mathbf {F} \oplus \mathbf {G})\) be a minimum \(\mathsf{x}\)-\(\mathcal {H}\)-covering of \(\mathbf F\oplus G\) of size at most k. Let \(S = C \cap A_\mathsf{x}(\mathbf{G})\). Since we assume that \(\mathbf {G}\) is \(\mathcal {H}\)-free and that C is minimum, we can also assume that \(|S| \le t\) (otherwise we could get a smaller covering by taking the t boundary vertices/edges of \(\mathbf G\)). By our assumption that \(\mathbf{G} \simeq _{\mathcal {H}, t} \mathbf{G'}\), there is an isomorphism between \({{\mathrm{\mathsf{sig}}}}^\mathsf{x}_{\mathcal {H}}(\mathbf{G}, |S|)\) and \({{\mathrm{\mathsf{sig}}}}^\mathsf{x}_{\mathcal {H}}(\mathbf{G'}, |S|)\). Let \(S' \subseteq A_\mathsf{x}(\mathbf{G'})\) be a set such that \(\hat{\mu }^{\mathsf{x}}_{\mathcal H}(\mathbf {G}, S)\) is sent to \(\hat{\mu }^{\mathsf{x}}_{\mathcal H}(\mathbf {G'}, S')\) by this isomorphism. Then observe that every partial packing \(\mathcal {J}'\) of \(\mathbf{G}' {\setminus } S'\), such that \(\left( \mathbf {F} {\setminus } C \right) \oplus (\pmb {\pmb {\cup }}\mathcal {J}')\) has an \(\mathcal {H}\)-subdivision, can be translated into a partial packing \(\mathcal {J}\) of \(\mathbf{G} {\setminus } S\) such that \(\left( \mathbf {F} {\setminus } C \right) \oplus (\pmb {\pmb {\cup }}\mathcal {J})\) also has such a subdivision, in the same way as in the proof of item (i) above. As C is a cover, this would lead to contradiction. Therefore \({\mu }^{\mathsf{x}}_{\mathcal H}(\mathbf{G}, S)\) does not contain such a partial packing. As a consequence, \(\left( C \cap A_\mathsf{x}(\mathbf{F})\right) \cup S'\) is a covering of \(\mathbf{F} \oplus \mathbf{G'}\) of size at most k. As in the previous case, the proof of direction “\(\Leftarrow \)” comes from the symmetry in the statement. \(\square \)

Lemma 5 can be rewritten as follows.

Corollary 2

Under the assumptions of Lemma 5, we have \(\mathsf{x}\hbox {-}\mathsf{pack}(\mathbf{F} \oplus \mathbf{G}) = \mathsf{x}\hbox {-}\mathsf{pack}(\mathbf{F} \oplus \mathbf{G'})\) and \(\mathsf{x}\hbox {-}\mathsf{cover}(\mathbf{F} \oplus \mathbf{G}) = \mathsf{x}\hbox {-}\mathsf{cover}(\mathbf{F} \oplus \mathbf{G'}).\)

Recall that \({f_{6}}(h, t)\) denotes the number of equivalence classes of \(\simeq _{\mathcal {H},t}\) among boundaried graphs of \(\mathcal {B}_t\). For every \(h,t\in \mathbb {N}\), let

$$\begin{aligned} {f_{7}}(h,t) = {f_{6}}(h, t) \cdot {f_{4}}(h, t)\quad \text {and}\quad {f_{2}}(h, t) = 2ht^3\cdot \left( {f_{3}}(h, t) \right) ^{{f_{6}}(h, t)+1}. \end{aligned}$$

Let us give some intuition about these definitions. The first remark is an application of the pigeonhole principle.

Observation 1

In a collection of more than \({f_{3}}(h,t)\) \(\mathcal {H}\)-free boundaried graphs of \(\mathcal {B}_t\), there is one that is equivalent (w.r.t. \(\simeq _{\mathcal {H}, t}\)) to \({f_{4}}(h, t)\) other graphs of the collection.

Observation 2

If \((T, s, \mathcal {X})\) is a rooted tree-partition of a graph G with the following properties:

  • \((T, \mathcal {X})\) has width at most t;

  • T has height at most \({f_{6}}(h, t)\); and

  • T has degree at most \({f_{3}}(h, t)+1\),

then G has at most \({f_{2}}(h,t)\) vertices, and every \(\mathcal {H}\)-subdivision of G has at most \({f_{2}}(h,t)\) edges.

Proof

The above assumptions imply that T has at most \(\left( {f_{3}}(h, t) \right) ^{{f_{6}}(h, t)+1}\) vertices. Every bag of \((T, \mathcal {X})\) contains at most t vertices of G, therefore G has at most \(\left( {f_{3}}(h, t) \right) ^{{f_{6}}(h, t)+1} \cdot t \le {f_{2}}(h,t)\) vertices. Also, every bag induces a subgraph with at most \(t(t-1)/2\) multiedges (i.e. without counting multiplicities), and for every edge f of T we have \(|E_f| \le t\), hence every bag contributes for at most \(t^2 + t\) multiedges. Therefore G has at most \((t+t^2)\left( {f_{3}}(h, t) \right) ^{{f_{6}}(h, t)+1}\) multiedges. Now, observe that an edge of G is used at most h times by an \(\mathcal {H}\)-subdivision (if it is a multiple edge), since every path connecting two branch vertices of a subdivision uses a given edge at most once. We deduce that an \(\mathcal {H}\)-subdivision of G contains at most \(h \cdot (t+t^2)\left( {f_{3}}(h, t) \right) ^{{f_{6}}(h, t)+1} \le {f_{2}}(h,t)\) edges. \(\square \)

The two next lemmas are the main tools used in the proof of Lemma 1. Under different conditions, they provide either a small subdivision, or a reduced graph. Lemma 6 considers the case where a vertex of T has high degree, whereas Lemma 7 deals with the situation where T has a long path.

Lemma 6

Let \(\mathbf{P} = (\mathbf{G}, (\mathcal {X}, T, s))\) be a t-partitioned protrusion of a graph W, and let \(u\in V(T)\) be a vertex with more than \({f_{3}}(h, t)\) children such that for every \(v \in \mathsf{children}_{(T,s)}(u)\), we have \(m(\mathbf{G}_v) \le {f_{6}}(h, t)\). Then, either

  • W contains an \(\mathcal {H}\)-subdivision M with at most \({f_{6}}(h, t)\) edges or

  • there exists a graph \(W'\) such that

    $$\begin{aligned} \mathsf{x}\hbox {-}\mathsf{pack}_\mathcal {H}(W')&= \mathsf{x}\hbox {-}\mathsf{pack}_\mathcal {H}(W),\\ \mathsf{x}\hbox {-}\mathsf{cover}_\mathcal {H}(W')&= \mathsf{x}\hbox {-}\mathsf{cover}_\mathcal {H}(W),\ \text {and}\\ n(W')&< n(W). \end{aligned}$$

Moreover, there is an algorithm that, given such \(\mathbf{P},W,\) and u, returns either M or \(W'\) as above in \(O_{h, t}(1)\) steps.

Proof

As u has more than \({f_{3}}(h,t)\) children, it contains a collection of \(d = {f_{4}}(h, t) +1\) children \(v_1, \dots , v_d\), such that \(\mathbf{G}_{v_1} \simeq _{\mathcal {H}, t} \mathbf{G}_{v_i}\) for every \(i \in \llbracket 2, d \rrbracket \) (by Observation 1). Let us now assume that \(\mathbf{G}_u\) is \(\mathcal {H}\)-free. Since every \(\mathsf{x}\)-\(\mathcal {H}\)-packing of W will intersect at most \({f_{4}}(h, t)\) bags of children of u (by Lemma 2(b)), we can safely delete one of the \({f_{4}}(h, t) +1\) equivalent subgraphs mentioned above. We use the following algorithm in order to find such a bag to delete or a small \(\mathcal {H}\)-subdivision.

  1. 1.

    Let A be an array of \({f_{6}}(h, t)\) counters initialized to 0, each corresponding to a distinct equivalence class of \(\simeq _{\mathcal {H}, t}\);

  2. 2.

    Pick a vertex \(v \in \mathsf{children}_{(T,s)}(u)\) that has not been considered yet;

  3. 3.

    If \(G_v\) contains an \(\mathcal {H}\)-subdivision \(\mathcal {M}\), then return \(\mathcal {M}\) and exit;

  4. 4.

    Otherwise, increment the counter of A corresponding to the equivalence class of \(\mathbf{G}_u\) by one;

  5. 5.

    If this counter reaches \(d+1\), return v, otherwise go back to Line 2.

Notice that the subdivision returned in Line 3 has size at most \(t\cdot {f_{6}}(h, t)\) (as we assume that \(m(G_v) \le {f_{6}}(h, t)\)) and that the vertex returned in Line 5 has the desired property. By Corollary 1, the relation \(\simeq _{\mathcal {H}, t}\) has at most \({f_{6}}(h, t)\) equivalence classes, thus the main loop will be run at most \({f_{6}}(h, t) \cdot {f_{4}}(h, t) + 1\) times (by the pigeonhole principle). Eventually, Lines 3 and 4 can be performed in \(O_{h, t}(1)\)-time given that \(G_v\) has size bounded by a function of h and t.

In the end, we return \(W' = W {\setminus } V(G_v)\) if the algorithm outputs v and \(\mathcal {M}\) otherwise. \(\square \)

Lemma 7

There is an algorithm that, given a t-partitioned protrusion \(\mathbf{P} = (\mathbf{G}, (\mathcal {X}, T, s))\) of a graph W and a vertex \(u \in V(T)\) such that

  • u has height exactly \({f_{6}}(h,t)\) in (Ts),

  • the graph of \(\mathbf{G}_u\) is \(\mathcal {H}\)-free, and

  • \(T_u\) has maximum degree at most \({f_{3}}(h, t)\),

outputs a graph \(W'\) such that

$$\begin{aligned} \mathsf{x}\hbox {-}\mathsf{pack}_\mathcal {H}(W')&= \mathsf{x}\hbox {-}\mathsf{pack}_\mathcal {H}(W),\\ \mathsf{x}\hbox {-}\mathsf{cover}_\mathcal {H}(W')&= \mathsf{x}\hbox {-}\mathsf{cover}_\mathcal {H}(W),\ \text {and}\\ n(W')&< n(W). \end{aligned}$$

Moreover, this algorithm runs in \(O_{h, t}(1)\)-time.

Proof

As in the proof of Observation 2, we use the fact that every \(\mathcal {H}\)-subdivision of \(\mathbf{G}_u\) uses every (multi)edge at most h times. A consequence is that the boundaried subgraph of \(\mathbf{G}_u\) obtained by setting the multiplicity of every edge e to the minimum of h and the multiplicity of e contains an \(\mathcal {H}\)-subdivision iff \(\mathbf{G}_u\) does. As the number of vertices and edges of this subgraph is bounded by a function of h and t, we can therefore check in \(O_{h,t}(1)\)-time if \(\mathbf{G}_u\) contains an \(\mathcal {H}\)-subdivision. If one is found, it has at most \({f_{2}}(h,t)\) edges (Observation 2) and we are done.

Let us now consider the case where \(\mathbf{G}_u\) is \(\mathcal {H}\)-free. By definition of the vertex u, there is a path of \({f_{6}}(h,t) + 1\) vertices from a leaf of \(T_u\) to u. Let us arbitrarily choose, for every vertex v of this path, a \(V_v\)-splitting \((\mathbf{G}_{G_v}, \mathbf{G}_{G_v^c})\) of \(\mathbf G\). By definition of \({f_{6}}(h,t)\) (the number of equivalence classes in \(\simeq _{\mathcal {H},t}\) in \(\mathcal {B}_t\)), there are two distinct vertices vw on this path such that \(\mathbf{G}_v \simeq _{\mathcal {H}, t} \mathbf{G}_w\). As mentioned above, the number edges of \(\mathbf{G}_u\) is bounded by a function of h and t, hence finding these two vertices can be done in \(O_{h, t}(1)\)-time. Let us assume without loss of generality that w is a descendant of v. Let \(\mathbf{H}\) be the boundaried graph such that \(W = \mathbf{H} \oplus \mathbf{G}_{G_v}\) and let \(W' = \mathbf{H} \oplus \mathbf{G}_{G_w}\). By Corollary 2, we have \(\mathsf{x}\hbox {-}\mathsf{pack}_\mathcal {H}(W') = \mathsf{x}\hbox {-}\mathsf{pack}_\mathcal {H}(W)\) and \(\mathsf{x}\hbox {-}\mathsf{cover}_\mathcal {H}(W') = \mathsf{x}\hbox {-}\mathsf{cover}_\mathcal {H}(W)\). Furthermore, the graph \(W'\) is clearly smaller than W. \(\square \)

We are now ready to prove Lemma 1.

Proof of Lemma 1

Observe that since \(n(G) > {f_{2}}(h, t)\) and each bag of \((\mathcal {X}, T, s)\) contains at most t vertices, we have

$$\begin{aligned} n(T) > {f_{2}}(h, t)/t = \left( {f_{6}}(h, t) \cdot {f_{4}}(h, t) \right) ^{{f_{6}}(h,t)}. \end{aligned}$$

Therefore, T has either diameter more than \({f_{6}}(h,t)\) or a vertex of degree more than \({f_{6}}(h, t) \cdot {f_{4}}(h, t)\).

Let us consider the following procedure.

  1. 1.

    By a DFS on (Ts), compute the height of each vertex of T and find (if it exists) a vertex v of degree more than \({f_{3}}(h, t)+1\) and height at most \({f_{6}}(h,t)-1\) that has minimum height.

  2. 2.

    If such a vertex v is found, then apply the algorithm of Lemma 6 on \({\mathbf{P}}\) and v, and return the obtained result.

  3. 3.

    Otherwise, find a vertex u of height exactly \({f_{6}}(h,t)\) in (Ts) and then apply the algorithm of Lemma 7 on \(\mathbf P\) and \((T_u, u)\) and return the obtained result.

Observe that since \(n(G) > {f_{2}}(h, t)\), Observation 2 implies that either T has diameter more than \({f_{6}}(h,t)\), or it contains a vertex of degree more than \({f_{3}}(h, t)+1\). Therefore, the vertex u of line 3 always exists in the case where no vertex of high degree is found in line 1. The correctness of this algorithm follows from Lemmas 6 and 7. The DFS done in the first step takes time O(n(T)) and the rest of the algorithm takes time \(O_{h, t}(1)\) according to the aforementioned lemmata.

The fact that a \(\mathsf{x}\)-\(\mathcal{H}\)-packing of \(W'\) can be lifted to an equal size \(\mathsf{x}\)-\(\mathcal{H}\)-packing of W follows easily when Lemma 6 is applied, as then \(W'\) is a subgraph of W. In the case that Lemma 7 is applied, the new \(\mathsf{x}\)-\(\mathcal{H}\)-packing is obtained because of Corollary 2 and the supporting protrusion replacement Lemma 5, whose proof indicates which part of the \(\mathsf{x}\)-\(\mathcal{H}\)-packing of \(W'\) should be replaced with what in order to obtain an equal size \(\mathsf{x}\)-\(\mathcal{H}\)-packing of W. \(\square \)

4 From the Erdős–Pósa Property to Approximation

For the purposes of this section we define \(\varTheta _{r}=\mathsf{ex}(\theta _{r})\). We need the following that is one of the main results in [7, Theorem 3.2].

Proposition 1

There is an algorithm that, with input three positive integers \(r\ge 2, w, z\) and a connected m-edge graph W, where \(m\ge z>r\ge 2\), outputs one of the following:

  • a \(\varTheta _{r}\)-subdivision of W with at most z edges,

  • a \((2r-2)\)-partitioned protrusion \((\mathbf{G},\mathcal{D})\) of W, where \(\mathbf{G}=(G,B,\lambda )\) and such that G is a connected graph and \(n(\mathbf{G})>w,\) or

  • an H-minor model of W for some graph H with \(\delta (H)\ge \frac{1}{r-1}2^{\frac{z-5r}{4r(2w+1)}}\),

in \(O_{r}(m)\) steps.

4.1 A Lemma on Reduce or Progress

The proof of the next lemma combines Proposition 1 and Lemma 1.

Lemma 8

(Reduce or progress) There is an algorithm that, with input \(\mathsf{x}\in \{\mathsf{v},\mathsf{e}\}\), \(r \in \mathbb {N}_{\ge 2}\), \(k \in \mathbb {N}\) and an n-vertex graph W, outputs one of the following:

  • a \(\varTheta _{r}\)-subdivision of W with at most \(O_{r}(\log k)\) edges;

  • a graph \(W'\) where

    $$\begin{aligned} \mathsf{x}\hbox {-}\mathsf{cover}_\mathcal{H}(W')&= \mathsf{x}\hbox {-}\mathsf{cover}_\mathcal{H}(W),\\ \mathsf{x}\hbox {-}\mathsf{pack}_\mathcal{H}(W')&=\mathsf{x}\hbox {-}\mathsf{pack}_\mathcal{H}(W),\ \text {and}\\ n(W')&< n(W); or \end{aligned}$$
  • an H-minor model in W, for some graph H with \(\delta (H)\ge k(r+1)\),

in \(O_{r}(m)\) steps. Moreover, this algorithm can be enhanced so that, when the second case applies, given a \(\mathsf{x}\)-\(\mathcal{H}\)-packing (resp. \(\mathsf{x}\)-\(\mathcal{H}\)-covering) in \(W'\) then it outputs a same size \(\mathsf{x}\)-\(\mathcal{H}\)-packing (resp. \(\mathsf{x}\)-\(\mathcal{H}\)-covering) in W.

Proof

We set \(t = 2r-2\), \(w = {f_{2}}(h, t)\), \(z = 2r(w-1)\log (k(r + 1)(r - 1)) + 5r\), and \(h = m(\varTheta _r)\). Observe that \(z = O_r(\log k)\) and \(h,t,w = O_r(1)\). Also observe that our choice for variable z ensures that \(2^\frac{z-5r}{2r(w-1)}/(r-1) = k(r+1)\).

By applying the algorithm of Proposition 1 to rwz, and W, we obtain in \(O_r(m(W))\)-time either:

  • a \(\varTheta _{r}\)-subdivision in W of at most z edges (first case),

  • a \((2r-2)\)-edge-protrusion Y of W with extension \(> w\) (second case), or

  • an H-minor model M in W, for some graph H with \(\delta (H)\ge k(r+1)\) (third case).

In the first case, we return the obtained \(\varTheta _r\)-subdivision. In the second case, by applying the algorithm of Lemma 1 on Y, we get in O(n(W))-time either a \(\varTheta _{r}\)-subdivision of W on at most \(w = O_r(1)\) vertices, or a graph \(W'\) where, for \(\mathsf{x}\in \{\mathsf{v},\mathsf{e}\}\), \(\mathsf{x}\hbox {-}\mathsf{cover}_\mathcal{H}(W')=\mathsf{x}\hbox {-}\mathsf{cover}_\mathcal{H}(W)\), \(\mathsf{x}\hbox {-}\mathsf{pack}_\mathcal{H}(W')=\mathsf{x}\hbox {-}\mathsf{pack}_\mathcal{H}(W)\) and \(n(W')<n(W)\). In the third case, we return the minor model M.

In each of the above cases, we get after O(m) steps either a minor model of a graph with minimum degree more than \(k(r+1)\), a \(\varTheta _{r}\)-subdivision in W with at most z edges, or an equivalent graph of smaller size. \(\square \)

It might not be clear yet to what purpose the minor model of a graph of degree more than \(k(r+1)\) output by the algorithm of Lemma 8 can be used. An answer is given by the following lemmata, which state that such a graph contains a packing of at least k minor models of \(\varTheta _r\). These lemmata will be used in the design of the appoximation algorithms in Sect. 4.2.

Lemma 9

There is an algorithm that, given \(k,r \in \mathbb {N}_{\ge 1}\) and a graph G with \(\delta (G) \ge kr\), returns a member of \(\mathbf{P}_{\mathsf{e},\varTheta _{r}}^{\ge k}(G)\) in G in O(m) steps.

Proof

Starting from any vertex u, we grow a maximal path P in G by iteratively adding to P a vertex that is adjacent to the previously added vertex but does not belong to P. Since \(\delta (G) \ge kr\), any such path will have length at least \(kr+1\). At the end, all the neighbors of the last vertex v of P belong to P (otherwise P could be extended). Since v has degree at least kr, v has at least kr neighbors in P. Let \(w_0, \dots , w_{kr-1}\) be an enumeration of the kr first neighbors of v in the order given by P, starting from u. For every \(i \in \llbracket 0, k-1 \rrbracket \), let \(S_i\) be the subgraph of G induced by v and the subpath of P starting at \(w_{ir}\) and ending at \(w_{(i+1)r-1}\). Observe that for every \(i \in \llbracket 0, k-1 \rrbracket \), \(S_i\) contains a \(\varTheta _r\)-subdivision and that the intersection of every pair of graphs from \(\{S_i\}_{i \in \llbracket 0, k-1 \rrbracket }\) is \(\{v\}\). Hence P contains a member of \(\mathbf{P}_{\mathsf{e},\varTheta _{r}}^{\ge k}(G)\), as desired. Every edge of G is considered at most once in this algorithm, yielding to a running time of O(m) steps. \(\square \)

Corollary 3

There is an algorithm that, given \(r\in \mathbb {N}_{\ge 1}\) and a graph G with \(\delta (G) \ge r\), returns a \(\varTheta _r\)-subdivision in G in O(m)-steps.

Observe that the previous lemma only deals with edge-disjoint packings. An analogue of Lemma 9 for vertex-disjoint packings can be proved using Proposition 2, to the price of a worse time complexity.

Proposition 2

(Theorem 12 of [1]) Given \(k,r \in \mathbb {N}_{\ge 1}\) and an input graph G such that \(\delta (G)\ge k(r + 1) - 1\), a partition \((V_1, \dots , V_k)\) of V(G) satisfying \(\forall i \in \llbracket 1, k \rrbracket ,\ \delta (G[V_i]) \ge r\) can be found in \(O(n^{c})\) steps for some \(c\in \mathbb {N}\).

Lemma 10

There is an algorithm that, given \(k,r \in \mathbb {N}_{\ge 1}\) and a graph G with \(\delta (G) \ge k(r + 1) - 1\), outputs a member of \(\mathbf{P}_{\mathsf{v},\varTheta _{r}}^{\ge k}(G)\) in \(O(n^c + m)\) steps, where c is the constant of Proposition 2.

Proof

After applying the algorithm of Proposition 2 on G to obtain in \(O(n^c)\)-time k graphs \(G[V_1], \dots , G[V_k]\), we extract a \(\varTheta _r\)-subdivision from each of them using Corollary 3. \(\square \)

4.2 Approximation Algorithms

As \(\varTheta _r\)-subdivisions are exactly the subgraph minimal graphs that contain \(\varTheta _r\) as a minor, a graph has a \(\varTheta _r\)-x-packing of size k iff it contains k x-disjoint subgraphs, each containing \(\theta _r\) as a minor. Therefore, Theorem 1 is a direct combinatorial consequence of the following.

Theorem 5

There is a function \(f_{8} :\mathbb {N}\rightarrow \mathbb {N}\) and an algorithm that, with input \(\mathsf{x}\in \{\mathsf{v},\mathsf{e}\}\), \(r \in \mathbb {N}_{\ge 2}\), \(k \in \mathbb {N}\), and an n-vertex graph W, outputs either a \(\mathsf{x}\)-\(\varTheta _{r}\)-packing of W of size k or an \(\mathsf{x}\)-\(\varTheta _{r}\)-covering of W of size at most \({f_{8}}(r)\cdot k\cdot \log k\). Moreover, this algorithm runs in \(O(m^2)\) steps if \(\mathsf{x}= \mathsf{e}\) and in \(O_r(n^{c} + n \cdot m)\) steps if \(\mathsf{x}= \mathsf{v}\), where c is the constant from Proposition 2.

Proof

Let \({f_{8}}(r): \mathbb {N}\rightarrow \mathbb {N}\) be a function such that each \(\varTheta _r\)-subdivision output by the algorithm of Lemma 8 has size at most \({f_{8}}(r)\cdot \log k\). We consider the following procedure.

  1. 1.

    \(G{:}{=}W\) ; \(P {:}{=} \emptyset \);

  2. 2.

    Apply the algorithm of Lemma 8 on \((\mathsf{x}, r, k,G)\):

    Progress::

    if the output is a \(\varTheta _r\)-subdivision M, let \(G{:}{=} G{\setminus } A_\mathsf{x}(M)\) and \(P = P \cup \{M\}\);

    Win::

    if the output is a H-minor model M in W for some graph H with \(\delta (H)\ge k(r+1)\), apply the algorithm of Lemma 9 (if \(\mathsf{x}=\mathsf{e}\)) or the one of Lemma 10 (if \(\mathsf{x}=\mathsf{v}\)) to H to obtain a member of \(\mathbf{P}_{\mathsf{x},\varTheta _{r}}^{\ge k}(H)\). Using M, translate this packing into a member of \(\mathbf{P}_{\mathsf{x},\varTheta _{r}}^{\ge k}(W)\) and return this new packing;

    Reduce::

    otherwise, the output is a graph \(G'\). Then let \(G {:}{=} G'\).

  3. 3.

    If \(|P|=k\) then return P which is a member of \(\mathbf{P}_{\mathsf{x},\varTheta _{r}}^{\ge k}(W)\);

  4. 4.

    If \(n(W) = 0\) then return P which is in this case a member of \(\mathbf{C}_{\mathsf{x},\varTheta _{r}}^{\le {f_{8}}(r)\log k}(W)\);

  5. 5.

    Otherwise, go back to Line 2.

This algorithm clearly returns the desired result. Furthermore, the loop is executed at most \(\left| A_\mathsf{x}(W)\right| \) times (as an element of \(A_\mathsf{x}(W)\) is deleted each time we reach the Progress case) and each call to the algorithm of Lemma 8 takes O(m(W)) steps. When the algorithm reaches the “Win” case (which can happen at most once), the calls to the algorithm of Lemma 9 (if \(\mathsf{x}=\mathsf{e}\)) or the one of Lemma 10 (if \(\mathsf{x}=\mathsf{v}\)), respectively, take O(m(H)) and \(O\left( (n(H))^c \right) \) steps. Therefore, in total, this algorithm terminates in \(O(m^2)\) steps if \(\mathsf{x}=\mathsf{e}\) and in \(O\left( n^c +n \cdot m\right) \) steps if \(\mathsf{x}=\mathsf{v}\). \(\square \)

Observe that if the algorithm of Theorem 5 reaches the “Win” case, then the input graph is known to contain an \(\mathsf{x}\)-\(\varTheta _r\)-packing of size at least k. As a consequence, if we are only interested in the existence of a packing or covering, the call to the algorithm of Lemmas 9 or 10 is not necessary.

Corollary 4

There is an algorithm that, with input \(\mathsf{x}\in \{\mathsf{v},\mathsf{e}\}\), \(r \in \mathbb {N}_{\ge 2}\), \(k \in \mathbb {N}\), and a graph W, outputs 0 only if W has an \(\mathsf{x}\)-\(\varTheta _{r}\)-packing of size k or 1 only if W has an \(\mathsf{x}\)-\(\varTheta _{r}\)-covering of size at most \({f_{8}}(r)\cdot k\cdot \log k\). Furthermore this algorithm runs in \(O_r(n \cdot m)\) steps when \(\mathsf{x}= \mathsf{v}\) and in \(O_r(m^2)\) steps when \(\mathsf{x}= \mathsf{e}\).

We now conclude this section with the proof of Theorem 2. For the same reason as in the proof of Theorem 1 at the beginning of this section, we can deal with \(\varTheta _r\)-subdivisions instead of dealing with subgraphs that contain \(\theta _r\) as a minor.

Proof of Theorem 2

Let us call \(\mathsf{A}\) the algorithm of Corollary 4. Let \(k_0\in \llbracket 1, n(W) \rrbracket \) be an integer such that \(\mathsf{A}(\mathsf{x}, r, k_0, W) = 1\) and \(\mathsf{A}(\mathsf{x}, r, k_0-1, W) = 0\), and let us show that the value \({f_{8}}(r)\cdot k_0 \log k_0\) is an \(O(\log OPT)\)-approximation of \(\mathsf{x}\hbox {-}\mathsf{pack}_{\varTheta _r}(W)\) and \(\mathsf{cover}_{\varTheta _r}(W)\).

First, notice that for every \(k > \mathsf{x}\hbox {-}\mathsf{pack}_{\varTheta _r}(W)\), the value returned by \(\mathsf{A}(\mathsf{x}, r, k,\) W) is 1. Symmetrically, for every k such that \({f_{8}}(r)\cdot k\log k < \mathsf{x}\hbox {-}\mathsf{cover}_{\varTheta _r}(W)\), the value of \(\mathsf{A}(\mathsf{x}, r, k, W)\) is 0. Therefore, the value \(k_0\) is such that:

$$\begin{aligned} k_0-1&\le \mathsf{x}\hbox {-}\mathsf{pack}_{\varTheta _r}(W)\ \text {and}\\ \mathsf{x}\hbox {-}\mathsf{cover}_{\varTheta _r}(W)&\le {f_{8}}(r)\cdot k_0\log k_0. \end{aligned}$$

As every minimal covering must contain at least one vertex or edge (depending on whether \(\mathsf{x}= \mathsf{v}\) or \(\mathsf{x}= \mathsf{e}\)) of each element (i.e. subdivision) of a maximal packing \(\mathsf{x}\hbox {-}\mathsf{pack}_{\varTheta _r}(W) \le \mathsf{x}\hbox {-}\mathsf{cover}_{\varTheta _r}(W)\), we have the following two equations:

$$\begin{aligned} \mathsf{x}\hbox {-}\mathsf{pack}_{\varTheta _r}(W) \le {f_{8}}(r)\cdot k_0\log k_0&\le (\mathsf{x}\hbox {-}\mathsf{pack}_{\varTheta _r}(W)+1)\log (\mathsf{x}\hbox {-}\mathsf{pack}_{\varTheta _r}(W)+1) \end{aligned}$$
(1)
$$\begin{aligned} \mathsf{x}\hbox {-}\mathsf{cover}_{\varTheta _r}(W) \le {f_{8}}(r)\cdot k_0\log k_0&\le (\mathsf{x}\hbox {-}\mathsf{cover}_{\varTheta _r}(W)+1)\log (\mathsf{x}\hbox {-}\mathsf{cover}_{\varTheta _r}(W)+1). \end{aligned}$$
(2)

Dividing (1) by \(\mathsf{x}\hbox {-}\mathsf{pack}_{\varTheta _r}(W)\) and (2) by \(\mathsf{cover}_{\varTheta _r}(W)\), we get:

$$\begin{aligned} 1 \le \frac{k_0\log k_0}{\mathsf{x}\hbox {-}\mathsf{pack}_{\varTheta _r}(W)}&\le \log (\mathsf{x}\hbox {-}\mathsf{pack}_{\varTheta _r}(W) + 1) +\frac{\log \mathsf{x}\hbox {-}\mathsf{pack}_{\varTheta _r}(W)}{ \mathsf{x}\hbox {-}\mathsf{pack}_{\varTheta _r}(W)}\\&= O(\log (\mathsf{x}\hbox {-}\mathsf{pack}_{\varTheta _r}(W))), \quad \text {and}\\ 1 \le \frac{k_0\log k_0}{\mathsf{x}\hbox {-}\mathsf{cover}_{\varTheta _r}(W)}&\le \log (\mathsf{x}\hbox {-}\mathsf{cover}_{\varTheta _r}(W) + 1)+\frac{\log \mathsf{x}\hbox {-}\mathsf{cover}_{\varTheta _r}(W)}{ \mathsf{x}\hbox {-}\mathsf{cover}_{\varTheta _r}(W)}\\&= O(\log (\mathsf{x}\hbox {-}\mathsf{cover}_{\varTheta _r}(W))). \end{aligned}$$

Therefore the value \(k_0\log k_0\) is both an \(O(\log OPT)\)-approximation of \(\mathsf{x}\hbox {-}\mathsf{pack}_{\varTheta _r}(W)\) and \(\mathsf{cover}_{\varTheta _r}(W)\). The value \(k_0\) can be found by performing a binary search in the interval \(\llbracket 1, n \rrbracket \), with \(O(\log n)\) calls to Algorithm \(\mathsf{A}\). Hence, our approximation algorithm runs in \(O(n\cdot \log (n)\cdot m)\) steps when \(\mathsf{x}= \mathsf{v}\) and in \(O(m^2\cdot \log (n))\) steps when \(\mathsf{x}= \mathsf{e}\). \(\square \)

5 Erdős–Pósa Property and Tree-Partition Width

Using the machinery introduced in Sect. 3, we are able to prove a slightly more general version of Theorem 3.

Theorem 6

Let \(t \in \mathbb {N}\). For every \(\mathsf{x}\in \{\mathsf{v},\mathsf{e}\}\), the following holds: if \(\mathcal{H}\) is a finite collection of connected graphs and G is a graph of tree-partition width at most t, then \(\mathsf{x}\)-cover \(_\mathcal{H}(G)\le \alpha \cdot \mathsf{x}\)-pack \(_\mathcal{H}(G)\), where \(\alpha \) is a constant which depends only on t and \(\mathcal {H}\).

Proof

Let \(k = \mathsf{x}\hbox {-}\mathsf{pack}_\mathcal{H}(G)\). This proof is similar to that of Theorem 5 (progress or reduce). We start with \(P {:}{=} \emptyset \) and \(G_0 {:}{=} G\) and repeatedly apply Lemma 1 to \(G_i\), which provides the existence of either a smaller graph \(G_{i+1}\) with the same parameters \(\mathsf{x}\hbox {-}\mathsf{cover}_\mathcal{H}\) and \(\mathsf{x}\hbox {-}\mathsf{pack}_\mathcal{H}\) (reduce), or that of an \(\mathcal{H}\)-subdivision M with at most \({f_{2}}(h, t)\) edges, in which case we set \(G_{i+1}{:}{=}G_i{\setminus } A_{\mathsf{x}}(M)\) and \(P {:}{=} P \cup \{M\}\) (progress) and continue. Notice that while the algorithm of Lemma 1 requires a t-partitioned protrusion, it is enough here to know that such a partitioned protrusion exists as we do not actually run the algorithm. This is the case because the considered graphs are subgraph of G, which has tree-partition width at most t, so we can consider a t-partitioned protrusion containing the whole graph. We stop this process when the current graph has at most \({f_{2}}(h, t)\) vertices. Let \(G_j\) be this graph. In the end, P contains at most k \(\mathcal{H}\)-subdivisions. Therefore, \(C {:}{=} \pmb {\pmb {\cup }}A_{\mathsf{x}}(P) \cup A_{\mathsf{x}}(G_j)\) is an \(\mathsf{x}\)-\(\mathcal {H}\)-covering of G of size \((k+1) \cdot {f_{2}}(h, t)\), as required. \(\square \)

Theorem 3 can be obtained from Theorem 6 by considering packing and covering of the graphs in \(\bigcup _{H \in \mathcal {H}} \mathsf{ex}(H)\), where \(\mathcal {H}\) is the family of graphs mentioned in the statement of Theorem 3.

We define \(\varTheta _{r,r'}=\mathsf{ex}(\theta _{r,r'})\). The rest of this section is devoted to the proof of Theorem 4. Prior to this, we need to introduce a result of Ding et al. [11].

Tree-partition width has been studied in [11, 20, 37]. In particular, the authors of [11] characterized the classes of graphs of bounded tree-partition width in terms of excluded topological minors. The statement of this result requires additional definitions.

Walls, Fans, Paths, and Stars The n-wall is the graph with vertex set \(\llbracket 1, n \rrbracket \) and whose edge set is:

$$\begin{aligned}&\left\{ \{(i,j), (i, j+1)\},\ 1\le i,j \le n \right\} \\ \cup&\left\{ \{(2i-1,2j+1), (2i, 2j+1)\},\ 1<2i\le n\ \text {and}\ 1\le 2j +1\le n\right\} \\ \cup&\left\{ \{(2i,2j), (2i+1, 2j)\},\ 1\le 2i < n\ \text {and}\ 1\le 2j \le n \right\} . \end{aligned}$$

The 7-wall is depicted in Fig. 7. The n-fan is the graph obtained by adding a dominating vertex to a path on n vertices. A collection of paths is said to be independent if two paths of the collection never share interior vertices. The n-star is the graph obtained by replacing every edge of \(K_{1,n}\) with n independent paths of two edges. The n-path is the graph obtained by replacing every edge of an n-edge path with n independent paths of two edges. Examples of these graphs are depicted in Fig. 7. The wall number (resp. fan number, star number, and path number) of a graph G is defined as the largest integer k such that G contains a minor model of a k-wall (resp. of a k-fan, of a k-star, of a k-path), or infinity is no such integer exists. Let \(\gamma (G)\) denote the maximum of the wall number, fan number, star number, and path number of a graph G.

Fig. 7
figure 7

Unavoidable patterns of graphs of large tree-partition width

We need the following result.

Proposition 3

[11] There is a function \({f_{9}} :\mathbb {N}\rightarrow \mathbb {N}\) such that every graph G satisfies \({{\mathrm{\mathbf{tpw}}}}(G) \le {f_{9}}(\gamma (G))\).

In other words, for every integer k, every graph of large enough tree-partition width contains a minor model of one of the following graphs: the k-wall, the k-fan, the k-path, or the k-star.

Notice that for every \(r,r' \in \mathbb {N}\), \(r'\le r\), the graph \(\theta _{r,r'}\) is a minor of the following graphs: the r-path, the r-star, the \((r+r'+1)\)-fan, and the r-wall (for \(r\ge 6\)). Hence, every graph of large enough tree-partition width contains a \(\varTheta _{r,r'}\)-subdivision. This can easily be generalized to edge-disjoint packings, as follows.

Lemma 11

For every \(r,r' \in \mathbb {N},\) \(r'\le r\), and every \(k \in \mathbb {N}_{\ge 1}\), every graph G satisfying \(\gamma (G) \ge k(r+r'+2)-1\) contains an \(\mathsf{e}\)-\({\varTheta _{r,r'}}\)-packing of size k.

Using Proposition 3, we get the following corollary.

Corollary 5

For every \(r,r' \in \mathbb {N},\) \(r'\le r\), and every \(k \in \mathbb {N}_{\ge 1}\), every graph G satisfying \({{\mathrm{\mathbf{tpw}}}}(G) \ge {f_{9}}(k(r+r'+2)-1)\) contains an \(\mathsf{e}\)-\({\varTheta _{r,r'}}\)-packing of size k.

We are now able to give the proof of Theorem 4. As in the proof of Theorem 1 at the beginning of Sect. 4.2, we can consider \(\varTheta _{r,r'}\)-subdivisions instead of sugraphs containing \(\theta _{r,r'}\) as a minor.

Proof of Theorem 4

According to Corollary 5, for every \(k \in \mathbb {N}\), there is a number \(t_k\) such that every graph G with \(\mathsf{e}\hbox {-}\mathsf{cover}_{\varTheta _{r,r'}}(G) = k\) satisfies \({{\mathrm{\mathbf{tpw}}}}(G) \le t_k\). Indeed, such a graph does not contain a packing of \(k+1\) \({\varTheta _{r,r'}}\)-subdivisions. Then by Theorem 3 the value \(\mathsf{e}\hbox {-}\mathsf{cover}_{\varTheta _{r,r'}}(G)\) is bounded above by \({f_{2}}(h,t_k) \cdot \mathsf{e}\hbox {-}\mathsf{pack}_{\varTheta _{r,r'}}(G)\), and this concludes the proof. \(\square \)

6 Concluding Remarks

The main algorithmic contribution of this paper is a \(\log (\mathsf{OPT})\)-approximation algorithm for the parameters \(\mathsf{v}\hbox {-}\mathsf{pack}_{\theta _{r}}\), \(\mathsf{v}\hbox {-}\mathsf{cover}_{\theta _{r}}\), \(\mathsf{e}\hbox {-}\mathsf{pack}_{\theta _{r}}\), and \(\mathsf{e}\hbox {-}\mathsf{cover}_{\theta _{r}}\), for every positive integer r. This improves the results of [21] in the case of vertex packings and coverings and is the first approximation algorithm for the parameters \(\mathsf{e}\hbox {-}\mathsf{pack}_{\theta _{r}}\) and \(\mathsf{e}\hbox {-}\mathsf{cover}_{\theta _{r}}\) for general r. Our proof uses a reduction technique of independent interest, which is not specific to the graph \(\theta _r\) and can be used for any other (classes of) graphs.

On the combinatorial side, we optimally improved the gap of the edge-Erdős–Pósa property of minor models of \(\theta _r\) for every r. Also, we were able to show that every class of graphs has the (edge and vertex) Erdős–Pósa property in graphs of bounded tree-partition width, with linear gap. An other outcome of this work is that minor models of \(\theta _{r,r'}\) have the edge-Erdős–Pósa. Recall that prior to this work, the only graphs for which this was known were \(\theta _r\)’s.

As mentioned in [31], the planarity of a graph H is a necessary condition for the minor models of H to have the edge-Erdős–Pósa property. However, little is known on which planar graphs have this property and with which gap. This is the first direction of research that we want to highlight here. Also, the question of an approximation algorithm can be asked for packing and covering the minor models of different graphs. It was proved in [8] that the gap of the vertex-Erdős–Pósa property of minor models of every planar graph is \(O(k \mathop {\mathrm {polylog}} k)\). It would be interesting to check if these results can be used to derive a \(\mathop {\mathrm {polylog}}(\mathsf{OPT})\)-approximation for vertex packing and covering minor models of any planar graph.

Notice that all our results are strongly exploiting Lemma 1 that holds for every finite collection \(\mathcal{H}\) of connected graphs. Actually, what is missing in order to have an overall generalization of all of our results, is an extension of Proposition 1 where \(\varTheta _{r}\) is replaced by any finite collection \(\mathcal{H}\) of connected planar graphs. This is an an interesting combinatorial problem even for particular instantiations of \(\mathcal{H}\).