1.1 Background and motivation
Let be a set of points in , and consider the complete weighted graph induced by , where the weight of any edge is the Euclidean distance between its endpoints. Let be a spanning subgraph of , with , where, as in , the weight function is given by the Euclidean distances. For any , is called a -spanner for if for every , the distance between and in is at most ; the parameter is called the stretch of the spanner and the most basic goal is to get it down to , for arbitrarily small , without using too many edges. Euclidean spanners were introduced in the pioneering SoCG’86 paper of Chew , who showed that edges can be achieved with stretch , and later improved the stretch bound to 2 . The first Euclidean spanners with stretch , for an arbitrarily small , were presented independently in the seminal works of Clarkson  (FOCS’87) and Keil  (see also ), which introduced the -graph in and , and soon afterwards was generalized for any in [45, 2]. The -graph is a natural variant of the Yao graph, introduced by Yao  in 1982, where, roughly speaking, the space around each point is partitioned into cones of angle each, and then edges are added between each point and its closest points in each of the cones centered around it. The -graph is defined similarly, where, instead of connecting to its closest point in each cone, we connect it to a point whose orthogonal projection to some fixed ray contained in the cone is closest to . Taking to be , for small enough constant , one obtains a -spanner with edges.
Euclidean spanners turned out to be a fundamental geometric construct, which evolved into an important research area [38, 39, 2, 20, 3, 21, 4, 44, 31, 26, 1, 12, 28, 13, 22, 49, 24], with a plethora of applications, such as in geometric approximation algorithms [44, 32, 35, 33], geometric distance oracles [32, 35, 34, 33], network design [36, 41]
and machine learning. (See the book by Narasimhan and Smid  for an excellent account on Euclidean spanners and some of their applications.)
The tradeoff between stretch and edges is the current state-of-the-art, and is also achieved by other spanner constructions, including the path-greedy (abbreviated as “greedy”) spanner [2, 14, 42] and the gap-greedy spanner [46, 4]. Surprisingly, despite the extensive body of work on Euclidean spanners since the 80s, the following fundamental question remained open, even for .
Is the tradeoff between stretch and edges tight?
We remark that the -graph and its variants provide stretch only for sufficiently small angle . These graphs have also been studied for fixed values of ; see [10, 6, 11, 5, 40, 37, 9], and the references therein. The general goal here is to determine the best possible stretch for small values of . E.g., it was shown in SODA’19  that the graph with 4 cones, , has stretch . This line of work is somewhat orthogonal to Question 1, which concerns the asymptotic behavior of the tradoeff.
Another basic property of spanners, important for various applications, is lightness, defined as the ratio of the spanner weight (i.e., the sum of all edge weights in it) to the weight of the minimum spanning tree for . In SoCG’93, Das et al.  showed that the aforementioned greedy spanner of  has constant lightness in , which was generalized in SODA’95  to for any constant ; the dependencies on and in the lightness bound were not explicated in [2, 19, 21]. Later, in their seminal STOC’98 paper on approximating TSP in using light spanners, Rao and Smith  showed that the greedy spanner has lightness in for any constant . In the open problems section of their paper , they raised the question of determining the exact constant hiding in the -notation in the exponent of their upper bound. 222In the full (unpublished) version of their paper, Rao and Smith remarked that in the Euclidean plane, a lightness bound of is optimal by pointing out that any -spanner of a set of points evenly placed on the boundary of a circle has lightness ; this statement was not accompanied with a proof. In general, the full unpublished version of  contains several claims on light spanners, but the proofs for most of these claims are either missing, incomplete or incorrect. All the proofs in [2, 19, 21, 44] had many missing details. The first complete proof was given in the book of , where a 60-page chapter was devoted to it, showing that the greedy -spanner has lightness . In SODA’19, Borradaile, Le and Wulff-Nilsen  presented a much shorter and arguably simpler alternative proof that, in fact, applies to the wider family of doubling metrics (see also ), but the lightness bound of remains the state-of-the-art.333The doubling dimension of a metric space is the smallest value such that every ball in the metric space can be covered by at most balls of half the radius of . This notion generalizes the Euclidean dimension, since the doubling dimension of the Euclidean space is . A metric space is called doubling if its doubling dimension is constant. Therefore, the following question remained open all these years, even for .
Is the tradeoff between stretch and lightness tight?
In PODC’16, Filtser and Solomon  studied the optimality of the greedy spanner in doubling metrics, which is wider than the family of low-dimensional Euclidean spaces. They showed that the greedy spanner is existentially near-optimal with respect to both the size and the lightness. Roughly speaking, the greedy spanner is said to be existentially optimal for a graph family if its worst performance (in terms of size and/or lightness) over all graphs in is just as good as the worst performance of an optimal spanner over all graphs in . For doubling metrics, the loss encapsulated by the “near-optimality” guarantee comes into play with the dimension : one compares the greedy -spanner over metrics with doubling dimension with any other -spanner, but over metrics with doubling dimension . This loss in the dimension becomes more significant if we restrict the attention to Euclidean spaces, as then the comparison is between Euclidean dimension and doubling dimension , but spanners for metrics with doubling dimension (or even ) tend to admit significantly weaker guarantees (as a function of and ) than the corresponding ones for -dimensional Euclidean spaces.
Consequently, this result by  does not resolve Questions 1 and 2 for two reasons. First, it only implies near-optimality of the greedy spanner, which, as mentioned, comes with a constant factor loss in the dimension, and this constant factor slack appears in the exponents of the size and lightness bounds. Second, and more importantly, even if we knew that the greedy spanner is truly optimal – which is what we show in the current work – this still does not unveil the tight dependencies on and .
1.2 Our contribution.
Throughout we assume that . Our starting point is a surprisingly simple observation regarding evenly spaced point sets on the -dimensional sphere, using which we prove:
For any constant and any and such that , there is a set of points in such that any -spanner for must have lightness and edges.
We then improve the lightness bound of the greedy greedy spanner to match our lower bound.
The greedy -spanner in has lightness .
Our lightness analysis of the greedy algorithm builds on exciting developments on light spanners from recent years, which started from the works of Gottlieb  and Chechik and Wulff-Nilsen  on non-greedy spanners. Using the result of , the framework of  was refined in the works of Borradaile, Le and Wulff-Nilsen [7, 8]. As mentioned, it was shown in  that the greedy spanner in metrics of doubling dimension has lightness . We demonstrate that, by adapting the analysis in  to Euclidean spaces and applying a few tweaks, one can obtain a lightness bound of . To shave the remaining slack of factor, we introduces several highly nontrivial geometric insights to the analysis.
Sparse Steiner spanners?
Steiner points are additional points that are not part of the input point set. A standard usage of Steiner points is for reducing the weight of the tree, with the Steiner Minimum Tree (SMT) problem serving as a prime example: In any metric, the Steiner ratio, which is the ratio of the SMT weight to the MST weight, is at least (by the triangle inequality) and at most 1 (by definition). In the Steiner ratio is known to be between and , and the famous (still open) “Gilbert-Pollak Conjecture” is that the upper bound is tight . As another example, a spanning tree that simultaneously approximates a shortest-path tree and a minimum spanning tree is called a shallow-light tree (shortly, SLT). In FOCS’11, Elkin and Solomon  showed that in general metric spaces, Steiner points can be used to get an exponential improvement to the lightness of SLTs. The construction of  does not apply to Euclidean spaces, but Solomon  showed that Steiner points can be used to get a quadratic improvement to the lightness of SLTs in for .
Although these examples demonstrate that Steiner points could be very useful for reducing the weight of tree structures, note that the resulting Steiner trees must contain more edges than the original trees by definition. Broadly speaking, it seems counterintuitive that Steiner points could be used as means for reducing the the number of edges of graph structures such as spanners. And indeed, essentially all the prior work in this context only support this intuition; in particular, Althöfer et al.  asserts that, in general metrics, Steiner points do not help much in reducing the spanner size (see Theorems 6-8 therein), and this result was strengthened in  (see Theorem 1.2 therein). We remark that these hardness results of [2, 43] are based on girth arguments, and are not applicable in low-dimensional Euclidean spaces.
The size lower bound provided by Theorem 1.1 implies that cornerstone spanner constructions from the 80s, such as the -graph and the greedy spanner, cannot be improved in size. We contrast this negative message with a positive and counterintuitive one: Steiner points can be used to obtain a quadratic improvement on the size of spanners! We’ll focus on the Euclidean plane , but we get this quadratic improvement in any dimension : edges using Steiner points versus edges without using them. We use and to suppress poly-logarithmic factors of .
For any set of points in , there is a Steiner -spanner for with edges. In general, there is a Steiner spanner with edges, for any set of points in .
Remarks. (1) The exact upper bound is in and in . ; we did not try to optimize the lower-order term . (2) Our construction can be implemented in near-linear time; this implementation lies outside the scope of the current paper, which aims to study the combinatorial tradeoffs between the stretch and size/lightness of spanners.
The following lower bound shows that our construction of sparse Steiner spanners (Theorem 1.3) is optimal to within the lower-order term for 2-dimensional Euclidean spaces.
For any and such that , there exists a set of points in such that any Steiner -spanner must have at least edges and lightness at least .
Remark. Since the SMT and MST weights are the same up to a small constant, we can define the lightness of Steiner spanners with respect to the MST weight, just as with non-Steiner spanners.
1.3 Proof overview, comparison with prior work, and technical highlights.
The starting point of this work is in making a remarkably simple observation regarding a set of evenly spaced points along the boundary of a circle, which suffices for getting the lower bound for the size and lightness of spanners in (Theorerm 1.1). Numerous papers have identified this point set as a natural candidate for lower bounds (see, e.g., [44, 23, 49]), yet we are not aware of any paper that managed to rigourously prove such a result. The -dimensional analogue is a set of evenly spaced points along the sphere, providing a set of points corresponding to the codewords of a spherical code in . The distance between any two codewords is , using which we show that for any two points with , any -spanner must take as an edge. Since has pairs of points of distance , any spanner for must have lightness and edges. The lightness bound immediately follows, whereas to obtain the size lower bound we consider multiple copies of the same point set that lie sufficiently far from each other, so that each point set must be handled with a separate vertex-disjoint spanner; see Section 3.
We bypass the size lower bound by using Steiner points. For simplicity of presentation, we mostly focus on the Euclidean plane , but the argument can be naturally generalized for . We start with constructing Steiner spanners for point sets of bounded spread , with edges.444The spread of a point set , denoted by , is the ratio of the largest to the smallest pairwise distance. Our construction is recursive, and the main idea is to partition each bounding square in the current recursion level into overlapping subsquares. The observation is that short distances are handled by deeper levels of the recursion (due to the overlapping regions) while long distances can be handled with relatively few edges (using Steiner points) in the current recursion level. Using this observation carefully, we are able to construct a sparse (as a function of ) Steiner spanner. We then show a reduction from a general point set (of possibly huge spread) to a point set of spread . This reduction builds on the standard net-tree spanner (see, e.g., [26, 13, 28]) in a novel way, using a notion that we shall refer to as a ring spanner. A -ring spanner of a point set, for , is a spanner that preserves (to within a factor of ) distances between every pair of points such that belongs to a ring (or annulus) around . The net-tree spanner is obtained, in fact, as a union of ring 1-spanners, where the inner and outer radii of the annulus are within a factor of . Using this fact, we are able to reduce the problem of constructing a Steiner spanner for a general point set to the problem of constructing ring -spanners for point sets of spread each, and further show how to reduce it further to the construction of just one such ring -spanner. Our strategy of constructing Steiner spanners by building on the net-tree spanner is somewhat surprising, since all known (non-Steiner) net-tree spanners have edges, which exceeds the optimal bound obtained by other spanners (such as the -graph) by a factor of . However, by looking at the net-tree spanner through the lens of ring spanners and, of course, through the use of Steiner points, we are able to achieve the improved size bound; the details appear in Section 4.
To prove the lower bound on the size of Steiner spanners in , we can use the same point set used for our lower bounds for non-Steiner spanners, of evenly spaced points along the boundary of a circle. The argument here, however, is significantly more intricate. It is technically more convenient to work with a similar point set , where the points are evenly spaced along two opposite sides of a unit square , denoted by (“north”) and (“south”). The distance between any two consecutive points along and along will be , so that . Our goal is to show that any Steiner spanner must use roughly edges to preserve the distances for all pairs of points from and to within a factor of , and then taking multiple copies of the same point set that are sufficiently far from each other would complete the proof. Instead of proving the size lower bound directly, we show that any Steiner spanner for must incur a weight of ; the size lower bound would follow easily, as the distance between any pair of points in is . We then demonstrate that the problem of lower bounding the spanner weight for boils down to the problem of determining the lengths of intersecting shortest paths in the spanner. Next, we say that the intersecting pattern of two shortest paths of two pairs of points is “good” if the total length of all intersecting subpaths between them is small; the smaller the intersection is, the “better” the pattern is. Determining the “quality” of intersecting patterns of arbitrary pairs of shortest paths is challenging. To this end, define the distance between two pairs of points , where and , to be , and denote it by . Let and denote fixed shortest paths between the pairs and in the Steiner spanner, respectively; the key ingredient in our proof is establishing an inverse-quadratic relationship between and : . A charging argument that employs this relationship is then applied to derive the weight lower bound; see Section 5.
As mentioned, our lightness analysis of the greedy algorithm builds on several earlier works. In particular, the framework of  was refined in the works of Borradaile, Le and Wulff-Nilsen [7, 8]; in what follows, BLW shall be used as a shortcut for the approach of Borradaile, Le and Wulff-Nilsen 
, though we emphasize that some of the credit that we attribute to BLW (for brevity reasons) should be attributed to the aforementioned previous works. In BLW, the first step is to construct a hierarchical clustering. Clusters in have diameter roughly where and . The edge set of the greedy spanner, denoted by , is also partitioned according to the clustering hierarchy, , where the edges in have length . Credit is then allocated to the clusters in for a total amount of for some constant depending on and , which will ultimately be the lightness bound. Clusters in spend their credits in two different ways: (1) they give the clusters in a (major) part of their credit and (2) use the remaining credit to pay for the spanner edges in . Clusters in , after getting the credit from , also spend their credit in the same way: they give clusters in a part of their credit and use the remaining credit to pay for the spanner edges in . Inductively, clusters in , after being given credit by the clusters in , give the clusters in a part of their credit and use the remaining credit to pay for the edges in . BLW showed roughly that for all :
(a) Each cluster would get roughly credits from clusters in .
(b) Each cluster , after giving their credit to clusters in , has leftover credits.
Using a standard packing argument, BLW showed that each cluster in is incident to edges in (of length ). Thus, by choosing for some constant , can pay for its incident spanner edges in . Inductively, every spanner edge will be paid at the end. Since only credits are allocated at the beginning (to ), the total weight of all spanner edges is . We first observe that the packing argument in gives an upper bound in the number of edges in incident to a cluster . Furthermore, the bound in (b) can be made as good as . Thus, if we are careful, choosing suffices, which as a result, gives us lightness bound . To shave the extra factor, we introduce two new ideas. Firstly, by carefully constructing the hierarchical clustering and partitioning the edge set , we can reduce the worst case bound on the number of edges in incident to a cluster from to . This shaves the first factor. Secondly, we show that in most cases, each cluster , after giving its credit to clusters in , has at least leftover credits. Note that the leftover credit bound in BLW argument is . Thus, the second idea helps us in shaving another factor.
The major technical difficulty that we are faced with is in realizing the second idea. Achieving the weaker credit leftover bound (as done in BLW) is already a challenge and, in fact, sometimes impossible. This is because the credit argument has several subtleties in the way credit is distributed; a more detailed explanation is provided in Section 6. To achieve the stronger leftover credit bound, we study the geometric arrangement of clusters in . We then prove a structural lemma that determines the relationship between the curvature of the curve following the arrangement of clusters in and the number of edges in connecting , which we believe to be of independent interest. If we observe more edges in connecting the clusters in on the curve, the curvature of the curve must be higher, which, in turn, implies that the clusters in can save more credits as leftover.
The details of this argument are presented in Section 6. We remark that our argument for obtaining the optimal lightness bound is elaborate and intricate, but this should be acceptable, given that the previous lightness bound of required an intricate proof, spreading over a 60-paged chapter in .
For a pair of points in , we denote by the line segment between and . The distance between and will be denoted by . We use to denote the ball of radius centered at in .
Let be a weighted graph with vertex set . We shall denote the distance between and in by . Whenever is clear from the context, we may omit the subscript in the distance notation. We use and to denote the vertex set and edge set of . Sometimes, the vertex set of is a set of points in and the weights of edges are given by the corresponding Euclidean distances. In this case, we use the term vertex and point interchangeably.
The spread (or aspect ratio) of a point set , denoted by , is the ratio of the largest pairwise distance to the smallest pairwise distance, i.e.,
The distance between a pair of point sets, denoted by , is the minimum distance between a point in and a point in .
We call a subset an -cover of if for any , there is a point such that . We say is an -net if it is an -cover and for any two points , .
We use and to denote the sets and , respectively. We will use the following inequalities:
In this work, we are mainly interested in (Steiner) spanners with stretch for some constant sufficiently smaller than . This is without loss of generality because a (Steiner) -spanner is also a (Steiner) -spanner. We use , for some constant , to indicate the fact that we are assuming is sufficiently smaller than .
Given a point set , we use to denote the greedy -spanner of . is obtained by considering all pairs of points in in increasing distance order and adding to the spanner edge whenever the distance between and in the current spanner is at least . When is clear from the context, we simply denote the greedy -spanner of by .
3 Lower bounds for spanners
In this section we provide our lower bounds for spanners, which are tight for both size and lightness for any . We start with the lower bound for , which is our main focus, and then generalize the argument for higher constant dimension . For simplicity of presentation, let us consider stretch for some constant independent of ; the same lower bounds for stretch follow by scaling.
Lower bounds for spanners in .
Let be an unit circle on the plane and let be a set of points of size evenly placed on the boundary of . The of has weight at most the circumference of which is at most . We shall use the fact that , for every , to argue that:
Let with . For any , we have .
Proof: Let and . We have . Note that for any , by Equation 2, and . Clearly, . We have:
By the triangle inequality, . Since and , we have . Thus, we have
Any -spanner of must have at least edges and weight at least , for some constant independent of .
Proof: Fix an arbitrary point and let be the set of furthest points from in . Let and note that . By Claim 3.1, , for any point and some constant independent of . Thus, any -spanner of must include all edges , for all . Summing over all points , there are overall such edges with , each with weight , thus the corollary follows.
We now prove Theorem 1.1 for . In the following we assume that .
Lightness bound. Let be any set of points obtained from the aforementioned set by adding points at the same locations of points of . The weight of remains unchanged, i.e., . By Corollary 3.2, any -spanner for must have weight , yielding the lightness bound.
Sparsity bound. Let , and take vertex-disjoint copies of the the aforementioned point set , denoted by , where each is defined with respect to a separate unit circle and the circles are sufficiently far from each other; it suffices for the circles to be horizontally aligned so that any consecutive circles are at distance 3 from each other. Let .
Let be any -spanner for . For each , let be the induced subgraph of on . Since the circles are sufficiently far from each other, for each , no -spanner path between any pair in may contain a point in , for any , hence is an -spanner of . By Corollary 3.2, we conclude that .
Lower bounds for spanners in higher dimensional spaces.
Let be a -dimensional unit sphere centered at the origin. A -spherical code
is the set of unit vectors, called codewords, such that the angle between any two vectors is at least . Let be the size of the largest -spherical code. A classic bound on (see  or ) is:
Let be a -spherical code of maximum size. Observe that ; indeed, Equation (3) yields and follows from a standard volume argument.
Consider any with . Let be any point in and let be the circle that goes through and . Since , has radius . For any , we have , hence we can apply Claim 3.1 to obtain , where the constant hiding in the -notation might be smaller than that in the claim statement, since the claim is stated w.r.t. a unit circle whereas has radius . It follows that any edge with must be included in any -spanner for , for some constant independent of and . Note also that for each point , there are points in lying on the hemisphere opposite to .
This enables us to generalize Corollary 3.2: Any -spanner of must have edges and weight , for some constant independent of and . Since the distance between any two nearby points in is , , and the lightness of is . For the size bound, we again use the trick of taking copies of the same point set that are sufficiently far from each other, and get that the spanner size is . For the size and lightness bounds to apply to -point sets, we assume that , i.e., .
4 Sparse Steiner spanners
In this section, we prove Theorem 1.3. Our proof strategy consists of two steps. In the first step we prove a relaxed version of Theorem 1.3, where the size of the spanner depends on the spread of the point set, . In the second step, we reduce the general problem to the relaxed one proved in the first step. For the reduction, we solve spanner construction problems, for point sets of spread each, and demonstrate that no dependency on , even a logarithmic one, is incurred. This reduction employs the standard net-tree spanner, based on a hierarchical net structure, which consists of edge sets that we refer to as ring spanners. Each ring spanner connects pairs of points at distance in the range , where grows geometrically with . A central ingredient of the reduction is a careful replacement of the ring spanners by much sparser Steiner ring spanners.
4.1 Steiner spanners for point sets of bounded spread
In this section we handle point sets of bounded spread, which constitutes a central ingredient in the proof of Theorem 1.3. Specifically, we prove the following statement.
For any set of points in with spread and any , there is a Steiner spanner of size .
4.1.1 An auxiliary lemma
We shall assume that is sufficiently smaller than . In what follows is an arbitrary (fixed) set of points in . Let be a point set in ; abusing notation, when is of infinite size (such as a rectangle or any other polygonal shape), we may use as a shortcut for , i.e., to denote the set of points in that belong to ; we may henceforth use as a shortcut for . Let and be two rectangles of the same length and width whose sides are parallel to the and axis. We say that are horizontally (respectively, vertically) parallel if there is a vertical (respectively, horizontal) line going through the left (respectively, top) sides of both rectangles The following lemma is crucial in our proof.
Let be two horizontally (respectively, vertically) parallel rectangles of width (resp., length) and the same length (resp., width). Let where . There is a Steiner spanner with edges such that for any point , , assuming is sufficiently smaller than .
Proof: By symmetry, it suffices to prove the lemma for two horizontally parallel rectangles. By scaling, we may assume that . Let be two vertical lines that contain the left sides and right sides of and , respectively. Let be the horizontal line segment of length with endpoints touching and and that is within distance from both and (see Figure 1). We then place a set of evenly spaced Steiner points along , and take to the Steiner spanner all edges that connect each of the Steiner points with all the points in . The vertex set of is and its edge set is of size .
We next prove the stretch bound for an arbitrary pair of points with , assuming is sufficiently smaller than . Let be the intersection of the line segments and and let be the closest point of to . Since the distance between consecutive points of along is , we have . Note also that . Defining , we conclude that
hence by Equation 2. Let be the projection of onto . We have:
By symmetry, we have . Since contains both edges and , it follows that
where and is the constant hiding in the -notation above. Thus we obtain a spanner with stretch and edges, and the required result now follows by scaling.
4.1.2 Proof of Proposition 4.1
This section is devoted to the proof of Proposition 4.1.
Since the spread is , we may assume without loss of generality that the point set is contained in a unit axis-parallel square, , and the minimum pairwise distance is for some constant .
We employ recursion to construct the Steiner spanner that proves the proposition. The high-level idea is to divide the current square into overlapping subsquares, where the overlap between adjacent (i.e., neighboring) squares is a small constant fraction of their side length. This overlap is useful since any pair of points that is not contained in any subsquare must be far apart, and specifically, at distance longer than the overlap between adjacent squares. We can thus apply Lemma 4.2 to get a sparse Steiner spanner for all the long pairwise distances, and then recurse on each subsquare. Note that each short distance is “internal” to at least one subsquare, so it is handled in deeper levels of the recursion. The top level of the recursion is applied to (the point set in) the original square, denoted by , with side length 1.
We now describe the recursive construction in detail.
Let be a parameter to be determined later and consider an arbitrary level of the recursion. All level squares will be handled in exactly the same way, hence it suffices to consider an arbitrary such square, denoted by . Let be the side length of . Initially, , and , which gives as required. We partition into disjoint subsquares , each of side length . Then, we extend each of the subsquares equally in four directions by a factor, for some constant to be determined later, so that each subsquare has side length (see Figures (2a) and (2b)). Let be the set of extended (overlapping) subsquares. We recurse on each extended subsquare to obtain a Steiner spanner, denoted by , for the point set in . By construction, it holds that and , which inductively resolves to and . Observe that the overlapping region between any two adjacent subsquares is a rectangle of side lengths and .
Next we handle the pairwise distances that are not taken care of by the recursion, i.e., those corresponding to pairs of points such that there is no subsquare of to which both and belong.
Without loss of generality we assume that the subsquares are indexed from left to right and from top to bottom. For each , we call a horizontal band of . Similarly, for each ,
we call a vertical band of .
To handle pairwise distances corresponding to pairs of points that belong to different horizontal bands, we use horizontal Steiner spanners.
Consider a pair of horizontal bands , where .
The horizontal Steiner spanner corresponding to the pair , denoted by , is constructed as follows.
We distinguish between two cases:
Case 1: . Note that and have width and . Thus we can apply Lemma 4.2 with to obtain a Steiner spanner satisfying:
Case 2: . Let and be the bands obtained from and , respectively, by removing the overlapping region of all the subsquares in extended from subsquares in and (see Figure 2(c)); we will refer to any such band as a truncated band. Note that and have width and . Thus we can apply Lemma 4.2 with to obtain a Steiner spanner satisfying:
To handle pairwise distances corresponding to pairs of points that belong to different vertical bands, we use vertical Steiner spanners , which are constructed (using Lemma 4.2) in the same way.
Overall, the recursive spanner construction for , denoted by , is given by:
and the recursion bottoms once a square contains at most one point. In particular, the recursion may proceed to deeper recursion levels only as long as the side length of a square is (where