Universal Geometric Graphs

We introduce and study the problem of constructing geometric graphs that have few vertices and edges and that are universal for planar graphs or for some sub-class of planar graphs; a geometric graph is \emph{universal} for a class $\mathcal H$ of planar graphs if it contains an embedding, i.e., a crossing-free drawing, of every graph in $\mathcal H$. Our main result is that there exists a geometric graph with $n$ vertices and $O(n \log n)$ edges that is universal for $n$-vertex forests; this extends to the geometric setting a well-known graph-theoretic result by Chung and Graham, which states that there exists an $n$-vertex graph with $O(n \log n)$ edges that contains every $n$-vertex forest as a subgraph. Our $O(n \log n)$ bound on the number of edges cannot be improved, even if more than $n$ vertices are allowed. We also prove that, for every positive integer $h$, every $n$-vertex convex geometric graph that is universal for $n$-vertex outerplanar graphs has a near-quadratic number of edges, namely $\Omega_h(n^{2-1/h})$; this almost matches the trivial $O(n^2)$ upper bound given by the $n$-vertex complete convex geometric graph. Finally, we prove that there exists an $n$-vertex convex geometric graph with $n$ vertices and $O(n \log n)$ edges that is universal for $n$-vertex caterpillars.


Introduction
A graph G is universal for a class H of graphs if G contains every graph in H as a subgraph. The study of universal graphs was initiated by Rado [30] in the 1960s. Obviously, the complete graph K n is universal for any family H of n-vertex graphs. Research focused on finding the minimum size (i.e. number of edges) of universal graphs for various families of sparse graphs on n vertices. Babai, Chung, Erdős, Graham, and Spencer [5] proved that if H is the family of all graphs with m edges, then the size of a universal graph for H is in m 2 / log 2 m and O m 2 log log m/ log m . Alon, Capalbo, Kohayakawa, Rödl, Rucinski, and Szemerédi [1,2] constructed a universal graph of optimal (n 2−2/k ) size for n-vertex graphs with maximum degree k.
Significantly better bounds exist for minor-closed families. Esperet, Joret, and Morin [23] proved recently that there exist a universal graph with n · 2 O √ log n·log log n edges and vertices for n-vertex planar graphs, improving a longstanding previous record of O n 3/2 by Babai, Chung, Erdős, Graham, and Spencer [5]. For bounded-degree planar graphs, Capalbo [16] constructed universal graphs of linear size, improving an earlier bound by Bhatt, Chung, Leighton, and Rosenberg [9], which extends to other families with bounded bisection width. Böttcher, Pruessmann, Taraz, and Würfl [13,14] proved that every n-vertex graph with minimum degree (n) is universal for n-vertex bounded-degree planar graphs. For n-vertex trees, Chung and Graham [18,19] constructed an n-vertex universal graph of size O(n log n), and showed that this bound is asymptotically optimal apart from constant factors.
Rado [30] introduced universality also for induced subgraphs. A graph G is induced universal for a class H of graphs if G contains every graph in H as an induced subgraph. Alon and Nenadov [3] described a graph on O(n /2 ) vertices that is induced universal for the class of n-vertex graphs of maximum degree . Recently, Esperet, Joret, and Morin [23] showed, improving earlier results by Bonamy, Gavoille, and Pilipczuk [11] and Dujmović, Esperet, Joret, Gavoille, Micek, and Morin [22], that for every n ∈ N, there exists a graph U n with n · 2 O √ log n·log log n edges and vertices that contains every n-vertex planar graph as an induced subgraph.
In this paper, we extend the concept of universality to geometric graphs. A geometric graph is a graph together with a straight-line drawing in the plane in which the vertices are distinct points and the edges are straight-line segments not containing any vertex in their relative interiors. A geometric graph is convex if its vertices are in convex position (that is, they form the vertex set of a convex polygon in the plane).
A geometric graph is universal for a class H of planar graphs if it contains an embedding of every graph in H. For an (abstract) graph G 1 and a geometric graph G 2 , an embedding of G 1 into G 2 is an injective map ϕ : V(G 1 ) → V(G 2 ) such that (i) every edge uv ∈ E(G 1 ) is mapped to an edge ϕ(u)ϕ(v) ∈ E(G 2 ) (that is, ϕ is a graph homomorphism); and (ii) every pair of edges u 1 v 1 , u 2 v 2 ∈ E(G 1 ) is mapped to a pair of noncrossing line segments ϕ(u 1 )ϕ(v 1 ) and ϕ(u 2 )ϕ(v 2 ) in the plane. When ϕ : V(G 1 ) → V(G 2 ) is bijective, we say that it is an embedding of G 1 onto G 2 .
Previous research in the geometric setting was limited to finding the smallest complete geometric graph that is universal for the class of planar graphs on n vertices. The intersection pattern of the edges in a geometric graph is determined by the location of its vertices; hence universal complete geometric graphs are commonly referred to as n-universal point sets. De Fraysseix, Pach, and Pollack [20] proved that the 2n × n section of the integer lattice is an n-universal point set. Over the last 30 years, the upper bound on the size of an n-universal point set has been improved from 2n 2 to n 2 /4 + O(n) [6]; the current best lower bound is (1.293 − o(1))n [31] (based on stacked triangulations, that is, maximal planar graphs of treewidth three; see also [17,28]). It is known that every set of n points in general position is universal for n-vertex outerplanar graphs [12,26]. An O(n log n) upper bound is known for 2-outerplanar and simply nested graphs [4], and an O(n 3/2 log n) upper bound for n-vertex stacked triangulations [25].
Our results. The results on universal point sets yield an upper bound of O(n 4 ) for the size of a geometric graph that is universal for n-vertex planar graphs and O(n 2 ) for n-vertex outerplanar graphs, including trees. We improve the upper bound for n-vertex trees to an optimal O(n log n), and show that the quadratic upper bound for outerplanar graphs is essentially tight for convex geometric graphs. More precisely, we prove the following results: • For every n ∈ N, there exists a geometric graph G with n vertices and O(n log n) edges that is universal for forests with n vertices (Theorem 1 in Section 2). The bound of O(n log n) edges is asymptotically optimal, apart from constant factors, even in the abstract setting, for caterpillars, and if the universal graph is allowed to have more than n vertices [ [18], Theorem 1]. The proof of universality is constructive and yields a polynomial-time algorithm that embeds any forest with n vertices onto G. • For every h ∈ N and n ≥ 3h 2 , every n-vertex convex geometric graph that is universal for the family of n-vertex cycles with h disjoint chords has h (n 2−1/h ) edges (Theorem 9 in Figure 1. A schematic drawing of the universal graph for n = 15 vertices (left) and a geometric drawing of the universal graph for n = 7 vertices. The edges of the tree B are shown black; the edges of the groups (E1), (E2), and (E3) are shown red, orange, and blue, respectively. Edges that belong to several of these groups are shown in the colour of the first group they belong to.
Section 3); this almost matches the trivial O(n 2 ) upper bound, which hence cannot be improved by polynomial factors even for n-vertex outerplanar graphs of maximum degree three. For n-vertex cycles with 2 disjoint chords, there exists an n-vertex convex geometric graph with O n 3/2 edges (Theorem 10 in Section 3), which matches the lower bound above. • For every n ∈ N, there exists a convex geometric graph G with n vertices and O(n log n) edges that is universal for n-vertex caterpillars (Theorem 12 in Section 3).

