In STOC’95 [5] Arya et al. showed that for any set of points in , a spanner with diameter at most 2 (respectively, 3) and edges (resp., edges) can be built in time. Moreover, it was shown in [5, 27] that for any , one can build in time a spanner with diameter at most and edges. The function is the inverse of a certain function at the th level of the primitive recursive hierarchy, where , …, etc. It is also known [27] that if one allows quadratic time then these bounds can be improved. Specifically, for any , a spanner with diameter at most and edges can be constructed in time [27].
A major open problem in this area is whether one can construct within time a spanner with diameter at most and edges. In this paper we answer this question in the affirmative. Moreover, in fact, we provide a stronger result. Specifically, we show that for any , a spanner with diameter at most and edges can be built in optimal time . The tradeoff between the diameter and number of edges of our spanners is tight up to constant factors in the entire range of parameters.
1 Introduction
1.1 Euclidean Spanners
Consider a set of points in and a number . A graph in which the weight of each edge is equal to the Euclidean distance between and is called a geometric graph. We say that the graph is a spanner for if for every pair of distinct points, there exists a path in between and whose weight^{1}^{1}1The weight of a path is defined to be the sum of all edge weights in it. is at most times the Euclidean distance between and . Such a path is called a spanner path. The problem of constructing Euclidean spanners has been studied intensively over the past two decades [15, 23, 4, 10, 16, 5, 17, 7, 29, 2, 11, 18]. (See also the recent book by Narasimhan and Smid [27], and the references therein.) Euclidean spanners find applications in geometric approximation algorithms, network topology design, geometric distance oracles, distributed systems, design of parallel machines, and other areas [16, 25, 29, 19, 21, 20, 22, 26].
Spanners are important geometric structures, since they enable approximation of the complete Euclidean graph in a much more economical form. First and foremost, a spanner should be sparse, meaning that it can have only a small (ideally, linear) number of edges. However, at the same time, the spanner is required to preserve some fundamental properties of the underlying complete graph. In particular, for some practical applications (e.g., in network routing protocols) it is desirable that the spanner achieves a small diameter, that is, for every pair of distinct points there should be a spanner path that consists of a small number of edges [6, 1, 2, 11, 18].
In a seminal STOC’95 paper [5], Arya et al. showed that for any set of points in one can build in time a spanner with diameter at most 2 and edges, and another one with diameter at most 3 and edges. Moreover, it was shown in [5, 27] that for any , one can build in time a spanner with diameter at most and edges. The function is the inverse of a certain function at the th level of the primitive recursive hierarchy, where , , etc. Roughly speaking, for the function is close to with stars. (See Section 2 for the formal definition of this function.) It is also known [27] that if one allows quadratic time then these bounds can be improved. Specifically, for any , a spanner with diameter at most and edges can be constructed in time [27].
If one wishes to produce spanners with edges but is willing to spend only time, then none of the above constructions of [5, 27] is of any help. However, there is another construction of spanners that can be used [11]. Specifically, Chan and Gupta [11] showed that there exists a spanner with diameter and edges^{2}^{2}2The construction of [11] applies, in fact, to doubling metrics. This tradeoff translates into a tradeoff of versus between the diameter and number of edges., where is the inverseAckermann function. Moreover, the construction of [11] can be implemented in time. The drawback of this construction, though, is that the constant factor hidden within the notation of the diameter bound is large. In particular, it does not provide a spanner whose diameter is, say, smaller than 50.
A major open problem in this area^{3}^{3}3It appears as open problem number 19 in the list of open problems in the treatise of Narasimhan and Smid [27] on Euclidean spanners; see p. 481. is whether one can construct in time a spanner with diameter at most and edges, for any . In this paper we answer this question in the affirmative. In fact, we provide a stronger result. Specifically, we show that a spanner with diameter at most and edges can be built in time.
Note that our tradeoff improves all previous results in a number of senses. In comparison to the construction of [27] that requires a quadratic running time, our construction is (1) drastically faster, and (2) produces a spanner that is sparser by a factor of . In comparison to the result of [5, 27] that for any produces in time , a spanner with diameter at most and edges, our construction has (1) a diameter half as large, (2) is faster by a factor of , and (3) produces a spanner that is sparser by a factor of . Finally, in comparison to the construction of [11], the diameter of our construction is smaller by a significant constant factor. (See Table 1 for a concise comparison of previous and new results.)
[27]  [5, 27]  [11]  New  

