Suppose that Alice is a polynomial-time agent faced with an input to an NP-hard problem that she wishes to solve exactly. To facilitate her in this process, she can ask questions to an all-knowing oracle. These will be answered truthfully and instantly, but the oracle is memory-less and will not take previous questions into account when answering the next one. How large do these questions have to be, to allow Alice to find the answer to her problem? Clearly, it suffices to send the entire input to the oracle, who determines the answer and sends it to Alice. Could there be a more clever strategy? Alice can attempt to isolate a small but meaningful question about the behavior of her input, such that after learning its answer, she can reduce her current input to a smaller input without changing the outcome. Iterating this process solves her problem: when it has become sufficiently small, it can be posed to the oracle in its entirety.

Such problem-solving strategies can be rigorously analyzed using the notion of Turing kernelization that originated in parameterized algorithmics. The parameter makes it possible to express how the size of the questions that Alice asks, depends on properties of the input that she is given. (See Sect. 3 for a formal definition.)

Understanding the power of Turing kernelization is one of the main open research horizons in parameterized algorithmics. There is a handful of problems for which a nontrivial Turing kernelization is known [1, 3, 4, 6, 16, 20, 22, 23, 29, 31]. On the other hand, there is a hierarchy of parameterized complexity classes which are conjectured not to admit polynomial Turing kernels [19]. Arguably, the main open problem (cf. [4, 5, 19]) in this direction is to determine whether the \(k\)-Path problem (determine whether an undirected graph has a simple path of length k) has a polynomial Turing kernel. In earlier work [21], the first author showed that \(k\)-Path indeed admits polynomial Turing kernels on several graph classes. In this work, we develop Turing kernels for \(k\)-Path in a much more general setting.

Our results Our algorithmic contributions are twofold. First of all, we extend the Turing kernelization for \(k\)-Path to much broader families of sparse graphs. Whereas the earlier work could only deal with \(K_{3,t}\)-minor-free graphs, claw-free graphs, and bounded-degree graphs, we show that a Turing kernelization exists on H-minor-free graphs for all fixed graphs H. We even lift the kernelization to H-topological-minor-free graphs, thereby capturing a common generalization of the bounded-degree and \(K_{3,t}\)-minor-free cases.

Theorem 1

For every fixed graph H, the \(k\)-Path problem, restricted to graphs excluding H as a topological minor, admits a polynomial Turing kernel. Furthermore, the kernel runs in time \(k^{\mathscr {O} _H(1)} \cdot n^2 m\) and invokes \(k^{\mathscr {O} _H(1)} \cdot n\) calls to the oracle.Footnote 1

Our second contribution is the following theorem. By a novel algorithmic approach, we obtain a Turing kernelization even when the input graph does not belong to the desired restricted graph class itself, but contains a small known vertex modulator whose deletion places the graph in such a graph class.

Theorem 2

For every fixed graph H, the \(k\)-Path problem, on instances consisting of a graph G, integer k, and a modulator \(M \subseteq V(G)\) such that \(G-M\) is H-topological-minor-free, admits a polynomial Turing kernel, when parameterized by k and |M|.

Techniques To explain our approach, we briefly recall the idea behind the Turing kernelization for \(k\)-Path on planar graphs. The graph-theoretical core is a theorem by Chen and Yu [8] stating that every n-vertex triconnected planar graph contains a polynomially long cycle (of length \(\varOmega (n^{\varepsilon })\) for some \(\varepsilon > 0\)). Hence given a triconnected subgraph and an integer k, we can immediately conclude that a k-path exists or continue knowing that the subgraph has size polynomially bounded in k. For a general planar graph, Tutte’s decomposition into triconnected bags thus becomes a tree decomposition with bags of size polynomially bounded in k. Furthermore, in this decomposition the adhesions, i.e. intersections of two adjacent bags, have constant size (at most 2). This makes it possible to find a separation (AB) of the graph of constant order \(|A \cap B|\) and with A moderately large: polynomially bounded in k (so that G[A] can be sent to the oracle) but large enough to contain an irrelevant vertex (one whose removal will not change the answer).

To find such an irrelevant vertex, we use the constant bound on the order of the separation to bound the number structurally different ways in which the k-path we seek could intersect A. For example, if the separator \(A \cap B\) consists of two vertices uv then a k-path in G may use A to form a long path connecting u and v. Alternatively, a k-path in G may use A to realize two disjoint paths, one ending in u and one in v, which are connected into a single path through B. Hence the way in which a k-path uses A can be described by how the various pieces of its intersection with A connect to \(A \cap B\). Details are presented in following sections, but the idea is that for each such way, we ask the oracle whether sufficiently long paths in A realize it (using the fact that an oracle to an NP-complete problem can answer any problem in NP) and we ask for paths witnessing this (using self-reduction). This allows us to collect a subset of A polynomially bounded in k (independent of |A|) that witnesses every possible way, making all remaining vertices in A irrelevant. Hence by choosing A to be moderately large we can guarantee to always remove some vertices, until the whole graph is polynomially bounded.

Theorem 1 is established by lifting this approach to H-(topological)-minor-free graphs: we show that every H-free graph that does not have a k-path, has a tree decomposition of constant adhesion size and width \(\mathrm {poly}(k)\). This requires an adaptation of the decomposition theorems of Robertson and Seymour [28] (for minors) and of Grohe and Marx [18] (for topological minors). These guarantee a tree decomposition of constant adhesion (depending only on the fixed graph H) with bags that are possibly large but nearly-embeddable or have bounded degree (for topological minors). As before, if these bags are also triconnected, known theorems [7, 9, 30] can be used to bound their size polynomially. However, several technical steps are needed to translate this into the desired result, due to details of the decomposition theorems (vortices, virtual edges, and the lack of a direct polynomial-time algorithm to compute the decomposition).

To prove Theorem 2, we introduce a new algorithmic tool for finding irrelevant vertices for the \(k\)-Path problem in the presence of a modulator M in the input graph G. Since Theorem 1 can be applied to find a k-path in \(G - M\) if one exists, the challenge is to detect a k-path in G that jumps between M and \(G-M\) several times. The absence of a k-path in \(G-M\) implies it has a tree decomposition of width \(\text {poly}(k)\) and constant adhesion size. Using Theorem 1 as a subroutine, we compute paths in \(G-M\) between every two vertices in M, and pack them to obtain a vertex set X of size polynomial in \(k + |M|\) with the following guarantee. If there is a k-path, then there is a guardedk-path in which each successive pair of vertices in M are connected by a subpath through \(G - M\) that intersects X. Using the tree decomposition of \(G-M\), the standard ancestor-marking technique allows us to identify a vertex subset C of \(G-(M\cup X)\) that is adjacent to at most two adhesions and hence to constantly many vertices from X. Unless G is already small, we can find such a set C that is sufficiently large to be reducible but small enough that we may invoke the oracle for questions about it. We then show that the constant bound on the adhesions (independent of |M|, k) suffices to reduce the graph by finding an irrelevant vertex as before.

Organization After preliminaries in Sect. 2, we give a generic Turing-style reduction rule for \(k\)-Path in Sect. 3. In Sect. 4 we show that an H-minor-free graph either has a k-path or a separation that is suitable for reduction. In Sect. 5 we extend this to topological minors. Finally, in Sect. 6 we present a Turing kernel applicable when the input graph has a small modulator to a suitable graph class.


Notation All graphs we consider are finite, simple, and undirected. A separation of a graph G is a pair (AB), \(A,B \subseteq V(G)\) such that \(A \cup B = V(G)\) and there are no edges between \(A \setminus B\) and \(B \setminus A\). The order of the separation (AB) is \(|A \cap B|\). A graph is triconnected if it is connected and cannot be disconnected by deleting fewer than three vertices. When referring to the size of a graph in our statements, we mean the number of vertices.

A tree decomposition of a graph G is a pair \((T,\mathscr {X})\) where T is a rooted tree and \(\mathscr {X} \) is a function that assigns to every node \(t \in V(T)\) a subset \(\mathscr {X} (t)\) of V(G) called a bag such that:

  • \(\bigcup _{t\in V(T)} \mathscr {X} (t) = V(G)\);

  • for each edge \(uv \in E(G)\), there is a node \(t \in V(T)\) with \(u, v \in \mathscr {X} (t)\);

  • for each \(v \in V(G)\), the nodes \(\{t \mid v \in \mathscr {X} (t)\}\) induce a (connected) subtree of T.