Universal geometric graphs for forests
In this section, we prove the following theorem.
Theorem 1. For every n ∈ N, there exists a geometric graph G with n vertices and O(n log n) edges that is universal for forests with n vertices.

Construction
We adapt a construction due to Chung and Graham [19], originally designed for abstract graphs, to the geometric setting. For a given n ∈ N, they construct a graph G with n vertices and O(n log n) edges such that G contains every forest on n vertices as a subgraph. Let us sketch this construction. For simplicity assume that n = 2 h − 1, for some integer h ≥ 2. Let B be a complete rooted ordered binary tree on n vertices. A level is a set of vertices at the same distance from the root. The levels are labelled 1, . . . , h, from the one containing the root to the one that contains the leaves of B.
A pre-order traversal of B (which consists first of the root, then recursively of the vertices in its left subtree, and then recursively of the vertices in its right subtree) determines a total order on the vertices, and it also induces a total order on the vertices in each level of B. In each level, we call two consecutive elements in this order level-neighbours; in particular, any two siblings are level-neighbours. For a vertex v of B, we denote by B(v) the subtree of B rooted at v. The graph G contains B and three additional groups of edges defined as follows (see Figure 1 for an illustration).
(E1) Every vertex v is adjacent to all vertices in the subtree B(v); (E2) for every vertex v and every left or right level-neighbour u of v in B, the vertex v is adjacent to all vertices in the subtree B(u); and (E3) every vertex v whose parent has a left level-neighbour p is adjacent to all vertices in the subtree B(p).
Altogether v is adjacent to less than 5 · 2 h−i+1 vertices at the same or at lower levels of B. Hence, the number of edges in G is less than Chung and Graham [19] showed that G is universal for forests, that is, G contains every forest on n vertices as a subgraph. 1 Geometric representation. We next describe how to embed the vertices of G into R 2 ; see Figure 2 (left) for an illustration. First, the x-coordinates of the vertices are assigned in the order determined by a pre-order traversal of B. For simplicity, let us take these x-coordinates to be 0, . . . , n − 1, so that the root of B is placed on the y-axis. The vertex of G with x-coordinate i is denoted by v i .
The y-coordinates of the vertices are determined by a BFS traversal of B starting from the root, in which at every vertex the right sibling is visited before the left sibling. Denote by σ the order of vertices of G in this traversal. If a vertex u precedes a vertex v in σ , then u gets a larger ycoordinate than v. The gap between two consecutive y-coordinates is chosen so that every vertex is above all lines determined by any two vertices with smaller y-coordinates. This choice is feasible because no line through two vertices of G is vertical, due to the x-coordinate assignment. Thus, if the maximum difference between the y-coordinates of two vertices in a set X ⊆ V(G) is some value Y, then any line through two vertices in X has a slope whose absolute value is at most Y. Hence, any point that is n · Y units higher than every vertex in X is above every line determined by two vertices in X.
Note that this choice of coordinates fixes the rotation system of the vertex set, which is the collection of circular sequences obtained as follows: For each vertex v consider a ray r v emanating from v and record the sequence of other vertices as r v encounters them while rotating counterclockwise around v. The rotation system in turn determines for each pair of (straight-line) edges whether they cross [ [29], Proposition 6].
Our figures display the vertices of B in the correct x-and y-order, but -with the exception of Figure 1 (right) -they are not to scale. The y-coordinates in our construction are rapidly increasing (similarly to constructions in [15,25]). For this reason, in our figures we draw the edges in B as straight-line segments and all other edges as Jordan arcs.
The choice of y-coordinates of the vertices implies that, for any vertex v, all vertices with larger y-coordinate than v see the vertices below v in the same circular order as v. Furthermore, the vertices of G are in general position, that is, no three are collinear. In particular, we have the following property (see Figure 2 (right) for an example).

