DOKK Library

Pinning Down the Strong Wilber-1 Bound for Binary Search Trees

Authors Parinya Chalermsook, Julia Chuzhoy, Thatchaphol Saranurak,

License CC-BY-3.0

Plaintext
                            T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71
                                         www.theoryofcomputing.org

                           S PECIAL ISSUE : APPROX-RANDOM 2020



Pinning Down the Strong Wilber-1 Bound
        for Binary Search Trees
   Parinya Chalermsookโ€ก                           Julia Chuzhoyยง        Thatchaphol Saranurak
                 Received June 13, 2021; Revised August 10, 2022; Published December 19, 2023




       Abstract. Dynamic Optimality Conjecture, postulating the existence of an ๐‘‚(1)-
       competitive online algorithm for binary search trees (BSTs), is among the most
       fundamental open problems in dynamic data structures. The conjecture remains
       wide open, despite extensive work and some notable progress, including, for
       example, the ๐‘‚(log log ๐‘›)-competitive Tango Trees, which is the best currently
       known competitive ratio. One of the main hurdles towards settling the conjecture is
       that we currently do not have polynomial-time approximation algorithms achieving
       better than an ๐‘‚(log log ๐‘›)-approximation, even in the offline setting. All known
       non-trivial algorithms for BSTs rely on comparing the algorithmโ€™s cost with the
       so-called Wilber-1 bound (WB-1). Therefore, establishing the worst-case relationship
     An extended abstract of this paper appeared in the Proceedings of the 23rd Internat. Conf. on Approximation
Algorithms and Combinatorial Optimization (APPROXโ€™20)
   โ€ก Supported by the European Research Council (ERC) under the European Unionโ€™s Horizon 2020 research and
innovation programme (grant agreement No. 759557) and by the Academy of Finland Research Fellows program,
under grant No. 310415.
   ยง Supported in part by NSF grant CCF-1616584. Part of the work was done while the second author was a Weston
visiting professor at the Department of Computer Science and Applied Mathematics, Weizmann Institute of Science.


ACM Classification: Theory of computation โ†’ Data structure design and analysis
AMS Classification: 68Q25, 68W25
Key words and phrases: binary search trees, dynamic optimality, data structures


ยฉ 2023 Parinya Chalermsook, Julia Chuzhoy, and Thatchaphol Saranurak
c b Licensed under a Creative Commons Attribution License (CC-BY)                    DOI: 10.4086/toc.2023.v019a008
               PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

       between this bound and the optimal solution cost appears crucial for further progress,
       and it is an interesting open question in its own right.
          Our contribution is twofold. First, we show that the gap between WB-1 and
       the optimal solution value can be as large as ฮฉ(log log ๐‘›/log log log ๐‘›); in fact, we
       show that the gap holds even for several stronger variants of the bound.1 Second,
       we show,
             given an integer
                                 ๐ท > 0, a ๐ท-approximation algorithm that runs in time
                      ฮฉ(๐ท)
       exp ๐‘‚ ๐‘› 1/2           log ๐‘›   . In particular, this yields a constant-factor approximation
       algorithm with subexponential running time.2 Moreover, we obtain a simpler and
       cleaner efficient ๐‘‚(log log ๐‘›)-approximation algorithm that can be used in an online
       setting. Finally, we suggest a new bound, that we call the Guillotine Bound, that is
       stronger than WB-1, while maintaining its algorithm-friendly nature, that we hope
       will lead to better algorithms. All our results use the geometric interpretation of the
       problem, leading to cleaner and simpler analysis.


1     Introduction

1.1    Binary search trees

Binary search trees (BSTโ€™s) are a fundamental data structure that has been extensively studied
for many decades. Informally, suppose we are given as input an online access sequence
๐‘‹ = {๐‘ฅ 1 , . . . , ๐‘ฅ ๐‘š } of keys from {1, . . . , ๐‘›}, and our goal is to maintain a binary search tree ๐‘‡
over the set {1, . . . , ๐‘›} of keys. The algorithm is allowed to modify the tree ๐‘‡ after each access;
the tree obtained after the ๐‘–th access is denoted by ๐‘‡๐‘–+1 . Each such modification involves a
sequence of rotation operations that transform the current tree ๐‘‡๐‘– into a new tree ๐‘‡๐‘–+1 . The cost
of the transformation is the total number of rotations performed plus the depth of the key ๐‘ฅ ๐‘–
in the tree ๐‘‡๐‘– . The total cost of the algorithm is the total cost of all transformations performed
as the sequence ๐‘‹ is processed. We denote by OPT(๐‘‹) the smallest cost of any algorithm for
maintaining a BST for the access sequence ๐‘‹, when the whole sequence ๐‘‹ is known to the
algorithm in advance.
Several algorithms for BSTโ€™s, whose costs are guaranteed to be ๐‘‚(๐‘š log ๐‘›) for any access
sequence, such as AVL-trees [1] and red-black trees [2], are known since the 60โ€™s (see [10],
Chapters 12 and 13). Moreover, it is well known that there are length-๐‘š access sequences ๐‘‹
on ๐‘› keys, for which OPT(๐‘‹) = ฮฉ(๐‘š log ๐‘›). However, such optimal worst-case guarantees are
often unsatisfactory from both practical and theoretical perspectives, as one can often obtain
better results for โ€œstructuredโ€ inputs. Arguably, a better notion of the algorithmโ€™s performance
to consider is instance optimality, where the algorithmโ€™s performance is compared to the optimal
cost OPT(๐‘‹) for the specific input access sequence ๐‘‹. This notion is naturally captured by the
algorithmโ€™s competitive ratio: we say that an algorithm for BSTโ€™s is ๐›ผ-competitive, if, for every
    1A recent independent paper by Lecomte and Weinstein (ESAโ€™20) shows an even stronger, ฮฉ(log log ๐‘›), separation.
    2The term โ€œsubexponential timeโ€ in this paper refers to the running time 2๐‘œ(๐‘›) .


                          T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                   2
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

online input access sequence ๐‘‹, the cost of the algorithmโ€™s execution on ๐‘‹ is at most ๐›ผ ยท OPT(๐‘‹).
Since for every length-๐‘š access sequence ๐‘‹, OPT(๐‘‹) โ‰ฅ ๐‘š, the above-mentioned algorithms
that provide worst-case ๐‘‚(๐‘š log ๐‘›)-cost guarantees are also ๐‘‚(log ๐‘›)-competitive. However,
there are many known important special cases, in which the value of the optimal solution is
๐‘‚(๐‘š), and for which the existence of an ๐‘‚(1)-competitive algorithm would lead to a much
better performance, including some interesting applications, such as, for example, adaptive
sorting [27, 7, 23, 26, 15, 24, 13, 9, 8, 3, 6, 5, 19].


1.1.1   The Dynamic Optimality Conjecture

A striking conjecture of Sleator and Tarjan [25] from 1985, called the dynamic optimality conjecture,
asserts that the Splay Trees provide an ๐‘‚(1)-competitive algorithm for BSTโ€™s. This conjecture has
sparked a long line of research, but despite the continuing effort, and the seeming simplicity
of BSTโ€™s, it remains widely open. In a breakthrough result, Demaine et al. [12] proposed the
Tango Trees algorithm, that achieves an ๐‘‚(log log ๐‘›)-competitive ratio, and has remained the
best known algorithm for the problem, for over 15 years. A natural avenue for overcoming this
barrier is to first consider the โ€œeasierโ€ task of designing (offline) approximation algorithms,
whose approximation factor is below ๐‘‚(log log ๐‘›). Designing better approximation algorithms
is often a precursor to obtaining better online algorithms, and it is a natural stepping stone
towards this goal.


1.1.2   The Wilber bounds

The main obstacle towards designing better algorithms, both in the online and the offline settings,
is obtaining tight lower bounds on the value OPT(๐‘‹), that can be used in algorithm design. In
order to improve upon the trivial ๐‘‚(log ๐‘›) approximation, the lower bound OPT(๐‘‹) โ‰ฅ ๐‘š is not
sufficient1. Wilber [29] proposed two new bounds, that we refer to as the Wilber-1 Bound, or
Wilberโ€™s first bound, (WB-1) and the Wilber-2 Bound (WB-2). He proved that, for every input
sequence ๐‘‹, the values of both these bounds on ๐‘‹ are at most OPT(๐‘‹). The breakthrough
result of Demaine et al. [12], that gives an ๐‘‚(log log ๐‘›)-competitive online algorithm, relies
on the WB-1 bound. In particular, they show that the cost of the solution produced by their
algorithm is within an ๐‘‚(log log ๐‘›)-factor from the WB-1 bound on the given input sequence ๐‘‹,
and hence from OPT(๐‘‹). This in turn implies that, for every input sequence ๐‘‹, the value of the
WB-1 bound is within an ๐‘‚(log log ๐‘›) factor from OPT(๐‘‹). Follow-up work [28, 16] improved
several aspects of Tango Trees, but it did not improve the approximation factor. Additional
lower bounds on OPT, that subsume both the WB-1 and the WB-2 bounds, were suggested in
[11, 14, 17], but unfortunately it is not clear how to exploit them in algorithm design. To this day,
the only method we have for designing non-trivial online or offline approximation algorithms
for BSTโ€™s is by relying on the WB-1 bound, and this seems to be the most promising approach
for obtaining better algorithms. In order to make further progress on both online and offline
   1This is due to the existence of sequences ๐‘‹ with OPT(๐‘‹) = ฮฉ(๐‘š log ๐‘›).


                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                       3
             PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

approximation algorithms for BSTโ€™s, it therefore appears crucial that we better understand the
relationship between the WB-1 bound and the optimal solution cost.
Informally, the WB-1 bound relies on recursive partitioning of the input key sequence, that can be
represented by a partitioning tree. The standard WB-1 bound (that we refer to as the weak WB-1
bound) only considers a single such partitioning tree. It is well-known (see, e.g., [12, 28, 18]),
that the gap between OPT(๐‘‹) and the weak WB-1 bound for an access sequence ๐‘‹ may be as
large as ฮฉ(log log ๐‘›). However, the โ€œbadโ€ access sequence ๐‘‹ used to obtain this gap is highly
dependent on the fixed partitioning tree ๐‘‡. It is then natural to consider a stronger variant of
WB-1, that we refer to as strong WB-1 bound and denote by WB(๐‘‹), that maximizes the weak
WB-1 bound over all such partitioning trees. As suggested by Iacono [18], and by Kozma [20],
this gives a promising approach for improving the ๐‘‚(log log ๐‘›)-approximation factor.


1.1.3   Our results

In this paper, we show that, even for this strong variant of WB-1, the gap between OPT(๐‘‹) and
WB(๐‘‹) may be as large as ฮฉ(log log ๐‘›/log log log ๐‘›). This negative result extends to an even
stronger variant of WB-1 that we discuss below.
Our second set of results is algorithmic. We show, for any positive integer
                                                                            ๐ท, an (offline) ๐ท-
                                                                  ฮฉ(๐ท)
approximation algorithm that runs in time poly(๐‘š) ยท exp ๐‘‚(๐‘› 1/2          log ๐‘›) . When ๐ท is constant,
we obtain an ๐‘‚(1)-approximation in subexponential time. When ๐ท is ฮ˜(log log ๐‘›), our algorithm
matches current polynomial-time approximation ratio, which is ๐‘‚(log log ๐‘›). In the latter case,
we can also adapt the algorithm to the online setting, obtaining an ๐‘‚(log log ๐‘›)-competitive
online algorithm.
All our results use the geometric interpretation of the problem, introduced by Demaine et al. [11],
leading to clean divide-and-conquer-style arguments that avoid, for example, the notion of
pointers and rotations. We feel that this approach, in addition to providing a cleaner and simpler
view of the problem, is more natural to work with in the context of approximation algorithms,
and should be more amenable to the powerful geometric techniques in the field.


1.2     Independent work

Independently from our work, Lecomte and Weinstein [21] showed that second Wilber bound
(also called funnel bound) dominates WB-1, and moreover, they show an access sequence ๐‘‹ for
which the two bounds have a gap of ฮฉ(log log ๐‘›). In particular, their result implies that the gap
between WB(๐‘‹) and OPT(๐‘‹) is ฮฉ(log log ๐‘›) for that access sequence. Their result subsumes our
Theorem 1.1 entirely (but not the extension discussed in Section 1.3.3).
We note that the access sequence ๐‘‹ used in our negative results provides a gap of

                                    ฮฉ(log log ๐‘›/log log log ๐‘›)

                      T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                         4
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

between the WB-2 and the WB-1 bounds, although we only realized this after hearing the
statement of the results of [21]. Additionally, Lecomte and Weinstein show that WB-2 is invariant
under rotations, and use this to show that, when the WB-2 is constant, then the Independent
Rectangle bound of [11] is linear.




1.3     Statements of our results

We now formally state our results.




1.3.1    Geometric representation

We use the geometric interpretation of the problem, introduced by Demaine et al. [11], that we
refer to as the Min-Sat problem. Let ๐‘ƒ be any set of points in the plane. We say that two points
๐‘, ๐‘ž โˆˆ ๐‘ƒ are aligned iff either their ๐‘ฅ-coordinates are equal, or their ๐‘ฆ-coordinates are equal. If ๐‘
and ๐‘ž are not aligned, then let ๐‘,๐‘ž be the smallest closed axis-aligned rectangle containing both
๐‘ and ๐‘ž; notice that ๐‘ and ๐‘ž must be diagonally opposite corners of this rectangle. We say that
the pair (๐‘, ๐‘ž) of points is satisfied in ๐‘ƒ iff there is some additional point ๐‘Ÿ โ‰  ๐‘, ๐‘ž in ๐‘ƒ that lies in
๐‘,๐‘ž (the point may lie on the boundary of the rectangle). Lastly, we say that the set ๐‘ƒ of points
is satisfied iff for every pair ๐‘, ๐‘ž โˆˆ ๐‘ƒ of distinct points, either ๐‘ and ๐‘ž are aligned, or they are
satisfied in ๐‘ƒ.
In the Min-Sat problem, the input is a set ๐‘ƒ of points in the plane with integral ๐‘ฅ- and ๐‘ฆ-
coordinates; we assume that all ๐‘ฅ-coordinates are between 1 and ๐‘›, and all ๐‘ฆ-coordinates
are between 1 and ๐‘š and distinct from each other, and that |๐‘ƒ| = ๐‘š. The goal is to find a
minimum-cardinality set ๐‘Œ of points, such that the set ๐‘ƒ โˆช ๐‘Œ of points is satisfied.
An access sequence ๐‘‹ over keys {1, . . . , ๐‘›} can be represented by a set ๐‘ƒ of points in the plane
as follows: if a key ๐‘ฅ is accessed at time ๐‘ฆ, then add the point (๐‘ฅ, ๐‘ฆ) to ๐‘ƒ. Demaine et al. [11]
showed that, for every access sequence ๐‘‹, if we denote by ๐‘ƒ the corresponding set of points in
the plane, then the value of the optimal solution to the Min-Sat problem on ๐‘ƒ is ฮ˜(OPT(๐‘‹)). They
also showed that, in order to obtain an ๐‘‚(๐›ผ)-approximation algorithm for BSTโ€™s, it is sufficient
to obtain an ๐›ผ-approximation algorithm for the Min-Sat problem. In the online version of the
Min-Sat problem, at every time step ๐‘ก, we discover the unique input point whose ๐‘ฆ-coordinate is
๐‘ก, and we need to make an irrevocable decision on which points with ๐‘ฆ-coordinate ๐‘ก to add to
the solution. Demaine et al. [11] also showed that an ๐›ผ-competitive online algorithm for Min-Sat
implies an ๐‘‚(๐›ผ)-competitive online algorithm for BSTโ€™s. For convenience, we do not distinguish
between the input access sequence ๐‘‹ and the corresponding set of points in the plane, that we
also denote by ๐‘‹.

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                            5
             PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

1.3.2   Negative results for WB-1

We say that an input access sequence ๐‘‹ is a permutation if each key in {1, . . . , ๐‘›} is accessed
exactly once. Equivalently, in the geometric view, every column with an integral ๐‘ฅ-coordinate
contains exactly one input point.
Informally, the WB-1 bound for an input sequence ๐‘‹ is defined as follows. Let ๐ต be the bounding
box containing all points of ๐‘‹, and consider any vertical line ๐ฟ drawn across ๐ต, that partitions
it into two vertical strips, separating the points of ๐‘‹ into two subsets ๐‘‹1 and ๐‘‹2 . Assume
that the points of ๐‘‹ are ordered by their ๐‘ฆ-coordinates from smallest to largest. We say that
a pair (๐‘ฅ, ๐‘ฅ 0) โˆˆ ๐‘‹ of points cross the line ๐ฟ, iff ๐‘ฅ and ๐‘ฅ 0 are consecutive points of ๐‘‹, and they
lie on different sides of ๐ฟ. Let ๐ถ(๐ฟ) be the number of all pairs of points in ๐‘‹ that cross ๐ฟ.
We then continue this process recursively with ๐‘‹1 and ๐‘‹2 , with the final value of the WB-1
bound being the sum of the two resulting bounds obtained for ๐‘‹1 and ๐‘‹2 , and ๐ถ(๐ฟ). This
recursive partitioning process can be represented by a binary tree ๐‘‡ that we call a partitioning
tree (we note that the partitioning tree is not related to the BST tree that the BST algorithm
maintains). Every vertex ๐‘ฃ of the partitioning tree is associated with a vertical strip ๐‘†(๐‘ฃ),
where for the root vertex ๐‘Ÿ, ๐‘†(๐‘Ÿ) = ๐ต. If the partitioning algorithm uses a vertical line ๐ฟ to
partition the strip ๐‘†(๐‘ฃ) into two sub-strips ๐‘†1 and ๐‘†2 , then vertex ๐‘ฃ has two children, whose
corresponding strips are ๐‘†1 and ๐‘†2 . Note that every sequence of vertical lines used in the
recursive partitioning procedure corresponds to a unique partitioning tree and vice versa. Given
a set ๐‘‹ of points and a partitioning tree ๐‘‡, we denote by WB๐‘‡ (๐‘‹) the WB-1 bound obtained for
๐‘‹ while following the partitioning scheme defined by ๐‘‡. Wilber [29] showed that, for every
partitioning tree ๐‘‡, OPT(๐‘‹) โ‰ฅ ฮฉ(WB๐‘‡ (๐‘‹)) holds. Moreover, Demaine et al. [12] showed that, if
๐‘‡ is a balanced tree, then OPT(๐‘‹) โ‰ค ๐‘‚(log log ๐‘›) ยท WB๐‘‡ (๐‘‹). These two bounds are used to obtain
the ๐‘‚(log log ๐‘›)-competitive algorithm of [12]. We call this variant of WB-1, that is defined with
respect to a fixed tree ๐‘‡, the weak WB-1 bound.
Unfortunately, it is well-known (see, e.g., [12, 28, 18]), that the gap between OPT(๐‘‹) and
the weak WB-1 bound on an input ๐‘‹ may be as large as ฮฉ(log log ๐‘›). In other words, for
any fixed partitioning tree ๐‘‡, there exists an input ๐‘‹ (that depends on ๐‘‡), with WB๐‘‡ (๐‘‹) โ‰ค
๐‘‚(OPT(๐‘‹)/log log ๐‘›). However, the construction of this โ€œbadโ€ input ๐‘‹ depends on the fixed
partitioning tree ๐‘‡.
We consider a stronger variant of WB-1, that we refer to as strong WB-1 bound and denote
by WB(๐‘‹), that maximizes the weak WB-1 bound over all such partitioning trees, that is,
WB(๐‘‹) = max๐‘‡ {WB๐‘‡ (๐‘‹)}.
Using this stronger bound as an alternative to weak WB-1 in order to obtain better approximation
algorithms was suggested by Iacono [18], and by Kozma [20].
Our first result rules out this approach: we show that, even for the strong WB-1 bound, the gap
between WB(๐‘‹) and OPT(๐‘‹) may be as large as ฮฉ(log log ๐‘›/log log log ๐‘›), even if the input ๐‘‹ is
a permutation.

Theorem 1.1. For infinitely many integer ๐‘›, there exists an access sequence ๐‘‹ on ๐‘› keys with |๐‘‹ | = ๐‘›,

                      T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                          6
             P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

such that ๐‘‹ is a permutation, OPT(๐‘‹) โ‰ฅ ฮฉ(๐‘› log log ๐‘›), but WB(๐‘‹) โ‰ค ๐‘‚(๐‘› log log log ๐‘›).

                                                                 log log ๐‘›
                                                                              
In particular, for every partitioning tree ๐‘‡, OPT (๐‘‹)
                                              WB (๐‘‹)
                                                      โ‰ฅฮฉ       log log log ๐‘›       for infinitely many sequences
                                               ๐‘‡
๐‘‹. We note that it is well known (see, e.g., [6]), that any ๐‘-approximation algorithm for
permutation input can be turned into an ๐‘‚(๐‘)-approximation algorithm for any input sequence.
However, the known instances that achieve an ฮฉ(log log ๐‘›)-gap between the weak WB-1 bound
and OPT are not permutations. Therefore, our result is the first to provide a super-constant gap
between WB-1 and OPT for permutations, even for the case of weak WB-1.


1.3.3   Extension of WB-1

We consider natural generalizations of the WB-1 bound that allow partitioning the plane both
horizontally and vertically. We call the new bounds the consistent Guillotine Bound and the
Guillotine Bound. Our negative result extends to the consistent Guillotine Bound but not to the
Guillotine Bound. The Guillotine Bound seems to maintain the algorithm-friendly nature of
WB-1, and in particular it naturally fits into the algorithmic framework that we propose. We
hope that this bound can lead to improved algorithms, both in the offline and the online settings


1.3.4   Separating the two Wilber bounds

The sequence ๐‘‹ given by Theorem 1.1 not only provides a separation between WB-1 and OPT,
but it also provides a separation between WB-1 and WB-2. The latter can be defined in the
geometric view as follows. Recall that, for a pair of points ๐‘ฅ, ๐‘ฆ โˆˆ ๐‘‹, ๐‘ฅ,๐‘ฆ is the smallest closed
rectangle containing both ๐‘ฅ and ๐‘ฆ. For a point ๐‘ฅ in the access sequence ๐‘‹, the funnel of ๐‘ฅ is
the set of all points ๐‘ฆ โˆˆ ๐‘‹, for which ๐‘ฅ,๐‘ฆ does not contain any point of ๐‘‹ \ {๐‘ฅ, ๐‘ฆ}, and alt(๐‘ฅ)
is the number of alterations between the left of ๐‘ฅ and the right of ๐‘ฅ in the funnel of ๐‘ฅ. The
second Wilber Bound for sequence ๐‘‹ is then defined as: WB(2) (๐‘‹) = |๐‘‹ | + ๐‘ฅโˆˆ๐‘‹ alt(๐‘ฅ). We
                                                                                  ร
show that, for the sequence ๐‘‹ given by Theorem 1.1, WB(2) (๐‘‹) โ‰ฅ ฮฉ(๐‘› log log ๐‘›) holds, and
therefore WB(2) (๐‘‹)/WB(๐‘‹) โ‰ฅ ฮฉ(log log ๐‘›/log log log ๐‘›) for that sequence, implying that the gap
between WB(๐‘‹) and WB(2) (๐‘‹) may be as large as ฮฉ(log log ๐‘›/log log log ๐‘›). We note that we only
realized that our results provide this stronger separation between the two Wilber bounds after
hearing the statements of the results from the independent work of Lecomte and Weinstein [21]
mentioned above.


1.3.5   Algorithmic results

We provide new simple approximation algorithms for the problem, that rely on its geometric
interpretation, namely the Min-Sat problem.
Theorem 1.2. There is an offline algorithm for Min-Sat, that, given any integer ๐ท โ‰ฅ 1, and an access
sequence ๐‘‹ of length m to n keys, produces a solution of cost at most ๐ท ยท OPT(๐‘‹) and has running time

                      T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                    7
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK
                      ฮฉ(๐ท)
                                       
poly(๐‘š) ยท exp ๐‘‚ ๐‘› 1/2          log ๐‘›        . For ๐ท = ฮ˜(log log ๐‘›), the algorithmโ€™s running time is polynomial
in ๐‘› and ๐‘š, and it can be adapted to the online setting, achieving an ๐‘‚(log log ๐‘›)-competitive ratio.

While the ๐‘‚(log log ๐‘›)-approximation factor achieved by our algorithm in time poly(๐‘š๐‘›) is
similar to that achieved by other known algorithms [12, 16, 28], this is the first algorithm that
relies solely on the geometric formulation of the problem, which is arguably cleaner, simpler,
and better suited for exploiting the rich toolkit of algorithmic techniques developed in the areas
of online and approximation algorithms.


1.3.6   Erratum

Some erroneous complexity theoretic inferences, made in the paragraph following the statement
of Theorem 2 (page 33:6) in the conference version of this paper [4], are retracted in the
present article. In particular, at this time we are unable to rule out, under any plausible
complexity-theoretic assumption, the possibility that constant-factor approximation of Min-Sat
is NP-hard.
The main results are not affected and are identical in the two versions.


2     Preliminaries

All our results only use the geometric interpretation of the problem, that we refer to as the
Min-Sat problem. We include the formal definition of algorithms for BSTโ€™s and formally state
their equivalence.


2.1     The Min-Sat problem

For a point ๐‘ โˆˆ โ„2 in the plane, we denote by ๐‘.๐‘ฅ and ๐‘.๐‘ฆ its ๐‘ฅ- and ๐‘ฆ-coordinates, respectively.
Given any pair ๐‘, ๐‘ 0 of points, we say that they are aligned if ๐‘.๐‘ฅ = ๐‘ 0 .๐‘ฅ or ๐‘.๐‘ฆ = ๐‘ 0 .๐‘ฆ. If ๐‘ and ๐‘ 0
are not aligned, then we let ๐‘,๐‘0 be the smallest closed axis-aligned rectangle containing both ๐‘
and ๐‘ 0; note that ๐‘ and ๐‘ 0 must be diagonally opposite corners of the rectangle.
Definition 2.1. We say that a non-aligned pair ๐‘, ๐‘ 0 of points is satisfied by a point ๐‘ 00 if ๐‘ 00 is
distinct from ๐‘ and ๐‘ 0 and ๐‘ 00 โˆˆ ๐‘,๐‘0 (where ๐‘ 00 may lie on the boundary of the rectangle). We
say that a set ๐‘† of points is satisfied if for every non-aligned pair ๐‘, ๐‘ 0 โˆˆ ๐‘† of points, there is some
point ๐‘ 00 โˆˆ ๐‘† that satisfies this pair.

We refer to horizontal and vertical lines as rows and columns respectively. For a collection of
points ๐‘‹, the active rows of ๐‘‹ are the rows that contain at least one point in ๐‘‹. We define the
notion of active columns analogously. We denote by ๐‘Ÿ(๐‘‹) and ๐‘(๐‘‹) the number of active rows and
active columns of the point set ๐‘‹, respectively. We say that a point set ๐‘‹ is a semi-permutation

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                 8
               P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

if every active row contains exactly one point of ๐‘‹. Note that, if ๐‘‹ is a semi-permutation,
then ๐‘(๐‘‹) โ‰ค ๐‘Ÿ(๐‘‹). We say that ๐‘‹ is a permutation if it is a semi-permutation, and additionally,
every active column contains exactly one point of ๐‘‹. Clearly, if ๐‘‹ is a permutation, then
๐‘(๐‘‹) = ๐‘Ÿ(๐‘‹) = |๐‘‹ |. We denote by ๐ต the smallest closed rectangle containing all points of ๐‘‹, and
call ๐ต the bounding box.
We are now ready to define the Min-Sat problem. The input to the problem is a set ๐‘‹ of points
that is a semi-permutation, and the goal is to compute a minimum-cardinality set ๐‘Œ of points,
such that ๐‘‹ โˆช ๐‘Œ is satisfied. We say that a set ๐‘Œ of points is a feasible solution for ๐‘‹ if ๐‘‹ โˆช ๐‘Œ is
satisfied. We denote by OPT(๐‘‹) the minimum value |๐‘Œ| of any feasible solution ๐‘Œ for ๐‘‹.2
In the online version of the Min-Sat problem, at every time step ๐‘ก, we discover the unique input
point from ๐‘‹ whose ๐‘ฆ-coordinate is ๐‘ก, and we need to make an irrevocable decision on which
points with ๐‘ฆ-coordinate ๐‘ก to add to the solution ๐‘Œ. As shown by Demaine et al. [11], the Min-Sat
problem is equivalent to the BST problem, in the following sense:

Theorem 2.2 (Demaine et al.). Any efficient ๐›ผ-approximation algorithm for Min-Sat can be transformed
into an efficient ๐‘‚(๐›ผ)-approximation algorithm for BSTโ€™s, and similarly any online ๐›ผ-competitive
algorithm for Min-Sat can be transformed into an online ๐‘‚(๐›ผ)-competitive algorithm for BSTโ€™s.


2.2     Basic geometric properties

The following observation is well known (see, e.g., Observation 2.1 from [11]).

Observation 2.3. Let ๐‘ be any satisfied point set. Then for every pair ๐‘, ๐‘ž โˆˆ ๐‘ of distinct points,
there is a point ๐‘Ÿ โˆˆ ๐‘,๐‘ž \ {๐‘, ๐‘ž} such that ๐‘Ÿ.๐‘ฅ = ๐‘.๐‘ฅ or ๐‘Ÿ.๐‘ฆ = ๐‘.๐‘ฆ.

Proof. Since the set ๐‘ is satisfied, rectangle ๐‘,๐‘ž must contain at least one point of ๐‘ that is
distinct from ๐‘ and ๐‘ž. Among all such points, let ๐‘Ÿ be the one with smallest โ„“1 -distance to ๐‘.
We claim that either ๐‘.๐‘ฅ = ๐‘Ÿ.๐‘ฅ, or ๐‘.๐‘ฆ = ๐‘Ÿ.๐‘ฆ. Indeed, assume otherwise. Then ๐‘ and ๐‘Ÿ are not
aligned, but no point of ๐‘ lies in ๐‘,๐‘Ÿ \ {๐‘, ๐‘Ÿ}, contradicting the fact that ๐‘ is a satisfied point
set.                                                                                              


2.2.1    Collapsing sets of columns or rows

Assume that we are given any set ๐‘‹ of points, and any collection ๐’ž of consecutive active columns
for ๐‘‹. In order to collapse the set ๐’ž of columns, we replace ๐’ž with a single representative
column ๐ถ (for concreteness, we use the column of ๐’ž with minimum ๐‘ฅ-coordinate). For every
point ๐‘ โˆˆ ๐‘‹ that lies on a column of ๐’ž, we replace ๐‘ with a new point, lying on the column ๐ถ,
whose ๐‘ฆ-coordinate remains the same. Formally, we replace point ๐‘ with point (๐‘ฅ, ๐‘.๐‘ฆ), where
   2In the original paper that introduced this problem [11], the value of the solution is defined as |๐‘‹ โˆช ๐‘Œ|, while
our solution value is |๐‘Œ|. For the purpose of showing the results in this paper, the two definitions are equivalent to
within a factor of 2.


                          T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                      9
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

๐‘ฅ is the ๐‘ฅ-coordinate of the column ๐ถ. We denote by ๐‘‹|๐’ž the resulting new set of points. We can
similarly define collapsing set of rows. The following useful observation is easy to verify.

Observation 2.4. Let ๐‘† be any set of points, and let ๐’ž be any collection of consecutive active
columns (or rows) with respect to ๐‘†. If ๐‘† is a satisfied set of points, then so is ๐‘† |๐’ž .

Proof. It is sufficient to prove the observation for the case where ๐’ž contains two consecutive
active columns, that we denote by ๐ถ and ๐ถ 0, which are collapsed into the column ๐ถ. We can
then apply this argument iteratively to collapse any number of columns.
Assume for contradiction that the set ๐‘† |๐’ž of points is not satisfied, and let ๐‘, ๐‘ž โˆˆ ๐‘† |๐’ž be a pair
of points that are not satisfied. Note that, if ๐‘ and ๐‘ž cannot both lie on the column ๐ถ in ๐‘† |๐’ž .
Moreover, if both ๐‘ and ๐‘ž lie to the right, or to the left of the column ๐ถ, then they continue to be
satisfied by the same point ๐‘Ÿ โˆˆ ๐‘† that satisfied them in set ๐‘†. We now consider two cases.
Assume first that ๐‘ lies to the left of the column ๐ถ, and ๐‘ž lies to the right of the column ๐ถ in
point set ๐‘† |๐’ž . Let ๐‘Ÿ be the point that satisfied the pair (๐‘, ๐‘ž) in point set ๐‘†. If ๐‘Ÿ lied on column ๐ถ
in ๐‘†, then it remains on column ๐ถ in ๐‘† |๐’ž . If ๐‘Ÿ lied on column ๐ถ 0 in ๐‘†, then a copy of ๐‘Ÿ lies on
column ๐ถ in ๐‘† |๐’ž , and this copy continues to satisfy the pair (๐‘, ๐‘ž). Otherwise, point ๐‘Ÿ belongs to
set ๐‘† |๐’ž , and it continues to satisfy the pair (๐‘, ๐‘ž).
It now remains to consider the case when exactly one of the two points (say ๐‘) lies on the column
๐ถ in ๐‘† |๐’ž . Assume w.l.o.g. that ๐‘ž lies to the right of ๐‘ and below it in ๐‘† |๐’ž . Then either ๐‘ belongs
to ๐‘† (in which case we denote ๐‘ 0 = ๐‘), or ๐‘ is a copy of some point ๐‘ 0 that lies on column ๐ถ 0 in
๐‘†. Let ๐‘Ÿ be the point that satisfies the pair (๐‘ 0 , ๐‘ž) of points in ๐‘†. Using the same reasoning as
before, it is easy to see that either ๐‘Ÿ belongs to ๐‘† |๐’ž , where it continues to satisfy the pair (๐‘, ๐‘ž) of
points, or a copy of ๐‘Ÿ belongs to ๐‘† |๐’ž , and it also continues to satisfy the pair (๐‘, ๐‘ž).
It is easy to verify that an analogue of Observation 2.4 holds for collapsing rows as well.             


2.2.2   Canonical solutions

We say that a solution ๐‘Œ for input ๐‘‹ is canonical iff every point ๐‘ โˆˆ ๐‘Œ lies on an active row and
an active column of ๐‘‹. It is easy to see that any solution can be transformed into a canonical
solution, without increasing its cost.

Observation 2.5. There is an efficient algorithm, that, given an instance ๐‘‹ of Min-Sat and any
feasible solution ๐‘Œ for ๐‘‹, computes a feasible canonical solution ๐‘Œห† for ๐‘‹ with |๐‘Œ|
                                                                                 ห† โ‰ค |๐‘Œ|.

Proof. Let ๐ถ and ๐ถ 0 be any pair of consecutive active columns for ๐‘‹, such that some point of
๐‘Œ lies strictly between ๐ถ and ๐ถ 0. Let ๐’ž be the set of all columns that lie between ๐ถ and ๐ถ 0,
including ๐ถ but excluding ๐ถ 0, that contain points of ๐‘‹ โˆช ๐‘Œ. We collapse the columns in ๐’ž into
the column ๐ถ, obtaining a new feasible solution for instance ๐‘‹ (we use Observation 2.4). We
continue this process until every point of the resulting solution ๐‘Œ lies on an active column, and
we perform the same procedure for the rows.                                                     

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                            10
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

2.3   Partitioning trees

We now turn to define partitioning trees, that are central to both defining the WB-1 bound and
to describing our algorithm.
Let ๐‘‹ be the a set of points that is a semi-permutation. We can assume without loss of generality
that every column with an integral ๐‘ฅ-coordinate between 1 and ๐‘(๐‘‹) inclusive contains at least
one point of ๐‘‹. Let ๐ต be the bounding box of ๐‘‹. Assume that the set of active columns is
{๐ถ1 , . . . , ๐ถ ๐‘Ž }, where ๐‘Ž = ๐‘(๐‘‹), and that for all 1 โ‰ค ๐‘– โ‰ค ๐‘Ž, the ๐‘ฅ-coordinate of column ๐ถ ๐‘– is ๐‘–. Let
โ„’ be the set of all vertical lines with half-integral ๐‘ฅ-coordinates between 1 + 1/2 and ๐‘Ž โˆ’ 1/2
(inclusive). Throughout, we refer to the vertical lines in โ„’ as auxiliary columns. Let ๐œŽ be an
arbitrary ordering of the lines of โ„’ and denote ๐œŽ = (๐ฟ1 , ๐ฟ2 , . . . , ๐ฟ ๐‘Žโˆ’1 ). We define a hierarchical
partition of the bounding box ๐ต into vertical strips using ๐œŽ, as follows. We perform ๐‘Ž โˆ’ 1
iterations. In the first iteration, we partition the bounding box ๐ต, using the line ๐ฟ1 , into two
vertical strips, ๐‘†๐ฟ and ๐‘†๐ต . For 1 < ๐‘– โ‰ค ๐‘Ž โˆ’ 1, in iteration ๐‘– we consider the line ๐ฟ ๐‘– , and we let ๐‘† be
the unique vertical strip in the current partition that contains the line ๐ฟ ๐‘– . We then partition ๐‘†
into two vertical sub-strips by the line ๐ฟ ๐‘– . When the partitioning algorithm terminates, every
vertical strip contains exactly one active column.




Figure 1: An Illustration of a partitioning tree and the corresponding sequence ๐œŽ = (๐ฟ1 , . . . , ๐ฟ7 ).
Strip ๐‘†(๐‘ฃ) corresponds to node ๐‘ฃ that owns line ๐ฟ6 .

This partitioning process can be naturally described by a binary tree ๐‘‡ = ๐‘‡(๐œŽ), that we call a
partitioning tree associated with the ordering ๐œŽ (see Figure 1). Each node ๐‘ฃ โˆˆ ๐‘‰(๐‘‡) is associated
with a vertical strip ๐‘†(๐‘ฃ) of the bounding box ๐ต. The strip ๐‘†(๐‘Ÿ) of the root vertex ๐‘Ÿ of ๐‘‡ is the
bounding box ๐ต. For every inner vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡), if ๐‘† = ๐‘†(๐‘ฃ) is the vertical strip associated with
๐‘ฃ, and if ๐ฟ โˆˆ โ„’ is the first line in ๐œŽ that lies strictly in ๐‘†, then line ๐ฟ partitions ๐‘† into two sub-strips,
๐‘†(๐‘ฃ1 ) and ๐‘†(๐‘ฃ2 ), corresponding to the two children ๐‘ฃ 1 and ๐‘ฃ 2 of ๐‘ฃ in the partitioning tree. We
say that ๐‘ฃ owns the line ๐ฟ, and we denote ๐ฟ = ๐ฟ(๐‘ฃ). For each leaf node ๐‘ฃ, the corresponding strip
๐‘†(๐‘ฃ) contains exactly one active column of ๐‘‹, and ๐‘ฃ does not own any line of โ„’. For each vertex
๐‘ฃ โˆˆ ๐‘‰(๐‘‡), let ๐‘(๐‘ฃ) = |๐‘‹ โˆฉ ๐‘†(๐‘ฃ)| be the number of points from ๐‘‹ that lie in ๐‘†(๐‘ฃ), and let width(๐‘ฃ)
be the width of the strip ๐‘†(๐‘ฃ). Given a partition tree ๐‘‡ for point set ๐‘‹, we refer to the vertical
strips in {๐‘†(๐‘ฃ)} ๐‘ฃโˆˆ๐‘‡ as ๐‘‡-strips.

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                               11
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

2.4   The WB-1 bound