Diameter  
Number of edges  
Running time 
There are two particular values of that deserve special attention. First, for our tradeoff shows that one can build in time a spanner with diameter at most 4 and edges. This result provides the first subquadratictime construction of spanners with diameter at most and edges. Second, for , our tradeoff gives rise to a diameter at most and edges. In all the previous works of [5, 11, 27], a construction of spanners with diameter and edges was also provided. However, the constants hidden within the notation of the diameter bound in the corresponding constructions of [5, 11, 27] are significantly larger than . Since for all practical applications, this improvement on the diameter bound is of practical importance.
Our tradeoff is tight in all respects. Indeed, the upper bound of on the running time of our construction holds in the algebraic computationtree model. A matching lower bound is given in [14]. In addition, Chan and Gupta [11] proved that there exists a set of points on the axis for which any spanner with at most edges must have a diameter at least . This lower bound (cf. Corollary 4.1 therein [11]) implies that our tradeoff of versus between the diameter and number of edges cannot be improved^{4}^{4}4See also open problem 20 on p. 481 in [27], and the corresponding solution [11, 30]. by more than constant factors even for 1dimensional spaces.
1.2 1Spanners for Tree Metrics
The tree metric induced by an arbitrary vertex weighted tree is denoted by . A spanning subgraph of is said to be a 1spanner for , if for every pair of vertices, their distance in is equal to their distance in . Let be the unweighted path graph on vertices.
In a classical STOC’82 paper [36], Yao showed that there exists a 1spanner^{5}^{5}5Yao stated this problem in terms of partial sums. for with diameter and edges, for any . Chazelle [12] extended the result of [36] to arbitrary tree metrics, and presented an time algorithm for computing a 1spanner realizing this tradeoff. Thorup [35] provided an alternative algorithmic proof of Chazelle’s result [12], and, in addition, devised an efficient parallel algorithm for computing such a 1spanner. In all these constructions [36, 12, 35], the constants hidden within the notation of the diameter bound are significantly larger than 2. In particular, none of these constructions can produce a spanner whose diameter is, say, smaller than 25.
Alon and Schieber [3] and Bodlaender et al. [9] independently showed that a 1spanner for with diameter at most and edges can be built in time, for any constant . The constructions of [3] and [9] were also extended to arbitrary tree metrics. Specifically, Alon and Schieber [3] showed that for any tree metric, a 1spanner with diameter at most (rather than ) and edges can be built in time. Also, they managed to reduce the diameter bound from back to in the particular cases of and . Bodlaender et al. [9] devised a construction of 1spanners for arbitrary tree metrics with diameter at most and edges. However, the question of whether this construction of Bodlaender et al. can be implemented efficiently was left open in [9], and remained open prior to this work.
Narasimhan and Smid [27] extended the constructions of [3] and [9] to superconstant values of . Specifically, they showed that for any and any tree metric, a 1spanner with diameter at most (respectively, ) and (resp., edges can be built in time (resp., ).
On the way to our results for Euclidean spanners, we have improved the constructions of [3, 9, 27] and devised an time algorithm that builds 1spanners for arbitrary tree metrics with diameter at most and edges, for any . (See Table 2 for a comparison of previous and new results.)
Diameter  Number of edges  Running time  
[12, 35]  , for any  
[3]  , for a constant  
[27]  , for any  
[9, 27]  , for any  
New  , for any  
[3]  7  
[9, 27]  4  
New  
[12, 35, 3, 27]  
New 
The running time of our algorithm is linear in the number of edges of the resulting spanners. Also, it was proved in [3] that any 1spanner for with diameter at most must have at least edges. This lower bound implies that the tradeoff between the diameter and number of edges of our spanners is tight in the entire range of parameters.
The problem of constructing 1spanners for tree metrics is a natural one, and, not surprisingly, has also been studied in more general settings, such as planar metrics [34], general metrics [33], and general graphs [8]. (See also Chapter 12 in [27] for an excellent survey on this problem.) This problem is also closely related to the extremely wellstudied problem of computing partialsums. (See the papers of Tarjan [32], Yao [36], Chazelle and Rosenberg [13], Pătraşcu and Demaine [28], and the references therein.) For a discussion about the relationship between these two problems see the introduction of [2]. We demonstrate that our construction of 1spanners for tree metrics is useful for improving key results in the context of Euclidean spanners. We anticipate that this construction would be found useful in the context of partial sums problems, and for other applications such as those discussed in [9, 8]. Finally, we believe that regardless of its applications, this construction is of independent interest.
1.3 Lower Bounds for Euclidean Steiner Spanners
The lower bound of Chan and Gupta [11] on the tradeoff between the diameter and number of edges of Euclidean spanners was mentioned in Section 1.1. Formally, it states that for any , there exists a set of points on the axis, where is an arbitrary power of two, for which any spanner with at most edges has diameter at least . Consequently, the corresponding upper bound construction of [11] is optimal up to constant factors. However, the lower bound of Chan and Gupta [11] does not preclude the existence of Euclidean Steiner spanners^{6}^{6}6A Euclidean Steiner spanner for a point set is a spanner that may contain additional Steiner points, i.e., points that do not belong to the original point set . with diameter and edges.
In this paper we demonstrate that as far as the diameter and number of edges are concerned, Steiner points do not help. Consequently, the upper bound construction of [11], as well as the constructions of Euclidean spanners and spanners for tree metrics that are provided in the current paper, cannot be improved even if one allows the spanner to employ (arbitrarily many) Steiner points.
1.4 Our and Previous Techniques
Arya et al. [5] demonstrated that it is possible to represent Euclidean spanners as a forest that consists of a constant number of dumbbell trees, such that for any pair of distinct points, there exists a dumbbell tree , which satisfies that the path between and in is a spanner path. This remarkable property provides a powerful tool for reducing problems on general graphs to similar problems on trees. Indeed, both constructions of Euclidean sparse spanners with bounded diameter of [5, 27] employ the following fourstep scheme. First, build a Euclidean spanner with linear number of edges (and possibly huge diameter) as done, e.g., in [10]. Second, decompose the spanner into a constant number of dumbbell trees as mentioned above. Third, build a sparse 1spanner with bounded diameter for each of these dumbbell trees. Finally, return the union of these 1spanners as the ultimate spanner. Chan and Gupta [11] employ a similar approach for building their spanners for doubling metrics. Roughly speaking, instead of working with dumbbell trees, Chan and Gupta use net trees that share similar properties.
Our construction of Euclidean spanners also follows the above fourstep scheme. Next, we discuss the technical challenges we faced on the way to achieving an optimaltime construction of 1spanners for arbitrary point tree metrics with diameter at most and edges, where and are arbitrary integers.
A central ingredient in the constructions of 1spanners for tree metrics of [12, 3, 9, 27] is a tree decomposition procedure. Given an vertex rooted tree and a parameter , this procedure computes a set of at most cutvertices whose removal from the tree decomposes into a collection of subtrees of size at most each. For our purposes, it is crucial that the running time of this procedure will be . Equally important, the size of the set must not exceed . None of the decomposition procedures of [12, 3, 9, 27] satisfies these two requirements simultaneously. The decomposition procedure of [27], for example, requires time rather than , and the size bound of is rather than . We remark that the slack of two on the size bound of contributes a factor of to the number of edges and the running time of the spanner construction of [27]. Also, the slack of on the running time of this procedure contributes an additional factor of to the the running time of the construction of [27]. Consequently, the number of edges and the running time of the spanner construction of [27] are bounded above by and , respectively. The decomposition procedure of [9] is the only one in which the size bound of is no greater than , but it is unclear whether this procedure can be implemented efficiently. In this paper we provide a decomposition procedure that satisfies both these requirements. Our procedure is, in addition, surprisingly simple.
Special attention should be given to determining an optimal value for the parameter . In particular, the value of was set to be in both [3] and [27]. In this paper we define a variant of the function , such that , for all , and demonstrate that is a much better choice for than is. (See Section 2 for the formal definitions of the functions and .) In particular, this optimization enables us to “shave” a factor of from both the number of edges and the running time of our construction, thus proving that this choice of for is, in fact, optimal.
Another key ingredient in the constructions of [12, 3, 9, 27] is the computation of an edge set that connects the cut vertices of . Alon and Schieber [3] and Narasimhan and Smid [27] employed a natural yet inherently suboptimal approach. First, construct a tree on the vertex set that “inherits” the tree structure of the original tree , by making each vertex of a child of the first vertex of on the path in from to . Second, recursively compute a sparse 1spanner for with diameter at most . Note that every 1spanner path for between a pair of vertices, such that is an ancestor of in , is also a 1spanner path for . However, this property does not necessarily hold for a general pair of vertices in , since their least common ancestor might not be in . Consequently, a 1spanner for with diameter at most provides a 1spanner for with diameter at most rather than . (See Chapter 12 in [27] for further detail.) To overcome this obstacle, Chazelle [12] suggested connecting the vertices of into a Steiner tree using as many additional Steiner vertices as needed to guarantee that every 1spanner path for will also be a 1spanner path for the original tree . Bodlaender et al. [9] took this idea of [12] one step further and studied a generalized problem of constructing 1spanners for arbitrary Steiner tree metrics.^{7}^{7}7Bodlaender et al. [9] referred to this problem as the Restricted Bridge Problem. Specifically, suppose that in , a subset of the vertices are colored black, and the rest of the vertices in are colored white. The black (respectively, white) vertices are called the required vertices (resp., Steiner vertices) of . We say that a 1spanner for has diameter at most if contains a 1spanner path for that consists of at most edges, for every pair of required vertices in . Bodlaender et al. [9] provided a construction of 1spanners for arbitrary Steiner tree metrics with diameter at most and edges, for any constant . However, it was unclear prior to this work whether this construction of [9] can be implemented in subquadratic time [27]. In this paper we combine some ideas of [12, 3, 9, 27] with numerous new ideas to produce an algorithm that implements the construction of Bodlaender et al. [9] in optimaltime, and, in addition, extends it to superconstant values of . In particular, we devise a linear time procedure for pruning the redundant vertices of a Steiner tree, while preserving its basic structure and intrinsic properties. Our algorithm makes an extensive use of this pruning procedure, e.g., for pruning the initial Steiner tree from its redundant vertices, and for computing the edge set that connects the cut vertices of .
Finally, our extension of the lower bound of [11] to Euclidean Steiner spanners employs a direct combinatorial argument, which shows that any Steiner spanner can be “pruned” from Steiner points, while increasing the number of edges by a small factor and preserving the same diameter. More specifically, we demonstrate that it is possible to replace each edge of the original Steiner spanner with a constant number of edges–none of which is incident on a Steiner point, so that for every pair of required points and any path in the original Steiner spanner between them, there would be a path in the resulting graph between these points that consists of the same number of edges as and whose weight is no greater than that of .
1.5 Structure of the Paper
In Section 2 we present some very slowly growing functions that are used throughout the paper, and analyze their properties. The technical proofs involved in this analysis are relegated to Appendices A and B. Section 3 is devoted to our construction of 1spanners for tree metrics. Therein we start (Section 3.1) with outlining our basic scheme. We proceed (Section 3.2) with presenting the pruning procedure and providing a few useful properties of the resulting pruned trees. The decomposition procedure is given in Section 3.3. Finally, in Section 3.4 we provide an optimaltime algorithm for computing 1spanners for tree metrics and analyze its performance. In Section 4 we derive our construction of Euclidean spanners. Our lower bounds for Euclidean Steiner spanners are established in Section 5.
1.6 Definitions and Notation
The size of a tree , denoted , is the number of vertices in . The number of edges in a path is denoted by , and the weight of is denoted by . For a tree and a subset of , we denote by the forest obtained from by removing all vertices in along with the edges that are incident to them. For a positive integer , we denote the set by . In what follows all logarithms are in base 2.
2 Some Very Slowly Growing Functions
In this section we present a number of very slowly growing functions that are used throughout.
Following [31, 3, 27], we define the following two very rapidly growing functions and :

, for all ; , for all ; , for all .

, for all ; , for all ; , for all .
We define the functional inverses of the functions and in the following way:

, for all .

, for all .
For technical convenience, we define . Observe that for all : , , , , , , …, etc.
The following lemma can be easily verified.
Lemma 2.1
(1) For all , the function is monotone nondecreasing with . (2) For all and , . Also, for all (respectively, ), we have (resp., ). (3) For all and , .
The following lemma from [27] provides a useful characterization of the function .
Lemma 2.2 (Lemma 12.1.16 in [27], p. 230)
Let be an arbitrary integer. Then , for all , and . Also, if is odd, and if is even.
Next, we define a variant of the function .

, for all ; , for all

, for all and ;
, for all and .
The following lemma, whose proof appears in Appendix A, is analogous to Lemma 2.1. It establishes key properties of the function that will be used in the sequel.
Lemma 2.3
(1) For all , the function is monotone nondecreasing with . (2) For all and , . Also, for all (respectively, ), we have (resp., ). (3) For all and , .
Observe that for all and , . The following lemma, whose proof appears in Appendix B, shows that is not much greater than .
Lemma 2.4
For all , .
The Ackermann function is defined by , for all , and the oneparameter inverseAckermann function is defined by , for all . In [27] it is shown that . (A similar bound was established in [24].) By Lemma 2.4, we get that . Finally, the twoparameter inverse Ackermann function is defined by , for all .
3 1Spanners for Tree Metrics
In this section we present our construction of 1spanners for tree metrics.
3.1 The Basic Scheme
Let be an arbitrary vertex weighted rooted tree, and let be the tree metric induced by . Our goal is to compute a sparse 1spanner for with bounded diameter. Clearly, is already a sparse 1spanner for itself, but its diameter may be huge. We would like to reduce the diameter of by adding to it a small number of edges.
For a pair of vertices in , we denote by the unique path in between and . Let be an arbitrary unweighted graph on the vertex set of . A path in between and is called monotone if it is a subpath of , i.e., if we write , then can be written as , where . The monotone distance between a pair of vertices in is defined as the minimum number of edges in a monotone path in connecting them. The monotone diameter of , denoted , is defined as the maximum monotone distance between any pair of vertices in . (If is clear from the context, we may write diameter instead of monotone diameter.) By the triangle inequality, for any monotone path in , the corresponding weighted path in provides a 1spanner path for . Hence, translates into a 1spanner for with diameter , and this holds true regardless of the actual weight function of . We henceforth restrict attention to unweighted trees in the sequel.
Following [9], we study a generalization of the problem for Steiner trees, where there is a designated subset of required vertices, and the diameter of a 1spanner for is defined as the maximum monotone distance between any pair of required vertices. The requiredsize of a Steiner tree is defined as the number of required vertices in it. Also, the remaining vertices in are called the Steiner vertices of . If the number of Steiner vertices in is (much) larger than the number of required vertices, it might be possible to prune some redundant Steiner vertices from while preserving its basic structure and intrinsic properties. A Steiner rooted tree is called monotone preserving, if (1) , and (2) for every pair of required vertices, the unique path between and in is monotone. Consider a monotone preserving tree , and let be an arbitrary pair of required vertices. Note that any monotone path between and is also monotone. Thus any 1spanner for with monotone diameter is also a 1spanner for with monotone diameter .
Our algorithm for constructing 1spanners for Steiner tree metrics employs the following recursive scheme. We start by pruning the redundant vertices of , thus transforming into a monotone preserving tree that does not contain too many Steiner vertices. We then select a set of at most cutvertices whose removal from the tree decomposes it into a collection of subtrees of requiredsize at most each, for some parameter . Next, we would like to connect the cutvertices using a small number of edges, so that the monotone distance between any pair of cutvertices will be small. To this end we (1) compute a copy of in which the designated set of required vertices is , (2) prune from its redundant vertices, and (3) call the algorithm recursively on the resulting pruned tree. We then add a small number of edges to connect between cut vertices and subtrees in the spanner. This step is simple and does not involve a recursive call of the algorithm. Finally, we prune each of the subtrees from redundant vertices, and then call the algorithm recursively for each of them.
3.2 The Pruning Procedure
In this section we devise a procedure for pruning the redundant vertices of a Steiner tree while preserving its basic structure. In addition, we provide a few useful properties of pruned trees.
For a Steiner rooted tree and a pair of vertices in , we denote by the least common ancestor (henceforth, LCA) of and in . A Steiner vertex in is called useful if it is the LCA of some pair of required vertices . Otherwise it is called redundant. We denote by the set of all useful vertices in , i.e., . A Steiner rooted tree with no redundant vertices is called pruned.
We denote the children of the root vertex in a Steiner rooted tree by , where denotes the number of children of in . For each index , let be the subtree of rooted at . We say that the subtree is required if it contains at least one required vertex, i.e., if is nonempty. Otherwise we say that it is redundant. Notice that all vertices in a redundant subtree are redundant. Denote by the set of all indices , such that and is a required subtree.
Next, we present a linear time procedure that accepts as input a Steiner rooted tree , and transforms it into a pruned monotone preserving tree .
If consists of just the single vertex , then the procedure either leaves intact if ,
or it transforms into an empty tree if .
Otherwise, .
For each index , the tree is recursively transformed into a pruned monotone preserving tree .
Observe that for each index , and is a redundant subtree,
and so is empty. Also, for each index ,
the subtree is nonempty.
The procedure removes all edges connecting the root vertex of with its children.
The execution of the procedure then splits into four cases.
Case 1: . The root vertex of remains the root vertex of , and for each
index , an edge connecting with the root of is added.
Case 2: and . Hence, , and the procedure transforms into an
empty tree.
Case 3: and . In this case is redundant, and there
is a single nonempty subtree , i.e., , for some index .
Hence, the procedure removes and sets .
Case 4: and . In this case is useful. As in
case 1, the root of remains the root vertex of , and for each
index , an edge connecting with the root of is added.
(See Figure 1 for an illustration.)
It is easy to verify that the procedure can be implemented in linear time.
Next, we analyze the properties of the resulting tree .
The following lemma follows easily from the description of the procedure.
Lemma 3.1
is a Steiner rooted tree over , and . Also, for each index , is a Steiner rooted tree over , and .
Lemma 3.2
For any pair of vertices in , is an ancestor of in iff it is its ancestor in .
Proof:
The proof is by induction on .
The basis holds vacuously.
Induction Step: We assume the correctness of the statement for all smaller values of , ,
and prove it for . Since , it must hold that . Next, we prove the “only if” part.
The argument for the “if” part is similar.
Consider an arbitrary pair of vertices in , such that is an ancestor of in .
Next, we show that is also an ancestor of in .
By Lemma 3.1, for each index , .
The analysis splits into two cases.
Case 1: and . In this case , with .
Notice that and belong to .
By the induction hypothesis for , is an ancestor of in , and thus also in .
Case 2: Either or .
In both cases , and for each index ,
the root of the subtree is a child of in .
If both and belong to the same subtree , for
some index , then they both belong to . Hence, by the induction hypothesis for ,
is an ancestor of in , and thus also in .
Since is an ancestor of in , and cannot belong to different subtrees and of ,
.
Hence, the remaining case is that . Clearly, is an ancestor of
in , and we are done.
Lemma 3.3
For any pair of required vertices, .
Proof: Write and . First, notice that is either a required vertex or a useful vertex. By Lemma 3.1, we get that belongs to . By definition, is the LCA of and in . By Lemma 3.2, it follows that is a common ancestor of and in , and so it must be an ancestor of their LCA in . Lemma 3.2 implies that is an ancestor of also in . However, by applying Lemma 3.2 again, we get that is a common ancestor of and in , and so it must be an ancestor of their LCA in . It follows that .
Corollary 3.4
is pruned.
Proof: We argue that . Indeed, by Lemma 3.1, and . Hence, , and so . To see why holds true as well, consider a vertex . By definition, , and there exists a pair of required vertices , such that . Hence, , and by Lemma 3.3, . It follows that .
Consequently, , and so there are no redundant vertices in .
Lemma 3.5
For any pair of vertices in , such that is an ancestor of in , is monotone.
Proof: Write . By Lemma 3.2, for each index , is an ancestor of in . Hence, is a subpath of , i.e., it is monotone.
We conclude that is monotone preserving.
Corollary 3.6
For any pair of required vertices, is monotone.
Proof: If is either an ancestor or a descendant of in , then the statement follows from Lemma 3.5.
We may henceforth assume that . Write and . By Lemma 3.3, . Observe that is a concatenation of the two paths and , i.e., . Similarly, we have . Lemma 3.5 implies that both and are monotone, or equivalently, is a subpath of and is a subpath of . It follows that is a subpath of , i.e., is monotone.
Having proved that is a pruned monotone preserving tree, we now turn to establish a number of basic properties of pruned trees that will be of use in the sequel.
A Steiner tree in which the number of Steiner vertices is smaller than the number of required vertices is called compact. Note that in any (nonempty) pruned tree , and . The next lemma implies that any nonempty pruned tree is compact.
Lemma 3.7
For any Steiner rooted tree (not necessarily pruned), .
Proof:
The proof is by induction on . The basis is trivial.
Induction Step: We assume the correctness of the statement for all smaller values of , ,
and prove it for .
If , then by definition
as well, and we are done.
We henceforth assume that is nonempty, and so .
By definition, for each index , , and for each index ,
.
Hence, by the induction hypothesis, for each index , ,
and for each index , .
Clearly, the sets and are pairwise disjoint.
The analysis splits into three cases.
Case 1: .
In this case and , implying
that and .
Altogether,
Case 2: is redundant, i.e., .
Since and is redundant, it must hold that , i.e., ,
for some index .
Hence, and , implying that
Case 3: is useful, i.e., .
In this case there must be at least two different required subtrees and , , and
so .
Observe that and , implying
that and .
It follows that