The width of \((T,\mathscr {X})\) is \(\max _{t \in V(T)} |\mathscr {X} (t)|-1\). For an edge \(tt'\) of T, we call the set \(\mathscr {X} (t) \cap \mathscr {X} (t')\) the adhesion of\(tt'\). The adhesion size of \((T,\mathscr {X})\) is the maximum size of an adhesion. For a decomposition \((T,\mathscr {X})\) of G and a node \(t \in V(T)\), the torso, denoted \(\mathop {\mathrm {\textsc {torso}}}(G,\mathscr {X} (t))\), is the graph obtained from \(G[\mathscr {X} (t)]\) by adding an edge between each pair of vertices in \(\mathscr {X} (t) \cap \mathscr {X} (t')\), for every neighbor \(t'\) of t in T (so each adhesion induces a clique in the torso). Added edges not present in G are called virtual edges. For a subtree \(T'\subseteq T\) we write \(\mathscr {X} (T')\) for the union \(\bigcup _{t\in V(T')} \mathscr {X} (t)\) of bags in \(T'\).

For an edge \(t_1t_2 \in E(T)\), let \(T_i\) be the connected component of \(T-\{t_1t_2\}\) that contains \(t_i\). Let \(V_i = \mathscr {X} (T_i)\). Observe that the properties of a tree decomposition imply that \((V_1,V_2)\) is a separation with \(V_1 \cap V_2 = \mathscr {X} (t_1) \cap \mathscr {X} (t_2)\).

A decomposition \((T,\mathscr {X})\) is connected if for every \(t \in V(T)\) and its child \(t'\), if \(T_{t'}\) is the subtree of T rooted at \(t'\), we have (i) that \(G[\mathscr {X} (T_{t'}) \setminus \mathscr {X} (t)]\) is connected, and (ii) that \(\mathscr {X} (T_{t'}) \setminus \mathscr {X} (t)\) has edges to every vertex of the adhesion \(\mathscr {X} (t) \cap \mathscr {X} (t')\). It is straightforward to turn any decomposition into a connected one without increasing its width nor adhesion. For (i), as long as there exists a pair \((t,t')\) violating the requirement, make a distinct copy \(T_{t'}^C\) of \(T_{t'}\) for each connected component C of \(G[\mathscr {X} (T_{t'}) \setminus \mathscr {X} (t)]\), restrict the bags of \(T_{t'}^C\) to the vertices of \(C \cup \mathscr {X} (t)\) only, and attach \(T_{t'}^C\) as a subtree with the root being a child of t. For (ii), while there is a vertex \(v \in \mathscr {X} (t) \cap \mathscr {X} (t')\) that has no neighbors in \(\mathscr {X} (T_{t'}) \setminus \mathscr {X} (t)\), simply remove v from all bags in \(T_{t'}\). Connected tree decompositions are useful for our arguments, because they imply that the virtual edges of \(\mathop {\mathrm {\textsc {torso}}}(G,\mathscr {X} (t))\) can in fact be realized by paths in the graph whose internal vertices are represented in \(T - \{t\}\).

We will also need the following non-standard complexity measure of a tree decomposition \((T,\mathscr {X})\). For every \(t \in V(T)\), the number of distinct adhesions \(\mathscr {X} (t) \cap \mathscr {X} (t')\) for \(t' \in N_T(t)\) is called the adhesion degree of t. The maximum adhesion degree over all nodes t is the adhesion degree of the decomposition \((T,\mathscr {X})\). Observe that if a tree decomposition \((T,\mathscr {X})\) has width less than \(\ell \) and adhesions of size at most h, then its adhesion degree is at most

$$\begin{aligned} \sum _{i = 0}^h \left( {\begin{array}{c}\ell \\ i\end{array}}\right) \le (1+\ell )^h. \end{aligned}$$

However, in sparse graph classes we can prove a much better bound on the adhesion degree due to linear bounds on the number of cliques in such graphs; cf. Lemma 17.

A path decomposition is a tree decomposition where T is a path; we will denote it simply as a sequence of bags \(\mathscr {Z} _1,\ldots ,\mathscr {Z} _{|V(T)|}\).

Turing Kernels

In this section we introduce a general toolbox and notation for proving our Turing kernel bounds.

Definitions and the Auxiliary Problem

For a parameterized problem \(\varPi \) and a computable function f, a Turing kernel for \(\varPi \)of sizef is an algorithm that solves an input instance (xk) of \(\varPi \) in polynomial time, given access to an oracle that solves instances \((x',k')\) of \(\varPi \) with \(|x'|,k' \le f(k)\). A Turing kernel is a polynomial one if f is a polynomial.

If we are only interested in distinguishing between NP-complete problems admitting a polynomial Turing kernel from the ones that do not admit such a kernel, we can assume that the oracle solves an arbitrary problem in NP, not necessarily the \(k\)-Path problem. Indeed, note that by the definition of NP-completeness, an oracle to a problem in NP can be implemented with an oracle to \(k\)-Path with only polynomial blow-up in the size of the passed instances.

In our work, it will be convenient to reduce to the Auxiliary Linkage problem, defined as follows. The input consists of an undirected graph \(G'\), an integer \(k'\), a set of terminals \(S \subseteq V(G')\), and a number of requests \(R_1,R_2,\ldots ,R_r\); a request is a set of at most two terminals. A path \(P_i\) in G is said to satisfy a request\(R_i\) if \(V(P_i) \cap S = R_i\) and every vertex of \(V(P_i) \cap S\) is an endpoint of \(P_i\). With such an input, the Auxiliary Linkage problem asks for a sequence of r paths \(P_1,P_2,\ldots ,P_r\) such that \(P_i\) satisfies \(R_i\) for every \(1 \le i \le r\), \(|\bigcup _{i=1}^r V(P_i)| = k'\), and every vertex of \(V(G)\setminus S\) is contained in at most one path \(P_i\) (i.e., the paths \(P_i\) are vertex-disjoint, except that they may share an endpoint, but only if the requests ask them to do so).

We remark that Auxiliary Linkage is a more general problem than \(k\)-Path : an instance with \(G'=G\), \(k'=k\), \(S=\emptyset \), \(r=1\), and \(R_1 = \emptyset \) asks precisely for a k-path in G.

Clearly, the decision version of the Auxiliary Linkage problem belongs to the class NP. By using its self-reducibility (cf. [21, Lemma 2]), we assume that the oracle returns a sequence of paths \((P_i)_{i=1}^r\) in case of a positive answer. That is, in all subsequent bounds on the number of Auxiliary Linkage oracle calls, the bound adheres to the number of calls to an oracle that returns the actual paths \(P_i\); if one wants to use a decision oracle, one should increase the bound by the blow-up implied by the self-reducibility application (i.e., at most |E(H)| for calls on a graph H).

Generic Reduction Rule

We now show a generic reduction rule for the \(k\)-Path problem. We start with a few definitions.

Definition 3

For a graph G, a subset \(A \subseteq V(G)\), and a simple path P in G, an A-traverse of P is a maximal subpath of P that contains at least one vertex of A and has all its internal vertices in A.

Note that if Q is an A-traverse of P, then every endpoint of Q is either an endpoint of P or lies in \(N_G(A)\). See Fig. 1.

Fig. 1
figure 1

A set A (blue) and a path with three A-traverses (bold). The path is guarded w.r.t. \(Z \subseteq N(A)\) (the red set), since each A-traverse has an endpoint in it. (A path fully contained in A (with one A-traverse) or disjoint from A (with no A-traverses) would also be guarded) (Color figure online)

Definition 4

Let G be a graph, \(A \subseteq V(G)\), and let k be an integer. A set \(Z \subseteq N(A)\) is called a k-guard ofA if the following implication holds: if G admits a k-path, then there exists a k-path P in G that is either contained in A or such that every A-traverse of P has at least one endpoint in Z.

Given a graph G, a set \(A \subseteq V(G)\), and a k-guard \(Z \subseteq N(A)\) of A, a k-path P satisfying properties as in the above definition is called guarded (w.r.t. k, A, and Z). If the integer k and the set A are clear from the context, we call such a set Z simply a guard.

Observe that \(Z = N(A)\) is always a guard, but sometimes we will be able to find smaller ones. Of particular interest will be guards of constant size, as our kernel sizes will depend exponentially on the guard size. To describe our single reduction rule, we show how solutions to Auxiliary Linkage can be used to preserve the existence of guarded k-paths.

Assume we are given a graph G, a set \(A \subseteq V(G)\), an integer k, and a k-guard \(Z \subseteq N(A)\) of A. Let \(h = |Z|\) and \(\ell = |N(A)|\). Furthermore, assume that G admits a k-path, and let P be a guarded one w.r.t. A and Z. Let \((Q_1,Q_2,\ldots ,Q_r)\) be the A-traverses of P, let \(R_i = V(Q_i) \setminus A = V(Q_i) \cap N(A)\) for \(1 \le i \le r\), let \(G' = G[N[A]]\), \(S = N(A)\), and let \(k' = |\bigcup _{i=1}^r V(Q_i)|\). Observe that \((Q_1,Q_2,\ldots ,Q_r)\) is a feasible solution to the Auxiliary Linkage instance \(\mathscr {I}_P := (G[N[A]], k', S, (R_i)_{i=1}^r)\); the instance \(\mathscr {I}_P\) is henceforth called induced byPandA. Furthermore, it is easy to see that if \((Q_1',Q_2',\ldots ,Q_r')\) is a different feasible solution to \(\mathscr {I}_P\), then a path \(P'\) obtained from P by replacing every subpath \(Q_i\) with \(Q_i'\) is also a guarded k-path in G.

The crucial observation is that a small guard limits the number r of A-traverses.

Lemma 5

The number of traverses of a guarded k-path P is bounded by \(\max (1, 2|Z|)\).


Let r be the number of A-traverses. Every vertex of Z can be an endpoint of at most two traverses. If \(r > 1\), then none of the traverses \(Q_i\) are contained in G[A], and thus every traverse has at least one endpoint in the guard Z. \(\square \)

Lemma 5 in turn limits the number of possible instances \(\mathscr {I}\) that can be induced by a guarded k-path, for a fixed set A and guard Z. Note that we have \(0 \le k' \le k\) and \(0 \le r \le \max (1, 2|Z|)\). Furthermore, unless \(r=1\) and \(R_1 = \emptyset \), we have \(R_i \subseteq N(A)\), \(|R_i| \in \{1,2\}\), and every set \(R_i\) needs to have at least one element of Z; there are at most \(|Z| + |Z| \cdot |N(A)| = h(\ell +1)\) choices for such a set \(R_i\). Consequently, the number of possibilities for the instance \(\mathscr {I}\) is at most

$$\begin{aligned} (k+1) \cdot \left( 1 + \sum _{r=0}^{2h} h^r (\ell +1)^r \right) \le (k+1) \cdot \left( h(\ell +1)\right) ^{2h+1} =: \mathfrak {p}(k, \ell , h). \end{aligned}$$

Reduction rule If \(|A| > k \cdot \mathfrak {p}(k, \ell , h)\), then we can apply the following reduction rule. For each Auxiliary Linkage instance \(\mathscr {I}\) out of at most \(\mathfrak {p}(k, \ell , h)\) reasonable instances for A-traverses of a guarded k-path in G, we invoke an oracle on the instance \(\mathscr {I}\), and mark the vertices of the solution if the oracle finds one. The whole process will mark at most \(k \cdot \mathfrak {p}(k, \ell , h) < |A|\) vertices, thus at least one vertex of |A| will remain unmarked. We delete any such vertices.

The observation that on a guarded k-path P one can replace a solution to the instance \(\mathscr {I}_P\) induced by P and A by a different solution ensures the safeness of this reduction. Finally, note that the reduction invokes at most \(\mathfrak {p}(k, \ell , h)\) calls to the oracle; each call operates on a subgraph of the graph G[N[A]] with \(k' \le k\) and \(r \le 2|Z|\).

We shall apply the Reduction Rule for a medium-sized set A and a guard set Z of constant size formed from adhesions of a tree decomposition. For most of the paper we will use \(Z = N(A)\) with \(\ell =h=|Z|\) a constant (depending on the excluded (topological) minor, in the results of Sects. 4 and 5). Only in Sect. 6, when dealing with a modulator M such that \(G-M\) has an appropriate structure, it will be important to consider N(A) potentially containing all of M, with a guard set Z of constant size disjoint from M.

Separation Oracles

The natural way of using our reduction rule is to find in a graph a large (but not too large) part of the graph with a small (preferably, constant) boundary. Let us first make an abstract definition of an algorithm finding such a separation.

Definition 6

For a graph class \(\mathscr {G}\), a constant \(h\), and a computable coordinate-wise nondecreasing function \(q:\mathbb {Z}_{\ge 0} \times \mathbb {Z}_{\ge 0} \rightarrow \mathbb {Z}_{\ge 0}\), an algorithm \(\mathscr {S}\) is called a \((h,q,T_{\mathscr {S}})\)-separation oracle if, given a graph \(G\in \mathscr {G}\) and integers k and \(p\), in time \(T_{\mathscr {S}}(|G|, k, p)\) it finds a separation (AB) in G of order at most \(h\) with \(p< |A| \le q(k, p)\), or correctly concludes that G contains a k-path.

For all considered graph classes, we will be able to provide a separation oracle with \(q\) being a polynomial. This, in turn, allows the following generic Turing kernel.

Lemma 7

Let \(\mathscr {S}\) be a \((h, q, T_\mathscr {S})\)-separation oracle for a hereditary graph class \(\mathscr {G}\). Take \(\hat{h} := (2h)^{4h+3}\). Then, the \(k\)-Path problem restricted to graphs from \(\mathscr {G}\) can be solved:

  • in time \(\displaystyle \mathscr {O} \big ( T_{\mathscr {S}}(|G|, k, k^2 \hat{h}) \cdot |V(G)|\ +\ k \hat{h} \cdot |V(G)|\cdot |E(G)|\big )\),

  • using at most \(k \hat{h} \cdot |V(G)|\) calls to Auxiliary Linkage

  • each call on an induced subgraph of the input graph of size at most \(q(k, k^2 \hat{h})\).



$$\begin{aligned} p= k \cdot \mathfrak {p}(k, h, h) + h\le k(k+1) (h(h+1))^{2h+1} + h\le 2k^2 (2h)^{4h+2} \le k^2 \hat{h}. \end{aligned}$$

As long as \(|V(G)| > p\), we proceed as follows. Invoke algorithm \(\mathscr {S}\) on G. If \(\mathscr {S}\) claims that G admits a \(k\)-Path , we simply output the answer yes. Otherwise, let \((A',B')\) be the separation output by \(\mathscr {S}\). Apply the Reduction Rule for k, \(A := A' \setminus B'\), and \(Z = N(A) \subseteq A' \cap B'\). Note that as \(|Z| \le h\), the Reduction Rule deletes at least one vertex of A. Furthermore, the Reduction Rule invokes at most

$$\begin{aligned} \mathfrak {p}(k, h, h) \le k \hat{h} \end{aligned}$$

calls to the oracle, each call on an induced subgraph of G of size at most

$$\begin{aligned} |A'| \le q(k, p) = q(k, k^2 \hat{h}). \end{aligned}$$

Once we obtain \(|V(G)| \le p\), we solve the instance using a single call to Auxiliary Linkage with \(k'=k\), \(r=1\), and \(R_1 = \emptyset \). The bounds follow, as there are at most |V(G)| applications of the Reduction Rule, and each call to the oracle takes \(\mathscr {O} (|E(G)|)\) time to prepare the instance and parse the output. \(\square \)

Note that for any graph class where separations as in Definition 6 exist, there exists a trivial separation oracle which finds them, running in time \(n^{h+\mathscr {O} (1)}\): one iterates over every candidate for \(A \cap B\) and, for fixed set \(A \cap B\), a straightforward knapsack-type dynamic programming algorithm checks if one can assemble \(A \setminus B\) of the desired size from the connected components of \(G-(A \cap B)\).

However, this running time bound is unsatisfactory, as it greatly exceeds the number of used oracle calls. For all considered graph classes we prove a much stronger property than just merely the prerequisites of Lemma 7, in particular providing a more efficient separation oracle. We provide necessary definitions in the next section.

Decomposable Graph Classes

The following definition captures the key concept of this section.

Definition 8

For a constant \(h\) and a computable nondecreasing function \(w:\mathbb {Z}_{\ge 0} \rightarrow \mathbb {Z}_{\ge 0}\), a graph class \(\mathscr {G}\) is called \((w,h)\)-decomposable if for every positive integer k and every \(G \in \mathscr {G}\) that does not admit a k-path, the graph G admits a tree decomposition of width less than \(w(k)\) and adhesions of size at most \(h\).

A standard argument shows that in a decomposable graph class, given the decomposition with appropriate parameters, it is easy to provide a separation oracle.

Lemma 9

Assume we are given a graph G and a tree decomposition \((T,\mathscr {X})\) of G of width less than \(w\), adhesion size at most \(h\), and adhesion degree at most \(a\ge 2\). Then, given an integer \(p\) such that \(|V(G)| > p\), one can in time \(h^{\mathscr {O} (1)} \cdot (|V(G)| + |E(G)| + |V(T)| + \sum _{t \in V(T)} |\mathscr {X} (t)|)\) find a separation (AB) of order at most \(h\) such that

$$\begin{aligned} p< |A| \le w+ p\cdot a. \end{aligned}$$


Root the tree T in an arbitrary node, and for \(t \in V(T)\) let \(T_t\) be the subtree of T rooted in t. Let \(t_0\) be a lowest node of T such that \(|\mathscr {X} (V(T_{t_0}))| > p\); such a node can be computed in linear time in the size of G and \((T,\mathscr {X})\).

Group the children \(t'\) of \(t_0\) according to their adhesions \(\mathscr {X} (t') \cap \mathscr {X} (t_0)\). Due to the bound on the adhesion degree, there are at most \(a\) groups. For every adhesion S, let \(X_{t_0,S}\) be the set of the children of \(t_0\) with \(S = \mathscr {X} (t') \cap \mathscr {X} (t_0)\). Define

$$\begin{aligned} V_S = \bigcup _{t' \in X_{t_0,S}} \mathscr {X} (T_{t'}). \end{aligned}$$

We consider now two cases. First, assume that \(|V_S| \le p\) for every adhesion S. Then, by the adhesion degree bound, we have

$$\begin{aligned} |\mathscr {X} (T_{t_0})| \le |\mathscr {X} (t_0)| + ap\le w+ ap. \end{aligned}$$

Consequently, we can return the separation (AB) with \(A = \mathscr {X} (T_{t_0})\) and \(B=\mathscr {X} (T - V(T_{t_0}))\).

In the other case, there exists an adhesion S with \(|V_S| > p\). We greedily take a minimal subset \(Y_{t_0,S} \subseteq X_{t_0,S}\) such that

$$\begin{aligned} V_S' := \bigcup _{t' \in Y_{t_0,S}} \mathscr {X} (T_{t'}) \end{aligned}$$

is of size greater than \(p\). By the minimality of \(t_0\), for every \(t' \in X_{t_0,S}\) we have \(|\mathscr {X} (T_{t'})| \le p\) and, consequently \(|V_S'| \le 2p\). Thus, we can return the separation (AB) for \(A = V_S'\) and \(B = N_G[V(G) \setminus V_S']\), as then \(A \cap B \subseteq S\). \(\square \)

To apply the above lemma for a \((w,h)\)-decomposable class, we need to compute a decomposition approximating these parameters, which takes the remainder of this section. A critical insight is that the decomposition used by Cygan et al. [10] to solve the Minimum Bisection problem provides this. The decomposition is based on the notion of an unbreakable vertex set X. Intuitively, a set \(X \subseteq V(G)\) is \((q,h)\)-unbreakable in G if it is impossible to break X into two pieces of size more than q each, by removing only \(h\) vertices. The formal statement in terms of separations is as follows.

Definition 10

A vertex set \(X \subseteq V(G)\) of a graph G is called \((q,h)\)-unbreakable if every separation (AB) of order at most \(h\) satisfies \(|(A \setminus B) \cap X| \le q\) or \(|(B \setminus A) \cap X| \le q\).

Let us now recall the main technical result of [10].

Theorem 11

[10] There is an algorithm that, given a graph G and integer \(h\), runs in time \(2^{\mathscr {O} (h^2)} |V(G)|^2 |E(G)|\) and outputs a connected tree decomposition \((T,\mathscr {Y})\) of G such that:

  1. 1.

    for each \(t\in V(T)\), the bag \(\mathscr {Y} (t)\) is \((2^{\mathscr {O} (h)}, h)\)-unbreakable in G, and

  2. 2.

    for each \(tt' \in E(T)\) the adhesion \(\mathscr {Y} (t)\cap \mathscr {Y} (t')\) has at most \(2^{\mathscr {O} (h)}\) vertices and is \((2h,h)\)-unbreakable in G.

Lemma 12

Let G be a graph and suppose there exists a tree decomposition \((T,\mathscr {X})\) of G of width less than \(w\), adhesion size \(h\), and adhesion degree \(a\). Let \((T',\mathscr {Y})\) be a tree decomposition of G and \(t\in V(T')\) such that the bag \(\mathscr {Y} (t)\) is \((2^{\mathscr {O} (h)}, h)\)-unbreakable in G. Then \(|\mathscr {Y} (t)| \le w+ a\cdot 2^{\mathscr {O} (h)}\).


Consider such a bag \(Y=\mathscr {Y} (t)\) of the second decomposition, or in fact any \((f(h), h)\)-unbreakable set \(Y\subseteq V(G)\), where \(f(h) = 2^{\mathscr {O} (h)}\). We orient every edge of T toward Y in the following sense. For an edge \(tt' \in E(T)\) of the first decomposition, removing it partitions T into subtrees \(T_{t't}\) and \(T_{tt'}\) containing \(t'\) and t, respectively. The induced separation \((\mathscr {X} (T_{tt'}),\mathscr {X} (T_{t't}))\) on G has order at most \(h\), so one of the sides, say \(\mathscr {X} (T_{t't}) \setminus \mathscr {X} (t)\), contains at most f(h) vertices of Y, by definition of unbreakability. We orient the edge \(tt'\) away from \(t'\) (the ‘small’ side). After orienting each edge of T, since T is acyclic, we can find a node \(t_0\) of T such that all incident edges point to it. That is, for every neighbor \(t'\) of \(t_0\), we have \(|Y \cap \mathscr {X} (T_{t't_0}) \setminus \mathscr {X} (t_0)| \le f(h)\). We now want to bound \(|Y \setminus \mathscr {X} (t_0)|\).

While \(t_0\) can have many neighbors, we can group those neighbors \(t'\) based on the adhesion \(\mathscr {X} (t')\cap \mathscr {X} (t_0)\) to which they correspond. By the adhesion degree bound, there are at most \(a\) such groups. If for any such group \(U \subseteq N(t_0)\), the union \(\bigcup _{t'\in U} \mathscr {X} (T_{t't_0}) \setminus \mathscr {X} (t_0)\) contained more than \(3 \cdot f(h)\) vertices of Y, then the group can be partitioned into two parts with more than f(h) vertices of Y each. This would give a separation of order \(h\) of G with too many vertices of Y on both sides, contradicting its unbreakability. Therefore, there are at most \(a\) groups, each containing at most \(3 \cdot f(h)\) vertices of Y, thus the size of Y is bounded by \(|\mathscr {X} (t_0)| + a\cdot 3 \cdot f(h)\). \(\square \)

By definition, a graph G in a \((w, h)\)-decomposable graph class that admits no k-path has a decomposition \((T,\mathscr {X})\) of width less than \(w(k)\) and adhesion size \(h\). The trivial bound on its adhesion degree is \(a:= \sum _{i \le h} \left( {\begin{array}{c}w(k)\\ i\end{array}}\right) \le (w(k)+1)^h\). Given G and \(h\), the algorithm of Theorem 11 yields an ‘unbreakable’ decompositon \((T',\mathscr {Y})\) of adhesion size \(2^{\mathscr {O} (h)}\). By the above lemma, its width is bounded by \(w(k) + a\cdot 2^{\mathscr {O} (h)} \le (w(k)+1)^{\mathscr {O} (h)}\).

Corollary 13

Let \(\mathscr {G}\) be a \((w, h)\)-decomposable graph class. Then, for every \(G \in \mathscr {G}\) and every integer k, one can in \(2^{\mathscr {O} (h^2)} |V(G)|^2 |E(G)|\) time either correctly conclude that G admits a k-path, or find a tree decomposition of G of width \((w(k)+1)^{\mathscr {O} (h)}\) and adhesion size \(2^{\mathscr {O} (h)}\).

To conclude our Turing kernel, we can bound the adhesion degree of the computed decomposition again trivally by \((w(k)+1)^{2^{\mathscr {O} (h)}}\). We use this decomposition to find separations of any induced subgraphs of G using the algorithm of Lemma 9 in time \(2^{\mathscr {O} (h)}\) times linear in the size of G and the computed decomposition. This gives a \((h,q,T)\)-separation oracle with \(q(k,p)=p\cdot (w(k)+1)^{2^{\mathscr {O} (h)}}\) and \(T(n,k,p)=2^{\mathscr {O} (h)} \cdot n\cdot (w(k)+1)^{\mathscr {O} (h)}\), for any \((w, h)\)-decomposable graph class. By plugging it into Lemma 7 (which additionally requires the class to be hereditary), we obtain the following.

Corollary 14

Let \(\mathscr {G}\) be a hereditary \((w, h)\)-decomposable graph class. Then the \(k\)-Path problem restricted to graphs from \(\mathscr {G}\) can be solved in time \(2^{2^{\mathscr {O} (h)}} |V(G)|^2 |E(G)|\) using \(2^{2^{\mathscr {O} (h)}} kn\) calls to Auxiliary Linkage on induced subgraphs of the input graph of size \(k^2(1 + w(k))^{2^{\mathscr {O} (h)}}\).

In the next section, we prove that H-minor-free graphs are \((\mathscr {O} _H(k^{22}), \mathscr {O} _H(1))\)-decomposable by analyzing the Global Structure Theorem of H-minor-free graphs due to Robertson and Seymour. A subsequent section provides an analogous result for graphs excluding a fixed topological minor. In both cases we also get better bounds on the adhesion degree of the approximate decomposition outputted by Theorem 11, improving the bounds in the final kernel.

We would like to remark that we do not want to claim in this paper the idea that, in the context of H-(topological)-minor-free graphs, the decomposition of Theorem 11 should be related to the decomposition of the Global Structure Theorem via an argument as in the proof of Lemma 12. In particular, this observation appeared previously in a work of the second author with Daniel Lokshtanov, Michał Pilipczuk, and Saket Saurabh [24].

Excluding a Minor

In this section we tackle proper minor-closed graph classes, that is, we prove Theorem 1 for graph classes excluding a fixed minor, by proving the following.

Theorem 15

For every graph H, the \(k\)-Path problem restricted to H-minor-free graphs can be solved in time \(\mathscr {O} _H(n^2m)\) using \(\mathscr {O} _H(kn)\) calls to Auxiliary Linkage on instances being induced subgraphs of the input graph of size \(\mathscr {O} _H(k^{24})\).

Our main technical result is the following:

Theorem 16

For every graph H, the class of H-minor-free graphs is \((w, h)\)-decomposable for \(w(k) = \mathscr {O} _H(k^{22})\) and \(h= \mathscr {O} _H(1)\).

By plugging the above into Corollary 14, we obtain the desired polynomial Turing kernel, but with worse bounds than promised by Theorem 15. To obtain better bounds, we need to recall the folklore bound on the adhesion degree in sparse graph classes; for completeness, we provide a full proof in “Appendix A.1”.

Lemma 17

Let G be a graph not containing H as a topological minor, and let \((T,\mathscr {X})\) be a connected tree decomposition of G of width less than \(\ell \) and adhesion size h. Then the adhesion degree of \((T, \mathscr {X})\) is bounded by \(f(h, H) \cdot \ell \) for some integer f(hH) depending only on h and H.

This way, we conclude that H-minor-free graphs without k-paths have tree decompositions of width \(\mathscr {O} _H(k^{22})\), adhesion size \(\mathscr {O} _H(1)\) and adhesion degree \(\mathscr {O} _H(k^{22})\). We can use the algorithm of Theorem 11 for \(h\) to find (by Lemma 12) an approximate decomposition of width \(\mathscr {O} _H(k^{22})\), adhesion size \(\mathscr {O} _H(1)\), and thus, again using Lemma 17, of adhesion degree \(\mathscr {O} _H(k^{22})\). Theorem 15 follows from Lemma 7 if we find separations using the algorithm of Lemma 9 applied to this decomposition.

Thus, it remains to prove Theorem 16. For the proof, we use the graph minors structure theorem, decomposing an H-minor-free graph G into parts ‘nearly embeddable’ in surfaces (precise definitions are given in the next subsection). By carefully analyzing details of the structure, we either find a large triconnected embedded part, which must contain a long path by the following theorem of Chen et al. [9], or we tighten the graph structure to give a tree decomposition where all parts are small (polynomial in k) and adhesions (‘boundaries’) between them are of constant size.

Theorem 18

[9] There is a constant \(\varepsilon >0\) such that for every integer t, every triconnected graph on \(n\ge 3\) vertices embeddable in a surface of (Euler) genus g contains a cycle of length at least \(n^{\varepsilon } / 2^{(2g+3)^2}\).

We note that Chen et al. phrase the theorem (more generally) for \(K_{3,t}\)-minor-free graphs, but a folklore edge-counting argument shows that graphs embeddable on a surface of genus g are \(K_{3,t}\)-minor-free for \(t=2g+3\) (see e.g. [2]).

Two intertwined problems that arise with this approach is that torsos of decompositions are not necessarily triconnected, and long paths in them do not necessarily imply long paths in the original graph, because of virtual edges added in torsos. Torsos can be made triconnected if their near-embeddings include cycles or paths around each vortex, but these may use virtual edges in essential ways. On the other hand, the decomposition can be modified so that virtual edges can be replaced with paths in the original graph, but this requires changes that remove virtual edges, hence potentially removing paths around vortices and destroying triconnectedness.

Because of that, we need to go a little deeper and use a local, strong version of the structure theorem from Graph Minors XVII [28]. For the same reason we cannot use existing algorithms for finding the graph minors decompositions. Instead, we only prove the existence of a tree decomposition of bounded size adhesions, small width, and with nearly embeddable bags.

Global and Local Graph Minor Structure Theorems

The major result proved by Robertson and Seymour in their Graph Minors series of papers is the Global Structure Theorem, which describes the structure of large graphs excluding a fixed graph as a minor. Before we summon the formal statement, let us recall a basic overview. We refer the reader to Diestel’s book [11] for basic definitions (Section 12.4 in [11]) and a description of how surfaces (orientable or not) are classified by their genus (Appendix B in [11]).

The Global Structure Theorem states that for every graph H, there is a constant \(\alpha =\alpha (H)\) such that every H-minor free graph G admits a tree decomposition whose adhesions have size at most \(\alpha \), and whose torsos are possibly large, but “\(\alpha \)-nearly embedabble”. Recall that a torso in a decomposition \((T,\mathscr {X})\) is a graph obtained from a bag \(\mathscr {X} (t)\) (for some \(t \in V(T)\)) by taking \(G[\mathscr {X} (t)]\) and turning each adhesion \(\mathscr {X} (t)\cap \mathscr {X} (t')\) (for \(t'\in N_T(t)\)) into a clique (adding a virtual edge between every two vertices in an adhesion, if they were not already connected). Informally, “\(\alpha \)-nearly-embeddable” means that the torso can be obtained as follows:

  • draw a graph on a surface of constant (i.e. at most \(\alpha \)) genus (called the embedded part),

  • for a constant number of faces in the drawing, add a graph of constant pathwidth “inside the face” (called the vortices),

  • add a constant number of vertices with arbitrary connections (called the apices).

The different constant bounds are essentially unrelated, but we prefer to use only one constant \(\alpha \) for all of them, since we are not interested in the exact dependency on H. Let us now formally define near-embeddability and the graph minors \(\alpha \)-decomposition.

Definition 19

For an integer \(\alpha \), an \(\alpha \)-near embedding of a graphG consists of:

  1. (i)

    a set \(A \subseteq V(G)\) of at most \(\alpha \) vertices (called the apex set);

  2. (ii)

    a family \(G_0 \cup G_1 \cup \dots \cup G_{\alpha '} = G\setminus A\) of edge-disjoint subgraphs of \(G\setminus A\), where:

    • \(G_0\) is called the embedded part,

    • \(\mathscr {V} =\{G_1,\ldots ,G_{\alpha '}\}\) for some \(\alpha '\le \alpha \) are called (large) vortices,

    • the intersection \(\varOmega _i := V(G_0)\cap V(G_i)\) is called the society of vortex \(G_i\),

    • vortices are pairwise vertex-disjoint,

  3. (iii)

    an embedding of \(G_0\) in a surface of genus at most \(\alpha \) such that for \(i\in [\alpha ']\), the society \(\varOmega _i\) is embedded on the boundary of a disk whose interior is empty (i.e., does not intersect the embedding nor other disks), called the disk accommodating\(G_i\);

  4. (iv)

    a linear ordering \(w_1,\ldots ,w_{|\varOmega _i|}\) of each vortex society \(\varOmega _i\), corresponding to its natural ordering around its disk (for some choice of direction and starting point);

  5. (v)

    for each large vortex \(G_i \in \mathscr {V} \), a path decomposition \(\mathscr {Z} _1,\ldots ,\mathscr {Z} _{|\varOmega _i|}\) of \(G_i\) of width at most \(\alpha \) such that \(w_j \in \mathscr {Z} _j\), for \(j \in [|\varOmega _i|]\).

We denote such an \(\alpha \)-near embedding as \((A,G_0,\mathscr {V})\), with the embedding and path decompositions only implicit in the notation.

See Fig. 2 for an illustration.

Definition 20

A (graph minors)\(\alpha \)-decomposition of a graph G consists of:

  • a rooted tree decomposition \((T,\mathscr {X})\) of G of adhesion size at most \(\alpha \);

  • for each \(t\in V(T)\), an \(\alpha \)-near embedding (\(A_t,G_{t0},\mathscr {V} _t)\) of \(\mathop {\mathrm {\textsc {torso}}}(G,\mathscr {X} (t))\).

Theorem 21

(Global Structure Theorem) For every graph H, there is a constant \(\alpha = \alpha (H)\) such that every H-minor-free graph admits an \(\alpha \)-decomposition.

Fig. 2
figure 2

A fragment of a nearly embedded graph with two vortices: top (blue) and bottom (red). Society vertices are squares. Note that a ‘disk’ on a surface means a subset homeomorphic to a closed disk in the plane (Color figure online)

In this section we shall prove the following variant of the Global Structure Theorem, which in particular implies Theorem 16, concluding our main result for minor-closed classes.

Theorem 22

For every graph H, there is a constant \(\alpha = \alpha (H)\) such that the following holds, for any integer k: any graph G excluding H as a minor and without a k-path has an \(\alpha \)-decomposition of width at most \(\alpha \cdot k^{22}\).

Unfortunately we do not see a way to obtain this variant directly, just by adapting the original Global Structure Theorem. However, we can adapt a local version of it. Indeed, the proof of the Global Structure Theorem by Robertson and Seymour proceeds by analyzing only a single part of the graph (in fact the whole graph need not be H-minor-free), improving its structure in a number of technical steps to obtain the so-called Local Structure Theorem. Most of the analysis is hence done locally and it is only at the end that one proceeds with a fairly general inductive argument to conclude the Global Structure Theorem.

Informally, the Local Structure Theorem, instead of saying that the whole graph has a tree decomposition into nearly-embeddable torsos, only states that a single subgraph can be nearly-embedded so that its boundary (vertices with neighbors outside of this subgraph) is contained in vortices or triangular faces (called small vortices). Proving that this holds for every ‘part’ of the graph allows to inductively show that the remaining graph behind the vortices is also structured, which is how the tree decomposition of the Global Structure Theorem is obtained. Formalizing what is meant by ‘every part’ is a bit more technical (the somewhat nebulous notion of tangles is used for that).

This will also be our approach: we will improve the Local Structure Theorem to conclude that either the graph has a k-path, or that the embedded part is polynomially bounded. The general inductive argument to deduce the Global Structure Theorem will then work unchanged and the improvements will carry through, concluding Theorem 22 (essentially, each bag of the Global Structure Theorem’s decomposition comes directly from some nearly-embedded part from the Local Structure Theorem, so the bound on the embedded part will imply the bound on each of the final bags).

An \(\alpha \)-near local embedding of a graph G is defined similarly to an \(\alpha \)-near embedding, but we allow an arbitrary number of ‘small vortices’ \(\mathscr {W} \) and we allow the path decompositions of all vortices to have only bounded adhesion size instead of bounded width; thus arbitrarily complicated graphs can hide behind vortices. Formally:

Definition 23

For an integer \(\alpha \), an \(\alpha \)-near local embedding of graphG consists of:

  1. (i)

    a set \(A \subseteq V(G)\) of at most \(\alpha \) vertices (called the apex set);

  2. (ii)

    a family \(G_0 \cup G_1 \cup \dots \cup G_n = G\setminus A\) of edge-disjoint subgraphs of \(G\setminus A\), where:

    • \(G_0\) is called the embedded part,

    • \(\mathscr {V} =\{G_1,\ldots ,G_{\alpha '}\}\) for some \(\alpha '\le \alpha \) are called large vortices,

    • \(\mathscr {W} =\{G_{\alpha '+1},\ldots ,G_n\}\) are called small vortices,

    • vortices intersect only in \(G_0\): \(V(G_i) \cap V(G_j) \subseteq V(G_0)\) for \(i\ne j \in [n]\),

    • the intersection \(\varOmega _i := V(G_0)\cap V(G_i)\) is called the society of vortex \(G_i\),

    • large vortices are pairwise vertex-disjoint,

    • small vortices have societies of size \(\le 3\);

  3. (iii)

    an embedding of \(G_0\) in a surface of genus at most \(\alpha \) such that for \(i\in [n]\), the society \(\varOmega _i\) is embedded on the boundary of a disk whose interior is empty (i.e., does not intersect the embedding nor other disks), called the disk accommodating\(G_i\);

  4. (iv)

    a linear ordering \(w_1,\ldots ,w_{|\varOmega _i|}\) of each society \(\varOmega _i\), corresponding to its natural ordering around its disk (for some choice of direction and starting point);

  5. (v)

    for each large vortex \(G_i \in \mathscr {V} \), a path decomposition \(\mathscr {Z} _1,\ldots ,\mathscr {Z} _{|\varOmega _i|}\) of \(G_i\) of adhesion size \(\le \alpha \) such that \(\mathscr {Z} _j \cap \varOmega _i = \{w_{j-1},w_j\}\) for \(1 < j \le |\varOmega _i|\) and \(\mathscr {Z} _1 \cap \varOmega _i = \{w_1\}\).

We denote such an \(\alpha \)-near local embedding as \((A,G_0,\mathscr {V},\mathscr {W})\), with the embedding and path decompositions only implicit in the notation.

We now recall the definition of tangles. Intuitively, a tangle defines what we’re looking at by pointing every small-order separation “towards it”. For an integer \(\theta \), a tangle of order\(\theta \) in a graph G is a family \(\mathscr {T} \) of separations of order at most \(\theta \) such that:

  • for each separation (XY) of order at most \(\theta \) in G, exactly one of (XY) and (YX) belongs to \(\mathscr {T} \). If \((X,Y) \in \mathscr {T} \) we call X the small side of the separation and Y the large side.

  • For every three separations \((X_1,Y_1)\), \((X_2, Y_2)\), \((X_3,Y_3)\) in \(\mathscr {T} \), we have \(G[X_1] \cup G[X_2] \cup G[X_3] \ne G\). That is, three small sides cannot cover the whole graph.

Informally, the Local Structure Theorem states for every graph G and every tangle \(\mathscr {T} \) that does not “point towards” an H-minor in G, the graph G has an \(\alpha \)-near local embedding such that the tangle “points towards” the embedded part, away from vortices. The formal statement requires the following definitions.

Definition 24

Let G and H be graphs. An H-minor model in G is a family of branch sets\((B_h)_{h \in V(H)}\) inducing vertex-disjoint, connected subgraphs in G such that for each edge \(hh' \in E(H)\), there is an edge between \(B_h\) and \(B_{h'}\) in G.

A tangle \(\mathscr {T} \) in Gcontrols anH-minor if there is an H-minor model in G such that no branch set is fully contained in a small side of a separation in \(\mathscr {T} \).

An \(\alpha \)-near local embedding \((A,G_0,\mathscr {V},\mathscr {W})\) of G is said to respect a tangle \(\mathscr {T} \) if for every large side Y of a separation in \((X,Y) \in \mathscr {T} \), \(Y\setminus A\) is not contained in a small vortex \(W \in \mathscr {W} \) or in a bag of the decomposition of a large vortex \(V \in \mathscr {V} \).

Theorem 25

(Local Structure Theorem, [14, 28]) For every graph H there exist integers \(\alpha ,\theta \) such that: for every graph G and every tangle \(\mathscr {T} \) in G of order \(\ge \theta \) that controls no H-minor, there is an \(\alpha \)-near local embedding of G which respects \(\mathscr {T} \).

The statement comes from [14] (Theorem 1). It follows from [28], though that paper uses different notation and is written in a way that requires the reader to understand all the paper to use its conclusions. We refer the reader to [14] for a detailed explanations of how [28] translates to this more modern language. We note that while [14] assumes that the whole graph G is H-minor-free, the original statement in [28] only requires that \(\mathscr {T} \) controls no H-minor; we will need this stronger version when dealing with topological minors.

Improving the Structure Theorems

Our aim is to improve the Local Structure Theorem 25 to say that the embedded part either contains a k-path or has size polynomially bounded in k. This would follow immediately from Theorem 18 if the embedded part was triconnected. The remainder of this section hence focuses on working around the technical issue that we can only ensure this by involving vortices.

Indeed, if it the embedded part is not triconnected, there is a separation (XY) of order at most 2: we would then like to limit the near-embedding to only Y, say (if Y is the large side of the separation (XY) in the tangle) and hide X in a new small vortex. We would then repeat this until the embedded part is triconnected. This simple idea is essentially applied as one of the improvement steps in [28]. However, a separation of the embedded part may not extend to a separation of the whole graph, as it could require to cut through a vortex. Because of that, triconnectivity can only be shown for an auxiliary graph defined from the embedded part by adding a few ‘virtual’ edges and vertices to make the society of each vortex triconnected (formal definitions follow below). Still, these virtual edges and vertices can be added to the embedding, so Theorem 18 applies.

Therefore, if the embedded part is large, we will find a long path in it, except that it might use these virtual edges and vertices added to vortex societies. To show that this still implies a k-path in the original graph, we need to strengthen the Local Structure Theorem to ensure that society vertices are connected by appropriate paths (with which virtual edges will be replaced). Indeed, in a local near-embedding one can always replace each edge of the embedded part with a small vortex (with two society vertices, one edge inside the vortex, and an accommodating disk around where the edge was originally embedded), so the embedded part can be edgeless! This is why some connectivity conditions for vortices are necessary.

Such conditions follow from [28] (in fact the results there improve the structure of a vortex significantly, in particular with a very strong connectivity condition, explaining the title ‘Taming a Vortex’). Unfortunately not all of them are stated in the statement we cite [14], so we need to explain where they come from by referring to the original terminology in [28], but we limit these references to the next three lemmas. The reader may skip their proofs and proceed to the only new contribution of this subsection: Lemma 31.

We now proceed with formal definitions of these connectivity conditions. For a large vortex, we require that its society is connected by a ‘comb’ (Fig. 3) that avoids other large vortices:

Definition 26

A comb is a union of a path P with some mutually vertex-disjoint (possibly trivial) paths that have their first vertex and no other vertex on P. The last vertices of those paths are called the teeth of the comb, they are naturally ordered by P.

Fig. 3
figure 3

A comb with five teeth

Lemma 27

In Theorem 25, we can additionally assume that:

  1. (vi)

    for each large vortex \(G_i \in \mathscr {V} \), there is a comb \(C_i\) in \(G_i \cup G_0 \cup \bigcup \mathscr {W} \) whose teeth are vertices \(w_1,\ldots ,w_{|\varOmega _i|}\) of \(\varOmega _i\), in the same order as in (iv).


This condition is in fact already included in the statement we cite from [14] (in point 4. of the definition of \(\alpha \)-near-embedding, which we call an \(\alpha \)-near local embedding for clarity). \(\square \)

We stress that the comb \(C_i\) contains a path of length at least \(|\varOmega _i|\). This condition is useful for us, as a long vortex (i.e. with \(\ge k\) society vertices) will imply this path to be long, so we only need to continue if all societies are relatively small.

For a small vortex, we require its society vertices to be connected by paths that are strictly inside the vortex:

Lemma 28

In Lemma 27, we can additionally assume that:

  1. (vii)

    for each small vortex \(G_i \in \mathscr {W} \) and every \(v_1,v_2 \in \varOmega _i\), there is a path in \(G_i\) between \(v_1\) and \(v_2\), with no internal vertices in \(\varOmega _i\).


Property (vii) is guaranteed by (9.1) in [28]. (As explained in [14], the border cells of [28] are translated into bags of large vortex decompositions, so small vortices arise only from internal cells; for an internal cell \(c_0\), \(\alpha (c_0)^*\) is translated into a small vortex \(G_i\), while \(\gamma ({\tilde{c}}_0)\) is translated into \(\varOmega _i\), giving exactly the statement we want.) Alternatively, we can repeat the proof of (9.1): simply partition a vortex with no \(v_1\)-\(v_2\) path into two vortices with at most two vertices in their societies; recall that societies of small vortices are allowed to intersect. \(\square \)

Next, we define the graph obtained from the embedded part by adding virtual edges and vertices around vortices: this is the graph that can be shown to be triconnected, yet can still be embedded in the same surface. (In contrast, recall that the embedded part \(G_0\) can be edgeless.)

Definition 29

For an \(\alpha \)-near local embedding \((A,G_0,\mathscr {V},\mathscr {W})\) of G, define \(G_0^*\) to be the graph obtained from \(G_0\) by adding an edge between every two consecutive vertices in each society \(\varOmega _i\), and a new vertex for each society of a large vortex, with edges to every vertex of the society. The embedding of \(G_0\) is naturally extended to an embedding of \(G_0^*\): the new vertices and edges are embedded in place of the accommodating disks.

Lemma 30

In Lemma 28, we can additionally assume that:

  1. (viii)

    \(G_0^*\) is triconnected.


Suppose \(G_0^*\) has a separation (XY) of order \(\le 2\). Since societies of small vortices induce cliques in \(G_0^*\), they are contained in X or Y. Similarly for each large vortex \(G_i \in \mathscr {V} \), its society \(\varOmega _i\), together with the new vertex in \(G_0^*\) with \(\varOmega _i\) as neighborhood, induces a wheel in \(G_0^*\) , which is triconnected, hence contained in X or Y. In the language of [28], this translates back into a partition I, J of cells, whose intersection corresponds to at most two embedded vertices \(v,v'\) (that is, \(\gamma (I) \cap \gamma (J) = X \cap Y = \{v, v'\}\)). But this contradicts (11.1) in [28], which states that such an intersection has size at least 3. \(\square \)

From these connectivity conditions, we are able to deduce what we need from the Local Structure Theorem:

Lemma 31

In Lemma 30, we can additionally assume that there is a constant \(\alpha '\) depending on H only such that:

  1. (ix)

    for any integer k, if G does not contain a path of length \(\ge k\), then \(|V(G_0)| < \alpha '\cdot k^{22}\).


For a given graph H, let \(\alpha \) be the constant given by Theorem 25. By Theorem 18, there is a universal constant \(\varepsilon \) such that any triconnected graph \(G_0\) embeddable in a surface of genus at most \(\alpha \) contains a cycle of length at least \(|G_0|^\varepsilon / 2^{(2\alpha +2)^2}\). Let \(c := \frac{2}{\varepsilon }\) and \(\alpha ' := (\alpha \cdot 2^{(2\alpha +2)^2})^{1/\varepsilon }\). For an H-minor-free graph G, suppose the \(\alpha \)-near local embedding given by Lemma 30 has \(|V(G_0)| \ge \alpha ' \cdot k^{c}\). Then \(G_0^*\) is a triconnected graph (by property (viii)) embedded in a surface of genus at most \(\alpha \) (by Definition 29) with at least as many vertices, so \(G_0^*\) must contain a cycle C of length at least \((\alpha ' k^{c})^\varepsilon / 2^{(2\alpha +2)^2} = \alpha \cdot k^2\).

If the society \(\varOmega _i\) of any vortex of the \(\alpha \)-near local embedding of G has at least k vertices, then G contains a path of at least that length (in the comb from property (vi)), in which case the lemma follows. Otherwise, there are at most \(\alpha \) large vortices, hence at most \(\alpha \cdot (k-1)\) vertices in their societies, and at most \(\alpha \) virtual vertices that were inserted as the centers of the wheels. Let P be the longest subpath of C avoiding these \(\alpha \cdot (k-1) + \alpha \) vertices. Then P is a path of length at least \(\frac{\alpha \cdot k^2}{\alpha \cdot k} = k\) in \(G_0^*\) whose edges in \(E(G_0^*)\setminus E(G_0)\) came only from small vortices, by the definition of \(G_0^*\) (Definition 29). By property (vii), these edges can be replaced with paths inside the corresponding small vortices, giving a path in G. Only one or two consecutive edges can come from the same small vortex (since their societies have at most 3 vertices), so the resulting path has length at least k.

The constant from Theorem 18 given by Chen et al. [9] is \(\varepsilon = \log _{1729}2\), hence the universal constant here is \(c=\frac{2}{\varepsilon } = 2 \log _2(1729) < 22\). \(\square \)

Finally, we deduce Theorem 22 (our variant of the Global Structure Theorem) from the improved variant of Theorem 25 (the Local Structure Theorem) by a standard induction, exactly as done by Diestel et al. [12, Theorem 4]. (Note that in case the excluded graph H is planar, we can already conclude the theorem trivially from the fact that there is a tree-decomposition of width \(\mathscr {O} _H(1)\) [26]). The only difference is that in the Local Structure Theorem we add the bound on the size of the embedded part from Lemma 31. In the proof from [12], every bag of the created decomposition is either constructed as a set of size bounded as \(\mathscr {O} _H(1)\), or is constructed from an \(\alpha \)-near local embedding by taking the vertices of: the embedded part \(G_0\), the set of apices A, and for each large vortex, the intersection of every two consecutive bags of its path decomposition, each of size at most \(\alpha =\mathscr {O} _H(1)\). The number of bags in a path decomposition of a large vortex is equal to the size of its society, and large vortex societies are disjoint subsets of \(V(G_0)\). Therefore every tree decomposition bag constructed in the proof has size at most \(|V(G_0)| + \alpha + \alpha \cdot |V(G_0)| = \mathscr {O} _H(k^{22})\), by Lemma 31. This proves the additional condition we require in Theorem 22.

Excluding a Topological Minor

In this section we tackle graph classes excluding a topological minor, that is, we prove Theorem 1 by proving the following.

Theorem 32

For every graph H, the \(k\)-Path problem restricted to H-topological-minor-free graphs can be solved in time \(\mathscr {O} _H(n^2m)\) using \(\mathscr {O} _H(kn)\) calls to Auxiliary Linkage on instances being induced subgraphs of the input graph of size \(k^{\mathscr {O} _H(1)}\).

This follows as before from the following decomposition theorem. Note the exponent in the polynomial bound on the width (bag size) now depends on H.

Theorem 33

For every graph H, the class of H-topological-minor-free graphs is \((w, h)\)-decomposable for \(w(k) = k^{\mathscr {O} _H(1)}\) and \(h= \mathscr {O} _H(1)\).

We proceed with the proof of the above theorem. Grohe and Marx [18] proved that when excluding a topological minor, graphs admit a similar decomposition as for excluding a minor, but apart from nearly embeddable parts, one needs to consider parts that have bounded degree except for a bounded number of vertices:

Definition 34

A graph G has (ad)-bounded degree (for \(a,d \in \mathbb {N}\)) if \(\le a\) vertices of G have degree \(>d\) in G.

The main ‘Global Structure Theorem’ of [18] is that graphs excluding a topological minor H admit a tree decomposition with bounded size adhesions, where the torso of every bag is either nearly embeddable (as when excluding a minor), or has (hd)-bounded degree, for \(h, d=\mathscr {O} _H(1)\). We still need the slightly stronger notion of near embeddability (with combs) for our proofs, which is why we will work with the following definition of ‘Local Structure’, analogous to \(\alpha \)-near local embeddings.

A star decomposition of a graph is a (rooted) tree decomposition \((\mathscr {T},\mathscr {X})\) where T is a star: a root node \(t_{\text {root}}\) with only leaf nodes attached. We call the bag \(\mathscr {X} (t_{\text {root}})\) the root bag and the remaining ones leaf bags. The root torso is \(\mathop {\mathrm {\textsc {torso}}}(G, \mathscr {X} (t_{\text {root}}))\). A star decomposition respects a tangle \(\mathscr {T} \) if the large side of any separation in \(\mathscr {T} \) is not fully contained in any single leaf bag. Grohe and Marx [18, Lemma 6.12] proved the following Local Structure Theorem.Footnote 2

Theorem 35

[18] For every integer k there exist integers \(\theta ,d,k'\) such that: for every graph G excluding \(K_k\) as a topological minor and every tangle \(\mathscr {T} \) of order \(\ge \theta \) that controls a \(K_{k'}\)-minor, there is a star decomposition of G that respects \(\mathscr {T} \), has adhesion size \(<\theta \), and such that the root torso has (kd)-bounded degree.

Corollary 36

For every graph H there exist integers \(\theta ,\alpha ,d\) such that: for every graph G excluding H as a topological minor and every tangle \(\mathscr {T} \) in G of order \(\ge \theta \), the graph G has one of the following:

  • a star decomposition that respects \(\mathscr {T} \), has adhesion size \(\alpha \), and such that the root torso has (|V(H)|, d)-bounded degree, or

  • an \(\alpha \)-near local embedding that respects \(\mathscr {T} \), satisfying properties (vi)-(ix).


For \(k=|V(H)|\) let the constants given by Theorem 35 be \(\theta ',d',k'\). Let \(\alpha '',\theta ''\) be the constants given by Theorem 25 for graphs excluding \(K_{k'}\) as a minor. We prove the claim for \(\theta = \max (\theta ',\theta '')\), \(\alpha = \max (\theta ',\alpha '')\) and \(d=d'\). If the tangle \(\mathscr {T} \) of G controls no \(K_{k'}\)-minor, then the claim follows from Theorem 25. Otherwise \(\mathscr {T} \) does control a \(K_{k'}\)-minor and Theorem 35 applies. \(\square \)

The main theoretical tool we use, besides the Grohe and Marx decomposition in the form of Corollary 36, is the following lower bound on cycles in graphs of bounded degree by Shan [30] (we note the constant \(\varDelta -1\) is asymptotically optimal; for small \(\varDelta \), previous results by Chen et al. [7] give a slightly better bound).

Theorem 37

[30] If G is a triconnected graph with maximum degree at most \(\varDelta \ge 425\), then G has a cycle of length at least \(n^{1/\log _2(\varDelta -1)}/4 + 2\).

With this in hand, we will bound the bags of almost bounded degree as follows:

Lemma 38

In Corollary 36, we can additionally assume that in the first outcome, for any integer k, if G has no k-path, then the root bag has size \(k^{\mathscr {O} _H(1)}\).

Before we prove this, let us show how this concludes our main result. The global decomposition stated in Theorem 33 (and hence the polynomial Turing kernel) follows, as before, from the Local Structure Theorem in Corollary 36 improved by the bound on bag size in Lemma 38. The construction only changes in that it can take root bags from the local structure (the star decomposition) given by the first outcome of Corollary 36 and use them as bags of the global decomposition, without any modifications. (We note this can also be seen as an instance of a general theorem (11.1) by Robertson and Seymour [27] which allows to turn ‘local decompositions’ with respect to a tangle into global ones; however, giving a precise translation would involve too much notational overhead.)

The remainder of this section is devoted to proving Lemma 38. That is, assuming a star decomposition with a root of almost bounded degree, we want to show that it contains a k-path or that we can improve the star decomposition so that the root bag has size polynomial in k. Similarly as before, this would follow trivially from Theorem 37 if the root bag, after removing the few high-degree vertices, was triconnected.

Otherwise, the informal idea is to cut the root bag into two parts, putting one part (the one pointed to by the tangle) as the new root bag and the other part as a new leaf bag, repeating this until the root bag is triconnected. However, as before, we will not be able to guarantee that the subgraph induced by the root bag is by itself triconnected. Instead, we consider a graph obtained by contracting each leaf bag into a single vertex. Furthermore, instead of repeatedly cutting this graph until we make it triconnected, we will cut it all at once by considering its Tutte decomposition (which subsumes all separations of order \(\le 2\)), as detailed later.

We now proceed with the formal proof. Without loss of generality assume that \(\theta \ge \alpha (|V(H)|+2)\), in the statement of Corollary 36 (otherwise increase \(\theta \)). Let us first ensure that the star decomposition \((T,\mathscr {X})\) is connected:

Claim 39

We can additionally assume that

$$\begin{aligned}&\text {For every leaf node}\,t \in V(T),\text { the set } \mathscr {X} (t) \setminus \mathscr {X} (t_{\text {root}}) \text { is connected, and} \end{aligned}$$
$$\begin{aligned}&\mathscr {X} (t) \setminus \mathscr {X} (t_{\text {root}}) \text { has edges to each vertex in the adhesion } \mathscr {X} (t) \cap \mathscr {X} (t_{\text {root}}) \end{aligned}$$


If (C1) fails we can partition the leaf bag into many leaf bags. If (C2) fails we can remove the adhesion vertex in question from the leaf bag. \(\square \)

We need to define a variant of the torso that is similarly connected as the root torso, but has no virtual edges (so that long paths in it imply long paths in G). Construct \(G_{\text {root}}^*\) from G as follows: contract \(\mathscr {X} (t)\setminus \mathscr {X} (t_{\text {root}})\) to a single vertex \(x_t\) for each leaf \(t\in T\) and merge any such vertices \(x_t, x_{t'}\) that have equal neighborhoods (corresponding to the same adhesion) into one. Let X be the set of all those new vertices.

Claim 40

If G has no k-path, then neither does \(G_{\text {root}}^*\) .


For each leaf node \(t \in V(T)\), the set \(\mathscr {X} (t) \setminus \mathscr {X} (t_{\text {root}})\) is connected by (C1) and can therefore be contracted to a single vertex \(x_t\) by repeated edge contractions. Since \(G_{\text {root}}^*\) is a subgraph of the graph obtained by these edge contractions, it follows that \(G_{\text {root}}^*\) is a minor of G. As minor operations do not increase the length of a longest path, the claim follows.

We show that \(G_{\text {root}}^*\), just as the root torso, has almost bounded degree.

Claim 41

\(G_{\text {root}}^*\) has \((|V(H)|,\max (\alpha , d + 2^d))\)-bounded degree.


Observe that \(G_{\text {root}}^*\) can be obtained from the root torso of \((T,\mathscr {X})\) by removing virtual edges and adding the vertices of X. Each vertex in X has degree equal to the size of some corresponding adhesion, which is \(\le \alpha \). Each vertex v in the torso gains as neighbors only vertices in X, which correspond to different (as vertex subsets) adhesions containing v; since these adhesions induced cliques containing v in the torso (which had (|V(H)|, d)-bounded degree), their number is bounded by \(2^d\) (unless v was already one of the \(\le |V(H)|\) vertices of high degree).

The last two claims allow us to apply Theorem 37 to any triconnected subgraph of \(G_{\text {root}}^*\) (after removing high-degree vertices). We apply it to bags of a Tutte decomposition, obtaining:

Claim 42

If G does not contain a path of length at least k, then \(G_{\text {root}}^*\) has a tree decomposition of adhesion size at most \(|V(H)| + 2\) and width \(k^{\mathscr {O} _H(1)}\).


Assume that G, and hence \(G_{\text {root}}^*\), does not contain a path of length at least k. By the previous claim, in \(G_{\text {root}}^*\) one can delete \(\le |V(H)|\) vertices to obtain a subgraph of degree bounded by \(\varDelta := \max (\alpha , d+2^d)\); name this subgraph \(G_{\text {root}}^\dagger \). Consider the Tutte decomposition [32] of \(G_{\text {root}}^\dagger \). In modern terms (cf. [21, Theorem 1]), it is a tree decomposition of \(G_{\text {root}}^\dagger \) of adhesion size at most two, whose torsos are triconnected topological minors of \(G_{\text {root}}^\dagger \). Consequently, each torso again has degree bounded by \(\varDelta \) and cannot contain a path of length at least k. By Theorem 37, if n denotes the size of such a bag, then \(n^{\varepsilon }/4+2 < k\), where \(\varepsilon = 1/\log _2(\max (425,\alpha ,d+2^d)-1)\). Thus the size of each bag is \(n < (4(k-2))^{1 / \varepsilon } = k^{\mathscr {O} (d + \log _2 \alpha )} = k^{\mathscr {O} _H(1)}\). Adding the \(\le |V(H)|\) deleted vertices back to every bag, we obtain a tree decomposition of \(G_{\text {root}}^*\) as claimed.

Denote the root torso of \((T,\mathscr {X})\) as \(G_{\text {root}}\). We now transfer the decomposition of \(G_{\text {root}}^*\) to \(G_{\text {root}}\).

Claim 43

For every tree decomposition of \(G_{\text {root}}^*\), one can find a tree decomposition of \(G_{\text {root}}\) with adhesion and maximum bag size at most \(\alpha \) times larger than the adhesion and maximum bag size of the original tree decomposition.


Let \((S,\mathscr {Y})\) be a tree decomposition of \(G_{\text {root}}^*\). Define \(\mathscr {Y} '(s)\) as \(\mathscr {Y} (s)\) with vertices \(x_t \in X\) replaced by all of \(N_{G_{\text {root}}^*}(x_t)\). We claim \((S,\mathscr {Y} ')\) is a tree decomposition of \(G_{\text {root}}\). Every edge of \(G_{\text {root}}\) is either an edge of \(G_{\text {root}}^* - X\), still contained in the same bag, or a virtual edge between two vertices of an adhesion, hence contained in \(N_{G_{\text {root}}^*}(x_t)\) for some \(x_t \in X\) and thus in a bag \(\mathscr {Y} '(s)\) (for an s such that \(\mathscr {Y} (s)\) contained \(x_t\)). To show that the subset \(\mathscr {Y} '^{-1}(v) := \{s\in S :v \in \mathscr {Y} '(s)\}\) is connected, for any given vertex \(v \in V(G_{\text {root}})\), observe that it is the union of \(\mathscr {Y} ^{-1}(v)\) with \(\mathscr {Y} ^{-1}(x_t)\) for all \(x_t \in X\) adjacent to v in \(G_{\text {root}}^*\); since such sets \(\mathscr {Y} ^{-1}(v)\) and \(\mathscr {Y} ^{-1}(x_t)\) are connected in S and intersect (as \(x_t\) is adjacent to v), their union is connected. Each vertex in each bag has been replaced by at most \(|N_{G_{\text {root}}^*}(x_t)|\) vertices, which is the size of an adhesion in \((T,\mathscr {X})\) and hence at most \(\alpha \). It follows that the maximum bag size increases by a factor at most \(\alpha \).

To bound the size of any adhesion, observe similarly that for \(s_1,s_2\in V(S)\), the adhesion is

$$\begin{aligned} \mathscr {Y} '(s_1) \cap \mathscr {Y} '(s_2) = \left( (\mathscr {Y} (s_1) \cap \mathscr {Y} (s_2)) \setminus X\right) \cup \bigcup _{x_{t_1} \in \mathscr {Y} (s_1), x_{t_2} \in \mathscr {Y} (s_2)} N(x_{t_1}) \cap N(x_{t_2}). \end{aligned}$$

For any vertex \(v \in N(x_{t_1}) \cap N(x_{t_2})\) (for some \(x_{t_i} \in \mathscr {Y} (s_i)\)), the set \(\mathscr {Y} ^{-1}(v)\) is connected and must intersect both \(\mathscr {Y} ^{-1}(x_{t_1})\) and \(\mathscr {Y} ^{-1}(x_{t_2})\). Hence either \(\mathscr {Y} ^{-1}(x_{t_1})\) contains both \(s_1\) and \(s_2\), or \(\mathscr {Y} ^{-1}(x_{t_2})\) does, or \(\mathscr {Y} ^{-1}(v)\) does. This means \(x_{t_1}\), \(x_{t_2}\) or v is contained in \(\mathscr {Y} (s_1) \cap \mathscr {Y} (s_2)\). Therefore

$$\begin{aligned} \mathscr {Y} '(s_1) \cap \mathscr {Y} '(s_2) \subseteq \left( (\mathscr {Y} (s_1) \cap \mathscr {Y} (s_2)) \setminus X\right) \cup \bigcup _{x_t \in \mathscr {Y} (s_1) \cap \mathscr {Y} (s_2)} N(x_t). \end{aligned}$$

This again implies each adhesion increases at most \(\alpha \) times in size. \(\square \)

By the last two claims, assuming G has no k-path, the root torso \(G_{\text {root}}\) has a tree decomposition \((S,\mathscr {Y})\) of adhesion size \(\alpha ' := \alpha (|V(H)|+2)\) and width \(k^{\mathscr {O} _H(1)}\).

Having a decomposition of the root torso \(G_{\text {root}}\) allows us to ‘compose it’ with the star decomposition \((T,\mathscr {X})\) of the whole graph G. The rough idea of this ‘composition’ is to replace the root bag of the star decomposition \((T,\mathscr {X})\) by a subset containing the unique bag of \((S,\mathscr {Y})\) that is pointed to by the tangle. The composition results in a star decomposition with a small root bag, which will conclude the proof of Lemma 38.

To formally define the bag in \((S,\mathscr {Y})\) that is pointed to by the tangle \(\mathscr {T} \), let us first see how \(\mathscr {T} \) orients separations of \(G_{\text {root}}\). For a separation (AB) of \(G_{\text {root}}\), every adhesion \(\mathscr {X} (t)\cap \mathscr {X} (t_{\text {root}})\) of \((T,\mathscr {X})\) induces a clique in \(G_{\text {root}}\), hence it is fully contained in A or in B; thus (AB) can be extended to a separation of G by adding all of \(\mathscr {X} (t)\) to A or B, correspondingly (the choice is arbitrary for \(\mathscr {X} (t)\) such that \(\mathscr {X} (t)\cap \mathscr {X} (t_{\text {root}}) \subseteq A \cap B\)). We call such separations of Gextensions of the separation (AB) of \(G_{\text {root}}\). For a separation (AB) of order \(\le \theta \) of \(G_{\text {root}}\), observe that either all extensions of (AB) and no extensions of (BA) belong to \(\mathscr {T} \), or vice-versa: this follows from tangle axioms and the fact that \((T,\mathscr {X})\) respects \(\mathscr {T} \) (that is, each \(\mathscr {X} (t)\) such that \(\mathscr {X} (t)\cap \mathscr {X} (t_{\text {root}}) \subseteq A \cap B\) is small w.r.t. \(\mathscr {T} \), so putting it one side of an extension \((A',B')\) instead of the other cannot change whether \(A'\) is small, as otherwise the two small sides together with \(\mathscr {X} (t)\) would cover all of G).

We now orient edges of the decomposition \((S,\mathscr {Y})\) according to \(\mathscr {T} \), to find a (unique) bag we can focus on. For each edge \(s_1 s_2 \in E(S)\), if \(S_1, S_2\) denote the two connected components of \(S - s_1s_2\) containing \(s_1, s_2\), respectively, then \((\mathscr {Y} (S_1),\mathscr {Y} (S_2))\) is a separation with \(|\mathscr {Y} (S_1) \cap \mathscr {Y} (S_2)| = |\mathscr {Y} (s_1) \cap \mathscr {Y} (s_2)| \le \alpha ' \le \theta \), hence either all of its extensions or all extensions of \((\mathscr {Y} (S_2),\mathscr {Y} (S_1))\) belong to the tangle \(\mathscr {T} \). We direct the edge \(s_1 s_2\) to either \(s_2\) or \(s_1\) accordingly (towards the side with large extensions). After repeating this for every edge of S, we find a node \(s_0\) with no outgoing edges. This means that if we root S at \(s_0\) and \(S_1,S_2,\ldots ,S_\ell \) are the subtrees of \(S-s_0\), then all extensions of \((\mathscr {Y} (S_i), \mathscr {Y} (S - S_i))\) belong to \(\mathscr {T} \), for \(i \in [\ell ]\).

We can now forget about some details of the tree decomposition and define the following star decomposition \((S',\mathscr {Y} ')\) of \(G_{\text {root}}\): its nodes are \(s_{\text {root}} := s_0\) and its direct children \(s_1,\ldots ,s_\ell \) in S, while its bags are \(\mathscr {Y} '(s_{\text {root}}) := \mathscr {Y} (s_0)\) and \(\mathscr {Y} '(s_i) := \mathscr {Y} (S_i)\) for \(i \in [\ell ]\). By construction \((S',\mathscr {Y} ')\) is a star decomposition of \(G_{\text {root}}\) of adhesion size \(\alpha '\), with a root bag of size \(k^{\mathscr {O} _H(1)}\), which satisfies the following:

$$\begin{aligned} \text {all extensions of }(\mathscr {Y} (s_i), \mathscr {Y} (S-s_i))\text { are in }\mathscr {T} \text {, for }i \in [\ell ]. \end{aligned}$$

The following claim thus concludes the proof of the lemma, by extending this star decomposition of \(G_{\text {root}}\) to a star decomposition of G respecting \(\mathscr {T} \), with a root torso of almost bounded degree and size \(k^{\mathscr {O} _H(1)}\).

Claim 44

If \(G_{\text {root}}\) has a star decomposition \((S,\mathscr {Y})\) of adhesion size \(\alpha ' \le \theta \) satisfying (2), then G has a star decomposition of adhesion size \(\max (\alpha ,\alpha ')\) respecting \(\mathscr {T} \) where the root torso has \((|V(H)|,d+\alpha '\cdot d)\)-bounded degree and its vertex set is equal to the root bag of \((S,\mathscr {Y})\).


Let \((S,\mathscr {Y})\) be a star decomposition of \(G_{\text {root}}\) satisfying (2). Without loss of generality assume that for every leaf \(s\in V(S)\), every vertex of the adhesion \(\mathscr {Y} (s) \cap \mathscr {Y} (s_{\text {root}})\) has a neighbor in \(\mathscr {Y} (s) \setminus \mathscr {Y} (s_{\text {root}})\) (otherwise we can remove it from \(\mathscr {Y} (s)\)). Every adhesion of the (larger) star decomposition \((T,\mathscr {X})\) of G induces a clique in \(G_{\text {root}}\) by definition, hence we can choose for each \(t \in V(T)\) a node \(s(t) \in V(S)\) such that \(\mathscr {X} (t) \cap \mathscr {X} (t_{\text {root}}) \subseteq \mathscr {Y} (s(t))\). We construct a new star decomposition \((T',\mathscr {X} ')\) of G from \((T,\mathscr {X})\) as follows: the root bag becomes \(\mathscr {Y} (s_{\text {root}})\), leaves t with \(s(t) = s_{\text {root}}\) and their bags remain unchanged, the remaining leaves are deleted, and each leaf s of \((S,\mathscr {Y})\) is added as a new leaf of \(T'\), with \(\mathscr {X} '(s) := \mathscr {Y} (s) \cup \bigcup _{t :s(t) = s} \mathscr {X} (t)\).

It is straightforward to check that \((T',X')\) is a star decomposition of G of adhesion size \(\max (\alpha ,\alpha ')\), as follows. Every edge is covered by a bag in \(\mathscr {X} '\), because it was covered by a bag in \(\mathscr {X} \), which is either a subset of a bag in \(\mathscr {X} '\), or in \(\mathscr {X} (t_{root})\), and hence in a bag of \(\mathscr {Y} \), which are again subsets of bags in \(\mathscr {X} '\). Every vertex occurs in bags \(\mathscr {X} '\) of a connected subtree of \(T'\), because if a vertex occurs in two different leaf bags of \(\mathscr {X} '\), then either it occurs in two different leaf bags of \(\mathscr {Y} \) and hence in \(\mathscr {Y} (s_{\text {root}}) = \mathscr {X} '(t_{\text {root}})\), or in two leaf bags \(\mathscr {X} (t)\) and \(\mathscr {X} (t')\) with \(s(t)\ne s(t')\) and hence in \(\mathscr {X} (t_{\text {root}})\), which means it occurs in the adhesions of \(\mathscr {X} (t)\) and \(\mathscr {X} (t)'\); these adhesion are contained in \(\mathscr {Y} (s(t))\) and \(\mathscr {Y} (s(t'))\) respectively, so the vertex must be contained in \(\mathscr {Y} (s_{\text {root}}) = \mathscr {X} '(t_{\text {root}})\) as well. Finally to check the sizes of adhesions, observe that each adhesion of \((T,\mathscr {X} ')\) is either (for leaf nodes t coming from T) a subset of an adhesion in \(\mathscr {X} \), namely \(\mathscr {X} '(t) \cap \mathscr {X} '(t_{\text {root}}) \subseteq \mathscr {X} (t) \cap \mathscr {X} (t_{\text {root}})\), or (for leaf nodes s coming from S) equal to an adhesion of \((S,\mathscr {Y})\):

$$\begin{aligned} \mathscr {X} '(s) \cap \mathscr {X} '(t_{\text {root}}) = \left( \mathscr {Y} (s) \cup \bigcup _{t :s(t) = s} \mathscr {X} (t) \right) \cap \mathscr {Y} (s_{\text {root}}) = \mathscr {Y} (s) \cap \mathscr {Y} (s_{\text {root}}), \end{aligned}$$

since every vertex in \(\mathscr {X} (t) \cap \mathscr {Y} (s_{\text {root}}) \subseteq \mathscr {X} (t) \cap \mathscr {X} (t_{\text {root}})\) is contained in \(\mathscr {Y} (s(t))\).

To show that the new decomposition respects \(\mathscr {T} \), suppose to the contrary that some leaf bag contains the large side B of a separation \((A,B) \in \mathscr {T} \). Then either this bag is \(\mathscr {X} '(t) = \mathscr {X} (t)\) for \(t\in V(T)\), contradicting that \((T,\mathscr {X})\) respects \(\mathscr {T} \), or \(\mathscr {X} '(s) = \mathscr {Y} (s) \cup \bigcup _{t :s(t) = s} \mathscr {X} (t)\) for some \(s \in V(S)\). Then since \((\mathscr {X} '(s),\bigcup _{s' \ne s \in V(S)} \mathscr {X} '(s'))\) is a separation induced by the adhesion at \(\mathscr {X} '(s)\), of order \(\le \alpha '\) (as shown in the previous paragraph), \(\mathscr {X} '(s)\) (which contains B) must be the large side of this separation in \(\mathscr {T} \). But this is an extension of the separation \((\mathscr {Y} (s),\bigcup _{s' \ne s \in V(S)} \mathscr {Y} (s'))\), contradicting (2).

The part that is not entirely straightforward is bounding the degrees in the root torso of the new star decomposition \((T',\mathscr {X} ')\). Observe that this new torso can be obtained from the root torso \(G_{\text {root}}\) of \((T,\mathscr {X})\) by taking the subgraph induced by \( \mathscr {X} '(t_{\text {root}}) = \mathscr {Y} (s_{\text {root}})\), removing certain virtual edges (from adhesions corresponding to deleted leaves) and adding virtual edges between every two vertices of each new adhesion \(\mathscr {X} '(s) \cap \mathscr {X} '(t_{\text {root}})\), \(s\in V(S)\). We need to bound the number of such edges added to a vertex \(v \in \mathscr {Y} (s_{\text {root}})\), assuming it was not already one of the |V(H)| high-degree vertices of the root torso of \((T,\mathscr {X})\). Thus v had at most d neighbors in \(G_{\text {root}}\). Since for each new adhesion \(\mathscr {X} '(s) \cap \mathscr {X} '(t_{\text {root}}) = \mathscr {Y} (s) \cap \mathscr {Y} (s_{\text {root}})\) (as shown above) which contains v we assumed that v has a neighbor in \(\mathscr {Y} (s) \setminus \mathscr {Y} (s_{\text {root}})\) (and these are disjoint sets, for distinct s), it follows that v received new edges from at most d distinct new adhesions, at most \(\alpha '\) edges from each. Therefore, the degree of all but |V(H)| vertices in the root torso of \((T',\mathscr {X} ')\) is bounded by \(d + \alpha ' \cdot d\), that is, Corollary 36 holds with this constant in place of d. \(\square \)

This concludes the proof of Lemma 38.

Adding a Modulator

In this section we prove Theorem 2. In fact, in line with the setting of Sect. 3, we show the following generic version. Theorem 2 follows directly from it by applying Theorem 33 (on the (wh)-decomposability of H-topological-minor-free graphs for \(w(k)=k^{\mathscr {O} _H(1)}\) and \(h=\mathscr {O} _H(1)\)).

Theorem 45

One can solve in polynomial time a given \(k\)-Path instance (Gk), given access to a set \(M \subseteq V(G)\) such that \(G-M\) admits a tree decomposition of width less than \(w\) and adhesion size \(h= \mathscr {O} (1)\), and an oracle that solves the \(\textsc {Auxiliary Linkage}{}\) problem for instances \((G',k',S,(R_i)_{i=1}^r)\) with \(G'\) being a subgraph of G, \(\max (r,k') \le k\), \(|S| \le |M| + \mathscr {O} (1)\), and \(|V(G')|\) being bounded polynomially in k, \(w\), and |M|.

Contrary to Sect. 3, in this section we are not precise with the polynomial dependency on the parameters k, \(w\), and |M|, as well as the dependency on the adhesion size \(h= \mathscr {O} (1)\) of the decomposition. This is due to the fact that the latter dependency on \(h\) is substantial, most notably in the exponent of the polynomial bound on the size of the oracle calls. Therefore, the result of this section is a purely theoretical result classifying the aforementioned parameterization as admitting a polynomial Turing kernel.

Decomposition We apply the algorithm of Theorem 11 to the graph \(G-M\) and separation size \(h\). Since \(h= \mathscr {O} (1)\), the algorithm runs in polynomial time. By Lemma 12, the output decomposition \((T_0,\mathscr {X} _0)\) has width \(w^{\mathscr {O} (1)}\) and adhesion size \(\mathscr {O} (1)\).

Our algorithm will need a bound on the number of children of each node in the decomposition tree. This is easy to guarantee by modifying the decomposition \((T_0,\mathscr {X} _0)\) as follows. For every node \(t \in V(T)\), we group the children \(t'\) of t according to the adhesions \(\mathscr {X} (t) \cap \mathscr {X} (t')\). For every group \(U \subseteq N_T(t)\), we add a new child \(t_U\) of t with \(\mathscr {X} (t_U) = \mathscr {X} (t) \cap \mathscr {X} (t')\), \(t' \in U\), and reattach the nodes of U as children of \(t_U\). Now t has \(w^{\mathscr {O} (1)}\) children (using the trivial bound on the adhesion degree), but \(t_U\) might have many children. However, the bag \(\mathscr {X} (t_U)\) has constant size, we can hence duplicate \(t_U\) into \(\mathscr {O} (|U|)\) copies, arranged in a binary tree, with the nodes of U being different leaves of the binary tree. Let \((T,\mathscr {X})\) be the final decomposition: it has unchanged width \(w^{\mathscr {O} (1)}\) and adhesion size \(\mathscr {O} (1)\), and additionally every node has \(w^{\mathscr {O} (1)}\) children.

Marking We continue the proof of Theorem 45 with a somewhat standard marking process. The idea will be to mark enough paths that realize a traverse in \(G-M\) between each possible pair \(u,v \in M\), so that we can assume every traverse of the sought k-path intersects marked vertices. If there are many unmarked vertices, we will be able to find a moderately large unmarked part A in the decomposition with a constant-size boundary Z (separating A from marked vertices), which will be the guarded set and the guard, respectively. This allows us to perform the Reduction Rule on A.

For an integer \(0 \le k' \le k-2\) and two vertices \(u, v \in M\), define a \((u,v,k')\)-path in G as a (simple) path with \(k'+2\) vertices: two endpoints u and v and exactly \(k'\) internal vertices, all in \(G-M\). Note that a (uv, 0)-path is a path consisting of an edge uv. Similarly, for \(0 \le k' \le k-1\) and a vertex \(u \in M\), a \((u,k')\)-path in G is a path with \(k'+1\) vertices: one endpoint being u and all other vertices in \(G-M\).

For every \(0 \le k' \le k-2\) and every \(u,v\in M\), we shall compute an inclusion-wise maximal family \(\mathscr {P}_{u,v,k'}^0\) of internally vertex-disjoint \((u,v,k')\)-paths. Similarly, for every \(0 \le k' \le k-1\) and \(u \in M\) we compute an inclusion-wise maximal family \(\mathscr {P}_{u,k'}^0\) of internally vertex-disjoint \((u,k')\)-paths. The computation can be done via the previously established kernel for decomposable graph classes.

Lemma 46

The families \(\mathscr {P}_{u,v,k'}^0\) and \(\mathscr {P}_{u,k'}^0\) can be computed in polynomial time using the assumed Auxiliary Linkage oracle.


We focus on \(\mathscr {P}_{u,v,k'}^0\); the proof for the second family is analogous. To find an inclusion-wise maximal family, it suffices to find paths one-by-one and greedily add them to the family as long as possible. That is, it suffices to find a path of the desired length \(k' \le k\) between two given vertices u and v in a given induced subgraph of \(G-(M \setminus \{u,v\})\) (obtained by removing the internal vertices of the paths previously found), or conclude that none exists (meaning the packing we found is maximal). We show that a slight modification of the previously established kernel in Sect. 3 for decomposable graph classes (Corollary 14) works when endpoints u and v are given.

More precisely, first observe that the Reduction Rule is still correct when we are looking for a \(k'\)-path between fixed endpoints u and v (as opposed to any \(k'\)-path) as long as the endpoints do not lie in the set A. Thus, we can (just as in Corollary 14) iteratively use the decomposition \((T,\mathscr {X})\) of \(G-M\), reintroduce u and v to every bag, and find a separation \((A',B')\) by Lemma 9 such that the Reduction Rule applies (with \(A = A' \setminus B'\) not containing u nor v), and iterate this until we find the \(k'\)-path between u and v or conclude there is none, as in Lemma 7. \(\square \)

We define \(\mathscr {P}_{u,v,k'}\) to be a subfamily of \(k+1\) arbitrarily chosen paths from \(\mathscr {P}_{u,v,k'}^0\), or let \(\mathscr {P}_{u,v,k'} = \mathscr {P}_{u,v,k'}^0\) if \(|\mathscr {P}_{u,v,k'}| < k+1\). We define \(\mathscr {P}_{u,k'}\) similarly.

Let \(|M| = s\). Let \(X_1\) be the set of all vertices of \(G-M\) that lie on some path in any of the sets \(\mathscr {P}_{u,v,k'}\) or \(\mathscr {P}_{u,k'}\) (\(u,v\in M\), \(k'\le k\)). Note that, as we picked at most \(k+1\) paths to the families \(\mathscr {P}_{u,v,k'}\) and \(\mathscr {P}_{u,k'}\), each consisting of at most \(k-1\) vertices from \(G-M\), for each of at most k choices of the length \(k' \le k\), and \(\left( {\begin{array}{c}s\\ 2\end{array}}\right) + s\le 2s^2\) choices for the endpoint(s), we have

$$\begin{aligned} |X_1| < (k+1) \cdot (k-1) \cdot k \cdot 2s^2. \end{aligned}$$

For every \(x \in X_1\), pick one node \(t(x) \in V(T)\) such that \(x \in \mathscr {X} (t(x))\). Let \(B_1 = \{t(x) \mid x \in X_1\}\). Let \(B_2 \subseteq V(T)\) consist of all of \(B_1\), the root of T, and the lowest common ancestor of every pair \(t_1,t_2\) in \(B_1\). Let \(X_2 = \mathscr {X} (B_2)\). It is folklore that \(|B_2| \le 2|B_1|\), hence:

$$\begin{aligned} |B_2|&\le 2(k+1) \cdot (k-1) \cdot k \cdot 2s^2,\\ |X_2|&= w^{\mathscr {O} (1)} \cdot k^3 \cdot s^2. \end{aligned}$$

Let \(\mathscr {C} \) be the set of connected components of \(T-B_2\). As \(B_2\) is closed under taking lowest common ancestors of nodes, we have that \(|N_T(C)|\le 2\) for any \(C \in \mathscr {C} \) (indeed, the set \(N_T(C) \subseteq B_2\) consists of the parent of the root of C, if it has a parent, and the children of leaves of C, of which there can be at most one, as otherwise their common ancestor would be in C and \(B_2\), a contradiction).

Fig. 4
figure 4

Schematic illustration of the steps used to define the set A that is guarded by Z. The figure shows a tree decomposition of \(G-M\), whose vertices can have arbitrary connections to the modulator M

Reducing a large component Our main goal is to show that if the bags of any component C contain in total more than \(m = \mathrm {poly}(k, w, s)\) vertices of G, that is, \(|\mathscr {X} (C)| > m\), then one can use the Reduction Rule from Sect. 3 to reduce the graph G by at least one vertex. Fix such a component C, and refer to Fig. 4 for an illustration of the following steps.

Let \(t_0 \in V(C)\) be the lowest node in C such that, if D is the set of nodes of C in the subtree of T rooted in \(t_0\), then \(|\mathscr {X} (D)| > m\). Since in \((T,\mathscr {X})\) nodes have \(w^{\mathscr {O} (1)}\) children and bags have size \(w^{\mathscr {O} (1)}\), the choice of \(t_0\) ensures that \(|\mathscr {X} (D)| \le w^{\mathscr {O} (1)} \cdot m\).

Let \(Z = \mathscr {X} (D) \cap \mathscr {X} (N_T(D))\) and \(A = \mathscr {X} (D) \setminus \mathscr {X} (N_T(D))\). Note that D has the same neighborhood in T as C, except possibly for a different parent of its root. Hence \(|N_T(D)| \le 2\) and since adhesions are of constant size, \(|Z|=\mathscr {O} (1)\). Furthermore, since \(D \subseteq C\) is disjoint from \(B_2\), we have (by properties of tree decompositions):

$$\begin{aligned} \mathscr {X} (D) \cap X_2= & {} \mathscr {X} (D) \cap \mathscr {X} (B_2) \subseteq \mathscr {X} (D) \cap \mathscr {X} (T-D)\\= & {} \mathscr {X} (D) \cap \mathscr {X} (N_T(D)) = Z. \end{aligned}$$

Therefore \(A \cap X_2 = \emptyset \). Again by properties of tree decompositions, Z separates A from the rest: \(N_{G-M}(A) \subseteq Z\), hence \(N_G(A) \subseteq Z \cup M\).

The marking process ensures the following crucial property.

Lemma 47

The set A is guarded by Z.

Proof Let P be a k-path in G that contains a maximum possible number of vertices from \(X_1\); we claim that P is guarded by Z in A. Assume the contrary, let Q be a traverse of P through A for which neither endpoint belongs to Z. Since P is not completely contained in A (as otherwise it would be guarded, by Definiton 4) and \(N_G(A) \subseteq Z \cup M\), we have that Q is either a \((u,v,k')\)-path for some \(u,v \in M\) and \(1 \le k' \le k-2\) or a \((u,k')\)-path for some \(u \in M\) and \(1 \le k' \le k-1\). Assume the first case; the proof for the second case is analogous.

Since Q is contained in \(A \cup M\) and A is disjoint from \(X_2 \supseteq X_1\) (the marked vertices), it is internally vertex-disjoint from all paths in \(\mathscr {P}_{u,v,k'}\). If \(\mathscr {P}_{u,v,k'}\) were equal to \(\mathscr {P}_{u,v,k'}^0\), we could have added Q to the latter, contradicting its choice as inclusion-wise maximal. Consequently, \(|\mathscr {P}_{u,v,k'}| = k+1\). Thus, at least one \((u,v,k')\)-path \(Q' \in \mathscr {P}_{u,v,k'}\) has no internal vertices on the k-path P. Consequently, by replacing Q with \(Q'\) on P, we obtain a simple k-path \(P'\) with strictly more vertices of \(X_1\) than P. This is a contradiction. \(\square \)

Thus, if \(m = \mathrm {poly}(k, w, s)\) is large enough, we can apply the Reduction Rule for the set A and the guard Z; recall that \(|Z| = \mathscr {O} (1)\) while \(m - \mathscr {O} (1) < |A| \le \mathrm {poly}(w) \cdot m\). The Reduction Rule deletes at least one vertex after invoking a number of calls to the Auxiliary Linkage oracle on the subgraph G[N[A]]; note that \(N[A] \subseteq A \cup M \cup Z\).

Wrap up Recall that we have shown that one can apply the Reduction Rule if there exists a component \(C \in \mathscr {C} \) with \(|\mathscr {X} (C)| > m\) for some m bounded polynomially in k, \(w\), and \(s\). However, since \(|B_2| \le 2(k+1) \cdot (k-1) \cdot k \cdot 2s^2\) and a node of T has \(\mathrm {poly}(w)\) children, there are at most \(\mathrm {poly}(w) k^3 s^2\) components. Consequently, if the reduction is not applicable, we have |V(G)| bounded polynomially in k, \(w\), and \(s\). Such an instance can be solved with a single call to Auxiliary Linkage with \(k' = k\), \(S = \emptyset \), \(r=1\), and \(R_1 = \emptyset \). This finishes the proof of Theorem 45 and, consequently, of Theorem 2.


We significantly extended the graph classes on which \(k\)-Path has a polynomial Turing kernel. In addition, we showed that even an instance that does not belong to such a class, but has a small vertex modulator whose deletion makes it so, can be solved efficiently using small queries to an oracle. A subdivision-based argument (cf. [15]) shows that we cannot generalize much beyond H-topological-minor-free graphs without settling the problem in general. In particular, the existence of a polynomial Turing kernel for graphs of bounded expansion implies its existence in general graphs.

While our narrative focused on \(k\)-Path, after small modifications our techniques can also be applied to prove analogues of Theorems 1 and 2 for the \(k\)-Cycle problem of detecting a simple cycle of length at least k. The main difficulty in adapting our arguments to \(k\)-Cycle is the fact that, a priori, the only cycles of length at least k may be arbitrarily much larger than k. However, this issue can easily be resolved in the following way. Since a cycle is contained within a single biconnected component, a Turing kernelization can decompose its input into biconnected components and solve the problem independently in each of them. We then start by testing for the existence of a path with \(k^2\) vertices using the algorithms developed in the paper. If there is a path of length \(k^2\) in a biconnected component, then by a classic theorem of Dirac [13] there is a cycle of length at least k, and we are done. If no such path exists, then the longest cycle in G has length less than 2k, and we can continue under the guarantee that the cycle we are looking for has length at least k and less than 2k. In this setting, our arguments can be easily adapted. In particular, the absence of a path of length \(k^2\) implies the existence of suitable tree decompositions from which reducible separations can be extracted.

A significant portion of the technical work in this paper was devoted to modifying the graph minors decomposition to obtain the win/win that either answers the problem or finds a reducible separation. In this way, the algorithmic question has driven a challenging graph-theoretic project. It would be interesting to find more problems amenable to such an approach. We conclude with some concrete open problems. Does \(k\)-Path have a polynomial Turing kernel on chordal graphs? How about Induced k-Path or Directed k-Path, on planar graphs? The current approach fails for these problems, since the presence of a large triconnected component does not necessarily imply a positive answer to the problem. For example, there are triconnected planar graphs on n vertices whose longest induced path has only \(\mathscr {O} (\log n)\) vertices [17].