The WB-1 bound3 is defined with respect to an ordering (or a permutation) ๐œŽ of the auxiliary
columns, or, equivalently, with respect to the partitioning tree ๐‘‡(๐œŽ). It will be helpful to keep
both these views in mind. In this paper, we will make a clear distinction between a weak variant
of the WB-1 bound, as defined by Wilber himself in [29] and a strong variant, as mentioned in
[18].
Let ๐‘‹ be a semi-permutation, and let โ„’ be the corresponding set of auxiliary columns. Consider
an arbitrary fixed ordering ๐œŽ of columns in โ„’ and its corresponding partition tree ๐‘‡ = ๐‘‡(๐œŽ). For
each inner node ๐‘ฃ โˆˆ ๐‘‰(๐‘‡), consider the set ๐‘‹ 0 = ๐‘‹ โˆฉ ๐‘†(๐‘ฃ) of input points that lie in the strip ๐‘†(๐‘ฃ),
and let ๐ฟ(๐‘ฃ) โˆˆ โ„’ be the line that ๐‘ฃ owns. We denote ๐‘‹ 0 = {๐‘ 1 , ๐‘2 , . . . , ๐‘ ๐‘˜ }, where the points
are indexed in the increasing order of their ๐‘ฆ-coordinates; since ๐‘‹ is a semi-permutation, no
two points of ๐‘‹ may have the same ๐‘ฆ-coordinate. For 1 โ‰ค ๐‘— < ๐‘˜, we say that the ordered pair
(๐‘ ๐‘— , ๐‘ ๐‘—+1 ) of points form a crossing of ๐ฟ(๐‘ฃ) iff ๐‘ ๐‘— , ๐‘ ๐‘—+1 lie on the opposite sides of the line ๐ฟ(๐‘ฃ). We
let cost(๐‘ฃ) be the total number of crossings of ๐ฟ(๐‘ฃ) by the points of ๐‘‹ โˆฉ ๐‘†(๐‘ฃ). When ๐ฟ = ๐ฟ(๐‘ฃ), we
also write cost(๐ฟ) to denote cost(๐‘ฃ). If ๐‘ฃ is a leaf vertex, then its cost is set to 0.
Definition 2.6 (WB-1 bound). For any semi-permutation ๐‘‹, an ordering ๐œŽ of the auxiliary
columns in โ„’, and the corresponding partitioning tree ๐‘‡ = ๐‘‡(๐œŽ), the (weak) WB-1 bound of
๐‘‹ with respect to ๐œŽ is: WB๐œŽ (๐‘‹) = WB๐‘‡ (๐‘‹) = ๐‘ฃโˆˆ๐‘‰(๐‘‡) cost(๐‘ฃ). The strong WB-1 bound of ๐‘‹ is
                                           ร
WB(๐‘‹) = max๐œŽ WB๐œŽ (๐‘‹), where the maximum is taken over all permutations ๐œŽ of the lines in โ„’.

It is well known that the WB-1 bound is a lower bound on the optimal solution cost:
Claim 2.7. For any semi-permutation ๐‘‹, WB(๐‘‹) โ‰ค 2 ยท OPT(๐‘‹).

The original proof of this fact is due to Wilber [29], which was later presented in the geometric
view by Demaine et al. [11], via the notion of independent rectangles. In Section 8, we include a
direct geometric proof of this fact.
We note a simple observation, that the cost can be bounded by the number of points on the
smaller side.
Observation 2.8. Let ๐‘‹ be a semi-permutation, ๐œŽ an ordering of the auxiliary columns in โ„’, and
let ๐‘‡ = ๐‘‡(๐œŽ) be the corresponding partitioning tree. Let ๐‘ฃ โˆˆ ๐‘‰(๐‘‡) be any inner vertex of the tree,
whose two child vertices are denoted by ๐‘ฃ 1 and ๐‘ฃ2 . Then cost(๐‘ฃ) โ‰ค 2 min{|๐‘‹ โˆฉ ๐‘†(๐‘ฃ 1 )|, |๐‘‹ โˆฉ ๐‘†(๐‘ฃ 2 )|}.

Proof. For simplicity, we denote ๐‘‹ 0 = ๐‘‹ โˆฉ ๐‘†(๐‘ฃ1 ) and ๐‘‹ 00 = ๐‘‹ โˆฉ ๐‘†(๐‘ฃ 2 ). Assume w.l.o.g. that
|๐‘‹ 0 | โ‰ค |๐‘‹ 00 |. Notice that, if the pair (๐‘ ๐‘– , ๐‘ ๐‘–+1 ) of points in ๐‘†(๐‘ฃ) define a crossing of ๐ฟ(๐‘ฃ), then one
of ๐‘ ๐‘– , ๐‘ ๐‘–+1 must lie in ๐‘‹ 0. Every point ๐‘ ๐‘— โˆˆ ๐‘‹ 0 may participate in at most two pairs of points that
define crossings: the pairs (๐‘ ๐‘—โˆ’1 , ๐‘ ๐‘— ) and (๐‘ ๐‘— , ๐‘ ๐‘—+1 ). Therefore, the total number of crossings of
๐ฟ(๐‘ฃ) is at most 2|๐‘‹ 0 |.                                                                                      
   3Also called Interleaving bound [12], the first Wilber bound, โ€œinterleave lower boundโ€ [29], or alternation
bound [18]


                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                12
                   P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES




                         Figure 2: An illustration of a split of ๐‘‹ by โ„’ 0 = {๐ฟ1 , ๐ฟ2 , ๐ฟ3 }.


3     Geometric decomposition theorems

In this section, we develop several technical tools that will allow us to decompose a given
instance into a number of sub-instances. We then analyze the optimal solution costs and the
Wilber bound values for the resulting subinstances.


3.1       Split instances

Consider a semi-permutation ๐‘‹. We define the split instances with respect to any subset โ„’ 0 โІ โ„’
of the auxiliary columns for ๐‘‹: Notice that the lines in โ„’ 0 partition the bounding box ๐ต into a
collection of internally disjoint strips, that we denote by {๐‘†1 , . . . , ๐‘† ๐‘˜ } where ๐‘˜ = |โ„’ 0 | + 1. We can
then define the strip instances ๐‘‹๐‘– โІ ๐‘‹ as containing all vertices of ๐‘‹ โˆฉ ๐‘† ๐‘– for all 1 โ‰ค ๐‘– โ‰ค ๐‘˜, and
the compressed instance ๐‘‹,       หœ that is obtained by collapsing, for each 1 โ‰ค ๐‘– โ‰ค ๐‘˜, all active columns
                                                                                            ๐‘˜
that lie in strip ๐‘† ๐‘– , into a single column. We call these resulting instances (๐‘‹หœ , {๐‘‹๐‘– } ๐‘–=1  ) a split of ๐‘‹
by โ„’ 0. See Figure 2.
                                                                      ๐‘˜
Observation 3.1. Let โ„’ 0 โІ โ„’ be a collection of lines and (๐‘‹หœ , {๐‘‹๐‘– } ๐‘–=1 ) be a split of ๐‘‹ by โ„’ 0. Then

      โ€ข       ๐‘– ๐‘Ÿ(๐‘‹ ๐‘– ) = ๐‘Ÿ(๐‘‹)
          ร

      โ€ข       ๐‘– ๐‘(๐‘‹๐‘– )) = ๐‘(๐‘‹)
          ร

          หœ โ‰ค๐‘˜
      โ€ข ๐‘(๐‘‹)

The first property holds since ๐‘‹ is a semi-permutation.
Consider an arbitrary ordering ๐œŽ of the lines in โ„’, such that the lines of โ„’ 0 appear at the
beginning of ๐œŽ. The lines in โ„’ 0 split ๐œŽ naturally into ๐‘˜ + 1 orderings. Let ๐‘†1 , . . . , ๐‘† ๐‘˜ be the strips
obtained from partitioning box ๐ต by โ„’ 0, and for each ๐‘– โˆˆ [๐‘˜], โ„’ ๐‘– is a collection of lines in strip ๐‘† ๐‘– .
Now, ๐œŽ๐‘– can be defined by naturally inducing ๐œŽ to the lines in โ„’ ๐‘– , and ๐œŽหœ is the ordering of lines

                             T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                           13
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

in โ„’ 0 induced by ๐œŽ. We say that ๐œŽ, หœ ๐œŽ1 , . . . , ๐œŽ ๐‘˜ are the split orderings of ๐œŽ by โ„’ 0. Similarly, the
lines โ„’ also split the partitioning tree ๐‘‡ = ๐‘‡(๐œŽ) into ๐‘‡
         0                                                     e = ๐‘‡(๐œŽ)หœ and ๐‘‡1 , . . . , ๐‘‡๐‘˜ where ๐‘‡๐‘– = ๐‘‡(๐œŽ๐‘– )
for all ๐‘– โˆˆ [๐‘˜]. These partitioning trees are called the split partitioning trees of ๐‘‡ by โ„’ 0.
                                                             ๐‘˜
Observation 3.2. For โ„’ 0 โІ โ„’ and ordering ๐œŽ, let (๐‘‹หœ , {๐‘‹๐‘– } ๐‘–=1 ) and ( ๐œŽ,
                                                                         หœ {๐œŽ๐‘– }) be the split instances
and split orderings respectively. Then,

                                   ๐‘˜
                                   ร•
                                                            หœ = WB๐œŽ (๐‘‹)
                                         WB๐œŽ๐‘– (๐‘‹๐‘– ) + WB๐œŽหœ (๐‘‹)
                                   ๐‘–=1

This property can be viewed as a โ€œperfectโ€ decomposition property of the weak WB-1 bound
with respect to the split operation.


3.2   Decomposition theorem for the optimal solution

We prove the following recurrence about the โ€œsubadditivityโ€ property of OPT under the
decomposition into split instances.
                                                                  ๐‘˜
Theorem 3.3. Let โ„’ 0 โІ โ„’ be a collection of lines and (๐‘‹หœ , {๐‘‹๐‘– } ๐‘–=1 ) be a split instance of ๐‘‹ by โ„’ 0. Then

                                   ๐‘˜
                                   ร•
                                                        หœ โ‰ค OPT(๐‘‹).
                                         OPT(๐‘‹๐‘– ) + OPT(๐‘‹)
                                   ๐‘–=1

                  ๐‘˜
Proof. Let {๐‘† ๐‘– } ๐‘–=1   be the strips partitioned by โ„’ 0. Let ๐‘Œ be an optimal canonical solution for
๐‘‹, so that every point of ๐‘Œ lies on an active row and an active column for ๐‘‹. For each ๐‘–, let ๐‘Œ๐‘–
denote the set of points of ๐‘Œ that lie in the strip ๐‘† ๐‘– . Since these points lie in the interior of the
          ร๐‘˜
strip, ๐‘Œ = ๐‘–=1     ๐‘Œ๐‘– .
For each ๐‘–, let โ„› ๐‘– denote the set of all rows ๐‘…, such that: (i) ๐‘… contains a point of ๐‘‹; (ii) ๐‘… contains
no point of ๐‘‹๐‘– ; and (iii) at least one point of ๐‘Œ๐‘– lies on ๐‘…. Let ๐‘š ๐‘– = |โ„› ๐‘– |. We need the following
claim.
Claim 3.4. There is a feasible solution ๐‘Œห† to instance ๐‘‹,
                                                       หœ containing at most         ๐‘– ๐‘š ๐‘– points.
                                                                                ร


Proof. We construct the solution ๐‘Œห† for ๐‘‹หœ as follows. Consider ๐‘– โˆˆ [๐‘˜]. Let ๐ถ ๐‘– be the unique
column into which the columns lying in the strip ๐‘† ๐‘– were collapsed. For every point ๐‘ โˆˆ ๐‘Œ๐‘– that
lies on a row ๐‘… โˆˆ โ„› ๐‘– , we add a new point ๐œ‘(๐‘) on the intersection of row ๐‘… and column ๐ถ ๐‘– to
the solution ๐‘Œ. ห† Once we process all strips ๐‘– โˆˆ [๐‘˜], we obtain a final set of points ๐‘Œ. ห† It is easy to
verify that |๐‘Œ|ห† = ๐‘– ๐‘š ๐‘– . In order to see that ๐‘Œห† is a feasible solution to instance ๐‘‹,
                   ร                                                                  หœ it is enough to
show that the set ๐‘‹หœ โˆช ๐‘Œห† of points is satisfied. Notice that set ๐‘‹ โˆช ๐‘Œ of points is satisfied, and
set ๐‘‹หœ โˆช ๐‘Œห† is obtained from ๐‘‹ โˆช ๐‘Œ by collapsing sets of active columns lying in each strip ๐‘† ๐‘– for
๐‘– โˆˆ [๐‘˜]. From Observation 2.4, the point set ๐‘‹หœ โˆช ๐‘Œห† is satisfied.                                     

                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                               14
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

We now consider the strip instances {๐‘‹๐‘– } ๐‘–โˆˆ[๐‘˜] and prove the following claim, that will complete
the proof of the lemma.
Claim 3.5. For each ๐‘– โˆˆ [๐‘˜], OPT(๐‘‹๐‘– ) โ‰ค |๐‘Œ๐‘– | โˆ’ ๐‘š ๐‘– .

Proof. Notice first that the point set ๐‘‹๐‘– โˆช ๐‘Œ๐‘– must be satisfied. We will modify point set ๐‘Œ๐‘– , to
obtain another set ๐‘Œ๐‘–0, so that ๐‘Œ๐‘–0 remains a feasible solution for ๐‘‹๐‘– , and |๐‘Œ๐‘–0 | โ‰ค |๐‘Œ๐‘– | โˆ’ ๐‘š ๐‘– .
In order to do so, we perform ๐‘š ๐‘– iterations. In each iteration, we will decrease the size of ๐‘Œ๐‘–
by at least one, while also decreasing the cardinality of the set โ„› ๐‘– of rows by exactly 1, and
maintaining the feasibility of the solution ๐‘Œ๐‘– for ๐‘‹๐‘– .
In every iteration, we select two arbitrary rows ๐‘… and ๐‘…0, such that: (i) ๐‘… โˆˆ โ„› ๐‘– ; (ii) ๐‘…0 is an active
row for instance ๐‘‹๐‘– , and (iii) no point of ๐‘Œ๐‘– โˆช ๐‘‹๐‘– lies strictly between rows ๐‘… and ๐‘…0. We collapse
the rows ๐‘… and ๐‘…0 into the row ๐‘…0. From Observation 2.4, the resulting new set ๐‘Œ๐‘– of points
remains a feasible solution for instance ๐‘‹๐‘– . We claim that |๐‘Œ๐‘– | decreases by at least 1. In order
to show this, it is enough to show that there are two points ๐‘, ๐‘ 0 โˆˆ ๐‘‹๐‘– โˆช ๐‘Œ๐‘– , with ๐‘ โˆˆ ๐‘…, ๐‘ 0 โˆˆ ๐‘…0,
such that the ๐‘ฅ-coordinates of ๐‘ and ๐‘ 0 are the same; in this case, after we collapse the rows, ๐‘ฅ
and ๐‘ฅ 0 are mapped to the same point. Assume for contradiction that no such two points exist.
Let ๐‘ โˆˆ ๐‘… โˆฉ (๐‘‹๐‘– โˆช ๐‘Œ๐‘– ), ๐‘ 0 โˆˆ ๐‘…0 โˆฉ ๐‘Œ๐‘– be a pair of points with smallest horizontal distance. Such
points must exist since ๐‘… contains a point of ๐‘‹๐‘– and ๐‘…0 contains a point of ๐‘Œ๐‘– . But then no other
point of ๐‘‹๐‘– โˆช ๐‘Œ๐‘– lies in ๐‘,๐‘0 , so the pair (๐‘, ๐‘ 0) is not satisfied in ๐‘‹๐‘– โˆช ๐‘Œ๐‘– , a contradiction.   

                                                                                                           


3.3   Decomposition theorem for the strong WB-1 bound.

We prove the following recurrence about the strong WB-1 bound bound.
                                                                  ๐‘˜
Theorem 3.6. Let โ„’ 0 โІ โ„’ be a collection of lines and (๐‘‹หœ , {๐‘‹๐‘– } ๐‘–=1 ) be a split instance of ๐‘‹ by โ„’ 0. Then
                                                        ๐‘˜
                                                        ร•
                                         หœ +8
                             WB(๐‘‹) โ‰ค 4WB(๐‘‹)                   WB(๐‘‹๐‘– ) + ๐‘‚(|๐‘‹ |).
                                                        ๐‘–=1


We find this result somewhat surprising. One can think of the expression WB(๐‘‹)
                                                                                             ร
                                                                                  e + ๐‘–โˆˆ[๐‘˜] WB(๐‘‹๐‘– )
as a WB-1 bound obtained by first cutting along the lines that serve as boundaries of the strips
๐‘† ๐‘– for ๐‘– โˆˆ [๐‘˜], and then starting to cut inside the individual strips afterwards. However, WB(๐‘‹)
is the maximum of WB๐œŽ (๐‘‹) obtained over all possible orderings ๐œŽ, including those that do not
obey this cutting order.
The remainder of this section is dedicated to the proof of Theorem 3.6. For each 1 โ‰ค ๐‘– โ‰ค ๐‘˜, we
denote by โ„ฌ๐‘– be the set of consecutive active columns containing the points of ๐‘‹๐‘– , and we refer
to it as a block. For brevity, we also say โ€œWilber boundโ€ to mean the strong WB-1 bound in this
section.

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                               15
             PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

3.3.1   Forbidden points

For the sake of the proof, we need the notion of forbidden points. Let ๐‘‹ห† be some semi-
permutation and โ„’ฬ‚ be the set of auxiliary columns for ๐‘‹.ห† Let ๐น โІ ๐‘‹ห† be a set of points that we
refer to as forbidden points. We now define the strong WB-1 bound with respect to the forbidden
points, WB๐น (๐‘‹).ห†

Consider any permutation ๐œŽห† of the lines in โ„’ฬ‚. Intuitively, WB๐น๐œŽห† (๐‘‹)
                                                                    ห† counts all the crossings
                      ห† but excludes all crossing pairs (๐‘, ๐‘ 0) where at least one of ๐‘, ๐‘ 0 lie
contributed to WB๐œŽห† (๐‘‹)
in ๐น. Similar to WB(๐‘‹), we define WB๐น (๐‘‹)ห† = max๐œŽห† WB๐น (๐‘‹),
                                                       ๐œŽห†
                                                          ห† where the maximum is over all
permutations ๐œŽห† of the lines in โ„’ฬ‚.
Next, we define WB๐น๐œŽห† (๐‘‹) ห† more formally. Let ๐‘‡ = ๐‘‡( ๐œŽ)   ห† be the partitioning tree associated with ๐œŽ. ห†
For each vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡), let ๐ฟ = ๐ฟ(๐‘ฃ) be the line that belongs to ๐‘ฃ, and let Cr๐œŽห† (๐ฟ) be the set of
all crossings (๐‘, ๐‘ 0) that contribute to cost(๐ฟ); that is, ๐‘ and ๐‘ 0 are two points that lie in the strip
๐‘†(๐‘ฃ) on two opposite sides of ๐ฟ, and no other point of ๐‘‹ห† โˆฉ ๐‘†(๐‘ฃ) lies between the row of ๐‘ and
the row of ๐‘ 0. Let Cr๐œŽห† = ๐ฟโˆˆโ„’ฬ‚ Cr๐œŽห† (๐ฟ). Observe that WB๐œŽห† (๐‘‹) = | Cr๐œŽห† | by definition. We say that
                             ร
a crossing (๐‘, ๐‘ 0) โˆˆ Cr๐œŽห† (๐ฟ) is forbidden iff at least one of ๐‘, ๐‘ 0 lie in ๐น; otherwise the crossing is
allowed. We let Cr๐น๐œŽห† (๐ฟ) be the set of crossings obtained from Cr๐œŽห† (๐ฟ) by discarding all forbidden
crossings. We then let Cr๐น๐œŽห† = ๐ฟโˆˆโ„’ฬ‚ Cr๐น๐œŽห† (๐ฟ), and WB๐น๐œŽห† (๐‘‹) ห† = | Cr๐น |.
                                  ร
                                                                        ๐œŽห†

We emphasize that WB๐น (๐‘‹)ห† is not necessarily the same as WB(๐‘‹ห† \ ๐น), as some crossings of the
         ห†                                                          ห†
instance ๐‘‹ \ ๐น may not correspond to allowed crossings of instance ๐‘‹.


3.3.2   Proof overview and notation

Consider first the compressed instance ๐‘‹,       หœ that is a semi-permutation. We denote its set of
active columns by ๐’žหœ = {๐ถ1 , . . . , ๐ถ ๐‘˜ }, where the columns are indexed in their natural left-to-right
order. Therefore, ๐ถ ๐‘– is the column that was obtained by collapsing all active columns in strip
๐‘† ๐‘– . It would be convenient for us to slightly modify the instance ๐‘‹หœ by simply multiplying
all ๐‘ฅ-coordinates of the points in ๐‘‹หœ and of the columns in ๐’žหœ by factor 2. Note that this does
not affect the value of the optimal solution or of the Wilber bound, but it ensures that every
consecutive pair of columns in ๐’žหœ is separated by a column with an integral ๐‘ฅ-coordinate. We let
โ„’ฬƒ be the set of all vertical lines with half-integral coordinates in the resulting instance ๐‘‹.  หœ

Similarly, we modify the original instance ๐‘‹, by inserting, for every consecutive pair โ„ฌ๐‘– , โ„ฌ๐‘–+1 of
blocks, a new column with an integral coordinate that lies between the columns of โ„ฌ๐‘– and the
columns of โ„ฌ๐‘–+1 . This transformation does not affect the optimal solution cost or the value of
the Wilber bound. For all 1 โ‰ค ๐‘– โ‰ค ๐‘, we denote ๐‘ž ๐‘– = |โ„ฌ๐‘– |. We denote by โ„’ the set of all vertical
lines with half-integral coordinates in the resulting instance ๐‘‹.
                                                                    ๐‘ž +1
                                                n                          o
Consider any block โ„ฌ๐‘– . We denote by โ„’ ๐‘– =          ๐ฟ1๐‘– , . . . , ๐ฟ ๐‘– ๐‘–        the set of ๐‘ž ๐‘– + 1 consecutive vertical

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                        16
               P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

                                                                                                     ๐‘ž +1
lines in โ„’, where ๐ฟ1๐‘– appears immediately before the first column of โ„ฌ๐‘– , and ๐ฟ ๐‘– ๐‘–                         appears
immediately after the last column of โ„ฌ๐‘– . Notice that โ„’ = ๐‘
                                                         ร
                                                           ๐‘–=1 โ„’ ๐‘– .

Recall that our goal is to show that WB(๐‘‹) โ‰ค 4WB(๐‘‹)  หœ + 8 ร ๐‘˜ WB(๐‘‹๐‘– ) + ๐‘‚(|๐‘‹ |). In order to do so,
                                                             ๐‘–=1
we fix a permutation ๐œŽ of โ„’ that maximizes WB๐œŽ (๐‘‹), so that WB(๐‘‹) = WB๐œŽ (๐‘‹). We then gradually
                                                          หœ โ‰ฅ WB๐œŽ (๐‘‹)/4 โˆ’ 2 ร ๐‘˜ WB(๐‘‹๐‘– ) โˆ’ ๐‘‚(|๐‘‹ |).
transform it into a permutation ๐œŽหœ of โ„’ฬƒ, such that WB๐œŽหœ (๐‘‹)                  ๐‘–=1
This will prove that WB(๐‘‹) โ‰ค 4WB(๐‘‹)    หœ + 8 ร ๐‘˜ WB(๐‘‹๐‘– ) + ๐‘‚(|๐‘‹ |).
                                                ๐‘–=1
In order to perform this transformation, we will process every block โ„ฌ๐‘– one-by-one. When
block โ„ฌ๐‘– is processed, we will โ€œconsolidateโ€ all lines of โ„’ ๐‘– , so that they will appear almost
consecutively in the permutation ๐œŽ, and we will show that this process does not increase
the Wilber bound by too much. The final permutation that we obtain after processing every
block โ„ฌ๐‘– can then be naturally transformed into a permutation ๐œŽหœ of โ„’ฬƒ, whose Wilber bound
cost is similar. The main challenge is to analyze the increase in the Wilber bound in every
iteration. In order to facilitate the analysis, we will work with the Wilber bound with respect
to forbidden points. Specifically, we will define a set ๐น โІ ๐‘‹ of forbidden points, such that
                           ร๐‘˜
WB๐น๐œŽ (๐‘‹) โ‰ฅ WB๐œŽ (๐‘‹)/4 โˆ’ ๐‘–=1      WB(๐‘‹๐‘– ). For every block โ„ฌ๐‘– , we will also define a bit ๐‘ ๐‘– โˆˆ {0, 1},
that will eventually guide the way in which the lines of โ„’ ๐‘– are consolidated. As the algorithm
progresses, we will modify the set ๐น of forbidden points by discarding some points from it,
and we will show that the increase in the Wilber bound with respect to the new set ๐น is small
relatively to the original Wilber bound with respect to the old set ๐น. We start by defining the set
๐น of forbidden points, and the bits ๐‘ ๐‘– for the blocks โ„ฌ๐‘– . We then show how to use these bits in
order to transform permutation ๐œŽ of โ„’ into a new permutation ๐œŽ0 of โ„’, which will in turn be
transformed into a permutation ๐œŽหœ of โ„’ฬƒ.
From now on we assume that the permutation ๐œŽ of the lines in โ„’ is fixed.


3.3.3   Defining the set of forbidden points

Consider any block โ„ฌ๐‘– , for 1 โ‰ค ๐‘– โ‰ค ๐‘˜. We denote by ๐ฟโˆ—๐‘– โˆˆ โ„’ ๐‘– the vertical line that appears first in
the permutation ๐œŽ among all lines of โ„’ ๐‘– , and we denote by ๐ฟโˆ—โˆ—๐‘–
                                                                 โˆˆ โ„’ ๐‘– the line that appears last in
๐œŽ among all lines of โ„’ ๐‘– .
We perform ๐‘˜ iteration. In iteration ๐‘–, for 1 โ‰ค ๐‘– โ‰ค ๐‘˜, we consider the block โ„ฌ๐‘– . We let ๐‘ ๐‘– โˆˆ {0, 1}
be a bit chosen uniformly at random, independently from all other random bits. If ๐‘ ๐‘– = 0, then
all points of ๐‘‹๐‘– that lie to the left of ๐ฟโˆ—๐‘– are added to the set ๐น of forbidden points; otherwise, all
points of ๐‘‹๐‘– that lie to the right of ๐ฟโˆ—๐‘– are added to the set ๐น of forbidden points. We show that
the expected number of the remaining crossings is large.
                                                                                                     ร๐‘˜
Claim 3.7. The expectation, over the choice of the bits ๐‘ ๐‘– , of | Cr๐น๐œŽ | is at least | WB(๐‘‹)|/4 โˆ’     ๐‘–=1 WB(๐‘‹ ๐‘– ).


Proof. Consider any crossing (๐‘, ๐‘ 0) โˆˆ Cr๐œŽ . We consider two cases. Assume first that there is
some index ๐‘–, such that both ๐‘ and ๐‘ 0 belong to ๐‘‹๐‘– , and they lie on opposite sides of ๐ฟโˆ—๐‘– . In
this case, (๐‘, ๐‘ 0) becomes a forbidden crossing with probability 1. However, the total number

                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                     17
                  PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

of all such crossings is bounded by WB(๐‘‹๐‘– ). Indeed, if we denote by โ„’ฬ‚ ๐‘– the set of all vertical
lines with half-integral coordinates for instance ๐‘‹๐‘– , then permutation ๐œŽ of โ„’ naturally induces
permutation ๐œŽ๐‘– of โ„’ฬ‚ ๐‘– . Moreover, any crossing (๐‘, ๐‘ 0) โˆˆ Cr๐œŽ with ๐‘, ๐‘ 0 โˆˆ ๐‘‹๐‘– must also contribute
to the cost of ๐œŽ๐‘– in instance ๐‘‹๐‘– . Since the cost of ๐œŽ๐‘– is bounded by ๐‘Š ๐ต(๐‘‹๐‘– ), the number of
crossings (๐‘, ๐‘ 0) โˆˆ Cr๐œŽ with ๐‘, ๐‘ 0 โˆˆ ๐‘‹๐‘– is bounded by ๐‘Š ๐ต(๐‘‹๐‘– ).
Consider now any crossing (๐‘, ๐‘ 0) โˆˆ Cr๐œŽ , and assume that there is no index ๐‘–, such that
both ๐‘ and ๐‘ 0 belong to ๐‘‹๐‘– , and they lie on opposite sides of ๐ฟโˆ—๐‘– . Then with probability
at least 1/4, this crossing remains allowed. Therefore, the expectation of | Cr๐น๐œŽ | is at least
           ร๐‘˜                           ร๐‘˜                         ร๐‘˜
| Cr๐œŽ |/4 โˆ’ ๐‘–=1 WB(๐‘‹๐‘– ) = | WB๐œŽ (๐‘‹)|/4 โˆ’ ๐‘–=1 WB(๐‘‹๐‘– ) = | WB(๐‘‹)|/4 โˆ’ ๐‘–=1 WB(๐‘‹๐‘– ).             

From the above claim, there is a choice of the bits ๐‘1 , . . . , ๐‘ ๐‘˜ , such that, if we define the set ๐น
                                                                                           ร๐‘˜
of forbidden points with respect to these bits as before, then | Cr๐น๐œŽ | โ‰ฅ WB(๐‘‹)/4 โˆ’ ๐‘–=1         WB(๐‘‹๐‘– ).
From now on we assume that the values of the bits ๐‘1 , . . . , ๐‘ ๐‘˜ are fixed, and that the resulting set
                                                           ร๐‘˜
๐น of forbidden points satisfies that | Cr๐น๐œŽ | โ‰ฅ WB(๐‘‹)/4 โˆ’ ๐‘–=1      WB(๐‘‹๐‘– ).


3.3.4    Transforming ๐œŽ into ๐œŽ0

We now show how to transform the original permutation ๐œŽ of โ„’ into a new permutation ๐œŽ0 of
โ„’, which we will later transform into a permutation ๐œŽหœ of โ„’ฬƒ. We perform ๐‘˜ iterations. The input
to the ๐‘–th iteration is a permutation ๐œŽ๐‘– of โ„’ and a subset ๐น๐‘– โІ ๐น of forbidden points. The output
of the iteration is a new permutation ๐œŽ๐‘–+1 of โ„’, and a set ๐น๐‘–+1 โІ ๐น๐‘– of forbidden points. The final
permutation is ๐œŽ0 = ๐œŽ ๐‘˜+1 , and the final set ๐น ๐‘˜+1 of forbidden points will be empty. The input to
the first iteration is ๐œŽ1 = ๐œŽ and ๐น1 = ๐น. We now fix some 1 โ‰ค ๐‘– โ‰ค ๐‘˜, and show how to execute the
๐‘–th iteration. Intuitively, in the ๐‘–th iteration, we consolidate the lines of โ„’ ๐‘– . Recall that we have
denoted by ๐ฟโˆ—๐‘– , ๐ฟโˆ—โˆ—
                   ๐‘–
                      โˆˆ โ„’ ๐‘– the first and the last lines of โ„’ ๐‘– , respectively, in the permutation ๐œŽ. We
only move the lines of โ„’ ๐‘– in iteration ๐‘–, so this ensures that, in permutation ๐œŽ๐‘– , the first line of
โ„’ ๐‘– that appears in the permutation is ๐ฟโˆ—๐‘– , and the last line is ๐ฟโˆ—โˆ—  ๐‘–
                                                                         .
We now describe the ๐‘–th iteration. Recall that we are given as input a permutation ๐œŽ๐‘– of the lines
of โ„’, and a subset ๐น๐‘– โІ ๐น of forbidden points. We consider the block โ„ฌ๐‘– and the corresponding
bit ๐‘ ๐‘– .
Assume first that ๐‘ ๐‘– = 0; recall that in this case, all points of ๐‘‹ that lie on the columns of โ„ฌ๐‘– to
the left of ๐ฟโˆ—๐‘– are forbidden (see Figure 3). We start by switching the locations of ๐ฟโˆ—๐‘– and ๐ฟ1๐‘– in the
permutation ๐œŽ๐‘– (recall that ๐ฟ1๐‘– is the leftmost line in โ„’ ๐‘– ). Therefore, ๐ฟ1๐‘– becomes the first line of
โ„’ ๐‘– in the resulting permutation. Next, we consider the location of line ๐ฟโˆ—โˆ—  ๐‘–
                                                                                in ๐œŽ๐‘– , and we place the
         ๐‘ž +1                  ๐‘ž
lines ๐ฟ ๐‘– ๐‘–     , ๐ฟ2๐‘– , ๐ฟ3๐‘– , . . . , ๐ฟ ๐‘– ๐‘– in that location, in this order. This defines the new permutation ๐œŽ๐‘–+1 .
Assume now that ๐‘ ๐‘– = 1; recall that in this case, all points of ๐‘‹ that lie on the columns of โ„ฌ๐‘– to
                                                                                                ๐‘ž +1
the right of ๐ฟโˆ—๐‘– are forbidden (see Figure 3). We start by switching the locations of ๐ฟโˆ—๐‘– and ๐ฟ ๐‘– ๐‘–
                                              ๐‘ž +1                                                  ๐‘ž +1
in the permutation ๐œŽ๐‘– (recall that ๐ฟ ๐‘– ๐‘– is the rightmost line in โ„’ ๐‘– ). Therefore, ๐ฟ ๐‘– ๐‘– becomes
the first line of โ„’ ๐‘– in the resulting permutation. Next, we consider the location of line ๐ฟโˆ—โˆ—๐‘–
                                                                                                in

                            T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                 18
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES




                                                         ๐‘๐‘– = 0

                                       โ„ฌ๐‘–                                            โ„ฌ๐‘–




                                                                                           ๐ฟ4๐‘–
                                                                                     ๐ฟ3๐‘–
                                                                               ๐ฟ2๐‘–
                                             ๐ฟ4๐‘–                                                 ๐ฟ5๐‘–
                           ๐ฟ1๐‘–
                                 ๐ฟ2๐‘–
                                                   ๐ฟ5๐‘–                   ๐ฟ1๐‘–
                                       ๐ฟ3๐‘–
                      ๐œŽ๐‘–                                          ๐œŽ๐‘–+1


                                                         ๐‘๐‘– = 1

                                       โ„ฌ๐‘–                                            โ„ฌ๐‘–




                                                                                           ๐ฟ4๐‘–
                                                                                     ๐ฟ3๐‘–
                                                                               ๐ฟ2๐‘–
                                             ๐ฟ4๐‘–                     ๐ฟ1๐‘–
                           ๐ฟ1๐‘–
                                 ๐ฟ2๐‘–
                                                   ๐ฟ5๐‘–
                                       ๐ฟ3๐‘–                                                       ๐ฟ5๐‘–
                      ๐œŽ๐‘–                                          ๐œŽ๐‘–+1



Figure 3: Modification from ๐œŽ๐‘– to ๐œŽ๐‘–+1 . In the figure, โ„’ ๐‘– = {๐ฟ1๐‘– , . . . , ๐ฟ5๐‘– }, ๐ฟโˆ—๐‘– = ๐ฟ3๐‘– and ๐ฟโˆ—โˆ—
                                                                                                   ๐‘–
                                                                                                      = ๐ฟ4๐‘– .
Points with horizontal strips are forbidden.




                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                               19
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

                                                    ๐‘ž
๐œŽ๐‘– , and we place the lines ๐ฟ1๐‘– , ๐ฟ2๐‘– , ๐ฟ3๐‘– , . . . , ๐ฟ ๐‘– ๐‘– in that location, in this order. This defines the new
permutation ๐œŽ๐‘–+1 .
Lastly, we discard from ๐น๐‘– all points that lie on the columns of โ„ฌ๐‘– , obtaining the new set ๐น๐‘–+1 of
forbidden points.
Once every block โ„ฌ๐‘– is processed, we obtain a final permutation ๐œŽ ๐‘˜+1 that we denote by ๐œŽ0, and
the final set ๐น ๐‘˜+1 = โˆ… of forbidden lines. The following lemma is central to our analysis. It shows
that the Wilber bound does not decrease by much after every iteration. The Wilber bound is
defined with respect to the appropriate sets of forbidden points.

Lemma 3.8. For all 1 โ‰ค ๐‘– โ‰ค ๐‘˜, WB๐น๐œŽ๐‘–+1
                                  ๐‘–+1
                                      (๐‘‹) โ‰ฅ WB๐น๐œŽ๐‘–๐‘– (๐‘‹) โˆ’ WB(๐‘‹๐‘– ) โˆ’ ๐‘‚(|๐‘‹๐‘– |).

Assume first that the lemma is correct. Recall that we have ensured that WB๐น๐œŽ11 (๐‘‹) = WB๐น๐œŽ (๐‘‹) โ‰ฅ
           ร๐‘˜
WB(๐‘‹)/4 โˆ’ ๐‘–=1   WB(๐‘‹๐‘– ). Since ๐น ๐‘˜+1 = โˆ…, this will ensure that:

                                   ร•                                          ร•
         WB๐œŽ0 (๐‘‹) โ‰ฅ WB๐น๐œŽ (๐‘‹) โˆ’           WB(๐‘‹๐‘– ) โˆ’ ๐‘‚(|๐‘‹ |) โ‰ฅ WB(๐‘‹)/4 โˆ’ 2            WB(๐‘‹๐‘– ) โˆ’ ๐‘‚(|๐‘‹ |).
                                     ๐‘–                                          ๐‘–

We now focus on the proof of the lemma.

Proof. In order to simplify the notation, we denote ๐œŽ๐‘– by ๐œŽ,                                   ห†
                                                          ห† ๐œŽ๐‘–+1 by ๐œŽห† 0. We also denote ๐น๐‘– by ๐น,
and ๐น๐‘–+1 by ๐นห† 0.
Consider a line ๐ฟ โˆˆ โ„’. Recall that Cr๐œŽห† (๐ฟ) is the set of all crossings that are charged to the line
                                           ห†
๐ฟ in permutation ๐œŽ.ห† Recall that Cr๐น๐œŽห† (๐ฟ) โІ Cr๐œŽห† (๐ฟ) is obtained from the set Cr๐œŽห† (๐ฟ) of crossings,
                                                                                 ห†0
by discarding all crossings (๐‘, ๐‘ 0) where ๐‘ โˆˆ ๐นห† or ๐‘ 0 โˆˆ ๐นห† holds. The set Cr๐น๐œŽห† 0 (๐ฟ) of crossings is
defined similarly.
We start by showing that for every line ๐ฟ โˆˆ โ„’ that does not lie in โ„’ ๐‘– , the number of crossings
                                                    ห†0        ห†
charged to it does not decrease, that is, Cr๐น๐œŽห† 0 (๐ฟ) โ‰ฅ Cr๐น๐œŽห† (๐ฟ).
                                               ห†0         ห†
Claim 3.9. For every line ๐ฟ โˆˆ โ„’ \ โ„’ ๐‘– , Cr๐น๐œŽห† 0 (๐ฟ) โ‰ฅ Cr๐น๐œŽห† (๐ฟ).

Proof. Consider any line ๐ฟ โˆˆ โ„’ \ โ„’ ๐‘– . Let ๐‘ฃ โˆˆ ๐‘‰(๐‘‡( ๐œŽ))ห† be the vertex of the partitioning tree ๐‘‡( ๐œŽ)     ห†
corresponding to ๐œŽ to which ๐ฟ belongs, and let ๐‘† = ๐‘†(๐‘ฃ) be the corresponding strip. Similarly,
                   ห†
