The Three-In-A-Tree Problem
The Three-In-A-Tree Problem
1
This research was conducted while the author served as a Clay Mathematics Institute Research Fellow.
2
Supported by ONR grant N00014-01-1-0608, and NSF grant DMS-0070912.
Abstract
We show that there is a polynomial time algorithm that, given three vertices of a graph, tests
whether there is an induced subgraph that is a tree, containing the three vertices. (Indeed, there
is an explicit construction of the cases when there is no such tree.) As a consequence, we show
that there is a polynomial time algorithm to test whether a graph contains a “theta” as an induced
subgraph (this was an open question of interest) and an alternative way to test whether a graph
contains a “pyramid” (a fundamental step in checking whether a graph is perfect).
1 Introduction
All graphs in this paper are finite and simple. If G is a graph, its vertex- and edge-sets are denoted
V (G), E(G). If X ⊆ V (G), the subgraph with vertex set X and edge set all edges of G with both
ends in X is denoted G|X, and called the subgraph induced on X.
There are many algorithmic questions of interest concerning the existence of an induced subgraph
of some specific type containing some specified vertices, but almost all of them seem to be NP-
complete, by virtue of the following result of Bienstock [1]:
1.1 The following problem is NP-complete:
Input: A graph G and two edges e, f of G.
Question: Is there a subset X ⊆ V (G) such that G|X is a cycle containing e, f ?
Bienstock’s result leaves very little room between the trivial problems and the NP-complete
problems, but in this paper we report on a problem that falls into the gap. We call the following the
“three-in-a-tree” problem:
For most graphs one would expect a “yes” answer, but there are interesting graphs for which the
answer is “no”; for instance, if e1 , e2 , e3 are edges of a graph H each incident with a vertex of degree
one, and G is the line graph of H, then e1 , e2 , e3 are vertices of G and there is no induced tree in
G containing e1 , e2 , e3 . Nevertheless, we will show that the three-in-a-tree problem can be solved in
time O(|V (G)|4 ). We shall give an explicit construction of all instances (G, v1 , v2 , v3 ) such that the
desired tree does not exist, and the proof that all such instances must fall under this construction
can be converted to an algorithm to check whether the desired tree exists or not.
1
• A theta is a graph consisting of two nonadjacent vertices a, b and three paths P1 , P2 , P3 , each
joining a, b and otherwise vertex-disjoint, such that for 1 ≤ i < j ≤ 3 the subgraph induced on
V (Pi ) ∪ V (Pj ) is a cycle.
• A prism is a graph consisting of two vertex-disjoint triangles {a1 , a2 , a3 } and {b1 , b2 , b3 }, and
three paths P1 , P2 , P3 , pairwise vertex-disjoint, such that for 1 ≤ i < j ≤ 3 the subgraph
induced on V (Pi ) ∪ V (Pj ) is a cycle.
Perhaps the main reason for interest in pyramids, thetas and prisms is that every graph containing
a pyramid as an induced subgraph has an odd hole, and every graph containing a theta or prism
has an even hole; and there seems to be some parallel between pyramids and “thetas or prisms”.
Yet although pyramids, thetas and prisms are superficially similar, there is a real difference in the
difficulty of detecting their presence. We showed in [3] that
2.1 There is an algorithm with running time O(|V (G)|9 ), that, with input a graph G, tests whether
G contains a pyramid as an induced subgraph.
Motivated by the parallel between pyramids and thetas-or-prisms, Chudnovsky and Kapadia [2, 4]
proved the following:
2.2 There is a polynomial-time algorithm to test whether a graph G contains either a theta or a
prism as an induced subgraph.
There are two useful applications of the three-in-a-tree algorithm here. First, until now the
complexity of testing whether G contains a theta has been open; but it can be solved in polynomial
time as follows.
2.4 There is an algorithm to test if a graph G contains a theta as an induced subgraph, with running
time O(|V (G)|11 ).
Proof. Enumerate all four-tuples (a, b1 , b2 , b3 ) of distinct vertices such that a is adjacent to b1 , b2 , b3
and b1 , b2 , b3 are pairwise nonadjacent. For each such four-tuple (a, b1 , b2 , b3 ), enumerate all subsets
X ⊆ V (G) such that a has no neighbour in X, and b1 , b2 , b3 each have exactly one neighbour in X,
and each member of X is adjacent to at least one of b1 , b2 , b3 (it follows that |X| ≤ 3). For each such
choice of X, let G′ be obtained from G by deleting a and all vertices adjacent to one of a, b1 , b2 , b3
except for the members of {b1 , b2 , b3 } ∪ X; and test whether there is an induced tree in G′ containing
all of b1 , b2 , b3 . Thus we have to run the three-in-a-tree algorithm at most |V (G)|7 times, and each
one takes time O(|V (G)|4 ). It is easy to see that there is some choice of a, b1 , b2 , b3 and X such that
the tree exists, if and only if G contains a theta.
Second, the algorithm of 2.1 depended heavily on some fortuitous properties of the smallest
pyramid in a graph, and this was a little disturbing because testing for a pyramid was a crucial step
in our algorithm to test whether a graph is perfect. The three-in-a-tree algorithm can be used to
give another, less miraculous, way to test for pyramids, as follows.
2
2.5 There is an algorithm to test if a graph G contains a pyramid as an induced subgraph, with
running time O(|V (G)|10 ).
Proof. Enumerate all six-tuples (a1 , a2 , a3 , b1 , b2 , b3 ) of distinct vertices such that {b1 , b2 , b3 } is a
triangle, and ai is adjacent to bj if and only if i = j (for 1 ≤ i, j ≤ 3). For each such six-tuple, let
G′ be obtained from G by deleting all vertices with a neighbour in {b1 , b2 , b3 } except for a1 , a2 , a3 ,
and test whether there is an induced tree in G′ that contains all of a1 , a2 , a3 . It is easy to see that
G contains a pyramid if and only if for some six-tuple there is an induced tree as described.
3 Strip structures
Let G be a connected graph. We say that Z ⊆ V (G) is constricted if |Z ∩ V (T )| ≤ 2 for every induced
tree T of G. We wish to study which three-vertex subsets of V (G) are constricted; but we might as
well study which sets are constricted in general, because that question is no more difficult, and does
seem to be strictly more general. We will prove that if |Z| ≥ 2, then Z is constricted if and only if G
admits a certain decomposition with respect to Z, that we call an “extended strip decomposition”.
Our next goal is to define this; but before we do so, let us motivate the definition a little.
First, let us say a leaf edge of a graph is an edge incident with a vertex of degree one. We observe
that for any graph H, with line graph G say, if Z ⊆ E(H) = V (G) and every member of Z is a leaf
edge of H, then Z is constricted in G. Our main result is an attempt at a converse of this; that for
any graph G, if Z ⊆ V (G) is constricted then G is a sort of modified line graph of a graph H in
which the members of Z are the leaf edges.
Second, to see that there is some hope of a converse, let us mention the following “toy” version
of our main theorem. (This is essentially a reformulation of 5.1, and we postpone the proof.)
3.1 Let G be a connected graph and let Z ⊆ V (G) be constricted with |Z| ≥ 2. Suppose that there
is no proper subset X ⊂ V (G) with Z ⊆ X such that G|X is connected. Then there is a tree H with
E(H) = X, such that G is the line graph of H, and Z is the set of leaf edges of H.
Thus, we need to modify 3.1, eliminating the hypothesis about the nonexistence of X, and
modifying the conclusion appropriately. It is natural to try changing the conclusion from “there is a
tree H...” to “there is a connected graph H...”, but this is not sufficiently general; the graph G might
admit a 2-join with all the members of Z on one side, and if so then we do not have much information
or control about the other side of the 2-join. Such far sides of 2-joins must be incorporated into the
theorem as general pieces of graph about which we know nothing, except we know that they attach
to the controlled part of the graph via a 2-join structure. (We call these pieces “strips”).
Now let us define an “extended strip decomposition”. Let G be a graph and Z ⊆ V (G). Let H
also be a graph, let W be the set of vertices of H that have degree one in H, and let η be a map with
domain the union of E(H) and the set of all pairs (e, v) where e ∈ E(H), v ∈ V (H) and e incident
with v, satisfying the following conditions:
• for each edge e ∈ E(H), η(e) ⊆ V (G), and for each v ∈ V (H) incident with e, η(e, v) ⊆ η(e)
3
• for all distinct e, f ∈ E(H), let x ∈ η(e) and y ∈ η(f ); then x, y are adjacent in G if and only
if e, f share an end-vertex v in H, and x ∈ η(e, v) and y ∈ η(f, v)
• |Z| = |W |, and for each z ∈ Z there is a vertex v ∈ W such that η(e, v) = {z}, where e is the
(unique) edge of H incident with v.
Let us call such a map η an H-strip structure in (G, Z). (Thus, we have now incorporated the
“far sides of 2-joins”, as discussed above. Unfortunately, this still is not enough, and we need a little
more, as follows.) Let η be an H-strip structure, and let us extend the domain of η by adding to
it the union of V (H) and the set of all triangles of H, as follows. For each vertex v ∈ V (H), let
η(v) ⊆ V (G), and for each triangle D of H let η(D) ⊆ V (G), satisfying the following:
• all the sets η(e) (e ∈ E(H)), η(v) (v ∈ V (H)) and η(D) (for all triangles D of H) are pairwise
disjoint, and their union is V (G)
• for each v ∈ V (H), if x ∈ η(v) and y ∈ V (G) \ η(v) are adjacent in G then y ∈ η(e, v) for some
e ∈ E(H) incident in H with v
• for each triangle D of H, if x ∈ η(D) and y ∈ V (G) \ η(D) are adjacent in G then y ∈
η(e, u) ∩ η(e, v) for some distinct u, v ∈ D, where e is the edge uv of H.
In this case we say that η is an extended H-strip decomposition of (G, Z). Our main theorem asserts
the following:
3.2 Let G be a connected graph and let Z ⊆ V (G) with |Z| ≥ 2. Then Z is constricted if and only
if for some graph H, (G, Z) admits an extended H-strip decomposition.
(1) For each v ∈ V (H), there do not exist distinct z1 , z2 ∈ Z ∩ V (T ) \ {y} such that some z1 -
limb contains a vertex in N (v) and some z2 -limb contains a vertex in N (v).
For suppose this is false; then for i = 1, 2 we may choose a zi -limb Qi , with end-vertices zi , yi
say, and v ∈ V (H), such that y1 , y2 ∈ N (v). Choose Q1 , Q2 , v so that the sum of the lengths of
Q1 , Q2 is minimum. It follows that for i = 1, 2, no vertex of Qi belongs to N (v) except yi . Since
y1 is not adjacent to y2 (from the definition of z1 -, z2 -limb) it follows that for some e ∈ E(H),
4
y1 , y2 ∈ η(e, v). Let e be incident with v, u ∈ V (H) say. Since |η(e, v)| > 1, it follows that not both
z1 , z2 ∈ η(e), so we may assume that z1 ∈ / η(e). Let R1 be a maximal z1 -limb such that R1 is a
subpath of Q1 and no vertex of R1 belongs to η(e). Let R1 have ends r1 , z1 say; and let s1 be the
neighbour of r1 in Q1 that does not belong to R1 . Thus s1 ∈ η(e). If z2 ∈ / η(e) define R2 , r2 , s2
similarly. Since r1 ∈/ η(e), it follows that either r1 ∈ η(D) for some triangle D of H, or r1 ∈ η(w) for
some w ∈ V (H), or r1 ∈ η(f ) for some f ∈ E(H) \ {e}.
Suppose that the first holds, that is, r1 ∈ η(D) for some triangle D of H. Since s1 ∈ η(e) and
r1 , s1 are adjacent, it follows that u, v ∈ D, and s1 ∈ η(e, u) ∩ η(e, v). Let D = {u, v, w} say. Since
z1 ∈ / η(D), there is an edge ab of R1 such that a ∈ η(D) and b ∈ / η(D). Consequently b belongs to
one of
η(uv, u) ∩ η(uv, v), η(vw, v) ∩ η(vw, w), η(uw, u) ∩ η(uw, w).
But from the choice of R1 , b ∈ / η(e), and from the choice of Q1 , b ∈ / N (v). Hence b ∈ η(uw, u) ∩
η(uw, w); but then s1 ∈ η(uv, u) and b ∈ η(uw, u), and so s1 , b are adjacent, contradicting that T is
an induced tree. Thus the first case cannot occur.
Suppose that the second holds, and r1 ∈ η(w) for some w ∈ V (H). Since r1 , s1 are adjacent, it
follows that s1 ∈ N (w), and so s1 ∈ η(f, w) for some edge f incident with w; and since s1 ∈ η(e),
it follows that f = e, so w is one of u, v. Moreover, since z1 ∈ / η(w), there is an edge ab of R1 such
that a ∈ η(w) and b ∈ / η(w), and therefore b ∈ N (w). Since b ∈ / η(v) it follows that w 6= v, and
so w = u, and hence s1 ∈ η(e, u). Moreover, since T is an induced tree it follows that b and s1 are
not adjacent. Since s1 , b ∈ N (u), it follows that b ∈ η(e, u), contrary to the choice of R1 . Thus the
second case cannot hold.
We deduce that the third holds, and so r1 ∈ η(f ) for some f ∈ E(H) \ {e}. Since r1 , s1 are
adjacent, it follows that there is a vertex w of H incident with e, f such that s1 ∈ η(e, w) and
r1 ∈ η(f, w). Since r1 ∈/ N (v), it follows that w = u, and so s1 ∈ η(e, u).
In particular, η(e, u) 6= {z2 }, and since η(e, v) 6= {z2 }, it follows that z2 ∈
/ η(e), and so R2 , r2 , s2
are defined. By the same argument with z1 , z2 exchanged, it follows that s2 ∈ η(e, u). Since r1 ∈
η(f, u) for some f ∈ E(H) \ {e}, and s2 ∈ η(e, u), it follows that r1 , s2 are adjacent, a contradiction.
This proves (1).
Let Z ∩ V (T ) = {z1 , z2 , z3 }.
For either y ∈ η(D) for some triangle D of H, or y ∈ η(v) for some v ∈ V (H), or y ∈ η(e) for
some e ∈ E(H). Suppose that the first holds. Now for i = 1, 2, 3, zi ∈ / η(D); let Ri be a max-
imal zi -limb containing no vertex of η(D), with ends zi , ri say, and ri has a neighbour in η(D).
Let D = {u, v, w}; then for i = 1, 2, 3, ri belongs to at least two of N (u), N (v), N (w). Hence one
of N (u), N (v), N (w) meets both of R1 , R2 , contrary to (1). Next suppose the second holds, and
y ∈ η(v) for some v ∈ V (H). For i = 1, 2, 3, since zi ∈ / η(v), there is a maximal zi -limb Ri with
no vertex in η(v), with ends zi , ri say, and ri has a neighbour in η(v). Hence r1 , r2 , r3 all belong to
N (v), contrary to (1). Thus the third holds, that is, y ∈ η(e) for some e ∈ E(H). This proves (2).
5
u, v ∈ V (H).
(3) For i = 1, 2, 3, if zi ∈
/ η(e), then there exists w ∈ {u, v} and an edge f ∈ E(H) \ {e} inci-
dent with w such that ri ∈ η(f, w) and si ∈ η(e, w).
For either ri ∈ η(D) for some triangle D of H, or ri ∈ η(w) for some w ∈ V (H), or ri ∈ η(f )
for some f ∈ E(H) \ {e}. Suppose that the first holds, and ri ∈ η(D). Since si ∈ / η(D), and ri , si
are adjacent, and si ∈ η(e), it follows that u, v ∈ D, and si ∈ η(e, u) ∩ η(e, v). Let D = {u, v, w} say.
Since zi ∈
/ η(D), there is an edge ab of Ri with a ∈ η(D) and b ∈ / η(D). Consequently b belongs to
one of
η(uv, u) ∩ η(uv, v), η(vw, v) ∩ η(vw, w), η(uw, u) ∩ η(uw, w).
Since b, si are nonadjacent, it follows that b ∈ / η(uw, u) ∪ η(vw, v), and since b ∈ / η(e), this is
impossible. Thus the first case cannot occur.
Suppose that the second holds, and ri ∈ η(w) for some w ∈ V (H). Since ri , si are adjacent,
and si ∈ η(e), it follows that w ∈ {u, v} and si ∈ η(e, w); and we may assume that w = v. Since
zi ∈
/ η(v), there is an edge ab of Ri with a ∈ η(v) and b ∈ / η(v). Hence b ∈ N (v), and so b ∈ η(f, v)
for some edge f ∈ E(H) incident with v. Since si , b are nonadjacent, it follows that f = e, contrary
to the definition of Ri . Thus the second case cannot hold. We deduce that the third holds, and
ri ∈ η(f ) for some f ∈ E(H) \ {e}. Since ri , si are adjacent, and si ∈ η(e), there exists w ∈ V (H)
incident with both e, f , such that ri ∈ η(f, w) and si ∈ η(e, w). Hence w ∈ {u, v}. This proves (3).
Now if none of z1 , z2 , z3 belong to η(e), then by (3), we may assume that ri ∈ η(f, u) and
si ∈ η(e, u) for i = 1, 2, contrary to (1). Thus we may assume that z3 ∈ η(e), and therefore we
may assume that N (u) = η(e, u) = {z3 }. If z1 , z2 ∈ / η(e), then for i = 1, 2, ri ∈
/ N (u), and so
ri ∈ N (v) by (3), contrary to (1). Consequently one of z1 , z2 ∈ η(e), and so we may assume that
N (v) = η(e, v) = {z2 }. But then z1 ∈ / η(e), and yet r1 ∈/ N (u) ∪ N (v), contrary to (3). This
completes the proof.
4 A lemma
In this section we prove a lemma needed for the “only if” half of 3.2. If G′ is a subgraph of a graph
G, and C is a subgraph of G \ V (G′ ), and v ∈ V (G′ ) has a neighbour in V (C), we say that v is an
attachment of C (in G′ ). A separation of a graph K is a pair (A, B) of subsets of V (K) with union
V (K), such that no edge joins a vertex in A \ B and a vertex in B \ A. We call |A ∩ B| the order of
the separation. Let W ⊆ V (K). We say that (K, W ) is a frame if
• |W | ≥ 3
• K is connected
• for every separation (A, B) of K of order at most two with W ⊆ B 6= V (K), we have that
|A ∩ B| = 2 and K|A is a path between the two members of A ∩ B.
6
If (K, W ) is a frame, we see that W is the set of all vertices of K that have degree one. A branch
of (K, W ) is a path of K with distinct ends, such that both its ends have degree in K different from
two, and all its internal vertices have degree two in K. Since (K, W ) is a frame, it follows that every
branch is an induced subgraph of K, and every edge of K belongs to a unique branch. If v ∈ V (K),
δK (v) or δ(v) denotes the set of all edges of K incident with v.
Let (K, W ) be a frame and let F ⊆ E(K). An F -line is a path P in K such that one end of P
belongs to W and some edge of P belongs to F . A double F -line is a path P such that both ends of
P belong to W and exactly one edge of P belongs to F . We say that F ⊆ E(K) is focused if
• there do not exist three F -lines that are pairwise vertex-disjoint, and
• there do not exist an F -line and a double F -line that are vertex-disjoint.
We need to study which subsets F are focused. We shall prove the following:
4.1 Let (K, W ) be a frame and let F ⊆ E(K) be focused. Then either:
3. there exist x, y ∈ V (K), not in the same branch of K, such that F = δ(x) ∪ δ(y), or
(1) We may assume that for every X ⊆ V (K) with |X| ≤ 2, there is an F -line with no vertex
in X.
For suppose that X ⊆ V (K) with |X| ≤ 2, and every F -line has a vertex in X. Choose such a
set X with |X| minimum. Since all vertices in W have degree one and their neighbours are not in
W , we may also choose X with X ∩ W = ∅. If |X| = 2 and the two members of X belong to the
same branch, let B0 be the path in this branch between the two members of X, and otherwise let
B0 be the subgraph with vertex set X and no edges. Suppose that there exists f ∈ F \ E(B0 ) not
incident with any member of X. There is no path between f and W in K \ X, from the property
of X, and so there is a separation (A, B) of K with A ∩ B = X and W ⊆ B such that both ends
of f belong to A. Since f has no end in X, it follows that B 6= V (K), and so |X| = 2 and K|A is
a path between the two members of X; but then this path is B0 and contains f , a contradiction.
This proves that every member of F either belongs to E(B0 ) or is incident with a member of X. If
|X| ≤ 1 then the first outcome holds, so we may assume that X = {x1 , x2 } say. For i = 1, 2, let Vi
be the set of all neighbours of xi that are not in V (B0 ), let Yi be the set of all y ∈ Vi such that the
7
edge yxi belongs to F , and let Zi = Vi \ Yi . If one of Y1 , Z1 is empty, and one of Y2 , Z2 is empty,
then one of the outcomes of the theorem holds; so we may assume that Y1 , Z1 are both nonempty.
Let J = K \ V (B0 ). Since X ∩ W = ∅, it follows that W ⊆ V (J). If G is a graph and X, Y ⊆ V (G),
we denote by κ(G, X, Y ) the minimum order of a separation (A, B) of G with X ⊆ A and Y ⊆ B.
Since (K, W ) is a frame, it follows that
• κ(J, Z1 , W ) ≥ 1, similarly
• κ(J, V2 , W ) ≥ 1; indeed, κ(J, V2 , W ) = κ(K \ {x1 }, V2 , W ), and therefore is at least two unless
|V2 | = 1
• κ(J, Y1 ∪ Z1 , W ) ≥ 2, similarly
• κ(J, Y1 ∪ V2 , W ), κ(J, Z1 ∪ V2 , W ) ≥ 2, since no branch of (K, W ) includes both V (B0 ) and one
of Y1 , Z1
From this and Menger’s theorem (applied to the graph obtained from J by adding three new vertices
with neighbour sets Y1 , Z1 , V2 respectively, and asking for three vertex-disjoint paths between the
three new vertices and W ), we deduce that there are three vertex-disjoint paths P1 , P2 , P3 of J, from
some y1 ∈ Y1 to w1 ∈ W , from z1 ∈ Z1 to w2 ∈ W , and from v2 ∈ V2 to w3 ∈ W respectively. We
may assume that v2 is the only vertex of P3 in V2 . The path w1 -P1 -y1 -x1 -z1 -P2 -w2 (with the obvious
notation) is a double F -line Q say. Hence the path x2 -v2 -P3 -w3 is not an F -line, since F is focused,
and so v2 ∈ Z2 . For y2 ∈ Y2 , the path y2 -x2 -v2 -P3 -w3 is an F -line, and therefore is not disjoint from
Q; and so Y2 ⊆ V (Q); and by a similar argument, every edge of B0 in F is incident with x1 . Thus if
Y2 = ∅ then the first outcome of the theorem holds, so we assume that Y2 6= ∅. Let y2 ∈ Y2 ; then we
have seen that y2 ∈ V (P1 ) ∪ V (P2 ). If y2 ∈ V (P2 ), then the path w3 -P3 -v2 -x2 -y2 -P2 -w2 is a double
F -line (here the notation y2 -P2 -w2 at the end of this sequence of concatenations means that we take
the subpath of P2 between y2 and w2 ; we will use this and similar notation repeatedly without further
explanation); and this double F -line is vertex-disjoint from the F -line x1 -y1 -P1 -w1 , a contradiction.
Thus y2 ∈ V (P1 ). If y2 6= y1 , then w3 -P3 -v2 -x2 -y2 -P1 -w1 is a double F -line vertex-disjoint from the
F -line y1 -x1 -z1 -P2 -w2 , a contradiction; and so y2 = y1 . This proves that Y2 = {y1 }. Since Y2 , Z2 6= ∅,
this restores the symmetry between x1 , x2 , and so it follows that Y1 = {y1 }, and every edge of B0 in
F is incident with x2 (as well as with x1 ). If no edge of B0 belongs to F , then every edge in F is
incident with y1 , contrary to the minimality of X; so F ∩ E(B0 ) 6= ∅, and therefore B0 is a path of
length one, and the second outcome holds. This proves (1).
Henceforth, therefore, we make the assumption of (1), and will obtain a contradiction.
8
For suppose K is a tree. It follows that for any set C of trees of K, either there are k members
of C pairwise vertex-disjoint, or there is a set X ⊆ V (K) with |X| < k meeting every member of C.
Since there do not exist three pairwise disjoint F -lines, we deduce (by taking C to be the set of all
F -lines, and k = 3) that there exists X ⊆ V (K) with |X| ≤ 2, such that every F -line contains a
member of X. But this contradicts (1), and so proves (2).
(3) There is a branch B of (K, W ) such that, if K ′ denotes the graph obtained from K by delet-
ing the edges and internal vertices of B, then (K ′ , W ) is a frame.
For suppose that v has this property. Let Y be the set of neighbours y of v in K such that the
edge vy belongs to F . By (1) there is an F -line disjoint from {x1 , x2 }, and in particular, v ∈/ V (B),
and Y 6⊆ V (B). Since (K, W ) is a frame, there are three paths P1 , P2 , P3 from x1 , x2 , v respectively
to W , pairwise vertex-disjoint. Consequently P3 , B are vertex-disjoint. For i = 1, 2, 3 let wi be the
end of Pi in W . By (1), no vertex of B meets every edge in E(B) ∩ F (since otherwise this vertex
together with v would meet every edge in F ), and so there are two disjoint edges in E(B) ∩ F , and
therefore there are two vertex-disjoint F -lines Q1 , Q2 , both subpaths of P1 ∪ B ∪ P2 . Hence P3 is not
an F -line, and for each y ∈ Y \ V (B), y-v-P3 -w3 is not disjoint from both Q1 , Q2 , since y-v-P3 -w3
9
includes an F -line. In particular, Y ⊆ V (P1 ∪ B ∪ P2 ). We have already seen that there exists
y ∈ Y \ V (B), and we may therefore assume that y ∈ V (P1 ) \ {x1 }. The path w3 -P3 -v-y-P1 -w1 is a
double F -line, and it is disjoint from the F -line B ∪ P2 , a contradiction. This proves (4).
(5) It is not the case that |F ′ | = 3, and the three edges in F ′ form a triangle.
For suppose there is a triangle {v1 , v2 , v3 } of K ′ such that F ′ consists of the three edges v1 v2 , v2 v3 , v3 v1 .
(Possibly v1 , v2 , v3 , x1 , x2 are not all distinct.) By (1) (applied to {v1 , v2 }) there is an edge of B in F .
For any M ⊆ {v1 , v2 , v3 , x1 , x2 } with |M | = 3, there is no branch of (K, W ) including all members
of M , and so, since (K, W ) is a frame, there exist three vertex-disjoint paths in K between M and
W . Consequently there are three vertex-disjoint paths P1 , P2 , P3 from {v1 , v2 , v3 , x1 , x2 } to W , such
that at least one of them has first vertex in {x1 , x2 }, and at least two of them have first vertex in
{v1 , v2 , v3 }. Choose three such paths P1 , P2 , P3 with minimal union, and let Pi be between ui and
wi ∈ W say. We may assume that u1 = x1 , u2 = v2 and u3 = v3 . Moreover, from the minimality of
P1 ∪ P2 ∪ P3 , v1 is not a vertex of P2 ∪ P3 , and x2 is not a vertex of P1 . Hence B is not a path of any
of P1 , P2 , P3 . The path w2 -P2 -v2 -v3 -P3 -w3 is a double F -line, disjoint from P1 ∪ B \{x2 }; so the latter
is not an F -line. But some edge of B is in F , and so the edge of B incident with x2 is the unique
edge of B in F . Since the F -line B ∪ P1 is not disjoint from the double F -line w2 -P2 -v2 -v3 -P3 -w3 ,
it follows that x2 belongs to one of P2 , P3 , say P2 . The double F -line w1 -P1 -x1 -B-x2 -P2 -w2 is not
vertex-disjoint from the F -line v2 -v3 -P3 -w3 , so v2 = x2 . But then every edge in F is incident with
one of v2 , v3 , contrary to (1). This proves (5).
(6) There do not exist two vertices x3 , x4 ∈ V (K ′ ) such that F ′ = δK ′ (x3 ) ∪ δK ′ (x4 ).
For suppose such x3 , x4 exist. By (1) (applied to {x3 , x4 }) there is an edge f of B in F and incident
with neither of x3 , x4 . Also by (1) {x1 , x2 } = 6 {x3 , x4 }, so there are three pairwise vertex-disjoint
paths P2 , P3 , P4 from {x1 , x2 , x3 , x4 } to W , where Pi is from ui ∈ {x1 , x2 , x3 , x4 } to wi ∈ W , and
u3 = x3 , u4 = x4 , and u2 ∈ {x1 , x2 }. Choose such paths with P2 minimal; then we may assume that
u2 = x2 , and x1 ∈ / V (P2 ). Hence B is not a path of any of P2 , P3 , P4 . Moreover, P3 , P4 are disjoint
F -lines, and P2 ∪ B \ {x1 } is disjoint from both of them; so the latter is not an F -line. Hence f is
incident with x1 , and therefore x1 6= x3 , x4 , and so x1 , . . . , x4 are all distinct. Since P2 ∪ B is an
F -line, it meets one of P3 , P4 , and so x1 ∈ V (P3 ) ∪ V (P4 ), and we may assume that x1 ∈ V (P3 )
say. But then the double F -line w2 -P2 -x2 -B-x1 -P3 -w3 is disjoint from the F -line P4 , a contradiction.
This proves (6).
For suppose that B ′ is such a branch, with ends x3 , x4 . First suppose that one of x1 , x2 , say x1 ,
belongs to V (B ′ ). Since (K, W ) is a frame, it follows that x2 ∈
/ V (B ′ ), and there are three paths Pi
of K from xi to wi ∈ W for i = 2, 3, 4, pairwise vertex-disjoint. Consequently P 2, P 3, P 4 contain no
edges of B or of B ′ . For i = 3, 4, let Qi be the subpath of B ′ between x1 and xi , and let Q2 = B.
Now F ⊆ E(Q2 ) ∪ E(Q3 ) ∪ E(Q4 ). By (1), not every edge in F is incident with x1 , so we may assume
that Pi ∪ Qi \ {x1 } is an F -line for some i ∈ {2, 3, 4}. Let {i, j, k} = {2, 3, 4}. Consequently there
do not exist two vertex-disjoint F -lines in Pj ∪ Qj ∪ Qk ∪ Pk , and so there are at most two edges in
10
F ∩ E(Qj ∪ Qk ), and if there are two then they have a common end. By (1) (applied to {x1 , xi })
at least one edge of Qj ∪ Qk is in F , and if there is only one then Pj ∪ Qj ∪ Qk ∪ Pk is a double
F -line, disjoint from the F -line Pi ∪ Qi \ {x1 }, a contradiction. Hence exactly two edges of Qj ∪ Qk
belong to F , and they have a common end yj ∈ V (Qj ) say. By (1) applied to {x1 , xi } it follows that
yj 6= x1 , so yj is an internal vertex of Qj , and in particular F ∩ E(Qk ) = ∅, and F ∩ E(Qj ) = δ(yj ).
Then Pj ∪ Qj \ {x1 } is an F -line, and so by the same argument there is an internal vertex yi of Qi
such that F ∩ E(Qi ) = δ(yi ). But this contradicts (1) (applied to {yi , yj }). This completes the proof
of (7) in the case when one of x1 , x2 belongs to B ′ .
Thus we may assume that B, B ′ are vertex-disjoint. There is symmetry between B and B ′ (for
we will not use any more that (K ′ , W ) is a frame). By two applications of (1), both of B, B ′ contain
an edge in F . There are three vertex-disjoint paths between {x1 , . . . , x4 } and W , and we may assume
that none of them has an internal vertex in {x1 , . . . , x4 }; and from the symmetry we may assume
that these paths are P1 , P2 , P3 , where Pi is between xi and wi ∈ W . Now P3 ∪ B ′ is an F -line, and so
P1 ∪B ∪P2 is not a double F -line and does not include two disjoint F -lines; so there is an internal ver-
tex y of B such that F ∩ E(B) = δ(y). There are three disjoint paths Q2 , Q3 , Q4 from {x1 , . . . , x4 } to
W , such that for i = 3, 4, Qi has first vertex xi ; choose them with Q2 minimal, then we may assume
that Q2 has first vertex x2 and x1 ∈ / V (Q2 ) (possibly x1 ∈ V (Q3 ∪ Q4 )). The path y-B-x2 -Q2 -w2′
(where Q2 is from x2 to w2′ ∈ W ) is an F -line, disjoint from the path Q3 ∪ B ′ ∪ Q4 ; so the latter
is not a double F -line, and does not include two disjoint F -lines. Hence there is an internal ver-
tex y ′ of B ′ such that F ∩ E(B ′ ) = δ(y ′ ); but this contradicts (1) (applied to {y, y ′ }). This proves (7).
For suppose B ′ is such a branch. Again there are two cases depending whether B, B ′ are vertex-
disjoint or not. First suppose that x1 ∈ V (B ′ ) say, and as in (7) we may choose three paths Pi of K
from xi to wi ∈ W for i = 2, 3, 4, pairwise vertex-disjoint. For i = 3, 4, let Qi be the subpath of B ′
between x1 and xi , and let Q2 = B. Suppose that x1 = x3 . By (1) (applied to {x2 , x3 }), there is an
edge of B ′ \{x3 } in F , and similarly an edge of B\{x3 } in F . But then P2 ∪Q2 \{x3 }, P3 , P4 ∪Q4 \{x3 }
are three disjoint F -lines, a contradiction. Thus x1 6= x3 . By (1) (applied to {x1 , x3 }), at least one
edge of Q2 ∪ Q4 is in F and not incident with x1 . Since P3 is an F -line, the path P2 ∪ Q2 ∪ Q4 ∪ P4 is
not a double F -line, and does not include two disjoint F -lines; so exactly two edges of Q2 ∪ Q4 belong
to F and they have a common end y 6= x1 . From the symmetry we may assume that y belongs to the
interior of Q2 say, and so F ∩ E(Q4 ) = ∅. By (1) (applied to {x3 , y}) there is an edge of Q3 \ {x3 } in
F ; but then P2 ∪ Q2 \ {x1 }, P3 , P4 ∪ Q4 ∪ Q3 \ {x3 } are three vertex-disjoint F -lines, a contradiction.
This proves (8) in the case that B, B ′ are not disjoint.
We may therefore assume that B, B ′ are disjoint. By (1) (applied to {x3 , x4 }) at least one edge
of B is in F . By (4) at least one edge of B ′ \ {x3 } belongs to F . There are three vertex-disjoint
paths P2 , P3 , P4 from {x1 , . . . , x4 } to W , such that for i = 3, 4, Pi is from xi to wi ∈ W say. We may
assume that P2 is from x2 to w2 , and x1 ∈ / V (P2 ) (possibly x1 ∈ V (P3 ∪ P4 )). Thus P3 , P4 ∪ B ′ \ {x3 }
are disjoint F -lines, and so P2 ∪ B \ {x1 } is not an F -line; and therefore the edge of B incident with
x1 is the unique edge of B in F . Since B ∪ P2 is an F -line, it follows that x1 belongs to one of P3 , P4 .
If x1 ∈ V (P3 ), then w2 -P2 -x2 -B-x1 -P3 -w3 is a double F -line, and B ′ ∪ P4 is an F -line, and they are
disjoint, a contradiction. If x1 ∈ V (P4 ), then w2 -P2 -x2 -B-x1 -P4 -w4 is a double F -line, and P3 is an
X-line, and they are disjoint, a contradiction. This proves (8).
11
(9) There is no branch B ′ of (K ′ , W ) with ends x3 , x4 , such that F ′ \ E(B ′ ) = δK ′ (x3 ) ∪ δK ′ (x4 ).
For suppose that B ′ is such a branch. Again there are two cases depending whether B, B ′ are
vertex-disjoint or not. First suppose that x1 ∈ V (B ′ ) say, and as in (7) we may choose three paths
Pi of K from xi to wi ∈ W for i = 2, 3, 4, pairwise vertex-disjoint. For i = 3, 4, let Qi be the subpath
of B ′ between x1 and xi , and let Q2 = B. Thus P3 , P4 are F -lines. Suppose that x1 = x3 . Then from
(1) (applied to {x3 , x4 }) there is an edge of Q2 \ {x3 } in F , and so P2 ∪ Q2 \ {x3 } is an F -line disjoint
from P3 , P4 , a contradiction. Thus x1 6= x3 , and similarly x1 6= x4 . By (1) (applied to {x3 , x4 }) there
is an edge of F in Q2 ∪ Q3 ∪ Q4 not incident with either of x3 , x4 ; but hence there is an F -line in
P2 ∪ Q2 ∪ Q3 ∪ Q4 \ {x3 , x4 }, and it is disjoint from P3 , P4 , a contradiction. This proves (9) in the
case that B, B ′ are not disjoint.
Thus we may assume that B, B ′ are disjoint. By (1) (applied to {x3 , x4 }) at least one edge of
B is in F . There are three vertex-disjoint paths P2 , P3 , P4 from {x1 , . . . , x4 } to W , such that for
i = 3, 4, Pi is from xi to wi ∈ W say. We may assume that P2 is from x2 to w2 , and x1 ∈ / V (P2 )
(possibly x1 ∈ V (P3 ∪ P4 )). Thus P3 , P4 are disjoint F -lines, and so P2 ∪ B \ {x1 } is not an F -line;
and therefore the edge of B incident with x1 is the unique edge of B in F . Since B ∪ P2 is an
F -line, it follows that x1 belongs to one of P3 , P4 , and we may assume it belongs to P3 from the
symmetry. Then w2 -P2 -x2 -B-x1 -P3 -w3 is a double F -line, and P4 is an F -line, and they are disjoint,
a contradiction. This proves (9).
But (4)–(9) are contrary to the inductive hypothesis applied to the frame (K ′ , W ). This proves
that our assumption of (1) was false, and so proves 4.1.
• for all distinct e, f ∈ E(K), e, f have a common end in K if and only if e, f ∈ V (G) are
adjacent in G
We begin with:
Proof. Since G is connected, we may choose X ⊆ V (G) with Z ⊆ X, minimal such that G|X is
connected.
12
(1) For each v ∈ X \ Z, G|(X \ {v}) has exactly two components, and they both contain at least
one vertex of Z.
For G|(X \ {v}) is not connected, from the minimality of X. Let its components be C1 , . . . , Ck
say where k ≥ 2. If Ci ∩ Z = ∅, let X ′ = X \ V (Ci ); then G|X ′ is connected and Z ⊆ X ′ , contrary
to the minimality of X. Thus each Ci contains at least one vertex of Z. Suppose that k ≥ 3, and
choose zi ∈ V (Ci ) ∩ Z for i = 1, 2, 3. Since G|X is connected, there are paths P1 , P2 , P3 of G|X
between v and z1 , z2 , z3 respectively, with V (Pi ) ⊆ Ci ∪ {v}, and if we choose P1 , P2 , P3 with minimal
union then their union is an induced tree of G, containing three members of Z, contradicting that
Z is constricted in G. This proves (1).
For each v ∈ X \ Z, let Av , Bv be the vertex sets of the two components of G|(X \ {v}).
(2) For each v ∈ X \ Z, the set of neighbours of v in Av is a clique, and so is the the set of
neighbours of v in Bv .
For suppose that u1 , u2 ∈ Av are nonadjacent, and are both adjacent to v. Choose z3 ∈ Bv ∩ Z,
and let P3 be an induced path between v and z3 with vertex set in Bv ∪ {v}. From the minimality
of X, for i = 1, 2 there exists zi ∈ Z such that every path of G|X between v and zi contains ui ;
let Pi be some such path, induced. Consequently u1 ∈ / V (P2 ), since P2 is induced and u2 ∈ V (P2 ),
and similarly u2 ∈/ V (P1 ). Hence z1 6= z2 , and V (P1 ), V (P2 ) ⊆ Av ∪ {v}. Since every path of G|X
between v and z1 contains u1 , it follows that V (P1 ) \ {v, u1 } is disjoint from V (P2 ) \ {v}, and there is
no edge between these two sets. Similarly there is no edge between V (P1 ) \ {v} and V (P2 ) \ {v, u2 };
and therefore there is no edge between V (P1 ) \ {v} and V (P2 ) \ {v}, since u1 , u2 are nonadjacent.
Hence P1 ∪ P2 ∪ P3 is an induced tree in G, contradicting that Z is constricted. This proves (2).
The proof is similar to that of (2). Suppose that u1 , u2 ∈ X \ {z} are nonadjacent, and both
adjacent to z. From the minimality of X, there exist zi ∈ Z such that every path of G|X between z
and zi contains ui ; let Pi be such a path, induced, for i = 1, 2. Then z1 , z2 6= z, and as in (2), there
are no edges between V (P1 ) \ {z} and V (P2 ) \ {z}. But then P1 ∪ P2 is an induced tree containing
z, z1 , z2 , a contradiction. This proves (3).
From (2) and (3) it follows that G|X is the line graph of a tree K; thus E(K) = X, and for
x, y ∈ X, x, y are adjacent in G if and only if some vertex of K is incident with them both. Let W
be the set of vertices of K that have degree one in K. By (3), every z ∈ Z is incident in K with
a member of W . Moreover, if x ∈ E(K) is incident with a member of W , and x ∈ / Z, then one of
Ax , Bx is empty, which is impossible; so Z is equal to the set of edges of K incident with members
of W . But then (K, W ) is a frame for (G, Z). This proves 5.1.
Let η be an H-strip structure in (G, Z). If e ∈ E(H) with ends u, v, an e-rung of η means an
induced path G|η(e) with vertices p1 , . . . , pk in order, where for 1 ≤ i ≤ k, pi ∈ η(e, u) if and only if
i = 1, and pi ∈ η(e, v) if and only if i = k. (Possibly k = 1.) An H-strip structure η in (G, Z) is said
to be connected if for every e ∈ E(H), η(e) is nonempty, and η(e) is the union of the vertex sets of
the e-rungs of η.
13
5.2 There is a graph H with the following properties, where W denotes the set of vertices of H of
degree one:
• (H, W ) is a frame
Proof. By 5.1, there is a frame (K, W ) for (G, Z). Let W2 be the set of vertices of K that have
degree two, and let W3 be the set that have degree at least three; thus W, W2 , W3 are pairwise
disjoint and have union V (K). Let H be the graph with vertex set W ∪ W3 , in which vertices u, v
are adjacent if there is a branch of K with ends u, v. Hence for each edge e ∈ E(H) there is a branch
Be of K with the same ends as e. Thus (H, W ) is a frame (though no longer a frame for (G, Z), in
general), and no vertex of H has degree two. Define η as follows:
• for each e ∈ E(H), η(e) = E(Be ) ⊆ V (G)
• for each e ∈ E(H) incident with v ∈ V (H), η(e, v) = {f } where f ∈ E(Be ) ⊆ V (G) is the edge
of Be incident with v.
It follows that η is a connected H-strip structure in (G, Z). Thus the first three conditions of the
theorem are satisfied. Since the sets η(e) (e ∈ E(H)) are nonempty (since η is connected) and
pairwise disjoint, it follows that |E(H)| ≤ |V (G)| for every choice of H satisfying the first three
conditions above, and therefore the fourth can also be satisfied. This proves 5.2.
Henceforth in the section, H, W will be as in 5.2. Moreover, η will be a connected H-strip
structure in (G, Z), chosen with ∪η maximal, where ∪η denotes the union of all the sets η(e) (e ∈
E(H)). For each e = uv ∈ E(H), define M (e) = η(e, u) ∩ η(e, v). For each v ∈ V (H), define
[
N (v) = η(e, v),
e∈δH (v)
5.3 Let p ∈ V (G) \ ∪η, and let Y denote the set of all neighbours of p in ∪η. Then either
• there is an edge e of H such that Y ⊆ η(e), or
Proof.
(1) For each e ∈ E(H), let Re be an e-rung. Let R be the union of all the sets V (Re ) (e ∈ E(H)).
Then one of the following holds:
14
• there exists e ∈ E(H) with Y ∩ R ⊆ V (Re ), or
• there is a triangle {u, v, w} of H such that Ruv , Rvw , Rwu all have length zero, and Y ∩ R =
V (Ruv ) ∪ V (Rvw ) ∪ V (Rwu ), or
For let K be obtained from H by replacing each edge e ∈ E(H) by a path with edges the vertices
of Re in order, in the natural way, so that G|R is the line graph of K. Thus (K, W ) is a frame for
(G, Z). Let F = R ∩ Y ; then F ⊆ E(K). Moreover, F is focused, since Z is constricted in G. Hence
one of the six outcomes of 4.1 holds. If 4.1.3 holds and x, y are as in 4.1.3, then there is a frame
(K ′ , W ) for G, where K ′ is obtained from K by adding p to K as a new edge incident with x, y,
contrary to the maximality of |E(H)|. If 4.1.1 holds, then the second outcome of (1) holds. Similarly
if one of 4.1.2, 4.1.4, 4.1.5, 4.1.6 holds then respectively the third, first, fourth and fifth outcome of
(1) holds. This proves (1).
(2) If there is an edge e = v1 v2 of H such that Y ⊆ η(e) ∪ N (v1 ) ∪ N (v2 ) then the theorem holds.
Suppose there is such an edge e = v1 v2 . For each f ∈ E(H) choose an f -rung Rf . For i = 1, 2, let
Ei be the set of all edges of H that are incident with vi and different from e; thus |Ei | = 6 1. Let Ai
be the set of all f ∈ Ei such that Y contains the end of Rf in N (vi ), and let Bi = Ei \ Ai .
Suppose first that Y ∩ N (v2 ) ⊆ η(e). If also Y ∩ N (v1 ) ⊆ η(e) then Y ⊆ η(e) and the theorem
holds, so we may assume that Y ∩N (v1 ) 6⊆ η(e). Moreover, we may assume that Y ∩η(e) 6⊆ N (v1 ), for
otherwise Y ⊆ N (v1 ) and the theorem holds. Hence we may choose the rungs Rf (f ∈ E(H)) such
that there exists a1 ∈ A1 and Y ∩ V (Re ) 6⊆ N (v1 ). By (1), it follows routinely that B1 = ∅. Since this
holds for all choices of Rf (f 6= a1 , e), we deduce that Y ∩ η(f ) = η(f, v1 ) for all f ∈ E(H) \ {a1 , e}
incident with v1 . Since |E1 | = 6 1, it follows by exchanging the roles of a1 and some other member
of E1 that Y ∩ η(a1 ) = η(a1 , v1 ), and so N (v1 ) \ η(e) = Y \ η(e). But then a can be added to η(e)
and to η(e, v1 ), contrary to the maximality of ∪η. Thus we may assume that Y ∩ N (v2 ) 6⊆ η(e), and
similarly Y ∩ N (v1 ) 6⊆ η(e). Hence we may choose the Rf (f ∈ E(H)) such that A1 , A2 are both
nonempty.
Suppose that there is a choice of the Rf (f ∈ E(H)) such that for some a1 ∈ A1 and a2 ∈ A2 ,
either a1 , a2 are disjoint edges of H, or not both Ra1 , Ra2 have length zero. By (1), B1 , B2 are both
empty. Since this holds for all choices of Rf (f 6= a1 , a2 ), we deduce that Y ∩ η(f ) = η(f, vi ) for
i = 1, 2 and for all f ∈ E(G) \ {e, a1 , a2 } incident with vi . Now there exist a′1 ∈ A1 and a′2 ∈ A2 such
that a′1 6= a1 and a′1 , a′2 are disjoint edges of H, since |E1 |, |E2 | ≥ 2 (possibly a′2 = a2 ). We have seen
that we can choose Ra′1 , Ra′2 such that they both meet Y , and so by the same argument with a1 , a2
replaced by a′1 , a′2 , it follows that Y ∩ η(a1 ) = η(a1 , v1 ), and so N (vi ) \ η(e) ⊆ Y for i = 1, and also
for i = 2 by the symmetry. But then a can be added to η(e), η(e, v1 ) and η(e, v2 ), contrary to the
maximality of ∪η.
15
Hence for every choice of the Rf (f ∈ E(H)) with A1 , A2 both nonempty, we have that |A1 | =
|A2 | = 1, say Ai = {ai } for i = 1, 2, and Ra1 , Ra2 both have length zero, and a1 , a2 have a common end
w in H. Take some such choice of the Rf (f ∈ E(H)). For f ∈ B1 , we deduce that we cannot replace
Rf with some other f -rung that meets Y , and therefore Y ∩ (N (v1 ) \ η(e)) ⊆ η(a1 , v1 ). Moreover,
there is no a1 -rung that meets Y with length greater than zero, and so Y ∩η(a1 ) ⊆ η(a1 , v1 )∩η(a1 , w).
Similarly Y ∩ (N (v2 ) \ η(e)) ⊆ η(a2 , v2 ), and Y ∩ η(a2 ) ⊆ η(a2 , v2 ) ∩ η(a2 , w). We may assume that
Y 6⊆ N (w), and so Y ∩ η(e) 6= ∅. Choose Re with Y ∩ V (Re ) nonempty. By (1), every such choice of
Re has length zero. But then Y ⊆ N (D) where D is the triangle {v1 , v2 , w}, and the theorem holds.
This proves (2).
(3) For each e ∈ E(H), let Re be an e-rung. If either the fourth or fifth outcome of (1) holds,
then the theorem holds.
For let R be the union of the sets V (Re ) (e ∈ E(H)). Suppose first that there exists e = uv ∈ E(H)
such that u ∈/ W and Y ∩ (R \ V (Re )) = N (u) ∩ (R \ V (Re )) and Y ∩ V (Re ) 6⊆ N (u). Then (1)
implies that η(f ) ∩ Y = ∅ for all f ∈ E(H) not incident with u (because otherwise we could make
another choice of Rf so that (1) was violated); and η(f ) ∩ Y ⊆ N (u) for each f 6= e incident with u,
for the same reason. But then Y ⊆ η(e) ∪ N (u) ∪ N (v), and so the theorem holds by (2).
Next suppose that there exists e = uv ∈ E(H) such that u, v ∈ / W and Y ∩ (R \ V (Re )) =
(N (u) ∪ N (v)) ∩ (R \ V (Re )). Again by (1), Y ∩ η(f ) = ∅ for each edge f of H not incident with
u, v, and Y ∩ η(f ) ⊆ η(f, u) for every f 6= e incident with u, and a similar result holds with u, v
exchanged. But then Y ⊆ η(e) ∪ N (u) ∪ N (v) and the theorem holds by (2). This proves (3).
Suppose that there exists e = v1 v2 ∈ E(H) such that Y ∩ η(e) 6⊆ η(e, v1 ) ∪ η(e, v2 ). Choose an
e-rung Re such that some internal vertex of Re belongs to Y . By (1) and (3), Y ∩ η(f ) = ∅ for all
f ∈ E(H) \ {e}, and so the theorem holds. Hence every vertex in Y belongs to at least one of the sets
N (v) (v ∈ V (H)). Suppose that some y ∈ Y belongs to exactly one such set; say y ∈ η(e, v) \ M (e),
where e = uv. By (1), Y \ η(e) ⊆ N (v), and so the theorem holds by (2). Thus we may assume
that every vertex in Y belongs to M (e) for some e ∈ E(H). Let F be the set of all f ∈ E(H) with
Y ∩ M (f ) 6= ∅. If there exist e, f ∈ F with no common end in H, then the theorem holds by (1) and
(3); if there is some vertex v of H incident with every edge in F , then Y ⊆ N (v) and the theorem
holds; and if neither of these hold, then |F | = 3, and the three members of F are the edges of a
triangle D of H, and Y ⊆ N (D) and the theorem holds. This proves 5.3.
5.4 Let X ⊆ V (G) \ ∪η such that G|X is connected, and let Y be the set of all attachments of G|X
in ∪η. Then either
Proof. Suppose that this is false for some X, and choose X minimal such that 5.4 is false for X.
(1) There exist y1 , y2 in Y such that {y1 , y2 } 6⊆ η(e) for each e ∈ E(H), and {y1 , y2 } 6⊆ N (v)
16
for each v ∈ V (H), and {y1 , y2 } 6⊆ N (D) for each triangle D of H.
For suppose first that for some e = v1 v2 ∈ E(H), there exists y1 ∈ Y ∩η(e) with y1 ∈/ η(e, v1 )∪η(e, v2 ).
Now Y 6⊆ η(e); choose y2 ∈ Y \ η(e), and then y1 , y2 satisfy (1). We may therefore assume that
Y ⊆ ∪v∈V (H) N (v).
Next suppose that some y1 ∈ Y belongs to exactly one of the sets N (v) (v ∈ V (H)); say
y1 ∈ η(e, v1 ) \ M (e), where e = v1 v2 ∈ E(H). Since Y 6⊆ N (v1 ), there exists y2 ∈ Y \ N (v2 ). If
also y2 ∈
/ η(e), then the pair y1 , y2 satisfies (1), so we may assume that y2 ∈ η(e) \ N (v1 ). We
already assumed that every member of Y belongs to one of the sets N (v) (v ∈ V (H)), and so
y2 ∈ η(e, v2 ) \ M (e). This restores the symmetry between v1 and v2 . Since Y 6⊆ η(e), there exists
y3 ∈ Y with y3 ∈ / η(e). Since we may assume that the pair y1 , y3 does not satisfy (1), it follows that
y3 ∈ N (v1 ), and similarly y3 ∈ N (v2 ). Let f ∈ E(H) with y3 ∈ η(f ); then f is incident with v1 since
y3 ∈ N (v1 ), and similarly f is incident with v2 , and so f = e, a contradiction since y3 ∈ / η(e). We
may therefore assume that every y ∈ Y belongs to M (e) for some e ∈ E(H).
Let F be the set of all edges f ∈ E(H) such that Y ∩ M (f ) 6= ∅. Suppose that there exist
e, f ∈ F with no common end in H. Choose y1 ∈ Y ∩ M (e) and y2 ∈ Y ∩ M (f ); then y1 , y2 satisfy
(1). Thus we may assume that every two edges in F share an end. Consequently either there is
a vertex v ∈ V (H) incident with every member of F , or |F | = 3 and the three edges in F form
a triangle D of H. In the first case Y ⊆ N (v), and in the second Y ⊆ N (D), in either case a
contradiction. This proves (1).
For each p ∈ X, let Y (p) denote the set of all v ∈ ∪η adjacent to p; and for P ⊆ X, let
Y (P ) = ∪p∈P Y (p). Thus Y = Y (X). Let y1 , y2 be as in (1). Then y1 , y2 are nonadjacent. Since
G|X is connected, there is an induced path of G with vertices y1 -p1 -p2 - · · · -pk -y2 in order. By 5.3
it follows that k > 1. From the minimality of X, X = {p1 , . . . , pk }. Let P1 = X \ {pk }, and
P2 = X \ {p1 }. Then for i = 1, 2, the minimality of X implies that either
Thus there are three possibilities for Y (P1 ) and three for Y (P2 ), and we need to check these nine
possibilities individually. For each e ∈ E(H) choose an e-rung Re (in some cases we shall need to
choose the e-rungs subject to some further conditions), and let K be the graph obtained from H
by replacing every edge e of H by a path whose edges are the vertices of Re in the corresponding
order. Then (K, W ) is a frame for (G, Z). (Thus K depends on the choice of the rungs Re . In what
follows it is sometimes useful to change one or more of the paths Re , and K is assumed to change
correspondingly, although we may not say so explicitly.) We remark that the subgraph of G induced
on the union of the sets V (Re ) (e ∈ E(H)) is the line graph of K.
(2) There do not exist v1 , v2 ∈ V (H) such that Y (P1 ) ⊆ N (v1 ) and Y (P2 ) ⊆ N (v2 ).
For suppose that such v1 , v2 exist. Since Y = Y (P1 ) ∪ Y (P2 ), it follows that v1 6= v2 . Now v1 , v2
17
may or may not be adjacent in H. If they are adjacent, let f = v1 v2 ∈ E(H), and otherwise f is
undefined. For 1 < i < k,
Y (pi ) ⊆ Y (P1 ) ∩ Y (P2 ) ⊆ N (v1 ) ∩ N (v2 ) = M (f ),
(where M (f ) = ∅ if f is not defined) and so Y ⊆ Y (p1 )∪Y (pk )∪M (f ). Suppose first that for i = 1, 2,
either N (vi ) \ η(f, vi ) ⊆ Y (pi ) or (N (vi ) \ η(f, vi )) ∩ Y (pi ) = ∅ (where η(f, vi ) = ∅ if f is undefined).
If (N (vi ) \ η(f, vi )) ∩ Y (pi ) = ∅ for i = 1, 2, then Y ⊆ η(f ) (where η(f ) = ∅ if f is undefined), a
contradiction, so we may assume that N (v1 ) \ η(f, v1 ) ⊆ Y (p1 ) say. If N (v2 ) \ η(f, v2 ) ∩ Y (pk ) = ∅,
then f is defined since Y (pk ) 6= ∅, and we can add p1 , . . . , pk to η(f ), and add p1 to η(f, v1 ), contrary
to the maximality of ∪η; if N (v2 ) \ η(f, v2 ) ⊆ Y (pk ) and f is defined, we can add p1 , . . . , pk to η(f ),
add p1 to η(f, v1 ), and add pk to η(f, v2 ), again contrary to the maximality of ∪η; so we may assume
that N (v2 ) \ η(f, v2 ) ⊆ Y (pk ) and f is undefined. Thus Y (p1 ) = N (v1 ) and Y (pk ) = N (v2 ). Let K ′
be obtained from K by adding a path between v1 , v2 with edges p1 , . . . , pk in order; then (K ′ , W ) is
a frame for (G, Z), contrary to the maximality of |E(H)|.
Thus we may assume that for some i ∈ {1, 2}, N (vi ) \ η(f, vi ) 6⊆ Y (pi ) and (N (vi ) \ η(f, vi )) ∩
Y (pi ) 6= ∅. For i = 1, 2, let Ei be the set of edges of K incident with vi if f is undefined, and let
Ei is the set of edges of K incident with vi not in the branch of K between v1 , v2 if f is defined.
Therefore we may choose the paths Re (e ∈ E(H)) such that at least three of the sets A1 , B1 , A2 , B2
are nonempty, where for i = 1, 2, Ai = Ei ∩ Y (Pi ), and Bi = Ei \ Ai . We may also assume that for
i = 1, 2, either yi ∈ E(K), or |Bi | = 1 and one of Aj , Bj is empty, where {i, j} = {1, 2}. (To see
this, observe that if say y1 ∈ / E(K), let y1 ∈ η(e) say, and choose an e-rung Re′ containing y1 ; then
6 1, or A2 , B2 are both nonempty, we may replace Re by Re′ , and still satisfy all the
if either |B1 | =
other requirements.) From the symmetry we may assume that A1 , B1 6= ∅, and hence y2 ∈ E(K).
Since (K, W ) is a frame, there are three paths Q1 , Q2 , Q3 of K such that
• Q1 is between v1 and w1 ∈ W ,
• Q2 is between v1 and w2 ∈ W ,
• Q3 is between v2 and w3 ∈ W ,
• V (Q1 ∩ Q2 ) = {v1 },
• Q3 is vertex-disjoint from both Q1 , Q2 ,
• the edge a1 = u1 v1 of Q1 incident with v1 belongs to A1 ,
• the edge of Q2 incident with v1 belongs to B1 , and
• Q3 is an induced subgraph of K.
If the edge of Q3 incident with v2 belongs to A2 , then
G|(X ∪ E(Q1 ) ∪ E(Q2 ) ∪ E(Q3 ))
is an induced tree containing three vertices of Z, a contradiction. Thus the first edge of Q3 is in B2 .
If y2 ∈
/ A2 , then f is defined and y2 belongs to the branch of K between v1 , v2 , and this branch has
length at least two (since y2 ∈/ N (v1 )); but then
G|(X ∪ E(Q1 ) ∪ E(Q2 ) ∪ E(Q3 ) ∪ {y2 })
18
is an induced tree containing three vertices of Z, a contradiction. Thus y2 ∈ A2 . Let a2 ∈ A2 , with
ends v2 , u2 say. Then u2 ∈
/ V (Q3 ), since Q3 is an induced subgraph of K. If u2 ∈ / V (Q1 ) ∪ V (Q2 ),
then
G|(X ∪ E(Q1 ) ∪ E(Q2 ) ∪ E(Q3 ) ∪ {a2 })
is an induced tree containing three vertices of Z, a contradiction. Thus u2 ∈ V (Q1 ) ∪ V (Q2 ). If
u2 ∈ V (Q1 ) \ {u1 , v1 }, let Q′1 be the path of Q1 between u2 and w1 ; then
is an induced tree containing three vertices of Z, a contradiction. If u2 ∈ V (Q2 ) \ {v1 }, let Q′2 be
the path of Q2 between u2 and w2 ; then
(3) There do not exist v1 ∈ V (H) and e ∈ E(H) such that Y (P1 ) ⊆ N (v) and Y (P2 ) ⊆ η(e).
For suppose that such v1 , e exist. Then e may or may not be incident with v1 . If e is not inci-
dent with v1 , then Y = Y (p1 ) ∪ Y (p2 ), while if e is incident with v1 then Y ⊆ Y1 ∪ Y2 ∪ η(e, v1 ).
Suppose first that N (v1 ) ⊆ Y (P1 ) ∪ η(e). Since Y (P2 ) 6⊆ N (v1 ), we may choose the e-rung Re such
that at least one vertex of V (Re ) ∩ Y (P2 ) does not belong to N (v1 ). If e is incident with v1 , then
we can add p1 , . . . , pk to η(e) and add p1 to η(e, v1 ), contrary to the maximality of ∪η. Thus e is
not incident with v1 , and so Y (p1 ) = N (v1 ). Let e be incident with v2 , v3 in H. There are three
vertex-disjoint paths Q1 , Q2 , Q3 of K such that for i = 1, 2, 3, Qi is between vi and some wi ∈ W . If
exactly one vertex of Re is in Y (p2 ), then
is an induced tree of G containing three members of Z, a contradiction. If there are two nonadjacent
vertices of Re that are both in Y (p2 ), let S2 , S3 be minimal subpaths of Re that meet both Y (p2 )
and N (v2 ), N (v3 ) respectively; then there is no edge between V (S2 ) and V (S3 ), and
is an induced tree of G containing three members of Z, a contradiction. Thus there are exactly two
vertices in Re that belong to Y (p2 ), say x, y, and they are adjacent in G. There is a branch of K with
edge set the vertex set of Re ; let t be the vertex of this branch that is incident with x, y in K. Let
K ′ be obtained from K by adding a path between v1 , t with edges p1 , . . . , pk in order; then (K ′ , W )
is a frame for (G, Z), contrary to the maximality of |E(H)|. This proves that N (v1 ) 6⊆ Y (P1 ) ∪ η(e).
Hence we may choose the Rf (f ∈ E(H)) such that both A1 , B1 are nonempty, where E1 denotes
the set of edges of K incident with v1 and not in V (Re ), and A1 = E1 ∩ Y (p1 ), and B1 = E1 \ Y (p1 ).
19
Let e be incident with v2 , v3 in H. Since (K, W ) is a frame, there are three paths Q1 , Q2 , Q3 of K,
such that Q1 is from v1 to some w1 ∈ W , Q2 is from v1 to some w2 ∈ W , Q3 is from one of v2 , v3 to
some w3 ∈ W , V (Q1 ) ∩ V (Q2 ) = {v1 }, Q3 is vertex-disjoint from both Q1 and Q2 , the edge of Q1
incident with v1 belongs to A1 , and the edge of Q2 incident with v1 belongs to B1 . Moreover, we
may assume that only one of v2 , v3 belongs to V (Q3 ), say v3 . It follows that v1 6= v3 . Since none of
Q1 , Q2 , Q3 contain both v2 , v3 , we may alter our choice of Re without affecting Q1 , Q2 , Q3 ; and since
Y (P2 ) 6⊆ N (v2 ) by (2), we may choose Re such that some vertex of Re belongs to Y (P2 ) \ N (v2 ). Let
S be a minimal subpath of Re that meets both Y (P2 ) and N (v3 ). Then
(4) There do not exist edges e1 , e2 of H such that Y (Pi ) ⊆ η(ei ) for i = 1, 2.
For suppose that such edges exist. Then e1 6= e2 ; let ei have ends ui , vi for i = 1, 2. For i = 1, 2, let Ti
be the branch of K with edge set V (Rei ). Since η(e1 ) ∩ η(e2 ) = ∅, it follows that Y = Y (p1 ) ∪ Y (p2 ).
We may assume that v1 6= u2 , v2 and v2 6= u1 , v1 ; that is, u1 , u2 , v1 , v2 are all distinct except that
possibly u1 = u2 . For i = 1, 2, choose Rei such that some vertex of Rei belongs to Y (Pi ), and in
addition, choose Rei such that some vertex of Rei belongs to Y (Pi ) and not to N (ui ) (this is possible
since Y (Pi ) 6⊆ N (ui ) by (3)). Suppose first that for i = 1, 2, exactly two vertices xi , yi of Rei belong
to Y (Pi ) and they are adjacent. Thus xi , yi are edges of Ti with a common end ti say. Let K ′ be
obtained from K by adding a new path between t1 , t2 with edges p1 , . . . , pk in order; then (K ′ , W )
is a frame for (G, Z), contrary to the maximality of |E(H)|. We may therefore assume that either
exactly one vertex of Re1 belongs to Y (p1 ), or two nonadjacent vertices of Re1 belong to Y (p1 ). Let
Q1 , Q2 , Q3 be vertex-disjoint paths of K between {u1 , v1 , v2 } and W , where Q1 is between u1 and
some w1 ∈ W , and Q2 is between v1 and some w2 in W , and Q3 is between v2 and some w3 ∈ W .
(Possibly u2 belongs to one of these paths.) Then some edge of T2 belongs to Y (p2 ) and is not
incident with u2 , from the choice of Re2 . Hence there is a path S3 of T2 ∪ Q3 , with first vertex in
V (T2 ) and last vertex w3 , such that the first edge and no other edge of S3 belongs to Y (p2 ), and
Q1 , Q2 , S3 are pairwise vertex-disjoint. If only one vertex of Re1 is in Y (p1 ), then
is an induced tree of G containing three members of Z, a contradiction. Thus there are two nonad-
jacent vertices in V (Re1 ) ∩ Y (p1 ), and so there are vertex-disjoint subpaths S1 , S2 of Q1 ∪ T1 ∪ Q2 ,
such that for i = 1, 2, Si has first vertex in V (T1 ), first edge and no other edge in Y (p1 ), and last
vertex wi . But then
G|(E(S1 ) ∪ E(S2 ) ∪ E(S3 ) ∪ {p1 , . . . , pk })
is an induced tree of G containing three members of Z, a contradiction. This proves (4).
From (2),(3),(4), we may assume that Y (P2 ) ⊆ N (D) for some triangle D = {u1 , u2 , u3 } of H,
and that M (u1 u2 ), M (u2 u3 ), M (u1 u3 ) all contain at least one member of Y (P2 ). Let e1 , e2 , e3 be
the edges u2 u3 , u3 u1 , u1 u2 of H respectively. Choose Re1 of length zero such that its vertex (r1 say)
is in Y (P2 ), and choose Re2 , Re3 similarly. Thus r1 is the edge of K joining u2 , u3 . For i = 1, 2, 3,
20
let Qi be a path of K between ui and some wi ∈ W , such that Q1 , Q2 , Q3 are pairwise vertex-disjoint.
For let e ∈ Y (P1 ) ∩ E(K), and suppose first that at most one of Q1 , Q2 , Q3 contains an end of
e. Since K is connected, we may choose a path S of K with first edge in Y (p1 ) such that S meets
one of Q1 , Q2 , Q3 ; and by choosing S minimal, we may assume that S meets Q3 and not Q1 , Q2 ,
and only its first edge is in Y (p1 ). In particular, u1 , u2 ∈
/ V (S), and so no edge of S is in N (D);
and therefore no edge of S except the first is adjacent in G to any of p1 , . . . , pk . Let S ′ be a path of
S ∪ Q3 between the first vertex of S and w3 . Then
is an induced tree in G containing three members of Z, a contradiction. This proves that two of
Q1 , Q2 , Q3 contain ends of e. Let e = v1 v2 where v1 ∈ V (Q1 ) and v2 ∈ V (Q2 ) say. Suppose that
v2 6= u2 . For i = 1, 2, let Si be a subpath of Qi between vi and wi . Then
From (5), we deduce that Y (P1 ) ⊆ η(e1 ) ∪ η(e2 ) ∪ η(e3 ) (for otherwise we could make a choice
of the Rf for f 6= u1 u2 , u1 u3 , u2 u3 that would violate (5)). Since Y (P1 ) 6⊆ N (D), we may assume
that there is some e3 -rung Re′ 3 such that some vertex of Re′ 3 belongs to Y (P1 ) and not to η(e3 , u2 )
(and so Re′ 3 has length at least one). Let S be a minimal subpath of Re′ 3 that meets both Y (P1 ) and
η(e3 , u1 ). Then
G|(E(Q1 ) ∪ E(Q2 ) ∪ E(Q3 ) ∪ V (S) ∪ {r1 } ∪ {p1 , . . . , pk })
is an induced tree in G containing three members of Z, a contradiction. This proves 5.4.
Proof of 3.2. We have already seen the proof of the “if” half. To prove the “only if” half, we may
assume that |Z| ≥ 3. We choose H, W as in 5.2. Choose η as before; that is, η is a connected H-strip
structure in (G, Z), chosen with ∪η maximal. Let C be the set of all vertex sets of components of
G \ ∪η. For C ∈ C we define its home as follows. Let Y be the set of attachments of G|C in G| ∪ η.
We say that e ∈ E(H) is the home of C if Y ⊆ η(e); v ∈ V (H) is the home of C if Y ⊆ N (v) and
no edge of H is the home of C; and a triangle D of H is the home of C if Y ⊆ N (D) and there
is no vertex or edge of H that is the home of C. By 5.4, each C ∈ C has a (unique) home. For
each e ∈ E(H), let η ′ (e) be the union of η(e) and all C ∈ C with home e. Define η ′ (e, v) = η(e, v)
if v ∈ V (H) is incident with e. For each v ∈ V (H), define η ′ (v) to be the union of all C ∈ C with
home v, and for each triangle D of H, let η ′ (D) be the union of all C ∈ C with home D. It follows
that η ′ is an extended H-strip decomposition of (G, Z). This proves 3.2.
6 The algorithm
So far, we have proved our main result, the description of the structure of the constricted pairs; now
we present a polynomial-time algorithm for the following question:
21
CONSTRICTED. With input a graph G and Z ⊆ V (G), decide whether Z is constricted.
Our main theorem 3.2 asserts that for a given pair (G, Z), either there is an induced subtree
containing three members of Z, or (G, Z) admits an extended H-strip decomposition for some H,
and not both. Therefore we could ask for a polynomial algorithm for the following more demanding
question:
We will first give an algorithm for CONSTRICTED, and then discuss how to modify it to solve
TREE-OR-DECOMPOSITION. It would be nice to use 3.2 to show that some simple algorithm
works, but so far we have not been able to do this. The best method we can see is just to convert
the proof of the theorem to an algorithm.
Thus, we have input a graph G and a subset Z ⊆ V (G), and we wish to decide whether Z
is constricted in G. It is easy to reduce this question to the special case when G is connected
and |Z| ≥ 3, so from now on we assume that. Let |V (G)| = n. Let η be a connected H-strip
structure in (G, Z), let X ⊆ V (G) \ ∪η, and let Y be the set of all members of ∪η that have at least
one neighbour in X. We say that X is local (with respect to (H, η)) if either Y ⊆ η(e) for some
e ∈ E(H), or Y ⊆ N (v) for some v ∈ V (H), or Y ⊆ N (D) for some triangle D of H (using the
notation of 5.3 and 5.4).
It is easy to modify the first part of the proof of 5.4, and the proof of the “only if” half of 3.2, to
yield the following subroutine.
6.1 Algorithm.
• Input: A pair (G, Z) as above, a graph H, and a connected H-strip structure η in (G, Z).
Let η be some connected H-strip structure in (G, Z). We define its worth to be |∪η|+(n+1)|E(H)|.
Thus every H-strip structure has worth at most (n + 1)2 , since | ∪ η| ≤ n and |E(H)| ≤ n. We need
another subroutine, as follows.
6.2 Algorithm.
• Input: A pair (G, Z) as above, a graph H, a connected H-strip structure η in (G, Z), and a
subset X ⊆ V (G) \ ∪η, such that G|X is connected, X is not local, and X is minimal with
these properties.
22
– A graph H ′ and a connected H ′ -strip structure η ′ in (G, Z) with worth greater than that
of η, or
– a (true) statement that Z is not constricted in G|((∪η) ∪ X), and therefore not in G.
This can be obtained by modifying the proof of 5.3 and the latter part of the proof of 5.4 appropriately.
More exactly, if |X| = 1 we modify the proof of 5.3, and otherwise we modify the proof of 5.4. Suppose
first that |X| = 1. We test whether one of the five statements of step (1) of the proof of 5.3 holds.
The first three are impossible since X is not local. If either the fourth or fifth holds, we can add the
vertex in X to one of the strips η(e) and produce a connected H-strip structure in (G, Z) with worth
greater than that of η as required. If none of the outcomes of step (1) of the proof of 5.3 holds, it
follows that either Z is not constricted in G|((∪η) ∪ X) is not constricted and we are done, or H, η
does not satisfy the hypotheses of 5.3; and in this case it is easy to modify the proof of 5.3 to yield
a connected H ′ -strip structure η ′ in (G, Z) with worth greater than that of η. When |X| > 1 we
modify the proof of 5.4 in an analogous way.
Combining these two subroutines yields:
6.3 Algorithm.
• Input: A pair (G, Z) as above, a graph H, and a connected H-strip structure η in (G, Z).
To make use of 6.3 to solve CONSTRICTED, we first choose some frame (K, W ) for (G, Z), by
using the method of 5.1. (Or we find some induced tree containing at least three members of Z,
and then we output this and stop.) This takes time O(n2 ), where n = |V (G)|. We convert this to
a connected H1 -strip structure η1 say. Inductively, having produced a graph Hi and a connected
Hi -strip structure ηi of worth at least i, we apply 6.3 to Hi , ηi . If we obtain either the first or third
output of 6.3 we are done, and if we obtain the second output this defines Hi+1 , ηi+1 , of worth at
least i + 1. Since no ηi has worth more than (n + 1)2 , this process iterates at most (n + 1)2 times
before terminating, and since each iteration takes time O(n2 ), the total running time is O(n4 ).
To solve TREE-OR-DECOMPOSITION instead of just CONSTRICTED, note first that the
algorithm just described outputs an extended H-decomposition for some H when Z is constricted,
so we have half of what we need for free. We just need to modify the last output of 6.2. At that stage,
instead of just the statement that Z is not constricted in G, we need to find an induced subtree of G
containing three members of Z; and to do so we need to look more carefully at the proofs of 4.1, 5.3
and 5.4 at the appropriate points. Since we will exit the main recursion at this stage, we can afford
to spend time O(n4 ) instead of just O(n2 ) to exhibit the desired tree, and this is easily done (we
23
omit the details). Thus the running time of the algorithm to solve TREE-OR-DECOMPOSITION
is also O(n4 ).
There is also a simpler method to solve TREE-OR-DECOMPOSITION (but with running time
O(n5 )). We repeatedly use the algorithm of CONSTRICTED as a subroutine. We may assume that
initially Z is not constricted in G (for otherwise the algorithm above for CONSTRICTED outputs
an extended H-strip decomposition and we are done). For each vertex v in turn, test whether Z \ {v}
is constricted in G \ {v}, and if not then remove v from G, Z. What remains at the end is the desired
tree.
References
[1] D. Bienstock, “On the complexity of testing for even holes and induced odd paths”, Discrete.
Math. 90 (1991), 85-92. Corrigendum in Discrete Math. 102 (1992), 109.
[2] M. Chudnovsky and R. Kapadia, “Detecting a theta or a prism”, SIAM J. Discrete Math. 22
(2008), 1–18.
[4] R. Kapadia, Detecting a Theta or a Prism, Senior Thesis, Princeton, May 2006.
[5] F. Maffray and N. Trotignon, “Algorithms for perfectly contractile graphs”, SIAM J. Discrete
Math. 19 (2005), 553–574.
24