Observation 2.
If ab, cd ∈ E(G) are such that (1) a has larger y-coordinate than b, c, and d, and (2) b has smaller or larger x-coordinate than both c and d, then ab and cd do not cross.
Proof. By (2) we can assume, without loss of generality up to a switch of the labels of c and d, that d is below the line through b and c. By (1) and by construction, a is above the line through b and c, hence ab and cd are separated by the line through b and c and thus do not cross.

Intervals and embeddings
If I is an interval of integers, then we denote by G(I) the corresponding interval of G. For a subset U ⊆ V(G), we denote by G[U] the subgraph of G induced by U.
In Section 2.3, we present a recursive algorithm that can embed every tree on h vertices onto every interval of length h of G. In some cases, we embed the root of a tree at some vertex of the interval, and recurse on the subtrees. For this strategy, it is convenient to embed the root at the centre of a spanning star. The following lemma shows that every interval contains spanning stars. Proof. We first argue for the star centred at v k . By construction (pre-order traversal and increasing y-coordinates along each level from left to right), all vertices in G[k, j] belong to B(v k ). By construction, G contains edges from v k to every vertex in B(v k ); these edges are in E(B) and in the edge group (E1). This completes the proof if k = i. Assume that k > i. Then v k has a parent v p ; further, we have p < i, because v k is the highest vertex of G[i, j] and every vertex is higher than its descendants. Therefore, v k has a left sibling v (which may or may not be in G [i, j]); all the vertices in G[i, k − 1] are in B(v ) and hence are adjacent to v k , via edges in the edge group (E2).
We now argue about the second highest vertex v s of G[i, j]. We consider two cases.
contains a spanning star centred at v s , as argued above if i < j − 1; if i = j − 1, then such a star trivially exists. The remaining edge between v s and v k also exists, as it is part of the star centred at v k .
Hence, we may assume that k < j. We distinguish between two cases. Assume first that k + 1 ≤ s ≤ j. Note that v s is a child of v k : Namely, since no vertex in G[i, j] is higher than v k , it follows that neither the right level-neighbour of v k , if it exists, nor a vertex on a level higher than v k are in G[i, j], hence v s is either the left or the right child of v k . We prove that v s is adjacent to all the vertices of G[i, k − 1], to v k , and to all the vertices of G[k + 1, j]. Concerning the vertices of G[i, k − 1], we can assume that k > i, as otherwise G[i, k − 1] contains no vertex. Recall that k > i implies that v k has a left sibling v , which may or may not be in G [i, j]; regardless, all the vertices in G[i, k − 1] are in B(v ) and are hence adjacent to v s , via edges in the edge group (E3). Further, the edge between v s and v k exists, as it is part of the star centred at v k . Finally, each vertex in Then v s must be on a level higher than v k+1 , which is the left child of v k , and on a level lower than v p , which is the parent of v k . Hence, v s is the left sibling of v k , which implies p = s − 1 and s = i. Therefore, v s is adjacent to all the vertices in G[i, k − 1] via edges in E(B) or in the edge group (E1) as well as to all the vertices of G[k, j], via edges in the edge group (E2); hence, v s is adjacent to all the vertices of G [i, j].
Finally, note that, as the vertices of G are laid out in general position, every star in G[i, j] is noncrossing.
The recursive algorithm (Section 2.3) occasionally embeds a subtree of T onto an induced subgraph of G that is 'almost' an interval, in the sense that it can be obtained from an interval of G by deleting its highest vertex or by replacing its highest vertex with a vertex that does not belong to the interval. Lemmas 5 and 6 below provide the tools to construct such embeddings.
We first prove that the 'structure' of an interval without its highest vertex is similar to that of an interval; this is formalised by the following definition. Let U and W be two subsets of V(G) with h = |U| = |W|. Let u 1 , . . . , u h and w 1 , . . . , w h be the vertices of U and W, respectively, ordered by increasing x-coordinates. We say that G

If G[U] and G[W]
are crossing-isomorphic, the graph isomorphism given by λ(u i ) = w i , for all i = 1, . . . , h, is a crossing-isomorphism. Clearly, the inverse of a crossing-isomorphism is also a crossing-isomorphism. We have the following.

Lemma 4. Let v k be the highest vertex in an interval G[i, j] with i < j, and assume that G[i, j] contains neither the right child of v k , nor the left child of the left sibling of v k (if it exists), nor any descendant of the left child of the left sibling of v k (if it exists). Then G[i, j] − v k is crossing-isomorphic to some interval G(I) of G. Moreover, the interval G(I) can be computed in O(1) time.
, respectively, and the conclusion is immediate. So assume that i < k < j and that the subtrees of B rooted at the children of v k have height . Thus, B(v k+1 ) has D := 2 − 1 vertices. Note that ≥ 1, that is, v k has children, as otherwise v k+1 would be either the right sibling of v k or a vertex at a higher level than v k , in both cases contradicting the assumption that v k is the highest vertex in