we define ๐‘ฃ 0 โˆˆ ๐‘‰(๐‘‡(๐œŽห† 0)) and ๐‘†0 = ๐‘†(๐‘ฃ 0) with respect to ๐œŽห† 0. Recall that ๐ฟโˆ—๐‘– is the first line of โ„’ ๐‘– to
appear in the permutation ๐œŽ, and ๐ฟโˆ—โˆ—  ๐‘–
                                         is the last such line. We now consider five cases.

    โ€ข Case 1. The first case happens if ๐ฟ appears before line ๐ฟโˆ—๐‘– in the permutation ๐œŽ.      ห† Notice
      that the prefixes of the permutations ๐œŽห† and ๐œŽห† are identical up to the location in which ๐ฟโˆ—๐‘–
                                                     0

                  ห† Therefore, ๐‘† = ๐‘†0, and Cr๐œŽห† (๐ฟ) = Cr๐œŽห† 0 (๐ฟ). Since ๐นห† 0 โІ ๐น,
      appears in ๐œŽ.                                                            ห† every crossing that is
                                                              ห†          ห†0              ห†0          ห†
                                              ห† So Cr๐น๐œŽห† (๐ฟ) โІ Cr๐น๐œŽห† 0 (๐ฟ), and Cr๐น๐œŽห† 0 (๐ฟ) โ‰ฅ Cr๐น๐œŽห† (๐ฟ).
      forbidden in ๐œŽห† 0 was also forbidden in ๐œŽ.

                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                  20
                P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

                                                                               ๐‘๐‘– = 0

                                           โ„ฌ๐‘–                                                               โ„ฌ๐‘–

                                                             ๐‘1                                                                   ๐‘1
                                ๐‘Ž                                                                ๐‘Ž


                                                                          ๐‘2                                                               ๐‘2

                                                                                                                  ๐ฟ4๐‘–
                                                                                                            ๐ฟ3๐‘–
                                                 ๐ฟ4๐‘–
                                                                                                     ๐ฟ2๐‘–
                          ๐ฟ1๐‘–                                                                                           ๐ฟ5๐‘–
                                     ๐ฟ2๐‘–
                                                       ๐ฟ5๐‘–

                                                                                                                              โ€ฒ
                                                                      ๐ฟ                        ๐ฟ1๐‘–                                     ๐ฟ
                                           ๐ฟโˆ—๐‘–
                     ๐œŽ๐‘–                                                                 ๐œŽ๐‘–+1


                                                                                                                  ห†                             ห†0
Figure 4: Illustration of the injective mapping of each crossing in Cr๐น๐œŽห† (๐ฟ) to a crossing in Cr๐น๐œŽห† 0 (๐ฟ).
Points with horizontal strips are forbidden points from ๐น. ห†


   โ€ข Case 2. The second case happens if ๐ฟ appears after ๐ฟโˆ—โˆ—   ๐‘–
                                                                in ๐œŽ.
                                                                   ห† Notice that, if we denote by
     โ„’ โІ โ„’ the set of all lines of โ„’ that lie before ๐ฟ in ๐œŽ, and define โ„’ 00 similarly for ๐œŽห† 0, then
      0                                                   ห†
                                                                                                                                           ห†0   ห†
      โ„’ 0 = โ„’ 00. Therefore, ๐‘† = ๐‘†0 holds. Using the same reasoning as in Case 1, Cr๐น๐œŽห† 0 (๐ฟ) โ‰ฅ Cr๐น๐œŽห† (๐ฟ).

   โ€ข Case 3. The third case is when ๐ฟ appears between ๐ฟโˆ—๐‘– and ๐ฟโˆ—โˆ—   ๐‘–
                                                                      in ๐œŽ,
                                                                         ห† but neither boundary of
     the strip ๐‘† belongs to โ„’ ๐‘– . If we denote by โ„’ 0 โІ โ„’ \ โ„’ ๐‘– the set of all lines of โ„’ \ โ„’ ๐‘– that lie
     before ๐ฟ in ๐œŽ,
                  ห† and define โ„’ 00 โІ โ„’ \ โ„’ ๐‘– similarly for ๐œŽห† 0, then โ„’ 0 = โ„’ 00. Therefore, ๐‘† = ๐‘†0
                                                                                                           ห†0           ห†
      holds. Using the same reasoning as in Cases 1 and 2, Cr๐น๐œŽห† 0 (๐ฟ) โ‰ฅ Cr๐น๐œŽห† (๐ฟ).


      Case 4. The fourth case is when ๐ฟ appears between ๐ฟโˆ—๐‘– and ๐ฟโˆ—โˆ—      ๐‘–
                                                                           in the permutation ๐œŽ,
                                                                                               ห†
      and the left boundary of ๐‘† belongs to โ„’ ๐‘– . Notice that the left boundary of ๐‘† must either
      coincide with ๐ฟโˆ—๐‘– , or appear to the right of it.
      Assume first that ๐‘ ๐‘– = 0, so we have replaced ๐ฟโˆ—๐‘– with the line ๐ฟ1๐‘– , that lies to the left of ๐ฟโˆ—๐‘– .
      Since no other lines of โ„’ ๐‘– appear in ๐œŽห† 0 until the original location of line ๐ฟโˆ—โˆ—๐‘–
                                                                                          , it is easy to
      verify that the right boundary of ๐‘†0 is the same as the right boundary of ๐‘†, and its left
      boundary is the line ๐ฟ1๐‘– , that is, we have pushed the left boundary to the left. In order to
                                ห†0               ห†                                                                            ห†
      prove that | Cr๐น๐œŽห† 0 (๐ฟ)| โ‰ฅ | Cr๐น๐œŽห† (๐ฟ)|, we map every crossing (๐‘ 1 , ๐‘2 ) โˆˆ Cr๐น๐œŽห† (๐ฟ) to some crossing
                      ห†0                                                                  ห†
      (๐‘ 10 , ๐‘20 ) โˆˆ Cr๐น๐œŽห† 0 (๐ฟ), so that no two crossings of Cr๐น๐œŽห† (๐ฟ) are mapped to the same crossing of
          ห†0
      Cr๐น๐œŽห† 0 (๐ฟ).
                                                                  ห†
      Consider any crossing (๐‘ 1 , ๐‘2 ) โˆˆ Cr๐น๐œŽห† (๐ฟ) (see Figure 4). We know that ๐‘ 1 , ๐‘2 โˆˆ ๐‘†, and they
      lie on opposite sides of ๐ฟ. We assume w.l.o.g. that ๐‘ 1 lies to the left of ๐ฟ. Moreover, no

                                T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                                                 21
                 PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

       point of ๐‘‹ โˆฉ ๐‘† lies between the row of ๐‘ 1 and the row of ๐‘ 2 . It is however possible that
       (๐‘ 1 , ๐‘2 ) is not a crossing of Cr๐œŽห† 0 (๐ฟ), since by moving the left boundary of ๐‘† to the left, we
       add more points to the strip, some of which may lie between the row of ๐‘ 1 and the row
       of ๐‘ 2 . Let ๐ด be the set of all points that lie between the row of ๐‘ 1 and the row of ๐‘2 in ๐‘†0.
       Notice that the points of ๐ด are not forbidden in ๐นห† 0. Let ๐‘Ž โˆˆ ๐ด be the point of ๐‘Ž whose row
       is closest to the row of ๐‘ 2 ; if ๐ด = โˆ…, then we set ๐‘Ž = ๐‘1 . Then (๐‘Ž, ๐‘2 ) defines a crossing in
                                                                       ห†0
       Cr๐œŽห† 0 (๐ฟ), and, since neither point lies in ๐นห† 0, (๐‘Ž, ๐‘2 ) โˆˆ Cr๐น0 (๐ฟ). In this way, we map every
                                                                         ๐œŽห†
                                      ๐นห†                                    ห†0
       crossing (๐‘ 1 , ๐‘2 ) โˆˆ Cr๐œŽห† (๐ฟ) to some crossing (๐‘1 , ๐‘2 ) โˆˆ Cr๐น๐œŽห† 0 (๐ฟ). It is easy to verify that no
                                                              0  0
                                    ห†                                                ห†0
       two crossings of Cr๐น๐œŽห† (๐ฟ) are mapped to the same crossing of Cr๐น๐œŽห† 0 (๐ฟ). We conclude that
              ห†0              ห†
       | Cr๐น๐œŽห† 0 (๐ฟ)| โ‰ฅ | Cr๐น๐œŽห† (๐ฟ)|.
       Lastly, assume that ๐‘ ๐‘– = 1. Recall that the set of all points of ๐‘‹ lying between ๐ฟโˆ—๐‘– and
         ๐‘ž +1                                                                                         ๐‘ž +1
       ๐ฟ ๐‘– ๐‘– is forbidden in ๐นห† but not in ๐นห† 0, and that we have replaced ๐ฟโˆ—๐‘– with the line ๐ฟ ๐‘– ๐‘– , that
       lies to the right of ๐ฟโˆ—๐‘– . Therefore, the right boundary of ๐‘† remains the same, and the left
                                                                                 ห†0            ห†
       boundary is pushed to the right. In order to prove that | Cr๐น๐œŽห† 0 (๐ฟ)| โ‰ฅ | Cr๐น๐œŽห† (๐ฟ)|, we show
                                               ห†                    ห†0
       that every crossing (๐‘ 1 , ๐‘2 ) โˆˆ Cr๐น๐œŽห† (๐ฟ) belongs to Cr๐น๐œŽห† 0 (๐ฟ). Indeed, consider any crossing
                          ห†
       (๐‘ 1 , ๐‘2 ) โˆˆ Cr๐น๐œŽห† (๐ฟ). We know that ๐‘ 1 , ๐‘2 โˆˆ ๐‘†, and they lie on opposite sides of ๐ฟ. We assume
       w.l.o.g. that ๐‘ 1 lies to the left of ๐ฟ. Since ๐‘ 1 cannot be a forbidden point, it must lie to the
                  ๐‘ž +1
       right of ๐ฟ ๐‘– ๐‘– . Moreover, no point of ๐‘‹ โˆฉ ๐‘† lies between the row of ๐‘1 and the row of ๐‘ 2 . It
                                                                                    ห†0
       is now easy to verify that (๐‘ 1 , ๐‘2 ) is also a crossing in Cr๐น๐œŽห† 0 (๐ฟ).


    โ€ข Case 5. The fifth case happens when ๐ฟ appears between ๐ฟโˆ—๐‘– and ๐ฟโˆ—โˆ—   ๐‘–
                                                                             in the permutation ๐œŽ,
                                                                                                 ห†
      and the right boundary of ๐‘† belongs to โ„’ ๐‘– . This case is symmetric to the fourth case and is
      analyzed similarly.

                                                                                                                        

It now remains to analyze the crossings of the lines in โ„’ ๐‘– . We do so in the following two
                                                               ๐‘ž +1
claims. The first claim shows that switching ๐ฟโˆ—๐‘– with ๐ฟ1๐‘– or ๐ฟ ๐‘– ๐‘– does not decrease the number of
crossings.
                                       ห†0                ห†                               ห†0   ๐‘ž +1           ห†
Claim 3.10. If ๐‘ = 0, then | Cr๐น๐œŽห† 0 (๐ฟ1๐‘– )| โ‰ฅ | Cr๐น๐œŽห† (๐ฟโˆ—๐‘– )|; if ๐‘ = 1, then | Cr๐น๐œŽห† 0 (๐ฟ ๐‘– ๐‘– )| โ‰ฅ | Cr๐น๐œŽห† (๐ฟโˆ—๐‘– )|.


Proof. Assume first that ๐‘ = 0, so we have replaced ๐ฟโˆ—๐‘– with ๐ฟ1๐‘– in the permutation. As before,
we let ๐‘ฃ โˆˆ ๐‘‰(๐‘‡( ๐œŽ))ห† be the vertex to which ๐ฟโˆ—๐‘– belongs, and we let ๐‘† = ๐‘†(๐‘ฃ) be the corresponding
strip. Similarly, we define ๐‘ฃ 0 โˆˆ ๐‘‰(๐‘‡( ๐œŽห† 0)) and ๐‘†0 = ๐‘†(๐‘ฃ 0) with respect to line ๐ฟ1๐‘– and permutation
๐œŽห† 0. Notice that, until the appearance of ๐ฟโˆ—๐‘– in ๐œŽ,
                                                   ห† the two permutations are identical. Therefore,
๐‘† = ๐‘† must hold. Recall also that all points of ๐‘‹ that lie between ๐ฟโˆ—๐‘– and ๐ฟ1๐‘– are forbidden in
       0



                            T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                        22
                     P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

ห† but not in ๐นห† 0. In order to show that | Cr๐นห† 00 (๐ฟ1 )| โ‰ฅ | Cr๐นห† (๐ฟโˆ— )|, it is enough to show that every
๐น,                                           ๐œŽห†      ๐‘–          ๐œŽห† ๐‘–
                                    ห†                      ห†0
crossing (๐‘ 1 , ๐‘2 ) โˆˆ Cr๐น๐œŽห† (๐ฟโˆ—๐‘– ) also lies in Cr๐น๐œŽห† 0 (๐ฟ1๐‘– ).
                                                                ห†
Consider now some crossing (๐‘1 , ๐‘2 ) โˆˆ Cr๐น๐œŽห† (๐ฟโˆ—๐‘– ). Recall that one of ๐‘1 , ๐‘2 must lie to the left of ๐ฟโˆ—๐‘–
and the other to the right of it, with both points lying in ๐‘†. Assume w.l.o.g. that ๐‘ 1 lies to the left
                    ห† it must lie to the left of ๐ฟ1 . Moreover, no point of ๐‘‹ โˆฉ ๐‘† may lie between the
of ๐ฟโˆ—๐‘– . Since ๐‘1 โˆ‰ ๐น,                            ๐‘–
                                                                                                                              ห†0
row of ๐‘ 1 and the row of ๐‘ 2 . It is then easy to verify that (๐‘1 , ๐‘2 ) is also a crossing in Cr๐น๐œŽห† 0 (๐ฟ1๐‘– ),
                ห†0                      ห†
and so | Cr๐น๐œŽห† 0 (๐ฟ1๐‘– )| โ‰ฅ | Cr๐น๐œŽห† (๐ฟโˆ—๐‘– )|.
The second case, when ๐‘ = 1, is symmetric.                                                                                         

                                                                                                          ห†
Lastly, we show that for all lines ๐ฟ โˆˆ โ„’ ๐‘– \ ๐ฟโˆ—๐‘– , their total contribution to Cr๐น๐œŽห† is small.
                                                            

                                              ๐นห†
                         ๐ฟโˆˆโ„’ ๐‘– \ { ๐ฟโˆ—๐‘– } | Cr ๐œŽห† (๐ฟ)| โ‰ค WB(๐‘‹๐‘– ) + ๐‘‚(|๐‘‹๐‘– |).
                     ร
Claim 3.11.

Assume first that  the claimห† is correct. We have shown so far that the total contribution of
all lines in โ„’ ๐‘– \ ๐ฟโˆ—๐‘– to Cr๐น๐œŽห† is at most WB(๐‘‹๐‘– ) + ๐‘‚(|๐‘‹๐‘– |); that the contribution of one of the
               ๐‘ž +1            ห†0                                                                 ห†
lines ๐ฟ1๐‘– , ๐ฟ ๐‘– ๐‘–        to Cr๐น๐œŽห† 0 is at least as large as the contribution of ๐ฟโˆ—๐‘– to Cr๐น๐œŽห† ; and that for every line
                                            ห†0                                                        ห†
๐ฟ โˆ‰ โ„’ ๐‘– , its contribution to Cr๐น๐œŽห† 0 is at least as large as its contribution to Cr๐น๐œŽห† . It then follows that
| Cr๐น๐œŽห† 0 | โ‰ฅ | Cr๐น๐œŽห† | โˆ’ WB(๐‘‹๐‘– ) + ๐‘‚(|๐‘‹๐‘– |), and so WB๐น๐œŽ๐‘–+1 (๐‘‹) โ‰ฅ WB๐น๐œŽ๐‘–๐‘– (๐‘‹) โˆ’ WB(๐‘‹๐‘– ) + ๐‘‚(|๐‘‹๐‘– |). Therefore,
     ห†0              ห†
                                                         ๐‘–+1
in order to prove Lemma 3.8, it is now enough to prove Claim 3.11.

Proof. (Of Claim 3.11) Consider some line ๐ฟ โˆˆ โ„’ ๐‘– \ ๐ฟโˆ—๐‘– , and let ๐‘ฃ โˆˆ ๐‘‰(๐‘‡( ๐œŽ))
                                                                              
                                                                                  ห† be the vertex to
which ๐ฟ belongs. Notice that ๐ฟ appears in ๐œŽห† after ๐ฟโˆ—๐‘– . Therefore, if ๐‘† = ๐‘†(๐‘ฃ) is the strip that ๐ฟ
partitioned, then at least one of the boundaries of ๐‘† lies in โ„’ ๐‘– . If exactly one boundary of ๐‘†
lies in โ„’ ๐‘– , then we say that ๐‘† is an external strip; otherwise, we say that ๐‘† is an internal strip.
Consider now some crossing (๐‘, ๐‘ 0) โˆˆ Cr๐œŽห† (๐‘†). Since ๐ฟ โˆˆ โ„’ ๐‘– , and at least one boundary of ๐‘† lies
in โ„’ ๐‘– , at least one of the points ๐‘, ๐‘ 0 must belong to ๐‘‹๐‘– . If exactly one of ๐‘, ๐‘ 0 lies in ๐‘‹๐‘– , then
we say that (๐‘, ๐‘ 0) is a type-1 crossing; otherwise it is a type-2 crossing. Notice that, if ๐‘† is an
internal strip, then only type-2 crossings of ๐ฟ are possible. We now bound the total number of
type-1 and type-2 crossings separately, in the following two observations.
                                                                                  ร
Observation 3.12. The total number of type-2 crossings in                             ๐ฟโˆˆโ„’ ๐‘– \ { ๐ฟโˆ—๐‘– } Cr ๐œŽห† (๐ฟ) is at most WB(๐‘‹๐‘– ).


Proof. Permutation ๐œŽห† of the lines in โ„’ naturally induces a permutation ๐œŽห† ๐‘– of the lines in โ„’ ๐‘– . The
number of type-2 crossings charged to all lines in โ„’ ๐‘– is then at most WB๐œŽห† ๐‘– (๐‘‹๐‘– ) โ‰ค WB(๐‘‹๐‘– ).       

                                                                                      ๐ฟโˆˆโ„’ ๐‘– \ { ๐ฟโˆ—๐‘– } Cr ๐œŽห† (๐ฟ) โ‰ค ๐‘‚(|๐‘‹๐‘– |).
                                                                                  ร
Observation 3.13. The total number of type-1 crossings in


Proof. Consider a line ๐ฟ โˆˆ โ„’ ๐‘– \ ๐ฟโˆ—๐‘– , and let ๐‘† be the strip that it splits. Recall that, if there are
                                                 
any type-1 crossings in Cr๐œŽห† (๐ฟ), then ๐‘† must be an external strip. Line ๐ฟ partitions ๐‘† into two new

                                 T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                              23
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

strips, that we denote by ๐‘†0 and ๐‘†00. Notice that exactly one of these strips (say ๐‘†0) is an internal
strip, and the other strip is external. Therefore, the points of ๐‘‹๐‘– โˆฉ ๐‘†0 will never participate in
type-1 crossings again. Recall that, from Observation 2.8, the total number of crossings in Cr๐œŽห† (๐ฟ)
is bounded by 2|๐‘†0 โˆฉ ๐‘‹๐‘– |. We say that the points of ๐‘†0 โˆฉ ๐‘‹๐‘– pay for these crossings. Since every
point of ๐‘‹๐‘– will pay for a type-1 crossing at most once, we conclude that the total number of
                    ร
type-1 crossings in ๐ฟโˆˆโ„’ ๐‘– \{ ๐ฟโˆ— } Cr๐œŽห† (๐ฟ) is bounded by 2|๐‘‹๐‘– |.                                   
                                 ๐‘–



                                                             ร
We conclude that the total number of all crossings in            ๐ฟโˆˆโ„’ ๐‘– \ { ๐ฟโˆ—๐‘– } Cr๐œŽห† (๐ฟ) is at most WB(๐‘‹๐‘– )+๐‘‚(|๐‘‹ ๐‘– |).
                             ห†                                                        ๐นห†
Since, for every line ๐ฟ, Cr๐น๐œŽห† (๐ฟ) โІ Cr๐œŽห† (๐ฟ), we get that       ๐ฟโˆˆโ„’ ๐‘– \ { ๐ฟโˆ— } | Cr ๐œŽห† (๐ฟ)| โ‰ค WB(๐‘‹๐‘– ) + ๐‘‚(|๐‘‹๐‘– |). 
                                                             ร
                                                                         ๐‘–




                                                                                                                    


To summarize, we have transformed a permutation ๐œŽ of โ„’ into a permutation ๐œŽ0 of โ„’, and we
                                      ร๐‘˜
have shown that WB๐œŽ0 (๐‘‹) โ‰ฅ WB(๐‘‹)/4 โˆ’ 2 ๐‘–=1 WB(๐‘‹๐‘– ) โˆ’ ๐‘‚(|๐‘‹ |).



3.3.5   Transforming ๐œŽ0 into ๐œŽหœ

In this final step, we transform the permutation ๐œŽ0 of โ„’ into a permutation ๐œŽหœ of โ„’ฬƒ, and we will
show that WB๐œŽหœ (๐‘‹) หœ โ‰ฅ WB๐œŽ0 (๐‘‹) โˆ’ |๐‘‹ |.

The transformation is straightforward. Consider some block โ„ฌ๐‘– , and the corresponding set
                                                                           ๐‘ž +1
โ„’ ๐‘– โІ โ„’ of lines. Recall that the lines in โ„’ ๐‘– are indexed ๐ฟ1๐‘– , . . . , ๐ฟ ๐‘– ๐‘– in this left-to-right order,
                                                                          ๐‘ž +1
where ๐ฟ1๐‘– appears to the left of the first column of โ„ฌ๐‘– , and ๐ฟ ๐‘– ๐‘– appears to the right of the last
column of โ„ฌ๐‘– . Recall also that, in the current permutation ๐œŽ0, one of the following happens:
                                                                  ๐‘ž +1                  ๐‘ž
either (i) line ๐ฟ1๐‘– appears in the permutation first, and lines ๐ฟ ๐‘– ๐‘– , ๐ฟ2๐‘– , . . . , ๐ฟ ๐‘– appear at some later
                                                      ๐‘ž +1
point consecutively in this order; or (ii) line ๐ฟ ๐‘– ๐‘– appears in the permutation first, and lines
                      ๐‘ž
๐ฟ1๐‘– , ๐ฟ2๐‘– , . . . , ๐ฟ ๐‘– appear somewhere later in the permutation consecutively in this order. Therefore,
                         ๐‘—                                                       ๐‘—โˆ’1                              ๐‘ž +1
for all 2 โ‰ค ๐‘— โ‰ค ๐‘ž, line ๐ฟ ๐‘– separates a strip whose left boundary is ๐ฟ ๐‘–               and right boundary is ๐ฟ ๐‘– ๐‘– .
                                                     ๐‘—
It is easy to see that the cost of each such line ๐ฟ ๐‘– in permutation ๐œŽ0 is bounded by the number of
                                                                                             ๐‘—โˆ’1         ๐‘—
points of ๐‘‹ that lie on the unique active column that appears between ๐ฟ ๐‘–                          and ๐ฟ ๐‘– . The total
cost of all such lines is then bounded by |๐‘‹๐‘– |.
                                                                                                                     ๐‘ž
Let ๐œŽหœ โˆ— be a sequence of lines obtained from ๐œŽ0 by deleting, for all 1 โ‰ค ๐‘– โ‰ค ๐‘˜, all lines ๐ฟ2๐‘– , . . . , ๐ฟ ๐‘–
from it. Then ๐œŽหœ โˆ— naturally defines a permutation ๐œŽหœ of the set โ„’ฬƒ of vertical lines. Moreover,
from the above discussion, the total contribution of all deleted lines to WB๐œŽ0 (๐‘‹) is at most |๐‘‹ |,
so WB๐œŽหœ (๐‘‹)หœ โ‰ฅ WB๐œŽ0 (๐‘‹) โˆ’ |๐‘‹ | โ‰ฅ WB(๐‘‹)/4 โˆ’ 2 ร๐‘– WB(๐‘‹๐‘– ) โˆ’ ๐‘‚(|๐‘‹ |). We conclude that WB(๐‘‹)            หœ โ‰ฅ
        หœ                                                            หœ
WB๐œŽหœ (๐‘‹) โ‰ฅ WB(๐‘‹)/4 โˆ’ 2 ๐‘– WB(๐‘‹๐‘– ) โˆ’ ๐‘‚(|๐‘‹ |), and WB(๐‘‹) โ‰ค 4WB(๐‘‹) + 8 ๐‘– WB(๐‘‹๐‘– ) + ๐‘‚(|๐‘‹ |).
                          ร                                                 ร


                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                       24
               P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

4     Separation results for the strong Wilber bound

In this section we present our negative results, proving Theorem 1.1, and extend it to obtain a
separation result between the first and second Wilber bounds.


4.1     Basic tools

Our construction combines known input sequences and their properties, some of which have
been proved in the standard tree view of binary search trees. We discuss these facts in the
geometric context.


4.1.1    Monotonically increasing sequence

We say that an input set ๐‘‹ of points is monotonically increasing iff ๐‘‹ is a permutation, and
moreover for every pair ๐‘, ๐‘ 0 โˆˆ ๐‘‹ of points, if ๐‘.๐‘ฅ < ๐‘ 0 .๐‘ฅ, then ๐‘.๐‘ฆ < ๐‘ 0 .๐‘ฆ must hold. It is well
known that the value of the optimal solution of monotonically increasing sequences is low, and
we exploit this fact in our negative results.
Observation 4.1. If ๐‘‹ is a monotonically increasing set of points, then OPT(๐‘‹) โ‰ค |๐‘‹ | โˆ’ 1.

Proof. We order points in ๐‘‹ based on their ๐‘ฅ-coordinates as ๐‘‹ = {๐‘ 1 , . . . , ๐‘ ๐‘š } such that
๐‘ 1 .๐‘ฅ < ๐‘ 2 .๐‘ฅ < . . . < ๐‘ ๐‘š .๐‘ฅ. For each ๐‘– = 1, . . . , ๐‘š โˆ’ 1 we define ๐‘ž ๐‘– = ((๐‘ ๐‘– ).๐‘ฅ, (๐‘ ๐‘–+1 ).๐‘ฆ) and the set
๐‘Œ = {๐‘ž1 , . . . , ๐‘ž ๐‘šโˆ’1 }. It is easy to verify that ๐‘Œ is a feasible solution for ๐‘‹.                            


4.1.2    Bit reversal sequence (BRS)

The bit-reversal sequence, first described by Wilber [29], is a family of explicit input sequences
whose optimal value is asymptotically largest possible, that is, OPT(๐‘‹) = ฮฉ(|๐‘‹ | log |๐‘‹ |). The
original sequence was described in the language of binary representation of strings. Here we
use the geometric variant of BRS, which is more convenient for our analysis.
Let ๐‘– โ‰ฅ 0 be an integer and โ„› โІ โ„• and ๐’ž โІ โ„• be subsets of active rows and columns such that
|โ„›| = |๐’ž| = 2๐‘– . The level-๐‘– bit-reversal instance BRS(๐‘–, โ„›, ๐’ž) contains 2๐‘– points whose sets of
active rows and columns are exactly โ„› and ๐’ž respectively. The instances are defined inductively.
The level-0 instance BRS(0, {๐ถ}, {๐‘…}), containing a single point at the intersection of row ๐‘…
and column ๐ถ. Assume now that we have defined, for all 1 โ‰ค ๐‘– 0 โ‰ค ๐‘–, and any sets โ„› 0 , ๐’ž 0 of 2๐‘–
                                                                                                    0


integers, the corresponding instance BRS(๐‘– 0 , โ„› 0 , ๐’ž 0). We define instance BRS(๐‘– + 1, โ„›, ๐’ž), where
|โ„›| = |๐’ž| = 2๐‘–+1 , as follows.
Consider the columns in ๐’ž in their natural left-to-right order, and define ๐’ž๐‘™๐‘’ ๐‘“ ๐‘ก to be the
first 2๐‘– columns and ๐’ž๐‘Ÿ๐‘–๐‘” โ„Ž๐‘ก = ๐’ž \ ๐’ž๐‘™๐‘’ ๐‘“ ๐‘ก . Denote โ„› = {๐‘… 1 , . . . , ๐‘… 2๐‘–+1 }, where the rows are
indexed in their natural bottom to top order, and let โ„› ๐‘’๐‘ฃ๐‘’๐‘› = {๐‘…2 , ๐‘…4 , . . . , ๐‘… 2๐‘–+1 } and โ„› ๐‘œ๐‘‘๐‘‘ =

                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                   25
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

{๐‘…1 , ๐‘…3 , . . . , ๐‘… 2๐‘–+1 โˆ’1 } be the sets of all even-indexed and all odd-indexed rows, respectively.
Notice that |๐’ž๐‘™๐‘’ ๐‘“ ๐‘ก | = |๐’ž๐‘Ÿ๐‘–๐‘” โ„Ž๐‘ก | = |โ„› ๐‘’๐‘ฃ๐‘’๐‘› | = |โ„› ๐‘œ๐‘‘๐‘‘ | = 2๐‘– . The instance BRS(๐‘– + 1, โ„›, ๐’ž) is defined to
be BRS(๐‘–, โ„› ๐‘œ๐‘‘๐‘‘ , ๐’ž๐‘™๐‘’ ๐‘“ ๐‘ก ) โˆช BRS(๐‘–, โ„› ๐‘’๐‘ฃ๐‘’๐‘› , ๐’ž๐‘Ÿ๐‘–๐‘” โ„Ž๐‘ก ). See Figure 5 for an illustration.
It is well-known [29] that, if ๐‘‹ is a bit-reversal sequence on ๐‘› points, then OPT(๐‘‹) โ‰ฅ ฮฉ(๐‘› log ๐‘›).

Claim 4.2. Let ๐‘‹ = BRS(๐‘–, ๐’ž, โ„›), for any ๐‘– โ‰ฅ 0 and any sets ๐’ž and โ„› of columns and rows, respectively,
with |โ„›| = |๐’ž| = 2๐‘– . Then |๐‘‹ | = 2๐‘– , and OPT(๐‘‹) โ‰ฅ WB2(๐‘‹) โ‰ฅ ฮฉ(|๐‘‹ | log |๐‘‹ |).

Next, we present two additional technical tools that we use in our construction.


4.1.3   Exponentially spaced columns

Recall that we defined the bit reversal instance BRS(โ„“ , โ„›, ๐’ž), where โ„› and ๐’ž are sets of 2โ„“
rows and columns, respectively, that serve in the resulting instance as the sets of active rows
and columns; the instance contains ๐‘› = 2โ„“ points. In the Exponentially-Spaced BRS instance
ES-BRS(โ„“ , โ„›), we are still given a set โ„› of 2โ„“ rows that will serve as active rows in the resulting
instance, but we define the set ๐’ž of columns in a specific way. For an integer ๐‘–, let ๐ถ ๐‘– be the
column whose ๐‘ฅ-coordinate is ๐‘– and ๐’ž contain, for each 0 โ‰ค ๐‘– < 2โ„“ , the column ๐ถ2๐‘– . Denoting
            โ„“
๐‘ = 2๐‘› = 22 , the ๐‘ฅ-coordinates of the columns in ๐’ž are {1, 2, 4, 8, . . . , ๐‘/2}. The instance is
then defined to be BRS(โ„“ , โ„›, ๐’ž) for this specific set ๐’ž of columns. Notice that the instance
contains ๐‘› = log ๐‘ = 2โ„“ input points.
It is easy to see that any point set ๐‘‹ = ES-BRS(โ„“ , โ„›) satisfies OPT(๐‘‹) = ฮฉ(๐‘› log ๐‘›). We remark
that this idea of exponentially spaced columns is inspired by the instance used by Iacono [18]
to prove a gap between the weak WB-1 bound and OPT(๐‘‹). However, Iaconoโ€™s instance is
tailored to specific partitioning tree ๐‘‡, and it is clear that there is another partitioning tree ๐‘‡ 0
with OPT(๐‘‹) = ฮ˜(๐‘Š ๐ต๐‘‡ 0 (๐‘‹)). Therefore, this instance does not give a separation result for the
strong WB-1 bound, and in fact it does not provide negative results for the weak WB-1 bound
when the input point set is a permutation.


4.1.4   Cyclic shift of columns

Suppose we are given a point set ๐‘‹, and let ๐’ž = {๐ถ0 , . . . , ๐ถ ๐‘โˆ’1 } be any set of columns indexed in
their natural left-to-right order, such that all points of ๐‘‹ lie on columns of ๐’ž (but some columns
may contain no points of ๐‘‹). Let 0 โ‰ค ๐‘  < ๐‘ be any integer. We denote by ๐‘‹ ๐‘  a cyclic shift of ๐‘‹
by ๐‘  units with respect to ๐’ž, obtained as follows. For every point ๐‘ โˆˆ ๐‘‹ on column ๐ถ ๐‘— , we add a
new point ๐‘ ๐‘  to ๐‘‹ ๐‘  , that lies on the same row as ๐‘ and on column ๐ถ(๐‘—+๐‘ ) mod ๐‘ . In other words,
we shift the point ๐‘ by ๐‘  steps to the right (with respect to ๐’ž) in a circular manner. Equivalently,
we move the last ๐‘  columns of ๐’ž to the beginning of the instance. The following claim shows
that the value of the optimal solution does not decrease significantly in the shifted instance.


                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                               26
             P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

Claim 4.3. Let ๐‘‹ be any point set that is a semi-permutation. Let 0 โ‰ค ๐‘  < ๐‘ be a shift value, and let
๐‘‹ 0 = ๐‘‹ ๐‘  be the instance obtained from ๐‘‹ by a cyclic shift of its points by ๐‘  units to the right. Then
OPT(๐‘‹ 0) โ‰ฅ OPT(๐‘‹) โˆ’ |๐‘‹ |.


Proof. Let ๐‘Œ 0 be an optimal canonical solution to instance ๐‘‹ 0. We partition ๐‘Œ 0 into two subsets:
set ๐‘Œ10 consists of all points lying on the first ๐‘  columns with integral coordinates, and set ๐‘Œ20
consists of all points lying on the remaining columns. We also partition the points of ๐‘‹ 0 into two
subsets ๐‘‹10 and ๐‘‹20 similarly. Notice that ๐‘‹10 โˆช ๐‘Œ10 must be a satisfied set of points, and similarly,
๐‘‹20 โˆช ๐‘Œ20 is a satisfied set of points. Our goal is to use these sets to construct a feasible solution
for ๐‘‹ of size |๐‘‹ | + |๐‘Œ10 | + |๐‘Œ20 | = |๐‘‹ | + OPT(๐‘‹ 0).
Next, we partition the set ๐‘‹ of points into two subsets: set ๐‘‹1 contains all points lying on the
last ๐‘  columns with integral coordinates, and set ๐‘‹2 contains all points lying on the remaining
columns. Since ๐‘‹1 and ๐‘‹2 are simply horizontal shifts of the sets ๐‘‹10 and ๐‘‹20 of points, we can
define a set ๐‘Œ1 of |๐‘Œ10 | points such that ๐‘Œ1 is a canonical feasible solution for ๐‘‹1 , and we can define
a set ๐‘Œ2 for ๐‘‹2 similarly. Let ๐ถ be a column with a half-integral ๐‘ฅ-coordinate that separates ๐‘‹1
from ๐‘‹2 (that is, all points of ๐‘‹1 lie to the right of ๐ถ while all points of ๐‘‹2 lie to its left.) We
construct a new set ๐‘ of points, of cardinality |๐‘‹ |, such that ๐‘Œ1 โˆช ๐‘Œ2 โˆช ๐‘ is a feasible solution to
instance ๐‘‹. In order to construct the point set ๐‘, for each point ๐‘ โˆˆ ๐‘‹, we add a point ๐‘ 0 with
the same ๐‘ฆ-coordinate, that lies on column ๐ถ, to ๐‘. Notice that |๐‘| = |๐‘‹ |.
We claim that ๐‘ โˆช (๐‘Œ1 โˆช ๐‘Œ2 ) is a feasible solution for ๐‘‹, and this will complete the proof. Consider
any two points ๐‘, ๐‘ž โˆˆ ๐‘ โˆช (๐‘Œ1 โˆช ๐‘Œ2 ) โˆช ๐‘‹ that are not aligned. Let ๐ต1 and ๐ต2 be the strips obtained
from the bounding box ๐ต by partitioning it with column ๐ถ, so that ๐‘‹1 โІ ๐ต1 and ๐‘‹2 โІ ๐ต2 . If
both ๐‘ and ๐‘ž lie in the interior of the same strip, say ๐ต1 , we are done since set ๐‘‹1 โˆช ๐‘Œ1 of points
is satisfied. So, assume that one of the points (say ๐‘) lies in the interior of one of the strips
(say ๐ต1 ), while the other point either lies on ๐ถ, or in the interior of ๐ต2 . Then ๐‘ โˆˆ ๐‘‹1 โˆช ๐‘Œ1 must
hold. Moreover, since ๐‘Œ1 is a canonical solution for ๐‘‹1 , point ๐‘ lies on a row that is active for ๐‘‹1 .
Therefore, some point ๐‘ 0 โˆˆ ๐‘‹1 lies on the same row (where possibly ๐‘ 0 = ๐‘). But then a copy of
๐‘ 0 that was added to the set ๐‘ and lies on the column ๐ถ satisfies the pair (๐‘, ๐‘ž).                 


4.1.5   Partial costs of WB-1 bound

We use simple facts about the Wilber bound. The following is a property of any balanced binary
search trees.

Lemma 4.4. For any semi-permutation ๐‘‹, WB(๐‘‹) โ‰ค 2OPT(๐‘‹) โ‰ค ๐‘‚(๐‘Ÿ(๐‘‹) log ๐‘(๐‘‹)).

Our analysis also uses partial costs of the WB-1 bound restricted to a subtree and a path.

Claim 4.5. Consider a set ๐‘‹ of points that is a semi-permutation, an ordering ๐œŽ of the auxiliary columns
in โ„’ and the corresponding partitioning tree ๐‘‡ = ๐‘‡(๐œŽ). Let ๐‘ฃ โˆˆ ๐‘‰(๐‘‡) be any vertex of the tree. Then the
following hold:

                      T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                            27
                PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

      โ€ข Let ๐‘‡๐‘ฃ be the subtree of ๐‘‡ rooted at ๐‘ฃ. Then
                             ร•
                                       cost(๐‘ข) = WB๐‘‡๐‘ฃ (๐‘‹ โˆฉ ๐‘†(๐‘ฃ)) โ‰ค ๐‘‚(๐‘(๐‘ฃ) log(๐‘(๐‘ฃ)))
                            ๐‘ขโˆˆ๐‘‰(๐‘‡๐‘ฃ )


      โ€ข Let ๐‘ข be any descendant vertex of ๐‘ฃ, and let ๐‘ƒ be the unique path in ๐‘‡ connecting ๐‘ข to ๐‘ฃ. Then
        ร
          ๐‘งโˆˆ๐‘‰(๐‘ƒ) cost(๐‘ง) โ‰ค 2๐‘(๐‘ฃ).


Proof. The first assertion follows from the definition of the weak WB-1 bound and Lemma 4.4.
We now prove the second assertion. Denote ๐‘ƒ = (๐‘ฃ = ๐‘ฃ 1 , ๐‘ฃ2 , . . . , ๐‘ฃ ๐‘˜ = ๐‘ข). For all 1 < ๐‘– โ‰ค ๐‘˜, we
let ๐‘ฃ 0๐‘– be the unique sibling of the vertex ๐‘ฃ ๐‘– in the tree ๐‘‡. We also let ๐‘‹๐‘– be the set of points of ๐‘‹
that lie in the strip ๐‘†(๐‘ฃ 0๐‘– ), and we let ๐‘‹ 0 be the set of all points of ๐‘‹ that lie in the strip ๐‘†(๐‘ฃ ๐‘˜ ). It is
                                                                                                  ๐‘ž
easy to verify that ๐‘‹2 , . . . , ๐‘‹ ๐‘˜ , ๐‘‹ 0 are all mutually disjoint (since the strips {๐‘†(๐‘ฃ 0๐‘– )} ๐‘–=2 and ๐‘†(๐‘ฃ ๐‘˜ )
                                                                             ร๐‘ž
are disjoint), and that they are contained in ๐‘‹ โˆฉ ๐‘†(๐‘ฃ). Therefore, ๐‘–=2 |๐‘‹๐‘– | + |๐‘‹ 0 | โ‰ค ๐‘(๐‘ฃ).
From Observation 2.8, for all 1 โ‰ค ๐‘– < ๐‘˜, cost(๐‘ฃ ๐‘– ) โ‰ค 2๐‘(๐‘ฃ 0๐‘– ) = 2|๐‘‹๐‘– |, and cost(๐‘ฃ ๐‘˜ ) โ‰ค 2๐‘(๐‘ฃ ๐‘˜ ) = 2|๐‘‹ 0 |.
                               ร๐‘ž
Therefore, ๐‘งโˆˆ๐‘‰(๐‘ƒ) cost(๐‘ง) โ‰ค 2 ๐‘–=2 |๐‘‹๐‘– | + 2|๐‘‹ 0 | โ‰ค 2๐‘(๐‘ฃ).
          ร
                                                                                                          


4.2     Construction of the bad instance

We construct two instances: instance ๐‘‹ห† on ๐‘ โˆ— points, that is a semi-permutation (but is
somewhat easier to analyze), and instance ๐‘‹ โˆ— in ๐‘ โˆ— points, which is a permutation; the analysis
of instance ๐‘‹ โˆ— heavily relies on the analysis of instance ๐‘‹. ห† We will show that the optimal
solution value of both instances is ฮฉ(๐‘ log log ๐‘ ), but the cost of the Wilber Bound is at most
                                         โˆ—          โˆ—

๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ). Our construction uses the following three parameters. We let โ„“ โ‰ฅ 1 be an
integer, and we set ๐‘› = 2โ„“ and ๐‘ = 2๐‘› .


4.2.1    First instance

                                     ห† which is a semi-permutation containing ๐‘ columns.
We now construct our first instance ๐‘‹,
Intuitively, we create ๐‘ instances ๐‘‹ , ๐‘‹ 1 , . . . , ๐‘‹ ๐‘โˆ’1 , where instance ๐‘‹ ๐‘  is an exponentially-
                                    0

spaced BRS instance that is shifted by ๐‘  units. We then stack these instances on top of one
another in this order.
Formally, for all 0 โ‰ค ๐‘— โ‰ค ๐‘ โˆ’ 1, we define a set โ„› ๐‘— of ๐‘› consecutive rows with integral coordinates,
such that the rows of โ„› 0 , โ„› 1 , . . . , โ„› ๐‘โˆ’1 appear in this bottom-to-top order. Specifically, set โ„› ๐‘—
contains all rows whose ๐‘ฆ-coordinates are in {๐‘—๐‘› + 1, ๐‘—๐‘› + 2, . . . , (๐‘— + 1)๐‘›}.
For every integer 0 โ‰ค ๐‘  โ‰ค ๐‘ โˆ’ 1, we define a set of points ๐‘‹ ๐‘  , which is a cyclic shift of instance
ES-BRS(โ„“ , โ„› ๐‘  ) by ๐‘  units. Recall that |๐‘‹ ๐‘  | = 2โ„“ = ๐‘› and that the points in ๐‘‹ ๐‘  appear on the rows
in โ„› ๐‘  and a set ๐’ž๐‘  of columns, whose ๐‘ฅ-coordinates are in { 2 ๐‘— + ๐‘  mod ๐‘ : 0 โ‰ค ๐‘— < ๐‘›}. We
                                                                          

then let our final instance be ๐‘‹ห† = ๐‘โˆ’1          ๐‘                                       ห†
                                          ๐‘ =0 ๐‘‹ . From now on, we denote ๐‘ = | ๐‘‹ |. Recall that
                                                                                   โˆ—
                                       ร
|๐‘ | = ๐‘ ยท ๐‘› = ๐‘ log ๐‘.
   โˆ—



                         T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                 28
             P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

Observe that the number of active columns in ๐‘‹ห† is ๐‘. Since the instance is symmetric and
contains ๐‘ โˆ— = ๐‘ log ๐‘ points, every column contains exactly log ๐‘ points. Each row contains
exactly one point, so ๐‘‹ห† is a semi-permutation. (See Figure 5 for an illustration).




Figure 5: An illustration of our construction. The figure on the left shows the instance
BRS(2, [4], [4]). The figure on the right combines three copies ๐‘‹ 0 , ๐‘‹ 1 , ๐‘‹ 2 of the corresponding
exponentially-spaced instance, with horizontal shifts of 0, 1, and 2, respectively. The red points
are shifted copies of the same point in different sub-instances.

                                                                                     ห†
Lastly, we need the following bound on the value of the optimal solution of instance ๐‘‹.
                     ห† = ฮฉ(๐‘ โˆ— log log ๐‘ โˆ— )
Observation 4.6. OPT(๐‘‹)

Proof. From Claims 4.2 and 4.3, for each 0 โ‰ค ๐‘  โ‰ค ๐‘ โˆ’ 1, each sub-instance ๐‘‹ ๐‘  has OPT(๐‘‹ ๐‘  ) โ‰ฅ
ฮฉ(๐‘› log ๐‘›) = ฮฉ(log ๐‘ log log ๐‘). Therefore, OPT(๐‘‹)   ห† โ‰ฅ ร๐‘โˆ’1 OPT(๐‘‹ ๐‘  ) = ฮฉ(๐‘ log ๐‘ log log ๐‘) =
                                                            ๐‘ =0
ฮฉ(๐‘ โˆ— log log ๐‘ โˆ— ) (we have used the fact that ๐‘ โˆ— = ๐‘ log ๐‘).                               


4.2.2   Second instance

We now construct our second and final instance, ๐‘‹ โˆ— , that is a permutation. In order to do so,
we start with the instance ๐‘‹,ห† and, for every active column ๐ถ of ๐‘‹,     ห† we create ๐‘› = log ๐‘ new
columns (that we view as copies of ๐ถ), ๐ถ , . . . , ๐ถ
                                          1          log ๐‘ , which replace the column ๐ถ. We denote
this set of columns by โ„ฌ(๐ถ), and we refer it as the block of columns representing ๐ถ. Recall that
the original column ๐ถ contains log ๐‘ input points of ๐‘‹.      ห† We place each such input point on a
distinct column of โ„ฌ(๐ถ), so that the points form a monotonically increasing sequence (see the
definition in Section 4.1). This completes the definition of the final instance ๐‘‹ โˆ— . We obtain the
following immediate bound on the optimal solution cost of instance ๐‘‹ โˆ— .
                           ห† = ฮฉ(๐‘ โˆ— log log ๐‘ โˆ— ).
Claim 4.7. OPT(๐‘‹ โˆ— ) โ‰ฅ OPT(๐‘‹)

Next, we proceed to prove the following theorem.
                ห† โ‰ค ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ).
Theorem 4.8. WB(๐‘‹)

                     T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                        29
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

                          ห† Recall that it consists of ๐‘ instances ๐‘‹ 0 , ๐‘‹ 1 , . . . , ๐‘‹ ๐‘โˆ’1 that are stacked
Recall again the instance ๐‘‹.
on top of each other vertically in this order. We rename these instances as ๐‘‹1 , ๐‘‹2 , . . . , ๐‘‹๐‘ , so ๐‘‹ ๐‘— is
exactly ES-BRS(log ๐‘), that is shifted by (๐‘— โˆ’ 1) units to the right. Recall that | ๐‘‹ห† | = ๐‘ โˆ— = ๐‘ log ๐‘,
and each instance ๐‘‹๐‘  contains exactly log ๐‘ points. We denote by ๐’ž the set of ๐‘ columns,
whose ๐‘ฅ-coordinates are 1, 2, . . . , ๐‘. All points of ๐‘‹ห† lie on the columns of ๐’ž. For convenience,
for 1 โ‰ค ๐‘— โ‰ค ๐‘, we denote by ๐ถ ๐‘— the column of ๐’ž whose ๐‘ฅ-coordinate is ๐‘—.
Let ๐œŽ be any ordering of the auxiliary columns in โ„’, and let ๐‘‡ = ๐‘‡(๐œŽ) be the corresponding
                                                                                         ห† is
partitioning tree. It is enough to show that, for any such ordering ๐œŽ, the value of WB๐œŽ (๐‘‹)
bounded by ๐‘‚(๐‘ log log log ๐‘ ).
                  โˆ—             โˆ—


The total costs of the bound is divided into two parts as follows. Recall that ๐‘Š ๐ต ๐œŽ (๐‘‹)         ห† is the
sum, over all vertices ๐‘ฃ โˆˆ ๐‘‰(๐‘‡), of cost(๐‘ฃ). If ๐‘ฃ is a leaf vertex, then cost(๐‘ฃ) = 0. Otherwise,
let ๐ฟ = ๐ฟ(๐‘ฃ) be the line of โ„’ that ๐‘ฃ owns. Index the points in ๐‘‹ โˆฉ ๐‘†(๐‘ฃ) by ๐‘ž1 , . . . , ๐‘ž ๐‘ง in their
bottom-to-top order. A consecutive pair (๐‘ž ๐‘— , ๐‘ž ๐‘—+1 ) of points is a crossing iff they lie on different
sides of ๐ฟ(๐‘ฃ). We distinguish between the two types of crossings that contribute towards cost(๐‘ฃ).
We say that the crossing (๐‘ž ๐‘— , ๐‘ž ๐‘—+1 ) is of type-1 if both ๐‘ž ๐‘— and ๐‘ž ๐‘—+1 belong to the same shifted
instance ๐‘‹๐‘  for some 0 โ‰ค ๐‘  โ‰ค ๐‘ โˆ’ 1. Otherwise, they are of type-2. Note that, if (๐‘ž ๐‘— , ๐‘ž ๐‘—+1 ) is a
crossing of type 2, with ๐‘ž ๐‘— โˆˆ ๐‘‹๐‘  and ๐‘ž ๐‘—+1 โˆˆ ๐‘‹๐‘  0 , then ๐‘ , ๐‘  0 are not necessarily consecutive integers,
as it is possible that for some indices ๐‘  00, ๐‘‹๐‘  00 has no points that lie in the strip ๐‘†(๐‘ฃ). We now let
cost1 (๐‘ฃ) be the total number of type-1 crossings of ๐ฟ(๐‘ฃ), and cost2 (๐‘ฃ) the total number of type-2
                                                                                     ร
crossings. Note that cost(๐‘ฃ) = cost1 (๐‘ฃ) + cost2 (๐‘ฃ). We also define cost1 (๐œŽ) = ๐‘ฃโˆˆ๐‘‰(๐‘‡) cost1 (๐‘ฃ) and
cost2 (๐œŽ) = ๐‘ฃโˆˆ๐‘‰(๐‘‡) cost2 (๐‘ฃ). Clearly, WB๐œŽ (๐‘‹)
            ร                                  ห† = cost1 (๐œŽ) + cost2 (๐œŽ). We prove the following two
theorems.
Theorem 4.9. For every ordering ๐œŽ of the auxiliary columns in โ„’, cost1 (๐œŽ) โ‰ค ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ).
Theorem 4.10. For every vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡), cost2 (๐‘ฃ) โ‰ค ๐‘‚(log ๐‘) + ๐‘‚(cost1 (๐‘ฃ)).

We prove these theorems in Section 4.3 and 4.4. The latter implies that cost2 (๐œŽ) โ‰ค ๐‘‚(cost1 (๐œŽ)) +
๐‘‚(|๐‘‰(๐‘‡)| ยท log ๐‘) = ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ) + ๐‘‚(๐‘ log ๐‘) = ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ). Combining the
two theorems together completes the proof of Theorem 4.8.


4.2.3   Upper bounding WB(๐‘‹ โˆ— )

We argue that WB(๐‘‹ โˆ— ) = ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ), completing the proof of Theorem 1.1. Recall that
instance ๐‘‹ โˆ— is obtained from instance ๐‘‹ห† by replacing every active column ๐ถ of ๐‘‹ โˆ— with a block
โ„ฌ(๐ถ) of columns, and then placing the points of ๐ถ on the columns of โ„ฌ(๐ถ) so that they form a
monotone increasing sequence, while preserving their ๐‘ฆ-coordinates. The resulting collection
of all blocks โ„ฌ(๐ถ) partitions the set of all active columns of ๐‘‹ โˆ— . We denote this set of blocks by
โ„ฌ1 , . . . , โ„ฌ๐‘ . The idea is to use Theorem 3.6 in order to bound WB(๐‘‹ โˆ— ).
Consider a set of lines โ„’ 0 (with half-integral ๐‘ฅ-coordinates) that partition the bounding box
๐ต into ๐‘ strips, where the ๐‘–th strip contains the block โ„ฌ๐‘– of columns, so |โ„’ 0 | = (๐‘ โˆ’ 1). We

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                               30
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

consider a split of instance ๐‘‹ โˆ— by โ„’ 0: This gives us a collection of strip instances ๐‘‹๐‘–โˆ— 1โ‰ค๐‘–โ‰ค๐‘ and
                                                                                        

the compressed instance ๐‘‹  eโˆ— . Notice that the compressed instance is precisely ๐‘‹,  ห† and each strip
instance ๐‘‹๐‘– is a monotone increasing point set.
           โˆ—

Since each strip instance ๐‘‹๐‘–โˆ— is monotonously increasing, from Observation 4.1 and Claim 2.7,
for all ๐‘–, WB(๐‘‹๐‘–โˆ— ) โ‰ค ๐‘‚(OPT(๐‘‹๐‘–โˆ— )) โ‰ค ๐‘‚(|๐‘‹๐‘–โˆ— |). From Theorem 3.6, we then get that: WB(๐‘‹ โˆ— ) โ‰ค
4WB(๐‘‹) ห† + 8 ร๐‘– WB(๐‘‹ โˆ— ) + ๐‘‚(|๐‘‹ โˆ— |) โ‰ค 4WB(๐‘‹)
                                            ห† + ๐‘‚(|๐‘‹ โˆ— |) โ‰ค ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ).
                      ๐‘–



4.3   Bounding type-1 crossings

The goal of this subsection is to prove Theorem 4.9.
We prove this theorem by a probabilistic argument. Consider the following experiment. Fix the
permutation ๐œŽ of โ„’. Pick an integer ๐‘  โˆˆ {0, . . . , ๐‘ โˆ’ 1} uniformly at random, and let ๐‘‹ be the
resulting instance ๐‘‹๐‘  . This random process generates an input ๐‘‹ containing ๐‘› = log ๐‘ points.
Equivalently, let ๐‘ 1 , ๐‘2 , . . . , ๐‘ log ๐‘ be the points in BRS(โ„“ ) ordered from left to right. Once we
choose a random shift ๐‘ , we move these points to columns in ๐’ž๐‘  = {2 ๐‘— + ๐‘  mod ๐‘ }, where
point ๐‘ ๐‘— would be moved to ๐‘ฅ-coordinate 2 ๐‘— + ๐‘  mod ๐‘. Therefore, in the analysis, we view the
location of points ๐‘ 1 , . . . , ๐‘ log ๐‘ as random variables.
We denote by ๐œ‡(๐œŽ) the expected value of WB๐œŽ (๐‘‹), over the choices of the shift ๐‘ . The following
observation is immediate, and follows from the fact that the final instance ๐‘‹ห† contains every
instance ๐‘‹๐‘  for all shifts ๐‘  โˆˆ {0, . . . , ๐‘ โˆ’ 1}.

Observation 4.11. cost1 (๐œŽ) = ๐‘ ยท ๐œ‡(๐œŽ)

Therefore, in order to prove Theorem 4.9, it is sufficient to show that, for every fixed permutation
๐œŽ of โ„’, ๐œ‡(๐œŽ) โ‰ค ๐‘‚(log ๐‘ log log log ๐‘) (recall that ๐‘ โˆ— = ๐‘ log ๐‘).
We assume from now on that the permutation ๐œŽ (and the corresponding partitioning tree ๐‘‡) is
fixed, and we analyze the expectation ๐œ‡(๐œŽ). Let ๐‘ฃ โˆˆ ๐‘‰(๐‘‡). We say that ๐‘†(๐‘ฃ) is a seam strip iff point
๐‘ 1 lies in the strip ๐‘†(๐‘ฃ). We say that ๐‘†(๐‘ฃ) is a bad strip (or that ๐‘ฃ is a bad node) if the following
two conditions hold: (i) ๐‘†(๐‘ฃ) is not a seam strip; and (ii) ๐‘†(๐‘ฃ) contains at least 100 log log ๐‘
points of ๐‘‹. Let โ„ฐ(๐‘ฃ) be the bad event that ๐‘†(๐‘ฃ) is a bad strip.

Claim 4.12. For every vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡), Pr [โ„ฐ(๐‘ฃ)] โ‰ค 8 width(๐‘†(๐‘ฃ)) .
                                                        ๐‘ log
                                                         100
                                                                ๐‘


Proof. Fix a vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡). For convenience, we denote ๐‘†(๐‘ฃ) by ๐‘†. Let ๐‘  be the random integer
chosen by the algorithm and let ๐‘‹๐‘  = ๐‘‹ be the resulting point set. Assume that ๐‘† is a bad strip,
and let ๐ฟ be the vertical line that serves as the left boundary of ๐‘†. Let ๐‘ ๐‘— be the point of ๐‘‹๐‘  that
lies to the left of ๐ฟ, and among all such points, we take the one closest to ๐ฟ. Recall that for each
1 โ‰ค ๐‘— < log ๐‘, there are 2 ๐‘— โˆ’ 1 columns of ๐’ž that lie between the column of ๐‘ ๐‘— and the column of
๐‘ ๐‘—+1 .

                      T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                            31
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

If ๐‘† is a bad strip, then it must contain points ๐‘ ๐‘—+1 , ๐‘ ๐‘—+2 , . . . , ๐‘ ๐‘—+๐‘ž , where ๐‘ž = 100 log log ๐‘.
Therefore, the number of columns of ๐’ž in strip ๐‘† is at least 2 ๐‘—+๐‘žโˆ’2 , or, equivalently, width(๐‘†) โ‰ฅ
2 ๐‘—+๐‘ž /4 โ‰ฅ (2 ๐‘— log100 ๐‘)/4. In particular, 2 ๐‘— โ‰ค 4 width(๐‘†)/log100 ๐‘.
Therefore, in order for ๐‘† to be a bad strip, the shift ๐‘  must be chosen in such a way that the point
๐‘ ๐‘— , that is the rightmost point of ๐‘‹๐‘  lying to the left of ๐ฟ, has 2 ๐‘— โ‰ค 4 width(๐‘†)/log100 ๐‘. It is easy
to verify that the total number of all such shifts ๐‘  is bounded by 8 width(๐‘†)/log100 ๐‘.
In order to see this, consider an equivalent experiment, in which we keep the instance ๐‘‹1
fixed, and instead choose a random shift ๐‘  โˆˆ {0, . . . , ๐‘ โˆ’ 1} for the line ๐ฟ. For the bad event
โ„ฐ(๐‘ฃ) to happen, the line ๐ฟ must fall in the interval between ๐‘ฅ-coordinate 0 and ๐‘ฅ-coordinate
8 width(๐‘†)/log100 ๐‘. Since every integral shift ๐‘  is chosen with the same probability 1/๐‘, the
probability that โ„ฐ(๐‘ฃ) happens is at most 8 width(๐‘†) .                                          
                                                ๐‘ log
                                              100
                                                        ๐‘


Consider now the partitioning tree ๐‘‡. We partition the vertices of ๐‘‡ into log ๐‘ + 1 classes
๐‘„ 1 , . . . , ๐‘„ log ๐‘+1 . A vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡) lies in class ๐‘„ ๐‘– iff 2๐‘– โ‰ค width(๐‘†(๐‘ฃ)) < 2๐‘–+1 . Therefore, every
vertex of ๐‘‡ belongs to exactly one class.
Consider now some vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡), and assume that it lies in class ๐‘„ ๐‘– . We say that ๐‘ฃ is an
important vertex for class ๐‘„ ๐‘– iff no ancestor of ๐‘ฃ in the tree ๐‘‡ belongs to class ๐‘„ ๐‘– . Notice that, if ๐‘ข
is an ancestor of ๐‘ฃ, and ๐‘ข โˆˆ ๐‘„ ๐‘— , then ๐‘— โ‰ฅ ๐‘– must hold.
For each 1 โ‰ค ๐‘– โ‰ค log ๐‘ + 1, let ๐‘ˆ ๐‘– be the set of all important vertices of class ๐‘„ ๐‘– .
Observation 4.13. For each 1 โ‰ค ๐‘– โ‰ค log ๐‘ + 1, |๐‘ˆ ๐‘– | โ‰ค ๐‘/2๐‘– .

Proof. Since no vertex of ๐‘ˆ ๐‘– may be an ancestor of another vertex, the strips in {๐‘†(๐‘ฃ) | ๐‘ฃ โˆˆ ๐‘ˆ ๐‘– }
are mutually disjoint, except for possibly sharing their boundaries. Since each strip has width at
least 2๐‘– , and we have exactly ๐‘ columns, the number of such strips is bounded by ๐‘/2๐‘– .        

Let โ„ฐ be the bad event that there is some index 1 โ‰ค ๐‘– โ‰ค log ๐‘ + 1, and some important vertex
๐‘ฃ โˆˆ ๐‘ˆ ๐‘– of class ๐‘„ ๐‘– , for which the event โ„ฐ(๐‘ฃ) happens. Applying the Union Bound to all strips in
{๐‘†(๐‘ฃ) | ๐‘ฃ โˆˆ ๐‘ˆ ๐‘– } and all indices 1 โ‰ค ๐‘– โ‰ค log ๐‘, we obtain the following corollary of Claim 4.12.
Corollary 4.14. Pr [โ„ฐ] โ‰ค       32
                                    .
                            log99 ๐‘


Proof. Fix some index 1 โ‰ค ๐‘– โ‰ค log ๐‘. Recall that for every important vertex ๐‘ฃ โˆˆ ๐‘ˆ ๐‘– , the
                                                                      ๐‘–+1          ๐‘–
probability that the event โ„ฐ(๐‘ฃ) happens is at most 8 width(๐‘†(๐‘ฃ)) โ‰ค 8ยท2 100 = 16ยท2100 . From
                                                         100
                                                              ๐‘ log   ๐‘     ๐‘ log   ๐‘     ๐‘ log   ๐‘
Observation 4.13, |๐‘ˆ ๐‘– | โ‰ค ๐‘/2๐‘– . From the union bound, the probability that event โ„ฐ(๐‘ฃ) happens
for any ๐‘ฃ โˆˆ ๐‘ˆ ๐‘– is bounded by 16        . Using the union bound over all 1 โ‰ค ๐‘– โ‰ค log ๐‘ + 1, we
                                    100
                                      log   ๐‘
conclude that Pr [โ„ฐ] โ‰ค       32
                                  .                                                                       
                          log99 ๐‘


Lastly, we show that, if event โ„ฐ does not happen, then the cost of the Wilber Bound is sufficiently
small.

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                              32
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

Lemma 4.15. Let 1 โ‰ค ๐‘  โ‰ค ๐‘ be a shift for which โ„ฐ does not happen. Then:


                                      ๐‘Š ๐ต ๐œŽ (๐‘‹๐‘  ) โ‰ค ๐‘‚(log ๐‘ log log log ๐‘).

Proof. Consider the partitioning tree ๐‘‡ = ๐‘‡(๐œŽ). We say that a vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡) is a seam vertex iff
๐‘†(๐‘ฃ) is a seam strip, that is, the point ๐‘ 1 in instance ๐‘‹๐‘  lies in ๐‘†(๐‘ฃ). Clearly, the root of ๐‘‡ is a
seam vertex, and for every seam vertex ๐‘ฃ, exactly one of its children is a seam vertex. Therefore,
there is a root-to-leaf path ๐‘ƒ that only consists of seam vertices, and every seam vertex lies on
๐‘ƒ. We denote the vertices of ๐‘ƒ by ๐‘ฃ 1 , ๐‘ฃ2 , . . . , ๐‘ฃ ๐‘ž , where ๐‘ฃ 1 is the root of ๐‘‡, and ๐‘ฃ ๐‘ž is a leaf. For
1 < ๐‘– โ‰ค ๐‘ž, we denote by ๐‘ฃ 0๐‘– the sibling of the vertex ๐‘ฃ ๐‘– . Note that all strips ๐‘†(๐‘ฃ 20 ), . . . , ๐‘†(๐‘ฃ 0๐‘ž ) are
                                                                               ร๐‘ž
mutually disjoint, except for possibly sharing boundaries, and so ๐‘–=2 ๐‘(๐‘ฃ 0๐‘– ) โ‰ค |๐‘‹๐‘  | = log ๐‘.
                             ร๐‘ž
Moreover, from Claim 4.5, ๐‘–=1 cost(๐‘ฃ ๐‘– ) โ‰ค 2|๐‘‹๐‘  | = 2 log ๐‘.
For each 1 < ๐‘– โ‰ค ๐‘ž, let ๐‘‡๐‘– be the subtree of ๐‘‡ rooted at the vertex ๐‘ฃ 0๐‘– . We prove the following
claim:
Claim 4.16. For all 1 < ๐‘– โ‰ค ๐‘ž, the total cost of all vertices in ๐‘‡๐‘– is at most ๐‘‚(๐‘(๐‘ฃ 0๐‘– ) log log log ๐‘).

Assume first that the above claim is correct. Notice that every vertex of ๐‘‡ that does not lie on
the path ๐‘ƒ must belong to one of the trees ๐‘‡๐‘– . The total cost of all vertices lying in all trees ๐‘‡๐‘–
                      ร๐‘ž
is then bounded by ๐‘–=2 ๐‘‚(๐‘(๐‘ฃ 0๐‘– ) log log log ๐‘) โ‰ค ๐‘‚(log ๐‘ log log log ๐‘). Since the total cost
of all vertices on the path ๐‘ƒ is bounded by 2 log ๐‘, overall, the total cost of all vertices in ๐‘‡ is
bounded by ๐‘‚(log ๐‘ log log log ๐‘).
In order to complete the proof of Lemma 4.15, it now remains to prove Claim 4.16.

Proof. Claim 4.16 We fix some index 1 < ๐‘– โ‰ค ๐‘ž, and consider the vertex ๐‘ฃ 0๐‘– . If the parent ๐‘ฃ ๐‘–โˆ’1 of ๐‘ฃ 0๐‘–
belongs to a different class than ๐‘ฃ 0๐‘– , then ๐‘ฃ 0๐‘– must be an important vertex in its class. In this case,
since we have assumed that Event โ„ฐ does not happen, ๐‘(๐‘ฃ 0๐‘– ) โ‰ค ๐‘‚(log log ๐‘). From Claim 4.5,
the total cost of all vertices in ๐‘‡๐‘– is bounded by
                     ร•
                               cost(๐‘ฃ) โ‰ค ๐‘‚(๐‘(๐‘ฃ 0๐‘– ) log(๐‘(๐‘ฃ 0๐‘– ))) โ‰ค ๐‘‚(๐‘(๐‘ฃ 0๐‘– ) log log log ๐‘)
                    ๐‘ฃโˆˆ๐‘‰(๐‘‡๐‘– )

Therefore, we can assume from now on that ๐‘ฃ ๐‘–โˆ’1 and ๐‘ฃ 0๐‘– both belong to the same class, that we
denote by ๐‘„ ๐‘— . Notice that, if a vertex ๐‘ฃ belongs to class ๐‘„ ๐‘— , then at most one of its children may
belong to class ๐‘„ ๐‘— ; the other child must belong to some class ๐‘„ ๐‘—0 for ๐‘— 0 < ๐‘—, and it must be an
important vertex in its class.
We now construct a path ๐‘ƒ๐‘– in tree ๐‘‡๐‘– iteratively, as follows. The first vertex on the path is ๐‘ฃ 0๐‘– .
We then iteratively add vertices at to the end of path ๐‘ƒ๐‘– one-by-one, so that every added vertex
belongs to class ๐‘„ ๐‘— . In order to do so, let ๐‘ฃ be the last vertex on the current path ๐‘ƒ๐‘– . If some
child ๐‘ข of ๐‘ฃ also lies in class ๐‘„ ๐‘– , then we add ๐‘ข to the end of ๐‘ƒ๐‘– and continue to the next iteration.
Otherwise, we terminate the construction of the path ๐‘ƒ๐‘– .

                         T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                33
             PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

Denote the sequence of vertices on the final path ๐‘ƒ๐‘– by (๐‘ฃ 0๐‘– = ๐‘ข1 , ๐‘ข2 , . . . , ๐‘ข๐‘ง ); recall that every
vertex on ๐‘ƒ๐‘– belongs to class ๐‘„ ๐‘— , and that path ๐‘ƒ๐‘– is a sub-path of some path connecting ๐‘ฃ 0๐‘–
to a leaf of ๐‘‡๐‘– . Let ๐‘ be a set of vertices containing, for all 1 < ๐‘ง 0 โ‰ค ๐‘ง a sibling of the vertex
๐‘ข๐‘ง0 , and additionally the two children of ๐‘ข๐‘ง (if they exist). Note that every vertex ๐‘ฅ โˆˆ ๐‘ is
an important vertex in its class, and, since we have assumed that Event โ„ฐ did not happen,
๐‘(๐‘ฅ) โ‰ค ๐‘‚(log log ๐‘). For every vertex ๐‘ฅ โˆˆ ๐‘, we denote by ๐‘‡๐‘ฅ0 the subtree of ๐‘‡ rooted at ๐‘ฅ. From
Claim 4.5, cost(๐‘‡๐‘ฅ0 ) โ‰ค ๐‘‚(๐‘(๐‘ฅ) log(๐‘(๐‘ฅ))) = ๐‘‚(๐‘(๐‘ฅ) log log log ๐‘).
Notice that all strips in {๐‘†(๐‘ฅ) | ๐‘ฅ โˆˆ ๐‘} are disjoint from each other, except for possibly sharing a
boundary. It is then easy to see that ๐‘ฅโˆˆ๐‘ ๐‘(๐‘ฅ) โ‰ค ๐‘(๐‘ฃ 0๐‘– ). Therefore, altogether ๐‘ฅโˆˆ๐‘ cost(๐‘‡๐‘ฅ0 ) โ‰ค
                                       ร                                            ร
๐‘‚(๐‘(๐‘ฃ 0๐‘– ) log log log ๐‘)).
Lastly, notice that every vertex of ๐‘‰(๐‘‡๐‘– ) either lies on ๐‘ƒ๐‘– , or belongs to one of the trees ๐‘‡๐‘ฅ0 for
๐‘ฅ โˆˆ ๐‘. Since, from Claim 4.5, the total cost of all vertices on ๐‘ƒ๐‘– is bounded by ๐‘(๐‘ฃ 0๐‘– ), altogether,
the total cost of all vertices in ๐‘‡๐‘– is bounded by ๐‘‚(๐‘(๐‘ฃ 0๐‘– ) log log log ๐‘)).                      

                                                                                                       

To summarize, if the shift ๐‘  is chosen such that Event โ„ฐ does not happen, ๐‘Š ๐ต ๐œŽ (๐‘‹๐‘  ) โ‰ค
๐‘‚(log ๐‘ log log log ๐‘). Assume now that the shift ๐‘  is chosen such that Event โ„ฐ happens.
From Corollary 4.14, the probability of this is at most Pr [โ„ฐ] โ‰ค 32  . Since |๐‘‹๐‘  | = log ๐‘,
                                                                  99
                                                                          log   ๐‘
from Corollary 4.4, WB๐œŽ (๐‘‹๐‘  ) โ‰ค |๐‘‹๐‘  | log(|๐‘‹๐‘  |) โ‰ค log ๐‘ log log ๐‘. Therefore, altogether, we
get that ๐œ‡(๐œŽ) โ‰ค ๐‘‚(log ๐‘ log log log ๐‘), and cost1 (๐œŽ) = ๐‘ ยท ๐œ‡(๐œŽ) = ๐‘‚(๐‘ log ๐‘ log log log ๐‘) =
๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ), as ๐‘ โˆ— = ๐‘ log ๐‘.


4.4   Bounding type-2 crossings

This subsection is dedicated to the proof of Theorem 4.10. We fix a vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡), and we
denote ๐‘† = ๐‘†(๐‘ฃ). We also let ๐ฟ = ๐ฟ(๐‘ฃ) be the vertical line that ๐‘ฃ owns. Our goal is to show that
the number of type-2 crossings of ๐ฟ is bounded by ๐‘‚(cost1 (๐‘ฃ)) + ๐‘‚(log ๐‘).
Recall that instances ๐‘‹1 , . . . , ๐‘‹๐‘ are stacked on top of each other, so that the first log ๐‘ rows
with integral coordinates belong to ๐‘‹1 , the next log ๐‘ rows belong to ๐‘‹2 , and so on. If we have
a crossing (๐‘, ๐‘ 0), where ๐‘ โˆˆ ๐‘‹๐‘  and ๐‘ 0 โˆˆ ๐‘‹๐‘  0 , then we say that the instances ๐‘‹๐‘  and ๐‘‹๐‘  0 are
responsible for this crossings. Recall that ๐‘, ๐‘ 0 may only define a crossing if they lie on opposite
sides of the line ๐ฟ, and if no point of ๐‘‹ห† lies in the strip ๐‘† between the row of ๐‘ and the row of ๐‘ 0.
It is then clear that every instance ๐‘‹๐‘  may be responsible for at most two type-2 crossings of ๐ฟ:
one in which the second instance ๐‘‹๐‘  0 responsible for the crossing has ๐‘  0 < ๐‘ , and one in which
๐‘  0 > ๐‘ .
We further partition the type-2 crossings into two sub-types. Consider a crossing (๐‘, ๐‘ 0), and let
๐‘‹๐‘  , ๐‘‹๐‘  0 be the two instances that are responsible for it. If either of ๐‘‹๐‘  , ๐‘‹๐‘  0 contributes a type-1
crossing to the cost of ๐ฟ, then we say that (๐‘, ๐‘ 0) is a type-(2a) crossing; otherwise it is a type-(2b)

                      T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                            34
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

crossing. Clearly, the total number of type-(2a) crossings is bounded by ๐‘‚(cost1 (๐‘ฃ)). It is now
sufficient to show that the total number of all type-(2b) crossings is bounded by ๐‘‚(log ๐‘).
Consider now some type-(2b) crossing (๐‘, ๐‘ 0), and let ๐‘‹๐‘  and ๐‘‹๐‘  0 be the two instances that are
responsible for it, with ๐‘ โˆˆ ๐‘‹๐‘  . We assume that ๐‘  < ๐‘  0. Since neither instance contributes a
crossing to cost1 (๐‘ฃ), it must be the case that all points of ๐‘‹๐‘  โˆฉ ๐‘† lie to the left of ๐ฟ and all points
of ๐‘‹๐‘  0 โˆฉ ๐‘† lie to the right of ๐ฟ or vice versa. Moreover, if ๐‘  0 > ๐‘  + 1, then for all ๐‘  < ๐‘  00 < ๐‘  0,
๐‘‹๐‘  00 โˆฉ ๐‘† = โˆ….
It would be convenient for us to collapse each of the instances ๐‘‹1 , . . . , ๐‘‹๐‘ into a single row. In
order to do so, for each 1 โ‰ค ๐‘  โ‰ค ๐‘, we replace all rows on which the points of ๐‘‹๐‘  lie with a single
row ๐‘… ๐‘  . If some point of ๐‘‹๐‘  lies on some column ๐ถ, then we add a point at the intersection of ๐‘… ๐‘ 
and ๐ถ.
We say that a row ๐‘… ๐‘  is empty if there are no input points in ๐‘… ๐‘  โˆฉ ๐‘†. We say that it is a neutral
row, if there are points in ๐‘… ๐‘  โˆฉ ๐‘† both to the left of ๐ฟ and to the right of ๐ฟ. We say that it is a left
row if ๐‘… ๐‘  โˆฉ ๐‘† only contains points lying to the left of ๐ฟ, and we say that it is a right row if ๐‘… ๐‘  โˆฉ ๐‘†
only contains points lying to the right of ๐ฟ.
If we now consider any type-(2b) crossing (๐‘, ๐‘ 0), and the instances ๐‘‹๐‘  , ๐‘‹๐‘  0 that are responsible
for it, with ๐‘  < ๐‘  0, then it must be the case that exactly one of the rows ๐‘… ๐‘  , ๐‘… ๐‘  0 is a left row, and
the other is a right row. Moreover, if ๐‘  0 > ๐‘  + 1, then every row lying between ๐‘… ๐‘  and ๐‘… ๐‘  0 is an
empty row.
Let us denote the points in ๐‘‹1 by ๐‘ 1 , . . . , ๐‘ log ๐‘ , where for each 1 โ‰ค ๐‘– โ‰ค log ๐‘, point ๐‘ ๐‘– lies in
column ๐ถ2๐‘– . In each subsequent instance ๐‘‹2 , ๐‘‹3 , . . ., the point is shifted by one unit to the right,
so that in instance ๐‘‹๐‘  it lies in column ๐ถ2๐‘– +๐‘ โˆ’1 ; every column in ๐’ž must contain exactly one copy
of point ๐‘ ๐‘– .
Consider now all copies of the point ๐‘ ๐‘– that lie in the strip ๐‘†. Let โ„› ๐‘– be the set of rows containing
these copies. Then two cases are possible: either (i) โ„› ๐‘– is a contiguous set of rows, and the
copies of ๐‘ ๐‘– appear on โ„› ๐‘– diagonally as an increasing sequence (the ๐‘—th row of โ„› ๐‘– contains a
copy of ๐‘ ๐‘– that lies in the ๐‘—th column of ๐’ž in the strip ๐‘†); or โ„› ๐‘– consists of two consecutive sets of
rows; the first set, that we denote by โ„› 0๐‘– , contains ๐‘…1 , and the second set, that we denote by โ„› 00๐‘– ,
contains the last row ๐‘… ๐‘ . The copies of the point ๐‘ ๐‘– also appear diagonally in โ„› 0๐‘– and in โ„› 00๐‘– ; in
โ„› 00๐‘– the first copy lies on the first column of ๐’ž in ๐‘†; in โ„› 0๐‘– the last copy lies on the last column of
๐’ž in ๐‘† (see Figure 6).
We show that for each 1 โ‰ค ๐‘– โ‰ค log ๐‘, there are at most four type-(2b) crossings of the line ๐ฟ in
which a copy of ๐‘ ๐‘– participates. Indeed, consider any type-(2b) crossing (๐‘, ๐‘ 0) in which a copy
of ๐‘ ๐‘– participates. We assume that the row of ๐‘ lies below the row of ๐‘ 0. Assume first that both
๐‘ and ๐‘ 0 lie on rows of โ„› ๐‘– , and let ๐‘…, ๐‘…0 be these two rows, with ๐‘ โˆˆ ๐‘…, ๐‘ 0 โˆˆ ๐‘…0. Recall that, in
order for (๐‘, ๐‘ 0) to define a crossing, all input points that lie on ๐‘… โˆฉ ๐‘† must lie to the left of ๐ฟ,
and all point points that lie on ๐‘…0 โˆฉ ๐‘† must lie to the right of ๐ฟ, or the other way around. It is
easy to verify (see Figure 6) that one of two cases must happen: either ๐‘… contains a copy of ๐‘ ๐‘–
lying closest to ๐ฟ on its left, and ๐‘…0 contains a copy of ๐‘ ๐‘– lying closest to ๐ฟ on its right; or ๐‘… is the


                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                            35
               PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK


                              L                                                     L




                                                            (b) The two consecutive sets of rows on
      (a) The consecutive set of rows on which              which the copies of ๐‘ ๐‘– appear are โ„› 0๐‘– (on
      the copies of ๐‘ ๐‘– appear is denoted by โ„› ๐‘– .          the bottom) and โ„› 00๐‘– (on the top).

                Figure 6: Two patterns in which copies of ๐‘ ๐‘– may appear on strip ๐‘†.