ordered by increasing
x-coordinates; further, let w 1 , . . . , w h be the vertices of G(I), ordered by increasing x-coordinates. Refer to Figure 3.
Since v k is the highest vertex in G[i, j] and i < k < j, it follows that v k is not the root of B and v k−1 is not the parent of v k . Hence v k is the right child of its parent and has a left sibling v k−2D−1 ; note that, since v k has children, its left sibling v k−2D−1 also has children. Since by assumption G[i, j] contains neither the left child of v k−2D−1 nor any descendant of the left child of v k−2D−1 , it follows that G[i, k − 1] is a subgraph of G induced by vertices in the right subtree of the left sibling of v k . Specifically, Since v k+1 is the left child of v k and since the right

Condition (C1). In order to prove that Condition
To prove the claim, recall that vertices v k−2D , v k−D , and v k+1 are at height of G, and the descendants of these vertices induce isomorphic subgraphs , respectively. Since u p and u q (resp., w p and w q ) have different ancestors at height , they are not in an ancestor-descendant relationship, and so they cannot be connected by any edge in the edge group (E1). It remains to consider edges in the edge groups (E2) and (E3). In any case, u p and w p are on the same level, and similarly u q and w q are on the same level. Note . It follows that u p u q is in the edge group (E2) if and only if w p w q is in the edge group (E2). The same argument establishes that u p u q is in the edge group (E3) if and only if w p w q is in the edge group (E3), assuming that the height of both u p and u q is at most − 1.
All edges incident to these vertices in G(I) and G[i, j] − v k are in the edge groups (E1) and (E2). (There are edges in the edge group (E3) between v k+1 and all vertices in

Condition (C2).
Recall that σ is the order of vertices in the BFS traversal of B that determines their y-coordinates (that is, if a vertex u precedes another vertex v in σ , then u gets a larger ycoordinate than v.) We claim that σ determines the same permutation on the vertices u 1 , that is, a vertex u p precedes a vertex u q in σ if and only if the vertex w p precedes the vertex w q in σ . This property follows from the following facts:

The vertices
Therefore, the rotation systems of G[i, j] − v k and G(I) are the same and so are the pairs of edges that cross.
This concludes the proof that G[i, j] − v k and G(I) are crossing-isomorphic.
We are now ready to present our tools for embedding trees onto 'almost' intervals. The first one deals with subgraphs of G obtained by deleting the highest vertex from an interval.

Lemma 5. Let G[i, j] be an interval of G with h + 1 vertices and let v k be its highest vertex. Assume that there is a crossing-isomorphism λ from G[i, j] − v k to some interval G(I) of G with h vertices. Further, assume that a tree T with h vertices admits an embedding ϕ onto G(I). Then
given that ϕ is an embedding of T onto G(I). By Condition (C1) for λ, the edge w p w q is an edge of G Second, for every p, q, r, s ∈ {1, . . . , h} such that a p a q and a r a s are distinct edges of T, the edges ϕ (a p )ϕ (a q ) = w p w q and ϕ (a r )ϕ (a s ) = w r w s do not cross each other. Namely, ϕ(a p )ϕ(a q ) = u p u q and ϕ(a r )ϕ(a s ) = u r u s do not cross each other, given that ϕ is an embedding of T onto G(I). Then Condition (C2) for λ implies that w p w q and w r w s do not cross each other.
Finally, let a t be the vertex of T such that ϕ(a t ) = u t is the highest vertex of G(I). Condition (C3) for λ implies that w t is the highest vertex of G[i, j] − v k . By construction, ϕ (a t ) = w t . This concludes the proof of the lemma.
The second tool deals with subgraphs of G obtained by replacing the highest vertex of an interval with another 'high' vertex outside the interval; see Figure 4 for an illustration.

Lemma 6. Let G[i, j] be an interval of G with h vertices and let v k be its highest vertex. Let v x be a vertex of G that is higher than all vertices in G[i, j] − v k and that does not belong to G[i, j]. Assume that a tree T with h vertices admits an embedding ϕ onto G[i, j]. Let a be the vertex of T such that ϕ(a) = v k ; further, let ϕ (a) = v x and ϕ (b) = ϕ(b) for every vertex b of T other than a. Then ϕ is an embedding of T onto G[i, j]
Proof. By construction, we have ϕ (b) = ϕ(b) for every vertex b of T other than a. Since ϕ is an embedding of T onto G[i, j], we only need to prove that none of the edges incident to a crosses any other edge of T in ϕ (T). Let ab and cd be two edges of T, and let v p := ϕ (b), v q := ϕ (c), and v r := ϕ (d), where p, q, r ∈ [i, j]. We prove that v x v p and v q v r do not cross. We may assume, w.l.o.g., that q < r. Further, assume that x > j, as the case in which x < i can be handled by a symmetric argument.
• If r < p, then v x v p and v q v r do not cross as they use disjoint x-intervals. • If p < q, then v x v p and v q v r do not cross by Observation 2. • Finally, assume that q < p < r. If v p precedes both v q and v r in the order σ that determines the y-coordinates of the vertices of G, then the y-coordinate of v p is larger than that of v q and v r , hence v x v p and v q v r do not cross as they use disjoint y-intervals. Assume now that v p succeeds v q or v r (possibly both) in σ . Suppose, for the sake of contradiction, that v x v p and v q v r cross. Then v p lies below the line through v q and v r . However, this implies that v k v p and v q v r also cross, contradicting the assumption that ϕ is an embedding of T onto This concludes the proof of the lemma.
The following lemma is a variant of the (unique) lemma in [19]. It finds a subtree of a certain order in a rooted tree. For a vertex v of a rooted tree T, denote by T(v) the subtree of T rooted at v.

Proof of Theorem 1
Given a tree T on h vertices and an interval G[i, j] of length h, we describe an algorithm that recursively constructs an embedding ϕ of T onto G [i, j]. For a subtree T of T, we denote by ϕ(T ) the image of ϕ restricted to the vertices and edges of T . A step of the algorithm explicitly embeds some vertices; the remaining vertices form subtrees that are recursively embedded onto pairwise disjoint subintervals of G [i, j]. In order to control the interaction between the recursively embedded subtrees and the edges connecting vertices of such subtrees to explicitly embedded vertices, we insist that in every subtree at most two vertices, called portals, are adjacent to external vertices (i.e. vertices that are not part of the subtree). We also ensure that whenever a subtree is embedded onto a subinterval, the external vertices that connect to the portals of that subtree are embedded above the whole subinterval.
For a point p ∈ R 2 , we define two quarter-planes: Observe that Q + (p) is set of points above and to the right of p, and similarly Q − (p) is the set of points above and to the left of p. In Lemma 8 below, we require that these regions are empty of vertices and edges of the embedded graph, so that they can be used to add edges incident to p, when a portal is embedded onto it.
We inductively prove the following lemma, which immediately implies Theorem 1. Given an n-vertex forest F, it suffices to define a tree T as an arbitrary n-vertex tree that contains F as a subgraph, to set h = n and G[i, j] = G[0, n − 1], and to choose a portal a in T arbitrarily.

Lemma 8. We are given a tree T on h vertices, an interval G[i, j] of length h, and 1. either a single portal a in T or 2. two distinct portals a and b in T.
Then there exists an embedding ϕ of T onto G[i, j] with the following properties:

If only one portal a is given, then (a) ϕ(a) is the highest vertex in G[i, j]; and (b) if deg T (a) = 1 and a is the unique neighbour of a in T, then Q − (ϕ(a )) does not intersect
any vertex or edge of the embedding ϕ(T(a )).

Moreover, the embedding ϕ can be found in O(h 2 ) time.
Proof. We proceed by induction on the number of vertices of T. In the base case, T has one vertex, which must be the portal a, and the map ϕ(a) = v i maps a to the highest vertex of G[i, i]. For the induction step we assume that h ≥ 2 and that the claim holds for all smaller trees.

Case 1:
There is only one portal a. Let v k denote the highest vertex in G[i, j]. We need to find an embedding of T onto G[i, j] where ϕ(a) = v k . Consider T to be rooted at a. We distinguish two cases depending on the degree of a in T.
Assume that a has t children a 1 , . . . , a t . Refer to Figure 5. Partition the set of integers [i, j] \ {k} into t contiguous subsets I 1 , . . . , I t such that |I x | = |V(T(a x ))|, for x = 1, . . . , t. Let q ∈ {1, . . . , t} be such that I q contains k − 1 or k + 1, and so I q ∪ {k} is an interval of integers.
By induction, there is an embedding ϕ x of T(a x ) onto G(I x ) such that a x is mapped to the highest vertex of G(I x ), for all x = q. Similarly, there is an embedding ϕ q of T − x =q T(a x ) onto G(I q ∪ {k}) such that a is mapped to the highest vertex of G(I q ∪ {k}), which is v k . Note that these embeddings are pairwise noncrossing since they use pairwise disjoint intervals. Let ϕ : V(T) →     In order to complete the definition of ϕ, we distinguish two cases, based on whether c = a or c = a . In the first case, shown in Figure 9, by induction, there is an embedding with a single portal c = a . In the second case, shown in Figure 10 if c = a ). Further, if ψ 2 (a ) = v k , then ϕ(a ) = v r and the only vertex of G [i, j] in the interior of Q − (ϕ(a )) is ϕ(a) = v k (hence ϕ satisfies Property 1(b)). This completes the definition of ϕ.
We argue that the edge ϕ(c)ϕ(c ) is present in G[i, j]. To simplify the notation, let v p = ϕ(c ) and v q = ϕ(c), and note that p < q or p = r. We first discuss the case p = r. Notice that this case happens if ψ 2 (c ) = v k , which holds always true if Then the edge ϕ(c)ϕ(c ) is present in G[i, j], as ψ 1 (c ) = v r and the edge cc belongs to T c (c ). Assume next that p < q, which implies that ψ 2 embeds T − T(c) onto G[i, j − m − 1] with two portals a and c . On the one hand, by Property 2(c) of ψ 2 , we have that Q + (ψ 2 (c )) does not contain any vertex or edge of ψ 2 (T − T(c)), hence k < p, as otherwise v k would be in Q + (ψ 2 (c )). It follows that v p is the highest vertex in G[p, j − m − 1]. On the other hand, by Property 1(b) of ψ 1 , we have that Q − (ψ 1 (c)) does not contain any vertex or edge of ψ 1 (T(c)). It follows that v q is either the highest or the second highest vertex in G[j − m, q] (as v r might belong to such an interval). Overall, one of v p or v q is the highest or the second highest vertex in G[p, q]. By Lemma 3, G[p, q] contains a star centred at v p or v q , and so it contains the edge v p v q = ϕ(c )ϕ(c), as required.
We now prove that ϕ(T) is crossing-free. The embeddings ϕ(T(c)) and ϕ(T − T(c)) are pairwise noncrossing, since they use disjoint intervals, with the exception of the edges of ϕ(T − T(c)) incident to v r , which however do not cross ϕ(T(c)) by Observation 2. It remains to deal with the edges ϕ(c )ϕ(c) and ϕ(a)ϕ(a ). Consider first the edge ϕ(c )ϕ(c).  T(c)). Then we have max{p, s} < min{r, q}. Since v r is higher than v p , v q , and v s , by Observation 2 the edges v p v q and v r v s do not cross if s < p, hence we can assume that p < s. The last inequality implies that the edge v k v s of ψ 2 (T − T(c)) crosses Q + (ϕ(c )), which however is not possible by Property 2(c) of ψ 2 (T − T(c)).
Finally, the edge ϕ(a)ϕ(a ) does not cross ϕ(T(c)), since they use disjoint intervals, and it does not cross ϕ(c )ϕ(c) or any edge of ϕ(T − T(c)), by Observation 2 and since Q − (ϕ(a )) does not intersect any edge or vertex of ϕ(T − T(c)), by Property 2(b) of ψ 2 (T − T(c)).
In this case, the interval [j − m, j] contains both k and r; further, we might have c = a or c = a. Refer to Figure 11. Partition the set of integers [j − m, j] \ {k, r} into t contiguous subsets I 1 , . . . , I t such that |I x | = |V(T(c x ))|, for x = 1, . . . , t. Let q ∈ {1, . . . , t} be such that I q contains r − 1 or r + 1. Note that the sets I 1 , . . . , I t are not necessarily intervals, since the set of integers [j − m, j] \ {k, r} they partition is not an interval, either.
Let I(c) be the collection of t sets: I q ∪ {r} and I x , for x ∈ [1, t] \ {q}. The sets in I(c) are contiguous subsets of [j − m, j] \ {k}. Consequently, at least t − 1 of them are intervals, and at most one of them, say I p , is an interval minus the element k. Since s = j − r + 1 and since all the vertices of G[r, j] belong to B(v r ), as otherwise v k would not be the highest vertex in G [i, j], it follows that the size of B(v r ) is larger than or equal to s. Consequently, also the size of the subtrees of B rooted at the left child of v k and at the right child of the left level-neighbour of v k are larger than or equal to s. This, together with the fact that every tree T(c i ) has at most s − 1 vertices, implies that G(I p ) contains neither the right child of v k , nor the left sibling of v k , nor any descendant of the  For any distinct x and y in {1, . . . , t}, we have that ϕ(T(c x )) and ϕ(T(c y )) do not cross, since they use disjoint intervals. Only the edges in P connect vertices from distinct intervals. For x = 1, . . . , t − 1, let e x be the edge ϕ(c x )ϕ(c x+1 ). Note that e x is incident to the highest vertex in G(I x ∪ I x+1 ) and hence belongs to G(I x ∪ I x+1 ) by Lemma 3. Further, e x does not cross ϕ(T(c y )), with y < x or y > x + 1, as the intervals spanned by e x and ϕ(T(c y )) are disjoint. Analogously, e x does not cross any edge e y , with y = x. Assume that ϕ(c x+1 ) is higher than ϕ(c x ), the other case is symmetric. Then e x does not cross ϕ(T(c x )), as ϕ(c x ) is the highest vertex of ϕ(T(c x )) and ϕ(c x+1 ) is higher than ϕ(c x ); finally, e x does not cross ϕ(T(c x+1 )), by Observation 2. Therefore, ϕ is an embedding of T onto G [i, j]. It is easily checked that this embedding satisfies Properties 2(a), 2(b), and 2(c), as required.