last row of โ„› 0๐‘– , and ๐‘…0 is the first row of โ„› 00๐‘– . Therefore, only two such crossing, with ๐‘…, ๐‘…0 โˆˆ โ„› ๐‘–
are possible.
Assume now that ๐‘… โˆˆ โ„› ๐‘– and ๐‘…0 โˆ‰ โ„› ๐‘– ; recall that we assume that ๐‘…0 lies above ๐‘…. Then all rows
that lie between ๐‘… and ๐‘…0 must be empty, so it is easy to verify that ๐‘… must be the last row of โ„› ๐‘–
(or it must be the last row of โ„› 0๐‘– ). In either case, at most one such crossing is possible.
Lastly, we assume that ๐‘… โˆ‰ โ„› ๐‘– and ๐‘…0 โˆˆ โ„› ๐‘– . The analysis is symmetric; it is easy to see that at
most one such crossing is possible.
We conclude that for each 1 โ‰ค ๐‘– โ‰ค log ๐‘, at most four type-(2b) crossings of the line ๐ฟ may
involve copies of ๐‘ ๐‘– , and so the total number of type-(2b) crossings of ๐ฟ is bounded by ๐‘‚(log ๐‘).
To summarize, we have shown that for every ordering ๐œŽ of the auxiliary columns in โ„’,
                                                            ห† = ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ). Since OPT(๐‘‹)
cost1 (๐œŽ), cost2 (๐œŽ) โ‰ค ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ), and so WB๐œŽ (๐‘‹)                                     ห† =
     โˆ—            โˆ—                                     โˆ—           โˆ—                    ห†
ฮฉ(๐‘ log log ๐‘ ), we obtain a gap of ฮฉ(log log ๐‘ /log log log ๐‘ ) between OPT(๐‘‹) and WB(๐‘‹).          ห†


4.5    Separating WB(2) and WB
                                      log log ๐‘›
In this section, we extend our ฮฉ( log log log ๐‘› )-factor separation between WB and OPT to a separation
between WB and the second Wilber bound (denoted by WB(2) ), which is defined below.4
   4Wilber originally defined this bound based on the tree view. We use an equivalent geometric definition as
discussed in [11, 18].


                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                              36
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

Let ๐‘‹ be a set of ๐‘š points that is a semi-permutation. Consider any point ๐‘ โˆˆ ๐‘‹. The funnel of
๐‘, denoted by funnel(๐‘‹ , ๐‘) is the set of all points ๐‘ž โˆˆ ๐‘‹, such that ๐‘ž, ๐‘ฆ < ๐‘.๐‘ฆ, and ๐‘,๐‘ž contains
no point of ๐‘‹ \ {๐‘, ๐‘ž}. Denote funnel(๐‘‹ , ๐‘) = {๐‘Ž 1 , ๐‘Ž2 , . . . , ๐‘Ž ๐‘Ÿ }, where the points are indexed in
the increasing order of their ๐‘ฆ-coordinates. Let alt(๐‘‹ , ๐‘) be the number of indices 1 โ‰ค ๐‘– < ๐‘Ÿ,
such that ๐‘Ž ๐‘– lies strictly to the left of ๐‘ and ๐‘Ž ๐‘–+1 lies strictly to the right of ๐‘, or the other way
around. The second Wilber bound is:
                                                         ร•
                                      WB(2) (๐‘‹) = ๐‘š +          alt(๐‘‹ , ๐‘).
                                                         ๐‘โˆˆ๐‘‹


The goal of this section is to prove the following:

Theorem 4.17. For infinitely many integer ๐‘›, there exists a point set ๐‘‹ that is a permutation with
|๐‘‹ | = ๐‘›, such that WB(2) (๐‘‹) โ‰ฅ ฮฉ(๐‘› log log ๐‘›) but WB(๐‘‹) โ‰ค ๐‘‚(๐‘› log log log ๐‘›).

As it is known that OPT(๐‘‹) โ‰ฅ WB(2) (๐‘‹) for any point set ๐‘‹ [29], Theorem 4.17 is a stronger
statement than Theorem 1.1. To prove Theorem 4.17, we use exactly the same permutation
sequence ๐‘‹ โˆ— of size ๐‘ โˆ— that is constructed in Section 4.2. Since we already showed that
WB(๐‘‹ โˆ— ) โ‰ค ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ), it remains to show that WB(2) (๐‘‹ โˆ— ) โ‰ฅ ฮฉ(๐‘ โˆ— log log ๐‘ โˆ— ).
We use the following claim of Wilber [29].

Claim 4.18 ([29]). WB(2) (BRS(๐‘›)) = ฮฉ(๐‘› log ๐‘›) for any ๐‘›.

We extend this bound to the cyclically shifted BRS in the following lemma.

Lemma 4.19. For integers ๐‘› > 0, ๐‘  with 0 โ‰ค ๐‘  < ๐‘›, let ๐‘‹ be the sequence obtained by performing a
cyclic shift to BRS(๐‘›) by ๐‘  units. Then WB(2) (๐‘‹) = ฮฉ(๐‘› log ๐‘›).

Proof. Observe that, for any choice of ๐‘ , there must exists a subsequence ๐‘‹ 0 of ๐‘‹ such that ๐‘‹ 0 is
a copy of BRS(๐‘› โˆ’ 1). It is shown in Lemma 6.2 of [22] that for any pair of sequences ๐‘, ๐‘0 with
๐‘0 โІ ๐‘, WB(2) (๐‘0) โ‰ค WB(2) (๐‘) holds. Therefore, we conclude that

                             WB(2) (๐‘‹) โ‰ฅ WB(2) (BRS(๐‘› โˆ’ 1)) โ‰ฅ ฮฉ(๐‘› log ๐‘›).

                                                                                                            

Now, we are ready to bound WB(2) (๐‘‹ โˆ— ).

Lemma 4.20. WB(2) (๐‘‹ โˆ— ) = ฮฉ(๐‘ โˆ— log log ๐‘ โˆ— ).

Proof. Recall that ๐‘‹ห† is the union of the sets ๐‘‹ 0 , ๐‘‹ 1 , . . . , ๐‘‹ ๐‘โˆ’1 of points, where for all 0 โ‰ค ๐‘  โ‰ค ๐‘ โˆ’1,
set ๐‘‹ ๐‘  is an exponentially-spaced BRS instance that is shifted by ๐‘  units. From the definition
                                          ห† โ‰ฅ ร๐‘โˆ’1 WB(2) (๐‘‹ ๐‘  ). This is since, for all 0 โ‰ค ๐‘  โ‰ค ๐‘ โˆ’ 1,
of WB(2) , it is easy to see that WB(2) (๐‘‹)        ๐‘ =0


                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                37
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

for ever point ๐‘ โˆˆ ๐‘‹ ๐‘  , funnel(๐‘‹ ๐‘  , ๐‘) โІ funnel(๐‘‹ห† , ๐‘), and moreover alt(๐‘‹ห† , ๐‘) โ‰ฅ alt(๐‘‹ ๐‘  , ๐‘). From
Lemma 4.19, we get that WB(2) (๐‘‹ ๐‘  ) = ฮฉ(๐‘› log ๐‘›), where ๐‘› = |๐‘‹ ๐‘  | = log ๐‘. Therefore,

                                 ห† โ‰ฅ ๐‘ ยท ฮฉ(๐‘› log ๐‘›) = ฮฉ(๐‘ โˆ— log log ๐‘ โˆ— ).
                          WB(2) (๐‘‹)

Finally, recall that the sequence ๐‘‹ โˆ— is obtained from ๐‘‹ห† by replacing each column ๐ถ of ๐‘‹ห† with
a block โ„ฌ(๐ถ) of columns, and placing all points of ๐‘‹ห† lying in ๐ถ on the columns of โ„ฌ(๐ถ) so
that they form a monotonically increasing sequence of length ๐‘›. It is not hard to see that
                      ห† which concludes the proof.
WB(2) (๐‘‹ โˆ— ) โ‰ฅ WB(2) (๐‘‹)                                                                      


5     Guillotine bounds

In this section we define two extensions of the strong Wilber bound and extend our negative
results to one of these bounds. In subSection 5.1, we provide formal definitions of these bounds,
and we present our negative result in subsequent subsections.


5.1     Definitions

Assume that we are given an input set ๐‘‹ of ๐‘› points, that is a permutation. Let โ„’ ๐‘‰ be the set of
all vertical lines with half-integral ๐‘ฅ-coordinates between 1/2 and ๐‘› โˆ’ 1/2, and let โ„’ ๐ป be the
set of all horizontal lines with half-integral ๐‘ฆ-coordinates between 1/2 and ๐‘› โˆ’ 1/2. Recall that
for every permutation ๐œŽ of โ„’ ๐‘‰ , we have defined a bound WB๐œŽ (๐‘‹). We can similarly define a
bound WB0๐œŽ0 (๐‘‹) for every permutation ๐œŽ0 of โ„’ ๐ป . We also let WB0(๐‘‹) be the maximum, over
all permutations ๐œŽ0 of โ„’ ๐ป , of WB0๐œŽ0 (๐‘‹). Equivalently, let ๐‘‹ 0 be an instance obtained from ๐‘‹ by
rotating it by 90 degrees clockwise. Then WB0(๐‘‹) = WB(๐‘‹ 0). We denote by ๐ต a bounding box
that contains all points of ๐‘‹.


5.1.1    Consistent Guillotine Bound

In this section we define the consistent Guillotine Bound, cGB(๐‘‹). Let ๐œŽ be any permutations of
all lines in โ„’ ๐‘‰ โˆช โ„’ ๐ป . We start from a bounding box ๐ต containing all points of ๐‘‹ and maintain a
partition ๐’ซ of the plane into rectangular regions, where initially ๐’ซ = {๐ต}. We process the lines
in โ„’ ๐‘‰ โˆช โ„’ ๐ป according to their ordering in ๐œŽ. Consider an iteration when a line ๐ฟ is processed.
Let ๐‘ƒ1 , . . . , ๐‘ƒ๐‘˜ be all rectangular regions in ๐’ซ that intersect the line ๐ฟ. For each such region ๐‘ƒ ๐‘— ,
let ๐‘ƒ 0๐‘— and ๐‘ƒ 00๐‘— be the two rectangular regions into which the line ๐ฟ splits ๐‘ƒ ๐‘— . We update ๐’ซ by
replacing each region ๐‘ƒ ๐‘— , for 1 โ‰ค ๐‘— โ‰ค ๐‘˜, with the regions ๐‘ƒ 0๐‘— and ๐‘ƒ 00๐‘— . Once all lines in โ„’ ๐‘‰ โˆช โ„’ ๐ป
are processed, we terminate the process.
This recursive partitioning procedure can be naturally associated with a partitioning tree ๐‘‡ = ๐‘‡๐œŽ
that is defined as follows:

                      T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                            38
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

   โ€ข Each vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡) is associated with a rectangular region ๐‘†(๐‘ฃ) of the plane. If ๐‘Ÿ is the
     root of ๐‘‡, then ๐‘†(๐‘Ÿ) = ๐ต.

   โ€ข Each non-leaf vertex ๐‘ฃ is associated with a line ๐ฟ(๐‘ฃ) โˆˆ โ„’ ๐ป โˆช โ„’ ๐‘‰ that was used to partition
     ๐‘†(๐‘ฃ) into two sub-regions, ๐‘†0 and ๐‘†00. Vertex ๐‘ฃ has two children ๐‘ฃ 1 , ๐‘ฃ2 in ๐‘‡, with ๐‘†(๐‘ฃ 1 ) = ๐‘†0
     and ๐‘†(๐‘ฃ 2 ) = ๐‘†00.

   โ€ข For each leaf node ๐‘ฃ, the region ๐‘†(๐‘ฃ) contains at most one point of ๐‘‹.

We now define the cost cost(๐‘ฃ) of each node ๐‘ฃ โˆˆ ๐‘‰(๐‘‡). If the region ๐‘†(๐‘ฃ) contains no points
of ๐‘‹, or it contains a single point of ๐‘‹, then cost(๐‘ฃ) = 0. Otherwise, we define cost(๐‘ฃ) in the
same manner as before. Assume first that the line ๐ฟ(๐‘ฃ) is vertical. Let ๐‘ 1 , . . . , ๐‘ ๐‘˜ be all points in
๐‘‹ โˆฉ ๐‘†(๐‘ฃ), indexed in the increasing order of their ๐‘ฆ-coordinates. A pair (๐‘ ๐‘— , ๐‘ ๐‘—+1 ) of consecutive
points forms a crossing of ๐ฟ(๐‘ฃ) for ๐‘†(๐‘ฃ), if they lie on the opposite sides of ๐ฟ(๐‘ฃ). We then let
cost(๐‘ฃ) be the number of such crossings.
When ๐ฟ(๐‘ฃ) is a horizontal line, cost(๐‘ฃ) is defined analogously: we index the points of ๐‘‹ โˆฉ ๐‘†(๐‘ฃ) in
the increasing order of their ๐‘ฅ-coordinates. We then say that a consecutive pair of such points is
a crossing iff they lie on opposite sides of ๐ฟ(๐‘ฃ). We let cost(๐‘ฃ) be the number of such crossings.
For a fixed ordering ๐œŽ of the lines in โ„’ ๐‘‰ โˆช โ„’ ๐ป , and the corresponding partition tree ๐‘‡ = ๐‘‡(๐œŽ),
                      ร
we define cGB๐œŽ (๐‘‹) = ๐‘ฃโˆˆ๐‘‰(๐‘‡) cost(๐‘ฃ).
Lastly, we define the consistent Guillotine Bound for a point set ๐‘‹ that is a permutation to be
the maximum, over all orderings ๐œŽ of the lines in โ„’ ๐‘‰ โˆช โ„’ ๐ป , of cGB๐œŽ (๐‘‹).
In the following subsection we define an even stronger bound, that we call the Guillotine bound,
and we show that for every point set ๐‘‹ that is a permutation, cGB(๐‘‹) โ‰ค GB(๐‘‹), and moreover
that GB(๐‘‹) โ‰ค ๐‘‚(OPT(๐‘‹)). It then follows that for every point set ๐‘‹ that is a permutation,
cGB(๐‘‹) โ‰ค ๐‘‚(OPT(๐‘‹)).

Theorem 5.1. For every integer ๐‘› 0, there is an integer ๐‘› โ‰ฅ ๐‘› 0, and a set ๐‘‹ of points that is a permutation
with |๐‘‹ | = ๐‘›, such that OPT(๐‘‹) โ‰ฅ ฮฉ(๐‘› log log ๐‘›) but cGB(๐‘‹) โ‰ค ๐‘‚(๐‘› log log log ๐‘›).

The following lemma will be helpful in the proof of Theorem 5.1; recall that WB0(๐‘‹) is the basic
Wilber Bound, where we cut via horizontal lines only.

Lemma 5.2. For every instance ๐‘‹ that is a permutation, cGB(๐‘‹) โ‰ค WB(๐‘‹) + WB0(๐‘‹).

Proof. Let ๐œŽ be a permutation of โ„’ ๐‘‰ โˆช โ„’ ๐ป , such that cGB(๐‘‹) = cGB๐œŽ (๐‘‹). Notice that ๐œŽ
naturally induces a permutation ๐œŽ0 of โ„’ ๐‘‰ and a permutation ๐œŽ00 of โ„’ ๐ป . We show that
cGB๐œŽ (๐‘‹) โ‰ค WB๐œŽ0 (๐‘‹) + WB0๐œŽ00 (๐‘‹). In order to do so, it is enough to show that for every vertical
line ๐ฟ โˆˆ โ„’ ๐‘‰ , the cost that is charged to ๐ฟ in the bound cGB๐œŽ (๐‘‹) is less than or equal to the cost
that is charged to ๐ฟ in the bound WB๐œŽ0 (๐‘‹), and similarly, for every horizontal line ๐ฟ0 โˆˆ โ„’ ๐ป , the
cost that is charged to ๐ฟ0 in the bound cGB๐œŽ (๐‘‹) is less than or equal to the cost that is charged to
๐ฟ0 in the bound WB0๐œŽ00 (๐‘‹). We show the former; the proof of the latter is similar.

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                              39
             PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

Consider any line ๐ฟ โˆˆ โ„’ ๐‘‰ . We let ๐‘‡ be the partitioning tree associated with cGB๐œŽ (๐‘‹), just before
line ๐ฟ is processed, and we let ๐‘‡ 0 be defined similarly for WB๐œŽ0 (๐‘‹). Let ๐‘ฃ โˆˆ ๐‘‰(๐‘‡ 0) be the leaf
vertex with ๐ฟ โІ ๐‘†(๐‘ฃ), and let ๐‘ˆ be the set of all leaf vertices ๐‘ข of the tree ๐‘‡ with ๐‘†(๐‘ข) โˆฉ ๐ฟ โ‰  โˆ….
Observe that the set of vertical lines that appear before ๐ฟ in ๐œŽ and ๐œŽ0 is identical. Therefore,
๐‘†(๐‘ฃ) = ๐‘ขโˆˆ๐‘ˆ ๐‘†(๐‘ข). It is easy to verify that, for every vertex ๐‘ข โˆˆ ๐‘ˆ, every crossing that contributes
        ร
to cost(๐‘ข) is also a crossing that is charged to the line ๐ฟ in the strip ๐‘†(๐‘ฃ). Therefore, the total
number of crossings of line ๐ฟ in tree ๐‘‡ 0 that contribute to WB๐œŽ0 (๐‘‹) is greater than or equal to the
number of crossings of the line ๐ฟ that contribute to cGB๐œŽ (๐‘‹).
To conclude, we get that cGB(๐‘‹) = cGB๐œŽ (๐‘‹) โ‰ค WB๐œŽ0 (๐‘‹) + WB0๐œŽ00 (๐‘‹) โ‰ค WB(๐‘‹) + WB0(๐‘‹).                




5.1.2   The Guillotine Bound

In this section, we define a second extension of Wilber Bound, that we call Guillotine Bound,
and denote by GB. The bound is more convenient to define using a partitioning tree instead of a
sequence of lines. Let ๐‘‹ be a point set which is a permutation.
We define a guillotine partition of a point set ๐‘‹, together with the corresponding partitioning
tree ๐‘‡. As before, every node ๐‘ฃ โˆˆ ๐‘‰(๐‘‡) of the partitioning tree ๐‘‡ is associated with a rectangular
region ๐‘†(๐‘ฃ) of the plane. At the beginning, we add the root vertex ๐‘Ÿ to the tree ๐‘‡, and we let
๐‘†(๐‘Ÿ) = ๐ต, where ๐ต is the bounding box containing all points of ๐‘‹. We then iterate, as long as
some leaf vertex ๐‘ฃ of ๐‘‡ has ๐‘†(๐‘ฃ) โˆฉ ๐‘‹ containing more than one point. In each iteration, we
select any such leaf vertex ๐‘ฃ, and we select an arbitrary vertical or horizontal line ๐ฟ(๐‘ฃ), that is
contained in ๐‘†(๐‘ฃ), and partitions ๐‘†(๐‘ฃ) into two rectangular regions, that we denote by ๐‘†0 and ๐‘†00,
such that ๐‘‹ โˆฉ ๐‘†0 , ๐‘‹ โˆฉ ๐‘†00 โ‰  โˆ…. We then add two child vertices ๐‘ฃ 1 , ๐‘ฃ2 to ๐‘ฃ, and set ๐‘†(๐‘ฃ 1 ) = ๐‘†0 and
๐‘†(๐‘ฃ2 ) = ๐‘†00. Once every leaf vertex ๐‘ฃ has |๐‘†(๐‘ฃ) โˆฉ ๐‘‹ | = 1, we terminate the process and obtain the
final partitioning tree ๐‘‡.
The cost cost(๐‘ฃ) of every vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡) is calculated exactly as before. We then let GB๐‘‡ (๐‘‹) =
  ๐‘ฃโˆˆ๐‘‰(๐‘‡) cost(๐‘ฃ), and we let GB(๐‘‹) be the maximum, over all partitioning trees ๐‘‡, of GB๐‘‡ (๐‘‹).
ร

We note that the main difference between cGB(๐‘‹) and GB(๐‘‹) is that in cGB bound, the
partitioning lines must be chosen consistently across all regions: that is, we choose a vertical or
a horizontal line ๐ฟ that crosses the entire bounding box ๐ต, and then we partition every region
that intersects ๐ฟ by this line ๐ฟ. In contrast, in the GB bound, we can partition each region ๐‘†(๐‘ฃ)
individually, and choose different partitioning lines for different regions. It is then easy to see
that GB is more general than cGB, and, in particular, for every point set ๐‘‹ that is a permutation,
cGB(๐‘‹) โ‰ค GB(๐‘‹).
Lastly, we show that GB is a lower bound on the optimal solution cost, in the following lemma.


Lemma 5.3. For any point set ๐‘‹ that is a permutation, GB(๐‘‹) โ‰ค 2OPT(๐‘‹).

                      T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                         40
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

5.2     Negative results for the Consistent Guillotine Bound

In this section we prove Theorem 5.1.
We use three main parameters. Let โ„“ โ‰ฅ 1 be an integer, and let ๐‘› = 2โ„“ and ๐‘ = 2๐‘› . As before, we
will first construct point set ๐‘‹ห† that is not a permutation (in fact, it is not even a semi-permutation),
and then we will turn it into our final instance ๐‘‹ โˆ— which is a permutation.


5.2.1    2D exponentially spaced bit reversal

We define the instance 2D-ES-BRS(โ„“ ) to be a bit-reversal sequence BRS(โ„“ , โ„›, ๐’ž), where the sets
โ„› and ๐’ž of activerows and columns are defined as follows. Set ๐’ž contains all columns with
๐‘ฅ-coordinates in 2 ๐‘— | 1 โ‰ค ๐‘— โ‰ค ๐‘› , and similarly set โ„› contains all rows with ๐‘ฆ-coordinates in
 ๐‘—
 2 | 1 โ‰ค ๐‘— โ‰ค ๐‘› . Note that set ๐‘‹ contains ๐‘› points, whose ๐‘ฅ- and ๐‘ฆ-coordinates are integers
between 1 and ๐‘.


5.2.2    2D cyclic shifts

Next, we define the shifted and exponentially spaced instance, but this time we shift both
vertically and horizontally. We assume that we are given a horizontal shift 0 โ‰ค ๐‘  < ๐‘ and a
vertical shift 0 โ‰ค ๐‘  0 < ๐‘. In order to construct the instance ๐‘‹ ๐‘ ,๐‘  , we start with the instance
                                                                     0


๐‘‹ = 2D-ES-BRS(โ„“ ), and then perform the following two operations. First, we perform a
horizontal shift by ๐‘  units as before, by moving the last ๐‘  columns with integral ๐‘ฅ-coordinates to
the beginning of the instance. Next, we perform a vertical shift, by moving the last ๐‘  0 rows with
integral ๐‘ฆ-coordinates to the bottom of the instance. We let ๐‘‹ ๐‘ ,๐‘  denote the resulting instance.
                                                                   0


By applying Claim 4.3 twice, once for the horizontal shift, and once for the vertical shift, we get
that OPT(๐‘‹ ๐‘ ,๐‘  ) โ‰ฅ OPT(๐‘‹) โˆ’ 2|๐‘‹ | โ‰ฅ ฮฉ(log ๐‘ log log ๐‘), since |๐‘‹ | = log ๐‘.
               0




5.2.3    Instance ๐‘‹ห†

Next, we construct an instance ๐‘‹,       ห† by combining the instances ๐‘‹ ๐‘ ,๐‘  0 for 0 โ‰ค ๐‘ , ๐‘  0 < ๐‘. In order
to do so, let ๐’žห† be a set of ๐‘ 2 columns, with integral ๐‘ฅ-coordinates 1, . . . , ๐‘ 2 . We partition ๐’žห†
into subsets ๐’ž1 , ๐’ž2 , . . . , ๐’ž๐‘ , each of which contains ๐‘ consecutive columns, they appear in this
left-to-right order. We call each such set ๐’ž๐‘– a super-column. We denote by ๐‘†๐‘‰     ๐‘–
                                                                                    the smallest vertical
strip containing all columns of ๐’ž๐‘– .
Similarly, we let โ„›ฬ‚ be a set of ๐‘ 2 rows, with integral ๐‘ฆ-coordinates 1, . . . , ๐‘ 2 . We partition
โ„›ฬ‚ into subsets โ„› 1 , . . . , โ„› ๐‘ , each of which contains ๐‘ consecutive rows, such that โ„› 1 , . . . , โ„› ๐‘
appear in this bottom-to-top order. We call each such set โ„› ๐‘– a super-row. We denote by ๐‘† ๐‘–๐ป the
smallest horizontal strip containing all rows of โ„› ๐‘– . For all 1 โ‰ค ๐‘–, ๐‘— โ‰ค ๐‘, we let ๐ต(๐‘–, ๐‘—) be the
intersection of the horizontal strip ๐‘† ๐‘–๐ป and the vertical strip ๐‘†๐‘‰
                                                                  ๐‘–
                                                                    . We plant the instance ๐‘‹ (๐‘–โˆ’1),(๐‘—โˆ’1)

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                            41
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

                                                                  ห† Let ๐‘ โˆ— = | ๐‘‹ห† | = ๐‘ 2 log ๐‘
into the box ๐ต(๐‘–, ๐‘—). This completes the construction of instance ๐‘‹.
(recall that each instance ๐‘‹ ๐‘ ,๐‘  0
                                   contains log ๐‘ points.)
Observe that, for each vertical strip ๐‘†๐‘‰  ๐‘–
                                            , all instances planted into ๐‘†๐‘‰
                                                                          ๐‘–
                                                                            have the same vertical
shift - (๐‘– โˆ’ 1); the horizontal shift ๐‘  of each instance increases from 0 to ๐‘ โˆ’ 1 as we traverse
                                       0

๐‘†๐‘‰๐‘–
    from bottom to top. In particular, the instance planted into ๐‘†1๐‘‰ is precisely the instance ๐‘‹ห†
from Section 4.2 (if we ignore inactive rows). For each ๐‘– > 1, the instance planted into ๐‘†๐‘‰
                                                                                          ๐‘–
                                                                                            is very
similar to the instance ๐‘‹ห† from Section 4.2, except that each of its corresponding sub-instances is
shifted vertically by exactly (๐‘– โˆ’ 1) rows.
Similarly, for each horizontal strip ๐‘† ๐ป
                                       ๐‘—
                                         , all instances planted into ๐‘† ๐ป
                                                                        ๐‘—
                                                                          have the same horizontal
shift - (๐‘— โˆ’ 1); the vertical shift ๐‘  0 of each instance increases from 0 to ๐‘ โˆ’ 1 as we traverse ๐‘† ๐ป
                                                                                                    ๐‘—
from left to right.
Since, for every instance ๐‘‹ ๐‘ ,๐‘  , OPT(๐‘‹ ๐‘ ,๐‘  ) = ฮฉ(log ๐‘ log log ๐‘), we obtain the following bound.
                              0           0


                     ห† = ฮฉ(๐‘ 2 log ๐‘ log log ๐‘) = ฮฉ(๐‘ โˆ— log log ๐‘ โˆ— ).
Observation 5.4. OPT(๐‘‹)

Since instance ๐‘‹ห† is symmetric, and every point lies on one of the ๐‘ 2 rows of โ„›ฬ‚ and on one of
                 ห† we obtain the following.
the ๐‘ 2 rows of ๐’ž,
                                                                  ห† Similarly, every column of
Observation 5.5. Every row in โ„›ฬ‚ contains exactly log ๐‘ points of ๐‘‹.
๐’žห† contains exactly log ๐‘ points of ๐‘‹.
                                    ห†


5.2.4    Final instance

Lastly, in order to turn ๐‘‹ห† into a permutation ๐‘‹ โˆ— , we perform a similar transformation to that in
Section 4.2: for every column ๐ถ โˆˆ ๐’ž, we replace ๐ถ with a collection โ„ฌ(๐ถ) of log ๐‘ consecutive
columns, and we place all points that lie on ๐ถ on the columns of โ„ฌ(๐ถ), so that they form an
increasing sequence, while preserving their ๐‘ฆ-coordinates. We replace every row ๐‘… โˆˆ โ„› by a
collection โ„ฌ(๐‘…) of log ๐‘ rows similarly. The resulting final instance ๐‘‹ โˆ— is now guaranteed to be
a permutation, and it contains ๐‘ โˆ— = ๐‘ 2 log ๐‘ points. Using the same reasoning as in Section 4.2,
                                          ห† โ‰ฅ ฮฉ(๐‘ โˆ— log log ๐‘ โˆ— ). In the remainder of this section,
it is easy to verify that OPT(๐‘‹ โˆ— ) โ‰ฅ OPT(๐‘‹)
we will show that cGB(๐‘‹ โˆ— ) = ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ).
Abusing the notation, for all 1 โ‰ค ๐‘– โ‰ค ๐‘ 2 , we denote by ๐‘†๐‘‰      ๐‘–
                                                                     the vertical strip obtained by
taking the union of all blocks โ„ฌ(๐ถ) of columns, where ๐ถ belonged to the original strip ๐‘†๐‘‰      ๐‘–
                                                                                                 . We
                                ๐ป
define the horizontal strips ๐‘† ๐‘– similarly. Note that, from Lemma 5.2, it is enough to prove
that WB(๐‘‹ โˆ— ) = ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ) and that WB0(๐‘‹ โˆ— ) = ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ). We do so in the
following two subsections.


5.3     Handling vertical cuts

The goal of this section is to prove the following theorem:

                      T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                        42
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

Theorem 5.6. WB(๐‘‹ โˆ— ) โ‰ค ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ).

For all 1 โ‰ค ๐‘– โ‰ค ๐‘, we denote by โ„ฌ๐‘– the set of active columns that lie in the vertical strip ๐‘†๐‘‰     ๐‘–
                                                                                                     ,
so that โ„ฌ1 , . . . , โ„ฌ๐‘ partition the set of active columns of ๐‘‹ . Let โ„’ be a collection of lines at
                                                                 โˆ—          0

half-integral coordinates that partitions the bounding box ๐ต into ๐‘ strips where each strip
contains exactly the block โ„ฌ๐‘– of columns. We consider the split of ๐‘‹ โˆ— by the lines โ„’ 0: This is a
collection of ๐‘ strip instances (that we will denote by ๐‘‹1โˆ— , . . . , ๐‘‹๐‘
                                                                       โˆ—
                                                                         ) and a compressed instance,
                        หœ
that we denote by ๐‘‹. In order to prove Theorem 5.6, we bound WB(๐‘‹๐‘–โˆ— ) for every strip instance
๐‘‹๐‘–โˆ— , and WB(๐‘‹) หœ for the compressed instance ๐‘‹,    หœ and then combine them using Theorem 3.6 in
order to obtain the final bound on WB(๐‘‹ ).     โˆ—



5.3.1   Bounding Wilber bound for strip instances

In this subsection, we prove the following lemma.
Lemma 5.7. For all 1 โ‰ค ๐‘– โ‰ค ๐‘, WB(๐‘‹๐‘–โˆ— ) โ‰ค ๐‘‚(๐‘ log ๐‘ log log log ๐‘).

From now on we fix an index ๐‘–, and consider the instance ๐‘‹๐‘–โˆ— . Recall that in order to construct
instance ๐‘‹๐‘–โˆ— , we started with the instances ๐‘‹ 0,๐‘– , ๐‘‹ 1,๐‘– , . . . , ๐‘‹ ๐‘โˆ’1,๐‘– , each of which has the same
vertical shift (shift ๐‘–), and horizontal shifts ranging from 0 to ๐‘ โˆ’ 1. Let ๐‘‹ห† ๐‘– be the instance
obtained by stacking these instances one on top of the other, similarly to the construction of
instance ๐‘‹ห† in Section 4.2. As before, instance ๐‘‹ห† ๐‘– is a semi-permutation, so every row contains at
most one point. Every column of ๐‘‹ห† ๐‘– contains exactly log ๐‘ points of ๐‘‹ห† ๐‘– . Let ๐’ž denote the set
of all active columns of instance ๐‘‹ห† ๐‘– . For every column ๐ถ โˆˆ ๐’ž, we replace ๐ถ with a block โ„ฌ(๐ถ)
of log ๐‘ columns, and place all points of ๐‘‹ห† ๐‘– โˆฉ ๐ถ on the columns of โ„ฌ(๐ถ), so that they form an
increasing sequence, while preserving their ๐‘ฆ-coordinates. The resulting instance is equivalent
to ๐‘‹๐‘–โˆ— (to obtain instance ๐‘‹๐‘–โˆ— we also need to replace every active row ๐‘… with a block โ„ฌ(๐‘…) of
log ๐‘ rows; but since every row contains at most one point of ๐‘‹ห† ๐‘– , this amounts to inserting
empty rows into the instance).
The analysis of WB(๐‘‹๐‘–โˆ— ) is very similar to the analysis of WB(๐‘‹ โˆ— ) for instance ๐‘‹ โˆ— constructed in
Section 4.2. Notice that, as before, it is sufficient to show that WB(๐‘‹ห† ๐‘– ) โ‰ค ๐‘‚(๐‘ log ๐‘ log log log ๐‘).
Indeed, consider the partition {โ„ฌ(๐ถ)} ๐ถโˆˆ๐’ž of the columns of ๐‘‹๐‘–โˆ— . Then ๐‘‹ห† ๐‘– can be viewed as the
compressed instance for ๐‘‹๐‘–โˆ— with the respect to this partition. Each resulting strip instance
(defined by the block โ„ฌ(๐ถ) of columns) is an increasing sequence of log ๐‘ points, so the Wilber
Bound value for such an instance is ๐‘‚(log ๐‘). Altogether, the total Wilber Bound of all such
strip instances is ๐‘‚(๐‘ log ๐‘). Therefore, from Theorem 3.6, in order to prove Lemma 5.7, it is
now sufficient to show that WB(๐‘‹ห† ๐‘– ) โ‰ค ๐‘‚(๐‘ log ๐‘ log log log ๐‘).
Let โ„’ be the set of all vertical lines with half-integral coordinates for the instance ๐‘‹ห† ๐‘– , and let ๐œŽ be
any permutation of these lines. Our goal is to prove that WB๐œŽ (๐‘‹ห† ๐‘– ) โ‰ค ๐‘‚(๐‘ log ๐‘ log log log ๐‘).
Let ๐‘‡ = ๐‘‡(๐œŽ) be the partitioning tree associated with ๐œŽ. Consider some vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡) and the

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                            43
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

line ๐ฟ that ๐‘ฃ owns. As before, we classify crossings that are charged to ๐ฟ into several types. A
crossing (๐‘, ๐‘ 0) is a type-1 crossing, if ๐‘ and ๐‘ 0 both lie in the same instance ๐‘‹ ๐‘—,๐‘– . We say that
instance ๐‘‹ ๐‘—,๐‘– is bad for ๐ฟ, if it contributes at least one type-1 crossing to the cost of ๐ฟ. If ๐‘ โˆˆ ๐‘‹ ๐‘—,๐‘–
and ๐‘ 0 โˆˆ ๐‘‹ ๐‘— ,๐‘– for ๐‘— โ‰  ๐‘— 0, then we say that (๐‘, ๐‘ 0) is a type-2 crossing. If either instance ๐‘‹ ๐‘—,๐‘– or
               0


๐‘‹ ๐‘— ,๐‘– is a bad instance for ๐ฟ, then the crossing is of type (2a); otherwise it is of type (2b).
   0



We now bound the total number of crossings of each of these types separately.

   โ€ข Type-1 Crossings. We bound the total number of all type-1 crossings exactly like in
     Section 4.3. We note that the proof does not use the vertical locations of the points in the
     sub-instances ๐‘‹ ๐‘—,๐‘– , and only relies on two properties of instance ๐‘‹:
                                                                          ห† (i) the points in the
     first instance ๐‘‹0 (corresponding to instance ๐‘‹ 0,๐‘– ) are exponentially spaced horizontally,
     so the ๐‘ฅ-coordinates of the points are integral powers of 2, and they are all distinct; and
     (ii) each subsequent instance ๐‘‹๐‘  (corresponding to instance ๐‘‹ ๐‘ ,๐‘– ) is a copy of ๐‘‹0 that is
     shifted horizontally by ๐‘  units. Therefore, the same analysis applies, and the total number
     of type-1 crossings in ๐‘‹ห† ๐‘– can be bounded by ๐‘‚(๐‘ log ๐‘ log log log ๐‘) as before.

   โ€ข Type-(2a) Crossings. As before, we charge each type-(2a) crossing to one of the correspond-
     ing bad instances, to conclude that the total number of type-(2a) crossings is bounded by
     the total number of type-1 crossings, which is in turn bounded by ๐‘‚(๐‘ log ๐‘ log log log ๐‘).

   โ€ข Type-(2b) Crossings. Recall that in order to bound the number of type-(2b) crossings,
     we have collapsed, for every instance ๐‘‹๐‘  , all rows of ๐‘‹๐‘  into a single row. If we similarly
     collapse, for every instance ๐‘‹ ๐‘ ,๐‘– , all rows of this instance into a single row, we will obtain
     an identical set of points. This is because the only difference between instances ๐‘‹๐‘  and
     ๐‘‹ ๐‘ ,๐‘– is vertical position of their points. Therefore, the total number of type-(2b) crossings
     in ๐‘‹ห† ๐‘– is bounded by ๐‘‚(๐‘ log ๐‘) as before.
        This finishes the proof of Lemma 5.7. We conclude that

                    ๐‘
                    ร•
                           WB(๐‘‹๐‘–โˆ— ) โ‰ค ๐‘‚(๐‘ 2 log ๐‘ log log log ๐‘) = ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ) .        (5.1)
                     ๐‘–=1



5.3.2    Bounding Wilber bound for the compressed instance

In this subsection, we prove the following lemma.
              หœ โ‰ค ๐‘‚(๐‘ โˆ— ).
Lemma 5.8. WB(๐‘‹)

We denote the active columns of ๐‘‹หœ by ๐ถ1 , . . . , ๐ถ ๐‘ . Recall that each column ๐ถ ๐‘– contains exactly
๐‘ log ๐‘ input points. Let โ„› be the set of all rows with integral coordinates, so |โ„›| = ๐‘ 2 log ๐‘.
Let โ„ฌ1 , โ„ฌ2 , . . . , โ„ฌ๐‘ 2 be a partition of the rows in โ„› into blocks containing log ๐‘ consecutive rows
each, where the blocks are indexed in their natural bottom-to-top order. Recall that each such

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                            44
                P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

                                                 ห† and the points of ๐‘‹หœ that lie on the rows of โ„ฌ๐‘–
block โ„ฌ๐‘– represents some active row of instance ๐‘‹,
form an increasing sequence. We also partition the rows of โ„› into super-blocks, โ„ฌฬ‚1 , . . . , โ„ฌฬ‚๐‘ ,
where each superblock is the union of exactly ๐‘ consecutive blocks. For each subinstance ๐‘‹ ๐‘ ,๐‘  ,
                                                                                                 0


the points of the subinstance lie on rows that belong to a single super-block.
                                                                   หœ so |โ„’| โ‰ค ๐‘. We fix any
Let โ„’ be the set of all columns with half-integral coordinates for ๐‘‹,
                                         หœ โ‰ค ๐‘‚(๐‘ ). Let ๐‘‡ be the partitioning tree associated
permutation ๐œŽ of โ„’, and prove that WB๐œŽ (๐‘‹)          โˆ—

with the permutation ๐œŽ.
Consider any vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡), its corresponding vertical strip ๐‘† = ๐‘†(๐‘ฃ), and the vertical line
๐ฟ = ๐ฟ(๐‘ฃ) that ๐‘ฃ owns. Let (๐‘, ๐‘ 0) be a crossing of ๐ฟ, so ๐‘ and ๐‘ 0 both lie in ๐‘† on opposite sides of
๐ฟ, and no point of ๐‘‹หœ โˆฉ ๐‘† lies between the row of ๐‘ and the row of ๐‘ 0. Assume that the row of ๐‘
is below the row of ๐‘ 0. We say that the crossing is left-to-right if ๐‘ is to the left of ๐ฟ, and we say
that it is right-to-left otherwise. In order to bound the number of crossings, we use the following
two claims.

Claim 5.9. Assume that (๐‘, ๐‘ 0) is a left-to-right crossing, and assume that ๐‘ lies on a row of โ„ฌ๐‘– and ๐‘ 0
lies on a row of โ„ฌ ๐‘— , with ๐‘– โ‰ค ๐‘—. Then either ๐‘— โ‰ค ๐‘– + 1 (so the two blocks are either identical or consecutive),
or block โ„ฌ๐‘– is the last block in its super-block.

Proof. Assume that ๐‘ lies on column ๐ถ ๐‘  0 and on a row of super-block โ„ฌฬ‚๐‘  , so this point originally
belonged to instance ๐‘‹ ๐‘ ,๐‘  . Recall that instance ๐‘‹ ๐‘ ,๐‘  +1 (that lies immediately to the right of ๐‘‹ ๐‘ ,๐‘  )
                             0                         0                                               0


is obtained by circularly shifting all points in instance ๐‘‹ ๐‘ ,๐‘  by one unit up. In particular, a copy
                                                               0


๐‘ ๐‘ of ๐‘ in ๐‘‹ ๐‘ ,๐‘  +1 should lie one row above the copy of ๐‘ in ๐‘‹ ๐‘ ,๐‘  , unless ๐‘ lies on the last row of
                 0                                                    0


๐‘‹ ๐‘ ,๐‘  . In the latter case, block โ„ฌ๐‘– must be the last block of its superblock โ„ฌฬ‚๐‘  . In the former case,
     0


since point ๐‘ ๐‘ does not lie between the row of ๐‘ and the row of ๐‘ 0, and it lies on column ๐ถ ๐‘ +1 ,
the block of rows in which point ๐‘ 0 lies must be either โ„ฌ๐‘– or โ„ฌ๐‘–+1 , that is, ๐‘— โ‰ค ๐‘– + 1.              

Claim 5.10. Assume that (๐‘, ๐‘ 0) is a right-to-left crossing, and assume that ๐‘ lies on a row of โ„ฌ๐‘– and ๐‘ 0
lies on a row of โ„ฌ ๐‘— , with ๐‘– โ‰ค ๐‘—. Then either (i) ๐‘— โ‰ค ๐‘– + 1 (so the two blocks are identical or consecutive); or
(ii) block โ„ฌ๐‘– is the last block in its super-block; or (iii) block โ„ฌ ๐‘— is the first block it its super-block; or (iv) ๐‘
lies on the last active column in strip ๐‘†, and ๐‘ 0 lies on the first active column in strip ๐‘†.

Proof. Assume that ๐‘ lies on column ๐ถ ๐‘  0 and on a row of superblock โ„ฌฬ‚๐‘  , so this point originally
belonged to instance ๐‘‹ ๐‘ ,๐‘  . Assume for that ๐ถ ๐‘  0 is not the last active column of ๐‘†, so ๐ถ ๐‘  0+1 also
                          0


lies in ๐‘†.
Recall that instance ๐‘‹ ๐‘ ,๐‘  +1 is obtained by circularly shifting all points in instance ๐‘‹ ๐‘ ,๐‘  by one
                              0                                                                             0


unit up. In particular, a copy ๐‘ ๐‘ of ๐‘ in ๐‘‹ ๐‘ ,๐‘  +1 should lie one row above the copy of ๐‘ in ๐‘‹ ๐‘ ,๐‘  ,
                                                0                                                  0


unless ๐‘ lies on the last row of ๐‘‹ ๐‘ ,๐‘  . In the latter case, block โ„ฌ๐‘– must be the last block of its
                                       0


superblock. In the former case, since point ๐‘ ๐‘ does not lie between the row of ๐‘ and the row of
๐‘ 0, the block of rows in which point ๐‘ 0 lies is either โ„ฌ๐‘– or โ„ฌ๐‘–+1 , that is, ๐‘— โ‰ค ๐‘– + 1.
Using a symmetric argument, if ๐‘ 0 does not lie on the first active column of ๐‘†, then either
๐‘— โ‰ค ๐‘– + 1, or โ„ฌ ๐‘— is the first block in its super-block.                                  

                          T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                      45
               PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

We can now categorize all crossings charged to the line ๐ฟ into types as follows. Let (๐‘, ๐‘ 0) be a
crossing, and assume that ๐‘ lies on a row of โ„ฌ๐‘– , ๐‘ 0 lies on a row of โ„ฌ ๐‘— , and ๐‘– โ‰ค ๐‘—. We say that
(๐‘, ๐‘ 0) is a crossing of type 1, if ๐‘— โ‰ค ๐‘– + 1. We say that it is a crossing of type 2 if either โ„ฌ๐‘– or โ„ฌ ๐‘—
are the first or the last blocks in their superblock. We say that it is of type 3 if ๐‘ lies on the last
active column of ๐‘† and ๐‘ 0 lies on the first active column of ๐‘†.
We now bound the total number of all such crossings separately.

      โ€ข Type-1 crossings Consider any pair โ„ฌ๐‘– , โ„ฌ๐‘–+1 of consecutive blocks, and let ๐‘‹หœ ๐‘–0 be the set
        of all points lying on the rows of these blocks. Recall that all points lying on the rows
        of โ„ฌ๐‘– form an increasing sequence of length log ๐‘, and the same is true for all points
        lying on the rows of โ„ฌ๐‘–+1 . It is then easy to see that OPT(๐‘‹หœ ๐‘–0) โ‰ค ๐‘‚(log ๐‘), and so the total
        contribution of crossings between the points of ๐‘‹หœ ๐‘–0 to WB๐œŽ (๐‘‹)   หœ is bounded by ๐‘‚(log ๐‘).
        Since the total number of blocks โ„ฌ๐‘– is bounded by ๐‘ , the total number of type-1 crossings
                                                                2

        is at most ๐‘‚(๐‘ 2 log ๐‘).

      โ€ข Type-2 crossings In order to bound the number of type-2 crossings, observe that |โ„’| โ‰ค ๐‘.
        If ๐ฟ โˆˆ โ„’ is a vertical line, and ๐‘† is a strip that ๐ฟ splits, then there are ๐‘ superblocks of rows
        that can contribute type-2 crossings to cost(๐ฟ), and each such superblock may contribute
        at most one crossing. Therefore, the total number of type-2 crossings charged to ๐ฟ is at
        most ๐‘, and the total number of all type-2 crossings is ๐‘‚(๐‘ 2 ).

      โ€ข Type-3 crossings In order to bound the number of type-3 crossings, observe that every
        column contains ๐‘ log ๐‘ points. Therefore, if ๐ฟ โˆˆ โ„’ is a vertical line, then the number
        of type-3 crossings charged to it is at most 2๐‘ log ๐‘. As |โ„’| โ‰ค ๐‘, we get that the total
        number of type-3 crossings is ๐‘‚(๐‘ 2 log ๐‘).

To conclude, we have shown that WB๐œŽ (๐‘‹)    หœ = ๐‘‚(๐‘ 2 log ๐‘) = ๐‘‚(๐‘ โˆ— ), proving Lemma 5.8. By
combining Lemmas 5.7 and 5.8, together with Theorem 3.6, we conclude that WB(๐‘‹ โˆ— ) =
๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ), proving Theorem 5.6.


5.4     Handling horizontal cuts

We show the following analogue of Theorem 5.6.

Theorem 5.11. WB0(๐‘‹ โˆ— ) โ‰ค ๐‘‚(๐‘ โˆ— log log log ๐‘ โˆ— ).

The proof of the theorem is virtually identical to the proof of Theorem 5.6. In fact, consider
the instance ๐‘‹ โˆ—โˆ— , that is obtained from ๐‘‹ โˆ— , by rotating it by 90 degrees clockwise. Consider the
sequence BRS0(โ„“ , โ„›, ๐’ž) that is obtained by rotating the point set BRS(โ„“ , โ„›, ๐’ž) by 90 degrees.
Consider now the following process. Our starting point is the rotated Bit Reversal Sequence. We
then follow exactly the same steps as in the construction of the instance ๐‘‹ โˆ— . Then the resulting
instance is precisely (a mirror reflection of) instance ๐‘‹ โˆ—โˆ— . Notice that the only place where our

                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                           46
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

proof uses the fact that we start with the Bit Reversal Sequence is in order to show that OPT(๐‘‹ โˆ— )
is sufficiently large. In fact we could replace the Bit Reversal Sequence with any other point
set that is a permutation, and whose optimal solution cost is as large, and in particular the Bit
Reversal Sequence that is rotated by 90 degrees would work just as well. The analysis of the
Wilber Bound works exactly as before, and Theorem 5.11 follows.




6     Algorithmic results

6.1   Overview

We provide the high level intuition for the proof of Theorem 1.2. Both the polynomial time and
the subexponential time algorithms follow the same framework. We start with a high-level
overview of this framework. For simplicity, assume that the number of active columns in the
input instance ๐‘‹ is an integral power of 2. The key idea is to decompose the input instance into
smaller sub-instances, using the split instances defined in Section 3.1. We solve the resulting
instances recursively and then combine the resulting solutions.
Suppose we are given an input point set ๐‘‹ that is a semi-permutation, with |๐‘‹ | = ๐‘š, such that
the number of active columns is ๐‘›. We consider a balanced partitioning tree ๐‘‡, where for every
vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡), the line ๐ฟ(๐‘ฃ) that ๐‘ฃ owns splits the strip ๐‘†(๐‘ฃ) in the middle, with respect to the
active columns that are contained in ๐‘†(๐‘ฃ). Therefore, the height of the partitioning tree is log ๐‘›.
Consider now the set ๐‘ˆ of verticesโˆš of ๐‘‡ that lie in the middle layer of ๐‘‡. Let โ„’ 0 be their strip
boundaries, so we have |โ„’ | = ฮ˜( ๐‘›). Consider the split of ๐‘‹ by โ„’ , obtaining a new collection
                             0                                      0
                                       โˆš
              e , {๐‘‹๐‘– }) ๐‘˜ where ๐‘˜ = ฮ˜( ๐‘›). Note that each resulting strip instance ๐‘‹๐‘– contains
of instances (๐‘‹
   โˆš                     ๐‘–=1
ฮ˜( ๐‘›) active columns, and so does the compressed instance ๐‘‹.  e
We recursively solve each such instance and then combine the resulting solutions. The key to
the algorithm and its analysis is to show that there is a collection ๐‘ of ๐‘‚(|๐‘‹ |) points, such that,
if we are given
               any solution
                            ๐‘Œ
                             b to instance ๐‘‹,
                                           e and, for all 1 โ‰ค ๐‘– โ‰ค ๐‘˜, any solution ๐‘Œ๐‘– to instance ๐‘‹๐‘– ,
               ร๐‘˜
then ๐‘ โˆช ๐‘Œ
         bโˆช
                 ๐‘–=1 ๐‘Œ๐‘–   is a feasible solution to instance ๐‘‹. We also show that the total number of
input points that appear in all instances that participate in the same recursive level is bounded
by ๐‘‚(OPT(๐‘‹)). This ensures that in every recursive level we add at most ๐‘‚(OPT(๐‘‹)) points to
the solution, and the total solution cost is at most ๐‘‚(OPT(๐‘‹)) times the number of the recursive
levels, which is bounded by ๐‘‚(log log ๐‘›).
In order to obtain the subexponential time algorithm, we restrict the recursion to ๐ท levels, and
then solve each resulting instance ๐‘‹ 0 directly in time ๐‘Ÿ(๐‘‹ 0)๐‘(๐‘‹ 0)๐‘‚(๐‘(๐‘‹ )) . This approach gives
                                                                         0

                                                                                        ฮฉ(๐ท)
                                                                                               
an ๐‘‚(๐ท)-approximation algorithm with running time at most poly(๐‘š) ยท exp ๐‘› 1/2                  log ๐‘› as
desired.

                      T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                           47
               PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK




                (a) Canonical Solution                                    (b) Special Solution

Figure 7: Canonical and ๐‘‡-special solutions of ๐‘‹. The input points are shown as circles; the
points that belong to the solution ๐‘Œ are shown as squares.


6.2   Special solutions and reduced sets

Our algorithm will produce feasible solutions of a special form, that we call special solutions.
Recall that, given a semi-permutation point set ๐‘‹, the auxiliary columns for ๐‘‹ are a set โ„’ of
vertical lines with half-integral coordinates. We say that a solution ๐‘Œ for ๐‘‹ is special iff every
point of ๐‘Œ lies on an row that is active for ๐‘‹, and on a column of โ„’. In particular, special
solutions are by definition non-canonical (see Figure 7 for an illustration).
If ๐œŽ0 is any ordering of the auxiliary columns in โ„’ 0 โІ โ„’, and ๐‘‡ 0 = ๐‘‡(๐œŽ0) is the corresponding
partitioning tree, then any point set ๐‘Œ that is a special solution for ๐‘‹ is also called a ๐‘‡ 0-special
solution: The solutions use only auxiliary columns in โ„’ 0 (equivalently, strip boundaries of ๐‘†(๐‘ฃ)
for ๐‘ฃ โˆˆ ๐‘‰(๐‘‡ 0)).
Consider a semi-permutation ๐‘‹, that we think of as a potential input to the Min-Sat problem.
We denote ๐‘‹ = {๐‘ 1 , . . . , ๐‘ ๐‘š }, where the points are indexed in their natural bottom-to-top order,
so (๐‘ 1 ).๐‘ฆ < (๐‘ 2 ).๐‘ฆ < . . . < (๐‘ ๐‘š ).๐‘ฆ. A point ๐‘ ๐‘– is said to be redundant, if and only if the points
immediately above and below are on its column, that is, for some ๐‘–, (๐‘ ๐‘– ).๐‘ฅ = (๐‘ ๐‘–+1 ).๐‘ฅ = (๐‘ ๐‘–โˆ’1 ).๐‘ฅ.
We say that a semi-permutation ๐‘‹ is in the reduced form if there are no redundant points in ๐‘‹.
The following lemma relates the optimal solutions of any instance and its reduced form.

Lemma 6.1. Let ๐‘‹ be a semi-permutation, and let ๐‘‹ 0 โІ ๐‘‹ be any point set, that is obtained from ๐‘‹ by
repeatedly removing redundant points. Then OPT(๐‘‹ 0) โ‰ค OPT(๐‘‹). Moreover, if ๐‘Œ is a feasible solution
for ๐‘‹ 0 such that every point of ๐‘Œ lies on a row that is active for ๐‘‹ 0, then ๐‘Œ is also a feasible solution for ๐‘‹.


Proof. For the first claim, it is sufficient to show that, if ๐‘‹ 00 is a set of points obtained from ๐‘‹ by
deleting a single redundant point ๐‘ ๐‘– , then OPT(๐‘‹ 00) โ‰ค OPT(๐‘‹). Let ๐‘… denote the row on which
point ๐‘ ๐‘– lies, and let ๐‘…0 be the row containing ๐‘ ๐‘–โˆ’1 . Let ๐‘Œ be the optimal solution to instance
๐‘‹. We assume w.l.o.g. that ๐‘Œ is a canonical solution. Consider the set ๐‘ = ๐‘‹ โˆช ๐‘Œ of point, and
let ๐‘0 be obtained from ๐‘ by collapsing the rows ๐‘…, ๐‘…0 into the row ๐‘…0 (since ๐‘Œ is a canonical
solution for ๐‘‹, no points of ๐‘‹ โˆช ๐‘Œ lie strictly between the rows ๐‘…, ๐‘…0). From Observation 2.4, ๐‘0

                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                   48
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

remains a satisfied point set. Setting ๐‘Œ 0 = ๐‘0 \ ๐‘‹ 00, it is easy to verify that ๐‘Œ 0 is a feasible solution
to instance ๐‘‹ 00, and moreover, |๐‘Œ 0 | โ‰ค |๐‘Œ|. Therefore, OPT(๐‘‹ 00) โ‰ค |๐‘Œ 0 | โ‰ค |๐‘Œ| โ‰ค OPT(๐‘‹).
As for the second claim, it is sufficient to show that, if ๐‘‹ 00 is a set of points obtained from ๐‘‹ by
deleting a single redundant point ๐‘ ๐‘– , and ๐‘Œ is any canonical solution for ๐‘‹ 00, then ๐‘Œ is also a
feasible solution for ๐‘‹. We can then apply this argument iteratively, until we obtain a set of
points that is in a reduced form.
Consider any feasible canonical solution ๐‘Œ to instance ๐‘‹ 00. We claim that ๐‘‹ โˆช ๐‘Œ is a feasible set
of points. Indeed, consider any two points ๐‘, ๐‘ž โˆˆ ๐‘‹ โˆช ๐‘Œ that are not aligned. If both points are
distinct from the point ๐‘ ๐‘– , then they must be satisfied in ๐‘‹ โˆช ๐‘Œ, since both these points lie in
๐‘‹ 00 โˆช ๐‘Œ. Therefore, we can assume that ๐‘ = ๐‘ ๐‘– . Notice that ๐‘ž โ‰  ๐‘ ๐‘–โˆ’1 and ๐‘ž โ‰  ๐‘ ๐‘–+1 , since otherwise
๐‘ and ๐‘ž must be aligned. Moreover, ๐‘ž cannot lie strictly between the row of ๐‘ ๐‘–โˆ’1 and the row of
๐‘ ๐‘–+1 , as we have assumed that every point of ๐‘Œ lies on a row that is active for ๐‘‹ 0 ๐‘‹ 00. But then
it is easy to verify that either point ๐‘ ๐‘–โˆ’1 lies in ๐‘,๐‘ž (if ๐‘ž is below ๐‘), or point ๐‘ ๐‘–+1 lies in ๐‘,๐‘ž
(otherwise). In either case, the pair (๐‘, ๐‘ž) is satisfied in ๐‘‹ โˆช ๐‘Œ.                                   


From Lemma 6.1, whenever we need to solve the Min-Sat problem on an instance ๐‘‹, it is sufficient
to solve it on a sub-instance, obtained by iteratively removing redundant points from ๐‘‹. We
obtain the following immediate corollary of Lemma 6.1.

Corollary 6.2. Let ๐‘‹ be a semi-permutation, and let ๐‘‹ 0 โІ ๐‘‹ be any point set, that is obtained from ๐‘‹
by repeatedly removing redundant points. Let ๐‘Œ be any special feasible solution for ๐‘‹ 0. Then ๐‘Œ is also a
special feasible solution for ๐‘‹.


Lastly, we need the following lemma, which is a simple application of the Wilber bound.

Lemma 6.3. Let ๐‘‹ be a point set that is a semi-permutation in reduced form. Then OPT(๐‘‹) โ‰ฅ |๐‘‹ |/4 โˆ’ 1.


Proof. Since ๐‘‹ is a semi-permutation, every point of ๐‘‹ lies on a distinct row; we denote |๐‘‹ | = ๐‘›.
Let ๐‘‹ = {๐‘ 1 , . . . , ๐‘ ๐‘› }, where the points are indexed in the increasing order of their ๐‘ฆ-coordinates.
Let ฮ  = {(๐‘ ๐‘– , ๐‘ ๐‘–+1 ) | 1 โ‰ค ๐‘– < ๐‘›} be the collection of all consecutive pairs of points in ๐‘‹. We say
that the pair (๐‘ ๐‘– , ๐‘ ๐‘–+1 ) is bad iff both ๐‘ ๐‘– and ๐‘ ๐‘–+1 lie on the same column. From the definition of
the reduced form, if (๐‘ ๐‘– , ๐‘ ๐‘–+1 ) is a bad pair, then both (๐‘ ๐‘–โˆ’1 , ๐‘ ๐‘– ) and (๐‘ ๐‘–+1 , ๐‘ ๐‘–+2 ) are good pairs.
Let ฮ 0 โІ ฮ  be the subset containing all good pairs. Then |ฮ 0 | โ‰ฅ (|ฮ | โˆ’ 1)/2 โ‰ฅ ๐‘›/2 โˆ’ 1. Next, we
select a subset ฮ 00 โІ ฮ 0 of pairs, such that |ฮ 00 | โ‰ฅ |ฮ 0 |/2 โ‰ฅ ๐‘›/4 โˆ’ 1, and every point in ๐‘‹ belongs
to at most one pair in ฮ 00. Since every point in ๐‘‹ belongs to at most two pairs in ฮ 0, it is easy to
see that such a set exists. Let ๐‘Œ be an optimal solution to instance ๐‘‹.
Consider now any pair (๐‘ ๐‘– , ๐‘ ๐‘–+1 ) of points in ฮ 00. Then there must be a point ๐‘ฆ ๐‘– โˆˆ ๐‘Œ that lies in
the rectangle ๐‘ ๐‘– ,๐‘ ๐‘–+1 . Moreover, since all points of ๐‘‹ lie on distinct rows, and each such point
belongs to at most one pair in ฮ 00, for ๐‘– โ‰  ๐‘—, ๐‘ฆ ๐‘– โ‰  ๐‘ฆ ๐‘— . Therefore, |๐‘Œ| โ‰ฅ |ฮ 00 | โ‰ฅ ๐‘›/4 โˆ’ 1.        

                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                 49
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

6.3   Our algorithm



Suppose we are given an input set ๐‘‹ of points that is a semi-permutation. Let ๐‘‡ be any
partitioning tree for ๐‘‹. We say that ๐‘‡ is a balanced partitioning tree for ๐‘‹ iff for every non-leaf
vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡) and its children ๐‘ฃ 1 , ๐‘ฃ2 , the number of active columns inside ๐‘†(๐‘ฃ 1 ) and ๐‘†(๐‘ฃ 2 ) are
roughly the same, that is, ๐‘(๐‘‹ โˆฉ ๐‘†(๐‘ฃ ๐‘– )) โ‰ค d๐‘(๐‘‹ โˆฉ ๐‘†(๐‘ฃ))/2e for each ๐‘– = 1, 2.
Given a partitioning tree ๐‘‡, we denote by ฮ›๐‘– the set of all vertices of ๐‘‡ that lie in the ๐‘–th layer
of ๐‘‡ โ€“ that is, the vertices whose distance from the root of ๐‘‡ is ๐‘– (so the root belongs to ฮ›0 ).
The height of the tree ๐‘‡, denoted by height(๐‘‡), is the largest index ๐‘– such that ฮ›๐‘– โ‰  โˆ…. If the
height of the tree ๐‘‡ is โ„Ž, then we call the set ฮ› dโ„Ž/2e of vertices the middle layer of ๐‘‡. Notice that,
if ๐‘‡ is a balanced partitioning tree for input ๐‘‹, then its height is at most 2 log ๐‘(๐‘‹). The strips
{๐‘†(๐‘ฃ)} ๐‘ฃโˆˆฮ› dโ„Ž/2e are called the middle-layer strips.
Our algorithm takes as input a set ๐‘‹ of points that is a semi-permutation, a balanced partition
tree ๐‘‡ for ๐‘‹, and an integral parameter ๐œŒ > 0.
Intuitively, the algorithm uses the splitting operation to partition the instance ๐‘‹ into subinstances
that are then solved recursively, until it obtains a collection of instances whose corresponding
partitioning trees have height at most ๐œŒ. We then employ dynamic programming. The algorithm
returns a special feasible solution for the instance. Recall that the height of the tree ๐‘‡ is bounded
by 2 log ๐‘(๐‘‹) โ‰ค 2 log ๐‘›. The following theorem (whose proof appears in Section 6.6) is used as
a recursion basis.




Theorem 6.4. There is an algorithm called LeafBST that, given a semi-permutation instance ๐‘‹ of
Min-Sat in reduced form, and a partitioning tree ๐‘‡ for it, produces a feasible ๐‘‡-special solution for ๐‘‹ of
cost at most 2|๐‘‹ | + 2OPT(๐‘‹), in time |๐‘‹ | ๐‘‚(1) ยท ๐‘(๐‘‹)๐‘‚(๐‘(๐‘‹)) .




We now provide a schematic description of our algorithm.

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                            50
               P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

 RecursiveBST(๐‘‹ , ๐‘‡, ๐œŒ)

      1. Keep removing redundant points from ๐‘‹ until ๐‘‹ is in reduced form.

      2. If ๐‘‡ has height at most ๐œŒ,

      3.    return LeafBST(๐‘‹ , ๐‘‡)

      4. Let โ„’ 0 โІ โ„’ be the strip boundaries of the middle-layer strips {๐‘†1 , . . . , ๐‘† ๐‘˜ }
         of ๐‘‡.

      5. Compute the split (๐‘‹
                            e , {๐‘‹ ๐‘— } ๐‘—โˆˆ[๐‘˜] ) of ๐‘‹ by โ„’ 0.

      6. Compute the corresponding split subtrees (๐‘‡,
                                                   e {๐‘‡๐‘— } ๐‘—โˆˆ[๐‘˜] ) of ๐‘‡ by โ„’ 0.

      7. For ๐‘— โˆˆ [๐‘˜], call to RecursiveBST with input (๐‘‹ ๐‘— , ๐‘‡๐‘— , ๐œŒ), and let ๐‘Œ๐‘— be the
         solution returned by it.

      8. Call RecursiveBST with input (๐‘‹   e ๐œŒ), and let ๐‘Œห† be the solution returned
                                       e , ๐‘‡,
         by it.

      9. Let ๐‘ be a point set containing, for each ๐‘— โˆˆ [๐‘˜], for each point ๐‘ โˆˆ ๐‘‹ ๐‘— ,
         two copies ๐‘ 0 and ๐‘ 00 of ๐‘ with ๐‘ 0 .๐‘ฆ = ๐‘ 00 .๐‘ฆ = ๐‘.๐‘ฆ, where ๐‘ 0 lies on the left
         boundary of ๐‘† ๐‘— , and ๐‘ 00 lies on the right boundary of ๐‘† ๐‘— .

   10. return ๐‘Œ โˆ— = ๐‘ โˆช ๐‘Œห† โˆช ( ๐‘—โˆˆ[๐‘˜] ๐‘Œ๐‘— )
                              ร


The cost and feasibility analyses appear in the next two subsections.


6.4    Cost analysis

In order to analyze the solution cost, consider the final solution ๐‘Œ โˆ— to the input instance ๐‘‹. We
distinguish between two types of points in ๐‘Œ โˆ— : a point ๐‘ โˆˆ ๐‘Œ โˆ— is said to be of type 2 if it was
added to the solution by Algorithm LeafBST, and otherwise we say that it is of type 1. We start
by bounding the number of points of type 1 in ๐‘Œ โˆ— .

Claim 6.5. The number of points of type 1 in the solution ๐‘Œ โˆ— to the original instance ๐‘‹ is at most
๐‘‚(log(height(๐‘‡)/๐œŒ)) ยท OPT(๐‘‹).

Proof. Observe that the number of recursive levels is bounded by ๐œ† = ๐‘‚(log(height(๐‘‡)/๐œŒ)). This
is since, in every recursive level, the heights of all trees decrease by a constant factor, and we
terminate the algorithm once the tree heights are bounded by ๐œŒ. For each 1 โ‰ค ๐‘– โ‰ค ๐œ†, let ๐’ณ๐‘– be the
collection of all instances in the ๐‘–th recursive level, where the instances are in the reduced form.
Notice that the only points that are added to the solution by Algorithm RecursiveBST directly
are the points in the sets ๐‘. The number of such points added at recursive level ๐‘– is bounded by

                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                     51
               PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK


    ๐‘‹ 0 โˆˆ๐’ณ๐‘– 2|๐‘‹ |. It is now sufficient to show that for all 1 โ‰ค ๐‘– โ‰ค ๐œ†,   ๐‘‹ 0 โˆˆ๐’ณ๐‘– |๐‘‹ | โ‰ค ๐‘‚(OPT(๐‘‹)). We do
ร              0                                                        ร           0

so using the following observation.
Observation 6.6. For all 1 โ‰ค ๐‘– โ‰ค ๐œ†,                      0
                                        ร
                                            ๐‘‹ 0 โˆˆ๐’ณ๐‘– OPT(๐‘‹ ) โ‰ค OPT(๐‘‹).

Assume first that the observation is correct. From Lemma 6.3, |๐‘‹ 0 | โ‰ค ๐‘‚(OPT(๐‘‹ 0)). Therefore,
the number of type-1 points added to the solution at recursive level ๐‘– is bounded by ๐‘‚(OPT(๐‘‹)).
We now turn to prove Observation 6.6.

Proof of Observation 6.6. The proof is by induction on the recursive level ๐‘–. It is easy to see that
the claim holds for ๐‘– = 1, since, from Lemma 6.1, removing redundant points from ๐‘‹ to turn it
into reduced form cannot increase OPT(๐‘‹).
Assume   now that the claim holds for level ๐‘– โˆ’ 1, and consider some level-๐‘– instance ๐‘‹ 0 โˆˆ ๐’ณ๐‘– . Let
(๐‘‹ , ๐‘‹ ๐‘— ๐‘—โˆˆ[๐‘˜] ) be the split of ๐‘‹ 0 that we computed. Then, from Theorem 3.3, ๐‘—โˆˆ[๐‘˜] OPT(๐‘‹ ๐‘— ) +
                                                                                ร
 e
OPT(๐‘‹)
    e โ‰ค OPT(๐‘‹ 0). Since, from Lemma 6.1, removing redundant points from an instance does
not increase its optimal solution cost, the observation follows.                                            

                                                                                                            

In order to obtain an efficient ๐‘‚(log log ๐‘›)-approximation algorithm, we set ๐œŒ to be a constant (it
can even be set to 1), and we use algorithm LeafBST whenever the algorithm calls to subroutine
LeafBST. Observe that the depth of the recursion is now bounded by ๐‘‚(log log ๐‘›), and so the
total number of type-1 points in the solution is bounded by ๐‘‚(log log ๐‘›) ยท OPT(๐‘‹). Let โ„ denote
the set of all instances to which Algorithm LeafBST is applied. Using the same arguments as
in Claim 6.5, ๐‘‹ 0 โˆˆโ„ |๐‘‹ 0 | = ๐‘‚(OPT(๐‘‹)). The number of type-2 points that Algorithm LeafBST
                ร
adds to the solution for each instance ๐‘‹ 0 โˆˆ โ„ is bounded by ๐‘‚(OPT(๐‘‹ 0) + |๐‘‹ 0 |) = ๐‘‚(|๐‘‹ 0 |).
Therefore, the total number of type-2 points in the solution is bounded by ๐‘‚(OPT(๐‘‹)). Overall,
we obtain a solution of cost at most ๐‘‚(log log ๐‘›) ยท OPT(๐‘‹), and the running time of the algorithm
is polynomial in |๐‘‹ |.
Finally, in order to obtain the subexponential time algorithm, we set the parameter ๐œŒ to be such
that the recursion depth is bounded by ๐ท. Since the number of active columns in instance
๐‘‹ is ๐‘(๐‘‹), and the height of the partitioning tree ๐‘‡ is bounded by 2 log ๐‘(๐‘‹), whilethe depth
                                                                                      log ๐‘(๐‘‹)       log ๐‘(๐‘‹)
of the recursion is at most 2 log(height(๐‘‡)/๐œŒ), it is easy to verify that ๐œŒ = ๐‘‚         2๐ท/2
                                                                                                 =     2ฮฉ(๐ท)
                                                                                                              .
As before, let โ„ be the set of all instances to which Algorithm LeafBST is applied. Using
the same arguments as in Claim 6.5, ๐‘‹ 0 โˆˆโ„ (|๐‘‹ 0 | + OPT(๐‘‹ 0)) = ๐‘‚(OPT(๐‘‹)). For each such
                                        ร
instance ๐‘‹ 0, Algorithm LeafBST produces a solution of cost ๐‘‚(|๐‘‹ 0 | + OPT(๐‘‹ 0)). Therefore,
the total number of type-2 points in the final solution is bounded by ๐‘‚(OPT(๐‘‹)). The total
number of type-1 points in the solution is therefore bounded by ๐‘‚(๐ท) ยท OPT(๐‘‹) as before.
Therefore, the algorithm produces a factor-๐‘‚(๐ท)-approximate solution. Finally, in order to
analyze the running time of the algorithm, we first bound the running time of all calls to
procedure LeafBST. The number of such calls is bounded by |๐‘‹ |. Consider now some instance

                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                               52
                P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

๐‘‹ 0 โˆˆ โ„, and its corresponding partitioning tree ๐‘‡ 0. Since the height of ๐‘‡ 0 is bounded by ๐œŒ,
we get that ๐‘(๐‘‹ 0) โ‰ค 2๐œŒ โ‰ค 2log ๐‘(๐‘‹)/2
                                     ฮฉ(๐ท)               ฮฉ(๐ท)
                                          โ‰ค (๐‘(๐‘‹))1/2 . Therefore, the running time of LeafBST