Running time analysis.
We conclude by inductively proving that the time complexity of the above described algorithm is at most c · h 2 , for some suitably large constant c.
The statement is obviously true in the base case.
In Case 1 of the induction step, we recursively embed some vertex-disjoint subtrees of T with a total of at most h − 1 vertices. By induction, this takes at most S (c · |V(S)| 2 ) ≤ c · (h − 1) 2 time, where the sum is over all subtrees S of T which are recursively embedded. Apart from these recursive embedding constructions, in Case 1 we explicitly embed in constant time (denoted as k 1 ) some vertices of T at vertices of G[i, j], we find in constant time (denoted as k 2 ) a subtree with suitable order by means of Lemma 7, we modify in constant time (denoted as k 3 ) a recursively constructed embedding by means of Lemma 6, we modify in linear time (denoted as k 4 · h) a recursively constructed embedding by means of Lemma 5, or we find in linear time (denoted as k 5 · h) some subintervals of G[i, j] of the proper size. Thus, it suffices to choose a sufficiently large constant c so that (−2c + k 4 + k 5 ) · h + (c + k 1 + k 2 + k 3 ) < 0, in order to verify that the time complexity of the algorithm is at most c · h 2 .
In Case 2 of the induction step, we recursively embed some subtrees of T with a total of h vertices and we find in linear time (denoted as k · h) some subintervals of G[i, j] of the proper size. By induction, this takes at most S (c · |V(S)| 2 ) + k · h time. Since in Case 2 there are at least two recursively embedded subtrees, S (c · |V(S)| 2 ) is maximised when there is one subtree of order h − 1 and one subtree of order 1, which leads to S (c · |V(S) which is smaller than c · h 2 time, as long as (−2c + k) · h + 2c < 0, which is true for a sufficiently large c, given that h ≥ 2.

Convex geometric graphs
Every graph embedded into a convex geometric graph is outerplanar. Clearly, a complete convex geometric graph on n vertices has O(n 2 ) edges and is universal for n-vertex outerplanar graphs. In the next theorem we show that this trivial upper bound is almost tight. For h ≥ 0 and n ≥ 2h + 2, let OP h (n) be the family of all outerplanar graphs on n vertices that consist of a spanning cycle plus h pairwise vertex-disjoint chords. In the following, we write f (n) ∈ h (n) to represent f (n) ≥ c h n, where c h is a constant depending on h only.

Theorem 9.
For every positive integer h and n ≥ 3h 2 , every convex geometric graph on n vertices that is universal for OP h (n) has h (n 2−1/h ) edges.
Proof. The claim trivially holds for h = 1; we may assume h ≥ 2 in the remainder of the proof. Let C be a convex geometric graph on n vertices that is universal for OP h (n), and denote by ∂C its outer (spanning) cycle. The length of a chord uv of ∂C is the length of a shortest path between u and v along ∂C. For k ≥ 2, denote by E k the set of length-k chords in C, and let m ∈ {2, . . . , n/(3h) } be an integer such that |E m | = min{|E 2 |, . . . , |E n/(3h) |}.
Let L be the set of vertex-labeled outerplanar graphs on n vertices that consist of a spanning cycle (v 0 , . . . , v n−1 ) plus h pairwise vertex-disjoint chords of length m such that one chord is v 0 v m and all h chords have both vertices on the path P = (v 0 , . . . , v n/3 +hm−1 ).
Every graph G ∈ L has a unique spanning cycle H. If an edge e of H were embedded onto a chord of ∂C, then the path of H − e would cross e, given that C is a convex geometric graph. It follows that H is embedded onto ∂C. The four endpoints of any two chords of H are noninterleaving along H, otherwise G would not be an outerplanar graph. Since they all have the same length, the h chords of H have a well-defined cyclic order along H. A gap of G is a path between two consecutive chords along H (in cyclic order). Note that G has h gaps.
The length of the path P is n/3 + hm − 1 ≤ n/3 + h · n/(3h) − 1 < 2 n/3 . Consequently, the length of the gap between the last and the first chord of P is greater than n − 2 n/3 = n/3 . This is the longest gap, as the sum of the lengths of the remaining h − 1 gaps is at most n/3 . Let U denote the subset of unlabelled graphs in OP h (n) that correspond to some labelled graph in L. We give lower bounds for |L| and |U|. Each graph in L is determined by the h − 1 gaps between consecutive chords along P. The sum of these distances is an integer between h − 1 and ( n/3 + hm − 1) − hm < n/3 . The number of compositions of n/3 into h positive integers (i.e. h − 1 distances and a remainder) is n/3 h−1 ∈ h n h−1 . Each unlabelled graph in U corresponds to at most two labeled graphs in L, since any graph automorphism setwise fixes the unique spanning cycle as well as the longest gap. Hence, |U| ∈ (|L|) ⊆ h n h−1 .
Since C is universal for OP h (n) and U ⊂ OP h (n), every graph G in U embeds onto C. Since every embedding of G maps the spanning cycle of G onto the outer cycle ∂C and the h chords of G into a subset of E m , we have that C contains at most |E m | h ≤ |E m | h graphs from U . The combination of the lower and upper bounds for |U| yields |E m | h ∈ h n h−1 , hence |E m | ∈ h n 1−1/h .
Overall, the number of edges in C is at least For the case h = 2, the lower bound of Theorem 9 is the best possible, as shown in the following theorem.
Theorem 10. For every n ∈ N, there exists a convex geometric graph with n vertices and O n 3/2 edges that is universal for OP 2 (n).
Proof. We construct a convex geometric graph C and then show that it is universal for OP 2 (n). The vertices v 0 , . . . , v n−1 of C form a regular convex n-gon, and the edges of this spanning cycle are in C. Denote and add (the edges of) a star centred at v s , for every s ∈ S, to C. Clearly, C contains O n 3/2 edges. Moreover, for every d ∈ {1, . . . , n/2 } there exist a, b ∈ S so that b − a = d. For any G ∈ OP 2 (n), let a, b ∈ S so that the distance along the outer cycle between the two closest vertices of the two chords of G is b − a. As C contains stars centred at both v a and v b , the graph G embeds onto C.
While we can prove a near-quadratic lower bound for the number of edges of an n-vertex convex geometric graph that is universal for n-vertex outerplanar graphs, for n-vertex trees we only have an n log n lower bound. This lower bound is valid even in the abstract setting and for caterpillars [ [18], Theorem 1], where a caterpillar is a tree such that the removal of its leaves results in a path, called spine.
The graph C has vertices v 1 , . . . , v n , placed in clockwise order along a circle c. Further, for i = 1, . . . , n, we have that C contains edges connecting v i to the π n (i) vertices preceding v i and to the π n (i) vertices following v i along c. We are now ready to prove the following.
Theorem 12. For every n ∈ N, there exists a convex geometric graph C with n vertices and O(n log n) edges that is universal for n-vertex caterpillars.
Proof. First, the number of edges of C is at most twice the sum of the integers in π n ; the latter is less than or equal to the sum of the integers in π m , where m < 2n and m = 2 h − 1, for some integer h ≥ 1. Further, π m is easily shown to be equal to (h − 1) · 2 h + 1 ∈ O n log n .
Let T be a caterpillar with n vertices and let (u 1 , u 2 , . . . , u s ) be the spine of T, for some s ≥ 1. For i = 1, . . . , s, let S i be the star composed of u i and its adjacent leaves; let n i be the number of vertices of S i . Let m 1 = 0 and, for i = 2, . . . , s, let m i = i−1 j=1 n j . For i = 1, . . . , s, we embed S i onto the subgraph C i of C induced by the vertices v m i +1 , v m i +2 , . . . , v m i +n i : This is done by embedding u i at the vertex v x i of C i whose degree (in C) is maximum, and by embedding the leaves of S i at the remaining vertices of C i .
By Property 11, we have that v x i is adjacent in C to the n i vertices preceding it and the n i vertices following it along c (and possibly to more vertices). Hence, v x i is adjacent to all other vertices of C i , which proves that the above embedding of S i onto C i is valid. We now prove that the edge v x i v x i+1 belongs to C for all i = 1, . . . , s − 1. Again by Property 11, the vertex between v x i and v x i+1 with the highest degree is adjacent to the n i + n i+1 vertices preceding and n i + n i+1 vertices following it along c (and possibly to more vertices). Hence, the vertex between v x i and v x i+1 with the highest degree is adjacent to all other vertices in {v m i +1 , v m i +2 , . . . , v m i+1 +n i+1 }, and in particular to the vertex between v x i and v x i+1 with the lowest degree. The proof is concluded by observing that the edges of the spine (u 1 , u 2 , . . . , u s ) do not cross, since the vertices u 1 , u 2 , . . . , u s appear in this clockwise order along c.

Conclusions and open problems
In this paper we introduced and studied the problem of constructing geometric graphs with few vertices and edges that are universal for families of planar graphs. Our research raises several challenging problems.

Universal geometric graphs.
First, what is the minimum number of edges in an n-vertex convex geometric graph that is universal for n-vertex trees? We proved that the answer is in O n log n if the convexity requirement is dropped, or if caterpillars, rather than trees, are considered, while the answer is close to (n 2 ) if outerplanar graphs, rather than trees, are considered.
Second, what is the minimum number of edges in a geometric graph that is universal for all n-vertex planar graphs? For abstract graphs, Babai, Chung, Erdős, Graham, and Spencer [5] constructed a universal graph with O n 3/2 edges based on separators; and Esperet, Joret, and Morin [23] improved the bound to n · 2 O √ log n·log log n using strong products of a path with a graph of treewidth at most eight. Can either of these methods be adapted to a geometric setting? The current best lower bound is (n log n), the same as for trees [19], while the best upper bound is only O(n 4 ). Third, for a constant ∈ N, what is the minimum number of edges in a geometric graph that is universal for all n-vertex planar graphs of maximum degree ? Plane graphs. The notion of universality can be further extended to plane graphs, that is, planar graphs with given rotation systems. The rotation system of a graph embedded in the plane consists of the counterclockwise orders of the incident edges at all vertices. (A further generalisation to embedded graphs replaces the plane by an arbitrary orientable surface.) For a class H of plane graphs, a geometric graph is universal for H if it contains an embedding of every graph in H with the given rotation system. Our upper bounds do not extend to this setting. In particular, we do not know what is the minimum number of edges (i) in a geometric graph that is universal for all n-vertex plane trees, and (ii) in a convex geometric graph that is universal for all n-vertex plane caterpillars.

Topological (multi-)graphs.
Finally, the problems considered in this paper can be posed for topological (multi-)graphs, as well, in which edges are represented by Jordan arcs. Within this setting we observe a sub-quartic upper bound for the number of edges of a topological multigraph that is universal for all n-vertex planar graphs.
Theorem 13. For every n ∈ N, there exists a topological multigraph with n vertices and O(n 3 ) edges that contains a planar drawing of every n-vertex planar graph.
Proof. Every planar graph admits a 2-page monotone topological book embedding [21]. In such a drawing, every edge is either drawn on one page only, or it is drawn so that it crosses the spine exactly once. As there are n 2 possible pairs of endpoints, two choices for the page incident to the left endpoint, and less than n possible segments of the spine to cross, we have less than n 2 (n − 1) ∈ (n 3 ) edges to draw. A drawing that encompasses all those edges is universal for planar graphs on n vertices.
A planar graph is subhamiltonian if it is a subgraph of a Hamiltonian planar graph. In particular, planar graphs of degree at most four [7], triconnected planar graphs of degree at most five [27], and planar graphs that do not contain a separating triangle [10,32] are subhamiltonian.

Theorem 14.
For every n ∈ N, there exists a topological multigraph with n vertices and O(n 2 ) edges that contains a planar drawing of every n-vertex subhamiltonian planar graph.
Proof. Every subhamiltonian planar graph admits a 2-page book embedding [8]. On each page, draw the complete graph using n 2 circular arcs, and let D denote the union of these two drawings. Clearly, G contains n(n − 1) = (n 2 ) edges and is universal for subhamiltonian planar graphs on n vertices.