on instance ๐‘‹  0                      0 ๐‘‚(1) ยท (๐‘(๐‘‹ 0 ))๐‘‚(๐‘(๐‘‹ 0 )) โ‰ค |๐‘‹ 0 | ๐‘‚(1) ยท exp ๐‘‚(๐‘(๐‘‹ 0 ) log ๐‘(๐‘‹ 0 ) โ‰ค
                                                                                                            
              is bounded by |๐‘‹ |
|๐‘‹ 0 | ๐‘‚(1) ยท exp ๐‘(๐‘‹)1/2
                               ฮฉ(๐ท)
                                      ยท log ๐‘(๐‘‹) .

The running time of the remainder of the algorithm, excluding the calls to LeafBST, is bounded
by poly(|๐‘‹ |). We conclude that the total running time of the algorithm is bounded by
                                                                                                       
                        ๐‘‚(1)                 1/2ฮฉ(๐ท)                                  1/2ฮฉ(๐ท)
                 |๐‘‹ |          ยท exp ๐‘(๐‘‹)              ยท log ๐‘(๐‘‹) โ‰ค poly(๐‘š) ยท exp ๐‘›             ยท log ๐‘›


6.5     Feasibility

We start by showing that the solution that the algorithm returns is ๐‘‡-special.

Observation 6.7. Assuming that LeafBST(๐‘‹ , ๐‘‡) returns a ๐‘‡-special solution, the solution ๐‘Œ โˆ—
returned by Algorithm RecursiveBST(๐‘‹ , ๐‘‡, ๐œŒ) is a ๐‘‡-special solution.

Proof. The proof is by induction on the recursion depth. The base of the induction is the calls to
Procedure LeafBST(๐‘‹ , ๐‘‡), which return ๐‘‡-special solutions by our assumption. Consider now
some call to Algorithm RecursiveBST(๐‘‹ , ๐‘‡, ๐œŒ). From the induction hypothesis, the resulting
solution ๐‘Œห† for instance ๐‘‹ e is ๐‘‡-special,
                                e          and, for every strip ๐‘— โˆˆ [๐‘˜], the resulting solution ๐‘Œ๐‘— for
instance ๐‘‹ ๐‘— is ๐‘‡๐‘— -special. Since both ๐‘‡
                                        e and every tree ๐‘‡๐‘—          are subtrees of ๐‘‡, and since the
                                                           
                                                               ๐‘—โˆˆ[๐‘˜]
points of ๐‘ lie on boundaries of strips in ๐‘† ๐‘— ๐‘—โˆˆ[๐‘˜] , the final solution ๐‘Œ โˆ— is ๐‘‡-special.
                                                          
                                                                                                              

We next turn to prove that the solution ๐‘Œ โˆ— computed by Algorithm RecursiveBST(๐‘‹ , ๐‘‡, ๐œŒ) is
feasible. In order to do so, we will use the following immediate observation.

Observation 6.8. Let ๐‘Œ โˆ— be the solution returned by Algorithm RecursiveBST(๐‘‹ , ๐‘‡, ๐œŒ), and let
๐‘— โˆˆ [๐‘˜] be any strip index. Then:

      โ€ข Any point ๐‘ฆ โˆˆ ๐‘Œ โˆ— that lies in the interior of ๐‘† ๐‘— must lie on an active row of instance ๐‘‹ ๐‘— .

      โ€ข Any point ๐‘ฆ โˆˆ ๐‘Œ โˆ— that lies on the boundary of ๐‘† ๐‘— must belong to in ๐‘Œห† โˆช ๐‘. Moreover, the
        points of ๐‘Œห† โˆช ๐‘ may not lie in the interior of ๐‘† ๐‘— .

      โ€ข If ๐‘… is an active row for instance ๐‘‹ ๐‘— , then set ๐‘ contains two points, lying on the intersection
        of ๐‘… with the left and the right boundaries of ๐‘† ๐‘— , respectively.

We are now ready to prove that the algorithm returns feasible solutions. In the following proof,
when we say that a row ๐‘… is an active row of strip ๐‘† ๐‘— (or equivalently of instance ๐‘‹ ๐‘— ), we mean
that some (input) point of instance ๐‘‹ ๐‘— lies on row ๐‘….

                               T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                           53
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

Theorem 6.9. Assume that the recursive calls to Algorithm RecursiveBST return a feasible special
solution ๐‘Œห† for instance ๐‘‹,
                         e and for each ๐‘– โˆˆ [๐‘˜], a feasible special solution ๐‘Œ๐‘— for the strip instance ๐‘‹ ๐‘— .
Then the point set ๐‘Œ = ๐‘ โˆช ๐‘Œห† โˆช ( ๐‘—โˆˆ[๐‘˜] ๐‘Œ๐‘— ) is a feasible solution for instance ๐‘‹.
                     โˆ—           ร


Proof. It would be convenient for us to consider the set of all points in ๐‘‹
                                                                          e โˆช ๐‘‹ โˆช ๐‘Œ โˆ— simultaneously.
In order to do so, we start with the set ๐‘‹ โˆช ๐‘Œ of points. For every ๐‘— โˆˆ [๐‘˜], we select an arbitrary
                                               โˆ—

active column ๐ถ ๐‘— in strip ๐‘† ๐‘— , and we then add a copy of every point ๐‘ โˆˆ ๐‘‹ ๐‘— to column ๐ถ ๐‘— . The
resulting set of points, obtained after processing all strips ๐‘† ๐‘— is identical to the set ๐‘‹
                                                                                          e of points
(except possibly for horizontal spacing between active columns), and we do not distinguish
between them.
Consider any pair of points ๐‘, ๐‘ž that lie in ๐‘Œ โˆ— โˆช ๐‘‹, which are not aligned. Our goal is to prove
that some point ๐‘Ÿ โ‰  ๐‘, ๐‘ž with ๐‘Ÿ โˆˆ ๐‘‹ โˆช ๐‘Œ โˆ— lies in ๐‘,๐‘ž . We assume w.l.o.g. that ๐‘ lies to the left of
๐‘ž. We also assume that ๐‘.๐‘ฆ < ๐‘ž.๐‘ฆ (that is, point ๐‘ is below point ๐‘ž); the other case is symmetric.
Assume first that at least one of the two points (say ๐‘) lies in the interior of a strip ๐‘† ๐‘— , for some
๐‘— โˆˆ [๐‘˜]. We then consider two cases. First, if ๐‘ž also lies in the interior of the same strip, then
๐‘, ๐‘ž โˆˆ ๐‘‹ ๐‘— โˆช ๐‘Œ๐‘— , and, since we have assumed that ๐‘Œ๐‘— is a feasible solution for instance ๐‘‹ ๐‘— , the two
points are satisfied in ๐‘‹ ๐‘— โˆช ๐‘Œ๐‘— , and hence in ๐‘‹ โˆช ๐‘Œ โˆ— . Otherwise, ๐‘ž does not lie in the interior of
strip ๐‘† ๐‘— . Then, from Observation 6.8, if ๐‘… is the row on which point ๐‘ lies, then ๐‘… is an active row
for instance ๐‘‹ ๐‘— , and the point that lies on the intersection of the row ๐‘… and the right boundary
of strip ๐‘† ๐‘— was added to ๐‘. This point satisfies the pair (๐‘, ๐‘ž).
Therefore, we can now assume that both ๐‘ and ๐‘ž lie on boundaries of strips ๐‘† ๐‘— | ๐‘— โˆˆ [๐‘˜] . Since
                                                                                     
every pair of consecutive strips share a boundary, and since, from the above assumptions, ๐‘ lies
to the left of ๐‘ž, we can choose the strips ๐‘† ๐‘— and ๐‘† ๐‘™ , such that ๐‘ lies on the left boundary of ๐‘† ๐‘— ,
and ๐‘ž lies on the right boundary of ๐‘† ๐‘™ . Notice that it is possible that ๐‘† ๐‘— = ๐‘† ๐‘™ .
Notice that, if ๐‘ lies on a row that is active for strip ๐‘† ๐‘— , then a point that lies on the same row
and belongs to the right boundary of the strip ๐‘† ๐‘— has been added to ๐‘; this point satisfies the
pair (๐‘, ๐‘ž). Similarly, if ๐‘ž lies on a row that is active for strip ๐‘† ๐‘™ , the pair (๐‘, ๐‘ž) is satisfied by a
point of ๐‘ that lies on the same row and belongs to the left boundary of ๐‘† ๐‘™ .
Therefore, it remains to consider the case where point ๐‘ lies on a row that is inactive for ๐‘† ๐‘— , and
point ๐‘ž lies on a row that is inactive for ๐‘† ๐‘™ . From Observation 6.8, both ๐‘ and ๐‘ž belong to ๐‘Œห† โˆช ๐‘.
The following observation will be useful for us. Recall that the points of ๐‘‹
                                                                           e are not included in
๐‘‹ โˆช๐‘Œ .โˆ—


Observation 6.10. Assume that there is some point ๐‘Ÿ โ‰  ๐‘, ๐‘ž, such that ๐‘Ÿ โˆˆ ๐‘,๐‘ž , and ๐‘Ÿ โˆˆ ๐‘‹.
                                                                                         e Then
the pair (๐‘, ๐‘ž) is satisfied in set ๐‘‹ โˆช ๐‘Œ .
                                         โˆ—



Proof. Since ๐‘Ÿ โˆˆ ๐‘‹,
                 e and ๐‘Ÿ โˆˆ ๐‘,๐‘ž , there must be some strip ๐‘† ๐‘– , that lies between strips ๐‘† ๐‘— and ๐‘† ๐‘™
(where ๐‘— โ‰ค ๐‘– โ‰ค ๐‘™), such that point ๐‘Ÿ lies on the column ๐ถ ๐‘– (recall that this is the unique active
column of ๐‘† ๐‘– that may contain points of ๐‘‹).
                                           e But then the row ๐‘… to which point ๐‘Ÿ belongs is

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                              54
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

an active row for strip ๐‘† ๐‘– . Therefore, two points, lying on the intersection of ๐‘… with the two
boundaries of strip ๐‘† ๐‘– were added to ๐‘, and at least one of these points must lie in ๐‘,๐‘ž . Since
๐‘ โІ ๐‘Œ โˆ— , the observation follows.                                                               

From the above observation, it is sufficient to show that some point ๐‘Ÿ โˆˆ ๐‘Œห† โˆช ๐‘ โˆช ๐‘‹
                                                                                  e that is distinct
from ๐‘ and ๐‘ž, lies in ๐‘,๐‘ž . We distinguish between three cases.
The first case happens when ๐‘, ๐‘ž โˆˆ ๐‘Œ.  ห† Since set ๐‘Œห† is a feasible solution for instance ๐‘‹,
                                                                                          e there is
                                                                  ห†
some point ๐‘Ÿ โˆˆ ๐‘,๐‘ž that is distinct from ๐‘ and ๐‘ž, and lies in ๐‘Œ โˆช ๐‘‹. e

The second case happens when neither ๐‘ nor ๐‘ž lie in ๐‘Œ,     ห† so both ๐‘, ๐‘ž โˆˆ ๐‘. Consider strip ๐‘† ๐‘—โˆ’1
lying immediately to the left of strip ๐‘† ๐‘— . Since ๐‘ lies on a row that is inactive for strip ๐‘† ๐‘— , but
๐‘ โˆˆ ๐‘, such a strip must exist, and moreover, the row ๐‘… to which ๐‘ belongs must be active for
strip ๐‘† ๐‘—โˆ’1 . Therefore, the point lying on the intersection of the column ๐ถ ๐‘—โˆ’1 (the unique active
column of ๐‘† ๐‘—โˆ’1 containing points of ๐‘‹) e and ๐‘… belongs to ๐‘‹;e we denote this point by ๐‘ 0.
Similarly, consider strip ๐‘† ๐‘™+1 lying immediately to the right of ๐‘† ๐‘™ . Since ๐‘ž lies on a row that is
inactive for strip ๐‘† ๐‘™ , but ๐‘ž โˆˆ ๐‘, such a strip must exist, and moreover, the row ๐‘…0 to which ๐‘ž
belongs must be active for strip ๐‘† ๐‘™+1 . Therefore, the point lying on the intersection of ๐ถ ๐‘™+1 and
๐‘…0 belongs to ๐‘‹;
               e we denote this point by ๐‘ž 0.

Since the set ๐‘‹   e โˆช ๐‘Œห† of points is satisfied, some point ๐‘Ÿ โˆˆ ๐‘‹
                                                                e โˆช ๐‘Œห† that is distinct from ๐‘ 0 and ๐‘ž 0,
lies in ๐‘0 ,๐‘ž0 . Moreover, from Observation 2.3, we can choose this point so that it lies on the
boundary of the rectangle ๐‘0 ,๐‘ž0 . Assume first that ๐‘Ÿ lies on the left boundary of this rectangle.
Then, since ๐‘Œห† is a special solution for instance ๐‘‹,  e ๐‘Ÿโˆˆ๐‘‹  e must hold. If ๐‘…00 denotes the row on
which ๐‘Ÿ lies, then ๐‘… is an active row for strip ๐‘† ๐‘—โˆ’1 , and so a point that lies on the intersection of
                        00

row ๐‘…00 and the right boundary of ๐‘† ๐‘—โˆ’1 belongs to ๐‘. That point satisfies ๐‘,๐‘ž . The case where ๐‘Ÿ
lies on the right boundary of ๐‘0 ,๐‘ž0 is treated similarly.
Assume now that ๐‘Ÿ lies on the top or the bottom boundary of ๐‘0 ,๐‘ž0 , but not on one of its corners.
Then, since solution ๐‘Œห† is special for ๐‘‹,
                                       e point ๐‘Ÿ must lie in the rectangle ๐‘,๐‘ž . Moreover, since we
have assumed that neither ๐‘ nor ๐‘ž lie in ๐‘Œ, ห† ๐‘Ÿ โ‰  ๐‘, ๐‘ž. But then ๐‘Ÿ โˆˆ ๐‘‹e โˆช ๐‘Œห† lies in ๐‘,๐‘ž \ {๐‘, ๐‘ž} and
by Observation 6.10, pair (๐‘, ๐‘ž) is satisfied in ๐‘‹ โˆช ๐‘Œ .
                                                       โˆ—


The third case happens when exactly one of the two points (say ๐‘) lies in ๐‘Œ,        ห† and the other point
                    ห†
does not lie in ๐‘Œ, so ๐‘ž โˆˆ ๐‘ must hold. We define the point ๐‘ž โˆˆ ๐‘‹ exactly as in the second
                                                                       0    e
case. Since ๐‘, ๐‘ž 0 โˆˆ ๐‘‹   e โˆช ๐‘Œ,ห† there must be a point ๐‘Ÿ โˆˆ ๐‘,๐‘ž0 \ {๐‘, ๐‘ž 0 } that lies in ๐‘‹  e โˆช ๐‘Œ.ห† From
Observation 6.8, we can choose the point ๐‘Ÿ, so that it lies on the left or on the bottom boundary
of ๐‘,๐‘ž0 (that is, its ๐‘ฅ- or its ๐‘ฆ-coordinate is aligned with the point ๐‘). If ๐‘Ÿ lies on the left boundary
of ๐‘,๐‘ž0 , then it also lies in ๐‘,๐‘ž , and from Observation 6.10, pair (๐‘, ๐‘ž) is satisfied in ๐‘‹ โˆช ๐‘Œ โˆ— . If it
lies on the bottom boundary of ๐‘,๐‘ž0 , but it is not the bottom right corner of the rectangle, then,
using the same reasoning as in Case 2, it must lie in ๐‘,๐‘ž , and it is easy to see that ๐‘Ÿ โ‰  ๐‘ž. Lastly,
if ๐‘Ÿ is the bottom right corner of ๐‘,๐‘ž0 , then ๐‘Ÿ โˆˆ ๐‘‹.e As before, there is a copy of ๐‘Ÿ, that lies on the
left boundary of strip ๐‘† ๐‘™+1 and belongs to ๐‘, that satisfies the pair (๐‘, ๐‘ž).                             

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                               55
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

6.6     Leaf instances (proof of Theorem 6.4)

The goal of this subsection is to prove Theorem 6.4. For convenience, given an input instance
๐‘‹ of Min-Sat, we denote ๐‘Ÿ(๐‘‹) = ๐‘š and ๐‘(๐‘‹) = ๐‘›. Our goal is to compute an optimal canonical
solution ๐‘Œ for ๐‘‹ in time poly(๐‘š) ยท ๐‘› ๐‘‚(๐‘›) . The solution can then be turned into a special one using
the following observation.

Observation 6.11. There is an algorithm, that, given a set ๐‘‹ of points that is a semi-permutation,
and a canonical solution ๐‘Œ for ๐‘‹, computes a special solution ๐‘Œ 0 for ๐‘‹, such that |๐‘Œ 0 | โ‰ค 2|๐‘‹ | +2|๐‘Œ|.

Proof. We construct ๐‘Œ 0 as follows: For each point ๐‘ โˆˆ ๐‘‹ โˆช ๐‘Œ, we add two points, ๐‘ 0 and ๐‘ 00 to ๐‘Œ 0,
whose ๐‘ฆ-coordinate is the same as that of ๐‘, such that ๐‘ 0 and ๐‘ 00 lie on the lines of โ„’ appearing
immediately to the left and immediately to the right of ๐‘, respectively. It is easy to verify that
|๐‘Œ 0 | = 2|๐‘‹ | + 2|๐‘Œ| and that ๐‘Œ 0 is a special solution.
We now verify that ๐‘‹ โˆช ๐‘Œ 0 is a satisfied set of points. Consider two points ๐‘, ๐‘ž in ๐‘‹ โˆช ๐‘Œ 0, such that
๐‘.๐‘ฅ < ๐‘ž.๐‘ฅ. Notice that ๐‘ is either an original point in ๐‘‹ or it is a copy of some point ๐‘ห† โˆˆ ๐‘‹ โˆช ๐‘Œ.
If ๐‘ โˆˆ ๐‘‹ or ๐‘ = ๐‘ห† 0 for ๐‘ห† โˆˆ ๐‘‹ โˆช ๐‘Œ, then the point ๐‘ห† 00 lies in the rectangle ๐‘,๐‘ž . Therefore, we can
assume that ๐‘ = ๐‘ห† 00 for some point ๐‘ห† โˆˆ ๐‘‹ โˆช ๐‘Œ. By a similar reasoning, we can assume that ๐‘ž = ๐‘žห† 0
for some point ๐‘žห† โˆˆ ๐‘‹ โˆช ๐‘Œ. Since ๐‘‹ โˆช ๐‘Œ is a satisfied point set, there must be a point ๐‘Ÿ โˆˆ ๐‘‹ โˆช ๐‘Œ
that lies in the rectangle ๐‘, ห† ๐‘žห† . From Observation 2.3, we can choose ๐‘Ÿ such that either ๐‘Ÿ.๐‘ฅ = ๐‘.๐‘ฅ   ห†
or ๐‘Ÿ.๐‘ฆ = ๐‘.๐‘ฆ.
           ห†    In either case, point ๐‘Ÿ also lies in ๐‘ห† 00 , ๐‘žห† 0 = ๐‘,๐‘ž , so (๐‘, ๐‘ž) is satisfied by ๐‘‹ โˆช ๐‘Œ 0.
                                           00

Therefore, ๐‘‹ โˆช ๐‘Œ 0 is a satisfied set of points.                                                           

This observation allows us to turn the optimal canonical solution into a special solution of cost at
most 2|๐‘‹ | + 2|๐‘Œ| โ‰ค 2|๐‘‹ | + 2OPT(๐‘‹), in time poly(|๐‘‹ |). We start by providing several definitions
and structural observations that will be helpful in designing the algorithm.


6.6.1    Conflicting sets

Our algorithm uses the notion of conflicting point sets, defined as follows.

Definition 6.12 (Conflicting Sets). Let ๐‘ and ๐‘0 be sets of points. We say that ๐‘ and ๐‘0 are
conflicting if ๐‘ โˆช ๐‘0 is not satisfied.

The following definition is central to our algorithm.

Definition 6.13 (Top representation). Let ๐‘ be any set of points. A top representation of ๐‘, that
we denote by top(๐‘), is a subset ๐‘0 โІ ๐‘ of points, obtained as follows: for every column ๐ถ that
contains points from ๐‘, we add the topmost point of ๐‘ that lies on ๐ถ to ๐‘0.

Observation 6.14. Let top(๐‘) โІ ๐‘ be the top representation of ๐‘, and let ๐‘… be a row lying strictly
above all points in ๐‘. Let ๐‘Œ be any set of points lying on row ๐‘…. Then ๐‘ก๐‘œ๐‘(๐‘) is conflicting with
๐‘Œ if and only if ๐‘ is conflicting with ๐‘Œ.

                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                               56
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

Proof. Assume that ๐‘Œ is conflicting with ๐‘, and let ๐‘ โˆˆ ๐‘Œ, ๐‘ž โˆˆ ๐‘ be a pair of points, such that no
point of ๐‘Œ โˆช ๐‘ lies in ๐‘,๐‘ž \ {๐‘, ๐‘ž}. But then ๐‘ž โˆˆ top(๐‘) must hold, and no point of top(๐‘) โˆช ๐‘Œ lies
in ๐‘,๐‘ž \ {๐‘, ๐‘ž}, so top(๐‘) and ๐‘Œ are conflicting. Assume now that top(๐‘) and ๐‘Œ are conflicting,
and let ๐‘ โˆˆ ๐‘Œ, ๐‘ž โˆˆ top(๐‘) be a pair of points, such that no point of ๐‘Œ โˆช top(๐‘) lies in ๐‘,๐‘ž \ {๐‘, ๐‘ž}.
But then no point of ๐‘Œ โˆช ๐‘ lies in ๐‘,๐‘ž \ {๐‘, ๐‘ž}, and, since top(๐‘) โІ ๐‘, sets top(๐‘) and ๐‘Œ are
conflicting.                                                                                        


6.6.2   The setup

Let ๐‘‹ be the input point set, that is a semi-permutation. We denote by โ„› = {๐‘… 1 , . . . , ๐‘… ๐‘š } the set
of all active rows for ๐‘‹, and we assume that they are indexed in their natural bottom-to-top
order. We denote by ๐’ž = {๐ถ1 , . . . , ๐ถ ๐‘› } the set of all active columns of ๐‘‹, and we assume that
they are indexed in their natural left-to-right order. We also denote ๐‘‹ = {๐‘ 1 , . . . , ๐‘ ๐‘š }, where for
all 1 โ‰ค ๐‘– โ‰ค ๐‘š, ๐‘ ๐‘– is the unique point of ๐‘‹ lying on row ๐‘… ๐‘– . For an index 1 โ‰ค ๐‘ก โ‰ค ๐‘š, we denote by
โ„› โ‰ค๐‘ก = {๐‘… 1 , . . . , ๐‘… ๐‘ก }, and we denote by ๐‘‹โ‰ค๐‘ก = {๐‘ 1 , . . . , ๐‘ ๐‘ก }.
Note that, if ๐‘Œ is a feasible solution to instance ๐‘‹, then for all 1 โ‰ค ๐‘ก โ‰ค ๐‘š, the set ๐‘‹โ‰ค๐‘ก โˆช ๐‘Œโ‰ค๐‘ก
of points must be satisfied (here ๐‘Œโ‰ค๐‘ก is the set of all points of ๐‘Œ lying on rows of โ„› โ‰ค๐‘ก .) Our
dynamic programming-based algorithm constructs the optimal solution row-by-row, using this
observation. We use height profiles, that we define next, as the โ€œstatesโ€ of the dynamic program.
A height profile ๐œ‹ assigns, to every column ๐ถ ๐‘– โˆˆ ๐’ž, a value ๐œ‹(๐ถ ๐‘– ) โˆˆ {1, . . . , ๐‘›, โˆž}. Let ฮ  be the set
of all possible height profiles, so |ฮ | โ‰ค ๐‘› ๐‘‚(๐‘›) . For a profile ๐œ‹ โˆˆ ฮ , we denote by ๐‘€(๐œ‹) the largest
value of ๐œ‹(๐ถ ๐‘– ) for any column ๐ถ ๐‘– โˆˆ ๐’ž that is not โˆž. Given a height profile ๐œ‹, let ๐’ž(๐œ‹) โІ ๐’ž be the
set of columns ๐ถ ๐‘– with ๐œ‹(๐ถ ๐‘– ) < โˆž, and let ๐’ž 0(๐œ‹) = ๐’ž \ ๐’ž(๐œ‹). We can then naturally associate an
ordering ๐œŒ๐œ‹ of the columns in ๐’ž(๐œ‹) with ๐œ‹ as follows: for columns ๐ถ ๐‘– , ๐ถ ๐‘— โˆˆ ๐’ž(๐œ‹), ๐ถ ๐‘– appears
before ๐ถ ๐‘— in ๐œ‹ iff either (i) ๐œ‹(๐ถ ๐‘– ) < ๐œ‹(๐ถ ๐‘— ); or (ii) ๐œ‹(๐ถ ๐‘– ) = ๐œ‹(๐ถ ๐‘— ) and ๐‘– < ๐‘—.
Consider now any point set ๐‘, where every point lies on a column of ๐’ž. Let ๐‘0 = top(๐‘), and
let ๐œŽ(๐‘) denote the ordering of the points in ๐‘0, such that ๐‘ appears before ๐‘ 0 in ๐œŽ iff either (i)
๐‘.๐‘ฆ < ๐‘ 0 .๐‘ฆ; or (ii) ๐‘.๐‘ฆ = ๐‘ 0 .๐‘ฆ and ๐‘.๐‘ฅ < ๐‘ 0 .๐‘ฅ. Consider now any profile ๐œ‹ โˆˆ ฮ . We say that point
set ๐‘ is consistent with profile ๐œ‹ (see Figure 8 for an illustration) iff the following hold:

   โ€ข For every column ๐ถ ๐‘– โˆˆ ๐’ž, if ๐œ‹(๐ถ ๐‘– ) = โˆž, then no point of ๐‘ lies on ๐ถ ๐‘– ; and

   โ€ข For all 1 โ‰ค ๐‘– โ‰ค |๐‘0 |, the ๐‘–th point in ๐œŽ(๐‘) lies on the ๐‘–th column of ๐œŒ๐œ‹ .



6.6.3   Our DP

Consider some integer ๐‘ก : 1 โ‰ค ๐‘ก โ‰ค ๐‘š (viewed as a row index) and some height profile ๐œ‹; we
define ๐‘€(๐œ‹) as the largest value of ๐œ‹(๐ถ ๐‘— ) for ๐ถ ๐‘— โˆˆ ๐’ž that is not โˆž. We say that ๐œ‹ is a legal profile
for time ๐‘ก iff ๐‘€(๐œ‹) โ‰ค ๐‘ก, and, if ๐ถ ๐‘– is the column containing the input point ๐‘ ๐‘ก , then ๐œ‹(๐ถ ๐‘– ) = ๐‘€(๐œ‹)

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                            57
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK




Figure 8: An illustration of height profile that is consistent with a set ๐‘ of points. The set
top(๐‘) is shown by dark points. The height profile is ๐œ‹(๐ถ1 ) = 1, ๐œ‹(๐ถ2 ) = ๐œ‹(๐ถ5 ) = 2 and
๐œ‹(๐ถ3 ) = โ„Ž ๐‘ (๐ถ4 ) = 3.


(that is, column ๐ถ ๐‘– has the largest value ๐œ‹(๐ถ ๐‘– ) that is not โˆž; we note that it is possible that other
columns ๐ถ ๐‘— โ‰  ๐ถ ๐‘– also have ๐œ‹(๐ถ ๐‘— ) = ๐‘€(๐œ‹)).
For every integer 1 โ‰ค ๐‘ก โ‰ค ๐‘š, and every height profile ๐œ‹ that is legal for ๐‘ก, there is an entry ๐‘‡[๐‘ก, ๐œ‹]
in the dynamic programming table. The entry is supposed to store the minimum-cardinality set
๐‘ of points with the following properties:

   โ€ข ๐‘‹โ‰ค๐‘ก โІ ๐‘;

   โ€ข all points of ๐‘ lie on rows ๐‘… 1 , . . . , ๐‘… ๐‘ก ;

   โ€ข ๐‘ is a satisfied point set; and

   โ€ข ๐‘ is consistent with ๐œ‹.

Clearly, there number of entries in the dynamic programming table is bounded by ๐‘š๐‘› ๐‘‚(๐‘›) . We
fill out the entries in the increasing order of the index ๐‘ก.
We start with ๐‘ก = 1. Consider any profile ๐œ‹ that is legal for time ๐‘ก. Recall that for every column
๐ถ ๐‘— โˆˆ ๐’ž, ๐œ‹(๐ถ ๐‘— ) โˆˆ {1, โˆž} must hold, and moreover, if ๐ถ ๐‘– is the unique column containing the
point ๐‘ 1 โˆˆ ๐‘‹, then ๐œ‹(๐ถ ๐‘– ) = 1 must hold. We let ๐‘‡[1, ๐œ‹] contain the following set of points: for
every column ๐ถ ๐‘— โˆˆ ๐’ž with ๐œ‹(๐ถ ๐‘— ) = 1, we add the point lying in the intersection of column ๐ถ ๐‘—
and row ๐‘… 1 to the point set stored in ๐‘‡[๐‘ก, ๐œ‹]. It is immediate to verify that the resulting point set
is consistent with ๐œ‹, it is satisfied, it contains ๐‘‹โ‰ค1 = {๐‘ 1 }, and it is the smallest-cardinality point
set with these properties.
We now assume that for some ๐‘ก โ‰ฅ 1, we have computed correctly all entries ๐‘‡[๐‘ก 0 , ๐œ‹0] for all
1 โ‰ค ๐‘ก 0 โ‰ค ๐‘ก, and for all profiles ๐œ‹0 legal for ๐‘ก 0. We now fix some profile ๐œ‹ that is legal for ๐‘ก + 1, and

                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                           58
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

show how to compute entry ๐‘‡[๐‘ก + 1, ๐œ‹].
Let ๐‘Ÿ = ๐‘€(๐œ‹) (recall that this is the largest value of ๐œ‹(๐ถ ๐‘— ) that is not โˆž), and let ๐’ž1 โІ ๐’ž be the
set of all columns ๐ถ ๐‘— with ๐œ‹(๐ถ ๐‘— ) = ๐‘Ÿ. Recall that, if ๐ถ ๐‘— is the column containing the input point
๐‘ ๐‘ก+1 , then ๐ถ ๐‘— โˆˆ ๐’ž1 must hold. Let ๐‘ƒ be the set of |๐’ž1 | points that lie on the intersection of the
row ๐‘… ๐‘ก+1 and the columns in ๐’ž1 .
Consider now any profile ๐œ‹0 that is legal for ๐‘ก, and let ๐‘ห† = ๐‘‡[๐‘ก, ๐œ‹0]. Denote ๐‘ห† 0 = top(๐‘).ห† We say
that profile ๐œ‹ is a candidate profile if (i) ๐œ‹ is legal for ๐‘ก; (ii) the point sets ๐‘ƒ, ๐‘ห† do not conflict;
                0                              0                                        0

(iii) ๐’ž 0(๐œ‹0) โІ ๐’ž 0(๐œ‹) โˆช ๐’ž1 ; and (iv) if we discard from ๐œŒ๐œ‹ and from ๐œŒ๐œ‹0 the columns of ๐’ž1 , then
the two orderings are defined over the same set of columns and they are identical. We select a
candidate profile ๐œ‹0 that minimizes |๐‘‡[๐‘ก, ๐œ‹0]|, and let ๐‘ = ๐‘ห† โˆช ๐‘ƒ, where ๐‘ห† is the point set stored
in ๐‘‡[๐‘ก, ๐œ‹0]. We then set ๐‘‡[๐‘ก + 1, ๐œ‹] = ๐‘.
We now verify that set ๐‘ has all required properties. If the entry ๐‘‡[๐‘ก, ๐œ‹0] was computed correctly,
then point set ๐‘ห† is satisfied. Since top(๐‘)
                                           ห† and ๐‘ƒ are not conflicting, from Observation 6.14
neither are ๐‘ห† and ๐‘ƒ. Therefore, set ๐‘ is satisfied. If the entry ๐‘‡[๐‘ก, ๐œ‹0] was computed correctly,
then ๐‘‹โ‰ค๐‘ก โІ ๐‘.ห† Since ๐‘ ๐‘ก+1 โˆˆ ๐‘ƒ, we get that ๐‘‹โ‰ค(๐‘ก+1) โІ ๐‘.

Next, we show that ๐‘ is consistent with the profile ๐œ‹. Let ๐‘0 = top(๐‘), and consider the ordering
๐œŽ(๐‘) of the points in ๐‘0. It is easy to verify that the last |๐‘ƒ| points in this ordering are precisely
the points of ๐‘ƒ. The remaining points in this ordering can be obtained from the point set ๐‘ห† 0, by
first ordering them according to ordering ๐œŽ(๐‘), ห† and then deleting all points lying on columns of
๐’ž1 . From the definition of candidate profiles, it is easy to verify that for all 1 โ‰ค ๐‘– โ‰ค |๐‘0 |, the ๐‘–th
point in ๐œŽ(๐‘) lies on the ๐‘–th column of ๐œŒ๐œ‹ . Therefore, ๐‘ is consistent with profile ๐œ‹.
Lastly, it remains to show that the cardinality of ๐‘ is minimized among all sets with the above
properties. Let ๐‘ โˆ— be the point set that contains ๐‘‹โ‰ค๐‘ก+1 , is satisfied, is consistent with profile ๐œ‹,
with every point of ๐‘ โˆ— lying on rows ๐‘… 1 , . . . , ๐‘… ๐‘ก+1 , such that |๐‘ โˆ— | is minimized among all such
sets. It is easy to verify that the set of points of ๐‘ โˆ— lying on row ๐‘… ๐‘ก+1 must be precisely ๐‘ƒ. This
is since point ๐‘ ๐‘ก+1 must belong to ๐‘ โˆ— , and so every column ๐ถ ๐‘– with ๐œ‹(๐ถ ๐‘– ) = ๐‘€(๐œ‹) must have a
point lying on the intersection of ๐ถ ๐‘– and ๐‘… ๐‘ก+1 in ๐‘ โˆ— . Let ๐‘ห† = ๐‘ โˆ— \ ๐‘ƒ. Clearly, ๐‘ห† is satisfied, all
points of ๐‘ห† lie on rows ๐‘… 1 , . . . , ๐‘… ๐‘ก , and ๐‘‹โ‰ค๐‘ก โІ ๐‘.
                                                       ห† Moreover, there is no conflict between top(๐‘)ห†
and ๐‘ƒ.
We define a new height profile ๐œ‹0 as follows: for every column ๐ถ ๐‘– โˆˆ ๐’ž, if no point of ๐‘ห† lies on
๐ถ ๐‘– , then ๐œ‹0(๐ถ ๐‘– ) = โˆž. Otherwise, let ๐‘ be the unique point in ๐‘ห† 0 that lies on ๐ถ ๐‘– , and assume that
it lies on row ๐‘… ๐‘ก 0 . Then we set ๐œ‹0(๐ถ ๐‘– ) = ๐‘ก 0. Notice that ๐’ž 0(๐œ‹0) โІ ๐’ž 0(๐œ‹) โˆช ๐’ž1 , and, if we discard
from ๐œŒ๐œ‹ and from ๐œŒ๐œ‹0 the columns of ๐’ž1 , then the two orderings are defined over the same set of
columns and they are identical.
It is easy to verify that the resulting profile ๐œ‹0 must be legal for ๐‘ก. Therefore, profile ๐œ‹0 was
considered by the algorithm. Since ๐‘ห† 0 and ๐‘ƒ are not conflicting, it is easy to verify that for any
other set ๐‘หœ of points that lie on rows ๐‘… 1 , . . . , ๐‘… ๐‘ก and are consistent with profile ๐œ‹0, set top(๐‘)
                                                                                                      หœ
does not conflict with ๐‘ƒ. Therefore, ๐œ‹ must be a candidate profile for ๐œ‹. We conclude that
                                         0




                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                           59
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

               ห† and |๐‘‡[๐‘ก, ๐œ‹]| โ‰ค |๐‘‡[๐‘ก, ๐œ‹0]| + |๐‘ƒ| = |๐‘ โˆ— |, so |๐‘| โ‰ค |๐‘ โˆ— | must hold.
|๐‘‡[๐‘ก, ๐œ‹0]| โ‰ค | ๐‘|,
The output of the algorithm is a set ๐‘‡[๐‘š, ๐œ‹] \ ๐‘‹ of smallest cardinality among all profiles ๐œ‹ โˆˆ ฮ 
that are consistent with ๐‘š. It is immediate to verify that this is a feasible and optimal solution
for ๐‘‹.
As observed before, the number of entries in the dynamic programming table is ๐‘š ยท ๐‘› ๐‘‚(๐‘›) , and
computing each entry takes time ๐‘› ๐‘‚(๐‘›) . Therefore, the total running time of the algorithm is
bounded by ๐‘š ยท ๐‘› ๐‘‚(๐‘›) .



7     An ๐‘‚(log log ๐‘›)-competitive online algorithm

In this section we extend the ๐‘‚(log log ๐‘›)-approximation algorithm from the previous section
to the online setting, completing the proof of Theorem 1.2. To this end, the recursive algorithm
is not quite convenient to work with. In Subsection 7.1, we present an equivalent iterative
description of our algorithm. In Subsection 7.2, we slightly modify the solution ๐‘Œ that the
algorithm returns to obtain another solution ๐‘Œห† that is more friendly for the online setting, before
presenting the final online algorithm in Subsection 7.3.


7.1   Unfolding the recursion

Let ๐‘‹ be an input set of points that is semi-permutation, with |๐‘‹ | = ๐‘š, and ๐‘(๐‘Ÿ) = ๐‘›. Let ๐‘‡ be a
balanced partitioning tree of height ๐ป = ๐‘‚(log ๐‘›) for ๐‘‹.
We now construct another tree ๐‘…, that is called a recursion tree, and which is unrelated to the
tree ๐‘‡. Every vertex ๐‘ž of the tree ๐‘… is associated with an instance โ„(๐‘ž) of Min-Sat that arose
during the recursive execution of Algorithm RecursiveBST(๐‘‹ , ๐‘‡, ๐œŒ), with ๐œŒ = 1. Specifically,
for the root ๐‘Ÿ of the tree ๐‘…, we let โ„(๐‘Ÿ) = ๐‘‹. For every vertex ๐‘ž of the tree ๐‘…, if Algorithm
RecursiveBST(๐‘‹ , ๐‘‡, ๐œŒ), when called for instance โ„(๐‘ž), constructed instances โ„1 , . . . , โ„๐‘ง (recall
that one of these instances is a compressed instance, and the remaining instances are strip
instances), then vertex ๐‘ž has ๐‘ง children in tree ๐‘…, each of which is associated with one of these
instances.
For a vertex ๐‘ž โˆˆ ๐‘‰(๐‘…), let ๐‘›(๐‘ž) be the number active columns in the instance โ„(๐‘ž). Recall that
instance โ„(๐‘ž) corresponds to some subtree of the partitioning tree ๐‘‡, that we denote by ๐‘‡๐‘ž . For
all ๐‘– โ‰ฅ 0, let ฮ›0๐‘– be the set of all vertices of the tree ๐‘… that lie at distance exactly ๐‘– from the root of
๐‘…. We say that the vertices of ฮ›0๐‘– belong to the ๐‘–th layer of ๐‘…. Notice that, if vertex ๐‘ž lies in the
๐‘–th layer of ๐‘…, then the height of the corresponding tree ๐‘‡๐‘ž is bounded by ๐ป ยท (2/3)๐‘– (the constant
                                                                ๐‘‡ is split in its middle layer, each of
2/3 is somewhat arbitrary and is used because,         when a tree     0
                                                            0
                                                 
the resulting subtrees has height at most height(๐‘‡ )/2 + 1 โ‰ค 2๐ป/3). Recall that the recursion
terminates once we obtain instances whose corresponding partitioning trees have height 1. It is
then easy to verify that the height of the recursion tree ๐‘… is bounded by ๐‘‚(log log ๐‘›).

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                             60
               P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES




Figure 9: An illustration of the families ๐’ฏ๐‘– . Notice that ๐’ฏ1 contains 5 trees, each having height 2.


Consider now some layer ฮ›๐‘– of the recursion tree ๐‘…. We let ๐’ฏ๐‘– be the collection of all subtrees of
the partitioning tree ๐‘‡ corresponding to the vertices of ฮ›๐‘– , so ๐’ฏ๐‘– = ๐‘‡๐‘ž | ๐‘ž โˆˆ ฮ›๐‘– . Recall that all
trees in ๐’ฏ๐‘– have height at most ๐ป ยท (2/3)๐‘– .
Notice that ๐’ฏ0 = {๐‘‡}. Let ๐‘ˆ = {๐‘ฃ 1 , . . . , ๐‘ฃ ๐‘˜ } be the middle layer of ๐‘‡. Then ๐’ฏ1 = ๐‘‡๐‘ฃ1 , . . . , ๐‘‡๐‘ฃ ๐‘˜ , ๐‘‡๐‘Ÿ .
                                                                                            
Set ๐’ฏ2 is similarly obtained by subdividing every tree in ๐’ฏ1 , and so on. (See Figure 9 for an
illustration. ) The construction of the tree sets ๐’ฏ๐‘– can be described using the following process:

   โ€ข Start from ๐’ฏ0 = {๐‘‡}.

   โ€ข For ๐‘– = 1, . . . , ๐ท, if some tree in ๐’ฏ๐‘–โˆ’1 has height greater than 1, then construct the set ๐’ฏ๐‘– of
                             n everyotree ๐‘‡ โˆˆ ๐’ฏ๐‘– whose height is greater than 1, consider the split
     trees as follows: For                  0

                                  e by the (boundaries of) middle-layer strips. Notice that ๐‘‡
        partitioning trees {๐‘‡๐‘— }, ๐‘‡                                                         e is
        rooted at the root of ๐‘‡ 0 and each ๐‘‡๐‘— at a leaf of ๐‘‡.
                                                           e These subtrees are added into ๐’ฏ๐‘– .

The following observation is immediate.
Observation 7.1. For each 1 โ‰ค ๐‘– โ‰ค ๐ท, ๐‘‡ 0 โˆˆ๐’ฏ๐‘– ๐‘‰(๐‘‡ 0) = ๐‘‰(๐‘‡), and for each pair ๐‘‡ 0 , ๐‘‡ 00 โˆˆ ๐’ฏ๐‘– of trees,
                                            ร
either ๐‘‰(๐‘‡ 0) โˆฉ ๐‘‰(๐‘‡ 00) = โˆ… or the root of one of these trees is a leaf of the other tree.


7.1.1    Boxes

Fix an index 1 โ‰ค ๐‘– โ‰ค ๐ท, and consider any tree ๐‘‡ 0 โˆˆ ๐’ฏ๐‘– . Denote the number of leaves by ๐‘˜,
and let ๐‘ฃ 1 , . . . , ๐‘ฃ ๐‘˜ be the leaves of ๐‘‡ 0. If ๐‘ฃ is the root vertex of the tree ๐‘‡ 0, then we can view ๐‘‡ 0
as defining a hierarchical partitioning scheme of the strip ๐‘†(๐‘ฃ), until we obtain the partition

                        T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                 61
               PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

(๐‘†(๐‘ฃ 1 ), ๐‘†(๐‘ฃ 2 ), . . . , ๐‘†(๐‘ฃ ๐‘˜ )) of ๐‘†(๐‘ฃ). We define a collection of ๐‘‡ 0-boxes as follows. Let ๐‘‹ 0 = ๐‘‹ โˆฉ ๐‘†(๐‘ฃ)
be the set of all points lying in strip ๐‘†(๐‘ฃ). Assume that ๐‘‹ 0 = {๐‘ 1 , ๐‘2 , . . . , ๐‘ ๐‘š0 }, where the points
are indexed in the increasing order of their ๐‘ฆ-coordinates.
We now iteratively partition the point set ๐‘‹ 0 into boxes, where each box is a consecutive set of
points of ๐‘‹ 0. Let ๐‘ฃ ๐‘– be the leaf vertex of ๐‘‡ 0, such that ๐‘ 1 โˆˆ ๐‘†(๐‘ฃ ๐‘– ), and let ๐‘š1 be the largest index,
such that all points ๐‘ 1 , . . . , ๐‘ ๐‘š1 lie in ๐‘†(๐‘ฃ ๐‘– ). We then then define a box ๐ต1 = {๐‘ 1 , ๐‘2 , . . . , ๐‘ ๐‘š1 }.
We discard the points ๐‘ 1 , . . . , ๐‘ ๐‘š1 , and continue this process to define ๐ต2 (starting from point
๐‘ ๐‘š1 + 1), and so on, until every point of ๐‘‹ 0 belongs to some box.
We let โ„ฌ(๐‘‡ 0) = ๐ต1 , ๐ต2 , . . . , ๐ต ๐‘ง(๐‘‡ 0) be the resulting partition of the points in ๐‘‹ 0, where we refer
                  
to each set ๐ต ๐‘– as a ๐‘‡ 0-box, or just a box. For each box ๐ต0 โˆˆ โ„ฌ(๐‘‡ 0), the lowest and the highest rows
containing points of ๐ต0 are denoted by first(๐ต0) and last(๐ต0) respectively.


7.1.2   Projections of points

Recall that the solution that our recursive algorithm returns is ๐‘‡-special, that is, the points that
participate in the solution lie on the active rows of ๐‘‹ and on ๐‘‡-auxiliary columns. Let ๐‘Œ be a
feasible solution obtained by our algorithm RecursiveBST(๐‘‹, ๐‘‡, ๐œŒ), where ๐œŒ = 1. Notice the
every point in ๐‘Œ is obtained by โ€œprojectingโ€ some input point ๐‘ โˆˆ ๐‘‹ to the boundary of some
strip ๐‘†(๐‘ฃ) for ๐‘ฃ โˆˆ ๐‘‰(๐‘‡), where strip ๐‘†(๐‘ฃ) contains ๐‘. For each point ๐‘ โˆˆ ๐‘‹ and node ๐‘ฃ โˆˆ ๐‘‰(๐‘‡) of
the partitioning tree, such that ๐‘ โˆˆ ๐‘†(๐‘ฃ), we define the set proj(๐‘, ๐‘ฃ) to contain two points on
the same row as ๐‘, that lie on the left and right boundaries of ๐‘†(๐‘ฃ), respectively. We denote
by ๐‘Œ๐‘,๐‘ฃ the set that contain the two points proj(๐‘, ๐‘ฃ) if our algorithm adds these two points
to the solution. Since all points of ๐‘‹ lie on distinct rows, for any two points ๐‘ โ‰  ๐‘ 0, for any
pair ๐‘ฃ, ๐‘ฃ 0 โˆˆ ๐‘‰(๐‘‡) of vertices, proj(๐‘, ๐‘ฃ) โˆฉ proj(๐‘ 0 , ๐‘ฃ 0) = โˆ…. We can now write the solution ๐‘Œ as
๐‘Œ = ๐‘โˆˆ๐‘‹ ๐‘ฃโˆˆ๐‘‰(๐‘‡) ๐‘Œ๐‘,๐‘ฃ . The following lemma characterizes the points of ๐‘Œ in terms of boxes.
     ร      ร

Lemma 7.2. For every point ๐‘ โˆˆ ๐‘‹ and every node ๐‘ฃ โˆˆ ๐‘‰(๐‘‡) of the partitioning tree, |๐‘Œ๐‘,๐‘ฃ | = 2 if and
only if there is an index 1 โ‰ค ๐‘– โ‰ค ๐ท, and a subtree ๐‘‡ 0 โˆˆ ๐’ฏ๐‘– , such that (i) ๐‘ is the first or the last point of its
๐‘‡ 0-box; (ii) ๐‘ฃ lies in the middle layer of ๐‘‡ 0; and (iii) ๐‘†(๐‘ฃ) contains ๐‘.

Proof. Let 1 โ‰ค ๐‘– โ‰ค ๐ท be an index, and let ๐‘‡ 0 โˆˆ ๐’ฏ๐‘– be the corresponding partitioning tree.
We denote the corresponding point set by ๐‘‹ 0. Let ๐‘ฃ 1 , . . . , ๐‘ฃ ๐‘˜ be the leaf vertices of ๐‘‡ 0, and
let ๐‘ข1 , . . . , ๐‘ข๐‘Ÿ be the vertices lying in the middle layer of ๐‘‡ 0. The only points added to the
solution when instance ๐‘‹ 0 is processed are the following: for every 1 โ‰ค ๐‘— โ‰ค ๐‘Ÿ, for every point
๐‘ โˆˆ ๐‘‹ 0 โˆฉ ๐‘†(๐‘ข ๐‘— ), we add the two copies of ๐‘ to the boundaries of ๐‘†(๐‘ข ๐‘— ). In subsequent, or in
previous iterations, we may add points to boundaries of ๐‘†(๐‘ข ๐‘— ), but we will never add two copies
of the same input point to both boundaries of ๐‘†(๐‘ข ๐‘— ). Therefore, if |๐‘Œ๐‘,๐‘ฃ | = 2, then there must
be an index ๐‘–, and a tree ๐‘‡ 0 โˆˆ ๐’ฏ๐‘– , such that ๐‘ฃ lies in the middle layer of ๐‘‡ 0, and ๐‘†(๐‘ฃ) contains ๐‘.
Observe that for every ๐‘‡ 0-box ๐ต, instance ๐‘‹ 0 only contains the first and the last point of ๐ต; all
remaining points are redundant for ๐‘‹ 0, and such points are not projected to the boundaries of
their strips. Therefore, ๐‘ must be the first or the last point of its ๐‘‡ 0-box.                      

                         T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                   62
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

7.1.3    An equivalent view of our algorithm

We can think of our algorithm as follows. First, we compute all families ๐’ฏ0 , ๐’ฏ1 , . . . , ๐’ฏ๐ท of trees,
and for each tree ๐‘‡ 0 in each family ๐’ฏ๐‘– , all ๐‘‡ 0-boxes. For each point ๐‘ โˆˆ ๐‘‹, for each vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡)
of the partitioning tree ๐‘‡, such that ๐‘ โˆˆ ๐‘†(๐‘ฃ), we add the projection points proj(๐‘, ๐‘ฃ) to the
solution, depending on whether there exists an index ๐‘– โˆˆ {0, 1, . . . , ๐ท} and a tree ๐‘‡ 0 โˆˆ ๐’ฏ๐‘– , such
that ๐‘ฃ lies in the middle layer ๐‘ˆ๐‘‡ 0 of ๐‘‡ 0, and whether ๐‘ is the first or last point of its ๐‘‡ 0-box.
Notice that in the online setting, when the point ๐‘ arrives, we need to be able to immediately
decide which copies of ๐‘ to add to the solution. Since the trees in the families ๐’ฏ0 , ๐’ฏ1 , . . . , ๐’ฏ๐ท are
known in advance, and we discover, for every vertex ๐‘ฃ โˆˆ ๐‘‰(๐‘‡) whether ๐‘ โˆˆ ๐‘†(๐‘ฃ) immediately
when ๐‘ arrives, the only missing information, for every relevant tree ๐‘‡ 0, is whether vertex ๐‘ is
the first or the last vertex in its ๐‘‡ 0-box. In fact it is easy to check whether it is the first vertex
in its ๐‘‡ 0-box, but we will not discover whether it is the last vertex in its ๐‘‡ 0-box until the next
iteration, at which point it is too late to add points to the solution that lie in the row of ๐‘.
In order to avoid this difficulty, we slightly modify the instance and the solution.


7.2     Online-friendly solutions

In this section we slightly modify both the input set of points and the solutions produced by our
algorithm, in order to adapt them to the online setting.


7.2.1    Modifying the instance

Let ๐‘‹ = {๐‘ 1 , . . . , ๐‘ ๐‘š } be the input setof points, where for all 1 โ‰ค ๐‘– โ‰ค ๐‘š, the ๐‘ฆ-coordinate of ๐‘ ๐‘– is
๐‘–. We produce a new instance ๐‘‹ 0 = ๐‘ 0๐‘– , ๐‘ 00๐‘– | 1 โ‰ค ๐‘– โ‰ค ๐‘š , as follows: for all 1 โ‰ค ๐‘– โ‰ค ๐‘š, we let ๐‘ 0๐‘–
and ๐‘ 00๐‘– be points whose ๐‘ฆ-coordinates are (2๐‘– โˆ’ 1) and 2๐‘–, respectively, and whose ๐‘ฅ-coordinate
is the same as that of ๐‘ ๐‘– . We refer to ๐‘ 0๐‘– and to ๐‘ 00๐‘– as copies of ๐‘ ๐‘– .
Clearly, |๐‘‹ 0 | = 2|๐‘‹ |, and it is easy to verify that OPT(๐‘‹ 0) โ‰ค 2OPT(๐‘‹). Indeed, if we let ๐‘Œ be a
solution for ๐‘‹, we can construct a solution ๐‘Œ 0 for ๐‘‹ 0, by creating, for every point ๐‘ž โˆˆ ๐‘Œ, two
copies ๐‘ž 0 and ๐‘ž 00, that are added to rows with ๐‘ฆ-coordinates 2๐‘ž.๐‘ฆ โˆ’ 1 and 2๐‘ž.๐‘ฆ respectively.
For convenience, we denote ๐’ฏ = ๐ท       ๐‘–=0 ๐’ฏ๐‘– . Notice that, for every tree ๐‘‡ โˆˆ ๐’ฏ , for every point ๐‘ ๐‘– of
                                                                             0
                                     ร
the original input ๐‘‹, copy ๐‘ 0๐‘– of ๐‘ ๐‘– may never serve as the last point of a ๐‘‡ 0-box, and copy ๐‘ 00๐‘– of
๐‘ ๐‘– may never serve as the first point of a ๐‘‡ 0-box.


7.2.2    Modifying the solution

Let ๐‘Œ be the solution that our ๐‘‚(log log ๐‘›)-approximation algorithm produces for the new
instance ๐‘‹ 0. For convenience, for all 1 โ‰ค ๐‘– โ‰ค 2๐‘š, we denote by ๐‘… ๐‘– the row with ๐‘ฆ-coordinate ๐‘–.
Notice that all points of ๐‘Œ lying on a row ๐‘…2๐‘–โˆ’1 are projections of the point ๐‘ 0๐‘– . Since this point

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                              63
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

may only serve as the first point of a ๐‘‡ 0-box for every tree ๐‘‡ 0 โˆˆ ๐’ฏ , when point ๐‘ 0๐‘– arrives online,
we can immediately compute all projections of ๐‘ 0๐‘– that need to be added to the solution. All
points of ๐‘Œ lying on row ๐‘… 2๐‘– are projections of the point ๐‘ 00๐‘– . This point may only serve as the
last point of a ๐‘‡ 0-box in a tree ๐‘‡ 0 โˆˆ ๐’ฏ . But we cannot know whether ๐‘ 00๐‘– is the last point in its
๐‘‡ 0-box until we see the next input point. Motivated by these observations, we now modify the
solution ๐‘Œ as follows.
We perform ๐‘š iterations. In iteration ๐‘–, we consider the row ๐‘… 2๐‘– . If no point of ๐‘Œ lies on row ๐‘…2๐‘– ,
then we continue to the next iteration. Otherwise, we move every point of ๐‘Œ that lies on row ๐‘…2๐‘–
to row ๐‘…2๐‘–+1 (that is, one row up). Additionally, we add another copy ๐‘ 000๐‘–
                                                                              of point ๐‘ ๐‘– to row ๐‘… 2๐‘– ,
while preserving its ๐‘ฅ-coordinate.
In order to show that the resulting solution is a feasible solution to instance ๐‘‹ 0, it is sufficient to
show that the solution remains feasible after every iteration. Let ๐‘Œ๐‘– be the solution ๐‘Œ obtained
before the ๐‘–th iteration, and let ๐‘† ๐‘– = ๐‘‹ 0 โˆช ๐‘Œ๐‘– . We can obtain the new solution ๐‘Œ๐‘–+1 equivalently
as follows. First, we collapse the rows ๐‘… 2๐‘–+1 and ๐‘… 2๐‘– for the set ๐‘† ๐‘– of points into the row ๐‘…2๐‘–+1 ,
obtaining a new set ๐‘†0๐‘– of points that is guaranteed to be satisfied. Notice that now both row
๐‘… 2๐‘–+1 and row ๐‘…2๐‘–โˆ’1 contain a point at ๐‘ฅ-coordinate (๐‘ ๐‘– ).๐‘ฅ, while row ๐‘… 2๐‘– contains no points.
Therefore, if we add to ๐‘†0๐‘– a point with ๐‘ฅ-coordinate (๐‘ ๐‘– ).๐‘ฅ, that lies at row ๐‘… 2๐‘– , then the resulting
set of points, that we denote by ๐‘† ๐‘–+1 remains satisfied. But it is easy to verify that ๐‘† ๐‘–+1 = ๐‘‹ 0 โˆช ๐‘Œ๐‘–+1 ,
where ๐‘Œ๐‘–+1 is the solution obtained after iteration ๐‘–. We denote by ๐‘Œ 0 the final solution obtained
by this transformation of ๐‘Œ. It is easy to see that |๐‘Œ 0 | โ‰ค 2|๐‘Œ| โ‰ค ๐‘‚(log log ๐‘›)OPT(๐‘‹).


7.3   The final online algorithm

Let ๐‘‹ = {๐‘ 1 , . . . , ๐‘ ๐‘š } be an input set of points. We will describe the online algorithm that
produces a feasible solution to instance ๐‘‹. This algorithm would mimic the behavior of the
point set ๐‘Œ 0 as described earlier.
Initially, the algorithm computes the collection ๐’ฏ of trees before any input arrives. Now, in
iteration ๐‘–, when input ๐‘ ๐‘– arrives, we compute ๐น๐ผ๐‘…๐‘†๐‘‡(๐‘–):
                                   ร˜                                             ร˜
         ๐น๐ผ๐‘…๐‘†๐‘‡(๐‘–) =                                                                                           proj(๐‘ ๐‘– , ๐‘ฃ)ยฎ
                                                          ยฉ                                                                ยช
                                                          ยญ
                       ๐‘‡ 0 โˆˆ๐’ฏ :๐‘ ๐‘– is first of a ๐‘‡ 0 -box ยซ๐‘ฃ:๐‘ฃ is middle layer of ๐‘‡ 0 , and ๐‘†(๐‘ฃ) contains ๐‘ ๐‘–              ยฌ
We also compute ๐ฟ๐ด๐‘†๐‘‡(๐‘– โˆ’ 1):
                                   ร˜                                             ร˜
      ๐ฟ๐ด๐‘†๐‘‡(๐‘– โˆ’ 1) =                                                                                           proj(๐‘ ๐‘–โˆ’1 , ๐‘ฃ)ยฎ
                                                          ยฉ                                                                  ยช
                                                          ยญ
                      ๐‘‡ 0 โˆˆ๐’ฏ :๐‘ ๐‘–โˆ’1 is last of a ๐‘‡ 0 -box ยซ๐‘ฃ:๐‘ฃ is middle layer of ๐‘‡ 0 and ๐‘†(๐‘ฃ) contains ๐‘ ๐‘–โˆ’1                ยฌ
We add copies of ๐น๐ผ๐‘…๐‘†๐‘‡(๐‘–) and ๐ฟ๐ด๐‘†๐‘‡(๐‘– โˆ’ 1), and a copy of ๐‘ ๐‘–โˆ’1 points on row ๐‘–. It is easy to
verify that the resulting solution is precisely the solution obtained after collapsing every two
consecutive rows in ๐‘Œ 0 (as discussed previously). Therefore the solution is feasible and has cost
at most |๐‘Œ 0 | โ‰ค ๐‘‚(log log ๐‘›)OPT.

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                                                      64
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

8     Wilber and Guillotine bounds

In this section, we provide an alternative, geometric proof of the fact that WB(๐‘‹) โ‰ค 2OPT(๐‘‹),
which can be extended to the Guillotine bound. The original proof of Wilber [29] is done in the
tree view.


8.1   Wilber bound

It is sufficient to prove that, if ๐‘‹ is a semi-permutation, and ๐‘‡ is any partitioning tree for ๐‘‹, then
WB๐‘‡ (๐‘‹) โ‰ค 2OPT(๐‘‹).
We prove this claim by induction on the height of ๐‘‡. The base case, when the height of ๐‘‡ is 0, is
obvious: there is only one active column, and so WB๐‘‡ (๐‘‹) = OPT(๐‘‹) = 0.
We now consider the inductive step. Let ๐‘‹ be any point set that is a semi-permutation, and let ๐‘‡
be any partitioning tree for ๐‘‹, such that the height of ๐‘‡ is at least 1. Let ๐‘ฃ be the root vertex of ๐‘‡,
๐ฟ = ๐ฟ(๐‘ฃ) the line that ๐‘ฃ owns, and let ๐‘ฃ ๐ฟ , ๐‘ฃ ๐‘… be the two children of ๐‘ฃ. We assume w.l.o.g. that
the strip ๐‘†(๐‘ฃ ๐ฟ ) lies to the left of ๐‘†(๐‘ฃ ๐‘… ). We denote ๐‘†(๐‘ฃ) = ๐ต โ€“ the bounding box of the instance,
๐‘†(๐‘ฃ ๐ฟ ) = ๐‘† ๐ฟ , ๐‘†(๐‘ฃ ๐‘… ) = ๐‘† ๐‘… , and we also denote ๐‘‹ ๐ฟ = ๐‘‹ โˆฉ ๐‘† ๐ฟ , ๐‘‹ ๐‘… = ๐‘‹ โˆฉ ๐‘† ๐‘… . Lastly, we let ๐‘‡ ๐ฟ and ๐‘‡ ๐‘…
be the subtrees of ๐‘‡ rooted at ๐‘ฃ ๐ฟ and ๐‘ฃ ๐‘… , respectively. We prove the following claim.
Claim 8.1.
                             OPT(๐‘‹) โ‰ฅ OPT(๐‘‹ ๐ฟ ) + OPT(๐‘‹ ๐‘… ) + cost(๐‘ฃ)/2.

Notice that, if the claim is correct, then we can use the induction hypothesis on ๐‘‹ ๐ฟ and ๐‘‹ ๐‘… with
the trees ๐‘‡ ๐ฟ and ๐‘‡ ๐‘… respectively, to conclude that:

                                1                                        1
                    OPT(๐‘‹) โ‰ฅ      (WB๐‘‡ ๐ฟ (๐‘‹๐ฟ ) + WB๐‘‡ ๐‘… (๐‘‹๐‘… ) + cost(๐‘ฃ)) = WB๐‘‡ (๐‘‹).
                                2                                        2
Therefore, in order to complete the proof of Claim 2.7, it is enough to prove Claim 8.1.

Proof. Claim 8.1 Let ๐‘Œ be an optimal solution to instance ๐‘‹. We can assume w.l.o.g. that ๐‘Œ is a
canonical solution, so no point of ๐‘Œ lies on the line ๐ฟ. Let ๐‘Œ ๐ฟ , ๐‘Œ ๐‘… be the subsets of points of ๐‘Œ
that lie to the left and to the right of the line ๐ฟ, respectively.
Let โ„› ๐ฟ be the set of all rows ๐‘…, such that (i) no point of ๐‘‹ ๐ฟ lies on ๐‘…, and (ii) some point of ๐‘Œ ๐ฟ
lies on ๐‘…. We define a set โ„› ๐‘… of rows similarly for instance ๐‘‹ ๐‘… . The crux of the proof is the
following observation.
Observation 8.2.
                                        |โ„› ๐ฟ | + |โ„› ๐‘… | โ‰ฅ cost(๐‘ฃ)/2.

Before we prove Observation 8.2, we show that Claim 8.1 follows from it. In order to do so, we
will define a new feasible solution ๐‘Œห† ๐ฟ for instance ๐‘‹ ๐ฟ , containing at most |๐‘Œ ๐ฟ | โˆ’ |โ„› ๐ฟ | points,

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                               65
              PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

and similarly, we will define a new feasible solution ๐‘Œห† ๐‘… for instance ๐‘‹ ๐‘… , containing at most
|๐‘Œ ๐‘… | โˆ’ |โ„› ๐‘… | points. This will prove that OPT(๐‘‹ ๐ฟ ) โ‰ค |๐‘Œ ๐ฟ | โˆ’ |โ„› ๐ฟ | and OPT(๐‘‹ ๐‘… ) โ‰ค |๐‘Œ ๐‘… | โˆ’ |โ„› ๐ฟ |,
so altogether, OPT(๐‘‹ ๐ฟ ) + OPT(๐‘‹ ๐‘… ) โ‰ค |๐‘Œ| โˆ’ |โ„› ๐ฟ | โˆ’ |โ„› ๐‘… | โ‰ค OPT(๐‘‹) โˆ’ cost(๐‘ฃ)/2, thus proving
Claim 8.1.
We now show how to construct the solution ๐‘Œห† ๐ฟ for instance ๐‘‹ ๐ฟ . The solution ๐‘Œห† ๐‘… for instance ๐‘‹ ๐‘…
is constructed similarly.
In order to construct the solution ๐‘Œห† ๐ฟ , we start with the solution ๐‘Œ ๐ฟ , and then gradually modify
it over the course of |โ„› ๐ฟ | iterations, where in each iteration we reduce the number of points in
the solution ๐‘Œ ๐ฟ by at least 1, and we eliminate at most one row from โ„› ๐ฟ . In order to execute an
iteration, we select two rows ๐‘…, ๐‘…0, with the following properties:

   โ€ข Row ๐‘… contains a point of ๐‘‹ ๐ฟ ;

   โ€ข Row ๐‘…0 contains a point of ๐‘Œ ๐ฟ and it contains no points of ๐‘‹ ๐ฟ ; and

   โ€ข No point of ๐‘‹ ๐ฟ โˆช ๐‘Œ ๐ฟ lies strictly between rows ๐‘… and ๐‘…0.

Note that, if โ„› ๐ฟ โ‰  โˆ…, such a pair of rows must exist. We then collapse the row ๐‘…0 into the row ๐‘…,
obtaining a new modified solution to instance ๐‘‹ ๐ฟ (we use Observation 2.4). We claim that the
number of points in the new solution decreases by at least 1. In order to show this, it is sufficient
to show that there must be two points ๐‘ โˆˆ ๐‘…, ๐‘ 0 โˆˆ ๐‘…0 with the same ๐‘ฅ-coordinates; after the two
rows are collapsed, these two points are mapped to the same point. Assume for contradiction
that no such two points exist. Let ๐‘ โˆˆ ๐‘…, ๐‘ 0 โˆˆ ๐‘…0 be two points with smallest horizontal distance.
Then it is easy to see that no point of ๐‘‹ ๐ฟ โˆช ๐‘Œ ๐ฟ lies in the rectangle ๐‘,๐‘0 , contradicting the fact
that ๐‘Œ ๐ฟ is a feasible solution for ๐‘‹ ๐ฟ .
In order to complete the proof of Claim 8.1, it is now enough to prove Observation 8.2.

Proof. Observation 8.2 We denote ๐‘‹ = {๐‘ 1 , . . . , ๐‘ ๐‘š }, where the points are indexed in the
increasing order of their ๐‘ฆ-coordinates. Recall that a pair (๐‘ ๐‘– , ๐‘ ๐‘–+1 ) of points is a crossing, if the
two points lie on opposite sides of the line ๐ฟ. We say that it is a left-to-right crossing if ๐‘ ๐‘– lies to
the left of ๐ฟ, and we say that it is a right-to-left crossing otherwise. Clearly, either at least half
the crossings of ๐ฟ are left-to-right crossings, or at least half the crossings of ๐ฟ are right-to-left
crossings. We assume w.l.o.g. that it is the former. Let ฮ  denote the set of all left-to-right
crossings of ๐ฟ, so |ฮ | โ‰ฅ cost(๐‘ฃ)/2. Notice that every point of ๐‘‹ participates in at most one
crossing in ฮ . We will associate, to each crossing (๐‘ ๐‘– , ๐‘ ๐‘–+1 ) โˆˆ ฮ , a unique row in โ„› ๐ฟ โˆช โ„› ๐‘… . This
will prove that |โ„› ๐ฟ | + |โ„› ๐‘… | โ‰ฅ |ฮ | โ‰ฅ cost(๐‘ฃ)/2.
Consider now some crossing (๐‘ ๐‘– , ๐‘ ๐‘–+1 ). Assume that ๐‘ ๐‘– lies in row ๐‘…, and that ๐‘ ๐‘–+1 lies in row
๐‘…0. Let โ„› ๐‘– be a set of all rows lying between ๐‘… and ๐‘…0, including these two rows. We will show
that at least one row of โ„› ๐‘– lies in โ„› ๐ฟ โˆช โ„› ๐‘… . In order to do so, let ๐ป be the closed horizontal strip
whose bottom and top boundaries are ๐‘… and ๐‘…0, respectively. Let ๐ป ๐ฟ be the area of ๐ป that lies to
the left of the line ๐ฟ, and that excludes the row ๐‘… โ€“ the row containing the point ๐‘ ๐‘– , that also

                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                            66
              P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

lies to the left of ๐ฟ. Similarly, let ๐ป ๐‘… be the area of ๐ป that lies to the right of the line ๐ฟ, and that
excludes the row ๐‘…0. Notice that, if any point ๐‘ฆ โˆˆ ๐‘Œ ๐ฟ lies in ๐ป ๐ฟ , that the row containing ๐‘ฆ must
belong to โ„› ๐ฟ . Similarly, if any point ๐‘ฆ 0 โˆˆ ๐‘Œ ๐‘… lies in ๐ป ๐‘… , then the row containing ๐‘ฆ 0 belongs to
โ„› ๐‘… . Therefore, it is now sufficient to show that either ๐ป ๐ฟ contains a point of ๐‘Œ ๐ฟ , or ๐ป ๐‘… contains
a point of ๐‘Œ ๐‘… . Assume for contradiction that this is false. Let ๐‘ โˆˆ ๐‘‹ ๐ฟ โˆช ๐‘Œ ๐ฟ be the point lying on
the row ๐‘… furthest to the right (such a point must exist because we can choose ๐‘ = ๐‘ ๐‘– ). Similarly,
let ๐‘ 0 โˆˆ ๐‘‹ ๐‘… โˆช ๐‘Œ ๐‘… be the point lying on the row ๐‘…0 furthest to the left (again, such a point must
exist because we can choose ๐‘ 0 = ๐‘ ๐‘–+1 .) But if ๐ป ๐ฟ contains no points of ๐‘Œ ๐ฟ , and ๐ป ๐‘… contains no
points of ๐‘Œ ๐‘… , then no points of ๐‘‹ โˆช ๐‘Œ lie in the rectangle ๐‘,๐‘0 , and so the pair (๐‘, ๐‘ 0) of points is
not satisfied in ๐‘‹ โˆช ๐‘Œ, a contradiction.                                                                


                                                                                                       


8.2   Guillotine bound

In this section we prove Lemma 5.3, by showing that for any point set ๐‘‹ that is a permutation,
GB(๐‘‹) โ‰ค 2OPT(๐‘‹). In order to do so, it is enough to prove that, for any point set ๐‘‹ that is a
permutation, for any partitioning tree ๐‘‡ for ๐‘‹, GB๐‘‡ (๐‘‹) โ‰ค 2OPT(๐‘‹).
The proof is by induction on the height of ๐‘‡, and it is almost identical to the proof of Claim 2.7
for the standard Wilber Bound. When the height of the tree ๐‘‡ is 1, then |๐‘‹ | = 1, so GB(๐‘‹) = 0
and OPT(๐‘‹) = 0.
Consider now a partitioning tree ๐‘‡ whose height is greater than 1. Let ๐‘‡1 , ๐‘‡2 be the two subtrees
of ๐‘‡, obtained by deleting the root vertex ๐‘Ÿ from ๐‘‡. Let (๐‘‹1 , ๐‘‹2 ) be the partition of ๐‘‹ into two
subsets given by the line ๐ฟ(๐‘Ÿ), such that ๐‘‡1 is a partitioning tree for ๐‘‹1 and ๐‘‡2 is a partitioning
tree for ๐‘‹2 . Notice that, from the definition of the GB bound:


                              GB๐‘‡ (๐‘‹) = GB๐‘‡1 (๐‘‹1 ) + GB๐‘‡2 (๐‘‹2 ) + cost(๐‘Ÿ).


Moreover, from the induction hypothesis, GB๐‘‡1 (๐‘‹1 ) โ‰ค 2OPT(๐‘‹1 ) and GB๐‘‡2 (๐‘‹2 ) โ‰ค 2OPT(๐‘‹2 ).
Using Claim 8.1 (that can be easily adapted to horizontal partitioning lines), we get that:


                             OPT(๐‘‹) โ‰ฅ OPT(๐‘‹1 ) + OPT(๐‘‹2 ) + cost(๐‘Ÿ)/2.


Therefore, altogether we get that:


                      GB๐‘‡ (๐‘‹) โ‰ค 2OPT(๐‘‹1 ) + 2OPT(๐‘‹2 ) + cost(๐‘Ÿ) โ‰ค 2OPT(๐‘‹).



                       T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                            67
            PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

References

 [1] Georgii Maksimovich Adelโ€™son-Velโ€™skii and Evgenii Mikhailovich Landis: An algorithm
     for organization of information. Dokl. Akad. Nauk SSSR (Russian), 146(2):263โ€“266, 1962.
     Math-Net.ru. 2

 [2] Rudolf Bayer: Symmetric binary B-trees: Data structure and maintenance algorithms. Acta
     Informatica, 1(4):290โ€“306, 1972. [doi:10.1007/BF00289509] 2

 [3] Prosenjit Bose, Karim Douรฏeb, John Iacono, and Stefan Langerman: The power and
     limitations of static binary search trees with lazy finger. Algorithmica, 76:1264โ€“1275, 2016.
     Preliminary version in ISAACโ€™14. [doi:10.1007/s00453-016-0224-x] 3

 [4] Parinya Chalermsook, Julia Chuzhoy, and Thatchaphol Saranurak: Pinning down the
     strong Wilber 1 bound for binary search trees. In Proc. 23rd Internat. Conf. on Approximation
     Algorithms for Combinat. Opt. Probl. (APPROXโ€™20), pp. 33:1โ€“21. Schloss Dagstuhlโ€“Leibniz-
     Zentrum fuer Informatik, 2020. [doi:10.4230/LIPIcs.APPROX/RANDOM.2020.33] 8

 [5] Parinya Chalermsook, Mayank Goswami, Lรกszlรณ Kozma, Kurt Mehlhorn, and
     Thatchaphol Saranurak: Greedy is an almost optimal deque. In Proc. 17th Symp. on
     Algorithms and Data Structures (WADSโ€™15), pp. 152โ€“165. Springer, 2015. [doi:10.1007/978-3-
     319-21840-3_13] 3

 [6] Parinya Chalermsook, Mayank Goswami, Lรกszlรณ Kozma, Kurt Mehlhorn, and
     Thatchaphol Saranurak: Pattern-avoiding access in binary search trees. In Proc. 56th
     FOCS, pp. 410โ€“423. IEEE Comp. Soc., 2015. [doi:10.1109/FOCS.2015.32, arXiv:1507.06953]
     3, 7

 [7] Ranjan Chaudhuri and Hartmut F. Hรถft: Splaying a search tree in preorder takes linear
     time. SIGACT News, 24(2):88โ€“93, 1993. [doi:10.1145/156063.156067] 3

 [8] Richard Cole: On the Dynamic Finger Conjecture for splay trees. Part II: The proof. SIAM
     J. Comput., 30(1):44โ€“85, 2000. [doi:10.1137/S009753979732699X] 3

 [9] Richard Cole, Bud Mishra, Jeanette Schmidt, and Alan Siegel: On the Dynamic Finger
     Conjecture for splay trees. Part I: Splay sorting log ๐‘›-block sequences. SIAM J. Comput.,
     30(1):1โ€“43, 2000. [doi:10.1137/S0097539797326988] 3

[10] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein: Introduction
     to Algorithms. MIT press, 2022. MIT Press. 2

[11] Erik D. Demaine, Dion Harmon, John Iacono, Daniel M. Kane, and Mihai PaฬŒtraลŸcu: The
     geometry of binary search trees. In Proc. 20th Ann. ACMโ€“SIAM Symp. on Discrete Algorithms
     (SODAโ€™09), pp. 496โ€“505. SIAM, 2009. ACM DL. 3, 4, 5, 9, 12, 36

                     T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                      68
             P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

[12] Erik D. Demaine, Dion Harmon, John Iacono, and Mihai PaฬŒtraลŸcu: Dynamic optimalityโ€“
     almost. SIAM J. Comput., 37(1):240โ€“251, 2007. Preliminary version in FOCSโ€™04.
     [doi:10.1137/S0097539705447347] 3, 4, 6, 8, 12

[13] Jonathan C. Derryberry and Daniel Dominic Sleator: Skip-splay: Toward achieving the
     unified bound in the BST model. In Proc. 11th Symp. on Algorithms and Data Structures
     (WADSโ€™09), pp. 194โ€“205. Springer, 2009. [doi:10.1007/978-3-642-03367-4_18] 3

[14] Jonathan C. Derryberry, Daniel Dominic Sleator, and Chengwen Chris Wang: A lower
     bound framework for binary search trees with rotations. Technical report, CMU-CS-05-187,
     2005. Available on authorโ€™s website. 3

[15] Amr Elmasry: On the sequential access theorem and deque conjecture for splay trees.
     Theoret. Comput. Sci., 314(3):459โ€“466, 2004. [doi:10.1016/j.tcs.2004.01.019] 3

[16] George F. Georgakopoulos: Chain-splay trees, or, how to achieve and prove
     log log ๐‘-competitiveness by splaying. Inform. Process. Lett., 106(1):37โ€“43, 2008.
     [doi:10.1016/j.ipl.2007.10.001] 3, 8

[17] Dion Harmon: New Bounds on Optimal Binary Search Trees. Ph. D. thesis, MIT, 2006. MIT. 3

[18] John Iacono: In pursuit of the dynamic optimality conjecture. In A. Brodnik, A. Lรณpez-Ortiz,
     V. Raman, and A. Viola, editors, Space-Efficient Data Structures, Streams, and Algorithms,
     volume 8066 of LNCS, pp. 236โ€“250. Springer, 2013. [doi:10.1007/978-3-642-40273-9_16] 4, 6,
     12, 26, 36

[19] John Iacono and Stefan Langerman: Weighted dynamic finger in binary search trees. In
     Proc. 27th Ann. ACMโ€“SIAM Symp. on Discrete Algorithms (SODAโ€™16), pp. 672โ€“691. SIAM,
     2016. [doi:10.1137/1.9781611974331.ch49] 3

[20] Lรกszlรณ Kozma: Binary search trees, rectangles and patterns. Ph. D. thesis, Saarland University,
     Saarbrรผcken, Germany, 2016. Saarland U. 4, 6

[21] Victor Lecomte and Omri Weinstein: Settling the relationship between Wilberโ€™s bounds
     for dynamic optimality. In Proc. 28th Eur. Symp. Algorithms (ESAโ€™20), pp. 68:1โ€“21.
     Schloss Dagstuhlโ€“Leibniz-Zentrum fuer Informatik, 2020. [doi:10.4230/LIPIcs.ESA.2020.68,
     arXiv:1912.02858] 4, 5, 7

[22] Caleb C. Levy and Robert E. Tarjan: A new path from splay to dynamic optimality. In
     Proc. 30th Ann. ACMโ€“SIAM Symp. on Discrete Algorithms (SODAโ€™19), pp. 1311โ€“1330. SIAM,
     2019. [doi:10.1137/1.9781611975482.80] 37

[23] Joan M. Lucas: On the competitiveness of splay trees: Relations to the union-find problem.
     In Lyle A. McGeoch and Daniel D. Sleator, editors, On-line Algorithms, volume 7 of
     DIMACS Ser. in Discrete Math. and Theor. Comp. Sci., pp. 95โ€“124. Amer. Math. Soc., 1992.
     [doi:10.1090/dimacs/007] 3

                     T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                        69
            PARINYA C HALERMSOOK , J ULIA C HUZHOY, AND T HATCHAPHOL S ARANURAK

[24] Seth Pettie: Splay trees, Davenport-Schinzel sequences, and the Deque Conjecture. In Proc.
     19th Ann. ACMโ€“SIAM Symp. on Discrete Algorithms (SODAโ€™08), pp. 1115โ€“1124. SIAM, 2008.
     [doi:10.5555/1347082.1347204, arXiv:0707.2160] 3

[25] Daniel Dominic Sleator and Robert Endre Tarjan: Self-adjusting binary search trees. J.
     ACM, 32(3):652โ€“686, 1985. Preliminary version in STOCโ€™83. [doi:10.1145/3828.3835] 3

[26] Rajamani Sundar: On the Deque Conjecture for the splay algorithm. Combinatorica,
     12(1):95โ€“124, 1992. [doi:10.1007/BF01191208] 3

[27] Robert Endre Tarjan: Sequential access in splay trees takes linear time. Combinatorica,
     5(4):367โ€“378, 1985. [doi:10.1007/BF02579253] 3

[28] Chengwen C. Wang, Jonathan C. Derryberry, and Daniel Dominic Sleator: O(log log ๐‘)-
     competitive dynamic binary search trees. In Proc. 17th Ann. ACMโ€“SIAM Symp. on Discrete
     Algorithms (SODAโ€™06), pp. 374โ€“383. SIAM, 2006. ACM DL. 3, 4, 6, 8

[29] Robert E. Wilber: Lower bounds for accessing binary search trees with rotations. SIAM J.
     Comput., 18(1):56โ€“67, 1989. Preliminary version in FOCSโ€™86. [doi:10.1137/0218004] 3, 6, 12,
     25, 26, 37, 65


AUTHORS

     Parinya Chalermsook
     Associate professor
     Department of Computer Science
     Aalto University
     Espoo, Finland
     chalermsook gmail com
     https://sites.google.com/site/parinyachalermsook/


     Julia Chuzhoy
     Professor
     Toyota Technological Institute at Chicago
     Chicago, IL, USA
     cjulia ttic edu
     https://home.ttic.edu/~cjulia/




                    T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                     70
           P INNING D OWN THE S TRONG W ILBER -1 B OUND FOR B INARY S EARCH T REES

    Thatchaphol Saranurak
    Assistant professor
    University of Michigan
    Ann Arbor, MI, USA
    thsa umich edu
    https://sites.google.com/site/thsaranurak/


ABOUT THE AUTHORS

    Parinya Chalermsook is a faculty member at the Department of Computer Science,
       Aalto University (Finland). He completed his Ph. D. at The University of Chicago
       under the supervision of Julia Chuzhoy and Janos Simon. He was at Max Planck
       Institute for Informatics as a postdoc and a senior research scientist from 2013 to
       2016. Parinya is broadly interested in algorithms and extremal combinatorics.
       When he is not doing mathematics, he enjoys reading about political philosophy.


    Julia Chuzhoy is a Professor at the Toyota Technological Institute at Chicago. She
       completed her Ph. D. in Technion, Israel, and spent three years as a postdoctoral
       scholar at MIT, the University of Pennsylvania and the Institute for Advanced
       Study in Princeton. She mainly works on algorithms for graph problems. In her
       spare time she likes to read books, learns to play piano and studies French.


    Thatchaphol Saranurak is a faculty member of the Electrical Engineering and
      Computer Science Department at the University of Michigan. Prior to this, he
      spent two years as a research assistant professor at the Toyota Technological
      Institute at Chicago. Thatchaphol received his Ph. D. from KTH Royal Institute
      of Technology, Stockholm, in 2018 under the supervision of Danupon Nanongkai.
      His main research interest is in graph algorithms with a current focus on dynamic,
      local, and distributed algorithms. He likes sushi and Japanese manga.




                   T HEORY OF C OMPUTING, Volume 19 (8), 2023, pp. 1โ€“71                      71