Symmetric-Difference (Degeneracy) and Signed Tree Models

Édouard Bonnet Univ. Lyon, ENS de Lyon, UCBL, CNRS, LIP, France, [email protected]    Julien Duron Univ. Lyon, ENS de Lyon, UCBL, CNRS, LIP, France, [email protected]    John Sylvester Department of Computer Science, University of Liverpool, UK, [email protected]    Viktor Zamaraev Department of Computer Science, University of Liverpool, UK, [email protected]
Abstract

We introduce a dense counterpart of graph degeneracy, which extends the recently-proposed invariant symmetric difference. We say that a graph has sd-degeneracy (for symmetric-difference degeneracy) at most d𝑑ditalic_d if it admits an elimination order of its vertices where a vertex u𝑢uitalic_u can be removed whenever it has a d𝑑ditalic_d-twin, i.e., another vertex v𝑣vitalic_v such that at most d𝑑ditalic_d vertices outside {u,v}𝑢𝑣\{u,v\}{ italic_u , italic_v } are neighbors of exactly one of u,v𝑢𝑣u,vitalic_u , italic_v. The family of graph classes of bounded sd-degeneracy is a superset of that of graph classes of bounded degeneracy or of bounded flip-width, and more generally, of bounded symmetric difference. Unlike most graph parameters, sd-degeneracy is not hereditary: it may be strictly smaller on a graph than on some of its induced subgraphs. In particular, every n𝑛nitalic_n-vertex graph is an induced subgraph of some O(n2)𝑂superscript𝑛2O(n^{2})italic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT )-vertex graph of sd-degeneracy 1. In spite of this and the breadth of classes of bounded sd-degeneracy, we devise O~(n)~𝑂𝑛\tilde{O}(\sqrt{n})over~ start_ARG italic_O end_ARG ( square-root start_ARG italic_n end_ARG )-bit adjacency labeling schemes for them, which are optimal up to the hidden polylogarithmic factor. This is attained on some even more general classes, consisting of graphs G𝐺Gitalic_G whose vertices bijectively map to the leaves of a tree T𝑇Titalic_T, where transversal edges and anti-edges added to T𝑇Titalic_T define the edge set of G𝐺Gitalic_G. We call such graph representations signed tree models as they extend the so-called tree models (or twin-decompositions) developed in the context of twin-width, by adding transversal anti-edges.

While computing the degeneracy of a graph takes linear time, we show that determining its symmetric difference is para-co-NP-complete. This may seem surprising as symmetric difference can serve as a short-sighted first approximation of twin-width, whose computation is para-NP-complete. Indeed, we show that deciding if the symmetric difference of an input graph is at most 8 is co-NP-complete. We also show that deciding if the sd-degeneracy is at most 1 is NP-complete, contrasting with the symmetric difference.

1 Introduction

There are two theories of sparse graphs: the so-called Sparsity Theory pioneered by Nešetřil and Ossona de Mendez [NO12], and the theory behind the equivalent notions of bounded degeneracy, maximum average degree, subgraph density, and arboricity. One of the many merits of the former theory is to capture efficient first-order model checking within subgraph-closed classes, with the so-called nowhere dense classes [GKS17]. Monadic stability constitutes a dense analogue of nowhere denseness with similar algorithmic properties [DEM+23]. The second theory has, as we will see, simple but useful connections with the chromatic number and adjacency labeling schemes. One of our two main motivations is to introduce and explore dense analogues of it.

The degeneracy of a graph G𝐺Gitalic_G is the minimum integer d𝑑ditalic_d such that every induced subgraph of G𝐺Gitalic_G has a vertex of degree at most d𝑑ditalic_d. As removing vertices may only decrease the degree of the remaining ones, checking that the degeneracy is at most d𝑑ditalic_d can be done greedily. This prompts the following equivalent definition, equal to the coloring number111not to be confused with the chromatic number minus one [EH66, Die17]. A graph has degeneracy at most d𝑑ditalic_d if there is a total order, called degeneracy ordering, on its vertices such that every vertex v𝑣vitalic_v has at most d𝑑ditalic_d neighbors following v𝑣vitalic_v in the order. The degeneracy is then the least integer d𝑑ditalic_d such that an ordering witnessing degeneracy at most d𝑑ditalic_d exists. Given such an ordering, a graph can be properly (d+1)𝑑1(d+1)( italic_d + 1 )-colored by a greedy strategy: use the smallest available color loo** through vertices in the reverse order. Another advantage of the definition via degeneracy ordering is that it yields a polynomial-time algorithm to compute the degeneracy. While the graph is nonempty, find a vertex of minimum degree, append it to the order, and remove it from the graph. Degeneracy is frequently used to bound the chromatic number from above. For instance, until recently [NPS23] the Kostochka–Thomason degeneracy bound of graphs without Ktsubscript𝐾𝑡K_{t}italic_K start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT minor [Kos84, Tho84] was the best way we knew of coloring these graphs.

Another application of bounding the degeneracy is to obtain implicit representations. Indeed, graphs of bounded degeneracy admit f(n)𝑓𝑛f(n)italic_f ( italic_n )-bit adjacency labeling schemes with f(n)=O(logn)𝑓𝑛𝑂𝑛f(n)=O(\log n)italic_f ( italic_n ) = italic_O ( roman_log italic_n ).222Throughout the paper, log\logroman_log denotes the logarithm function in base 2. In other words, given a class of graphs of degeneracy at most d𝑑ditalic_d, there exists an algorithm, called decoder, such that the vertices of any n𝑛nitalic_n-vertex graph G𝐺Gitalic_G from the class can be assigned labels (which are binary strings) of length f(n)𝑓𝑛f(n)italic_f ( italic_n ) in such a way that the decoder can infer the adjacency of any two vertices u,v𝑢𝑣u,vitalic_u , italic_v in G𝐺Gitalic_G from their mere labels. An O(logn)𝑂𝑛O(\log n)italic_O ( roman_log italic_n )-bit labeling scheme is easy to design for any class 𝒞𝒞\mathcal{C}caligraphic_C of bounded degeneracy. From an ordering of G𝒞𝐺𝒞G\in\mathcal{C}italic_G ∈ caligraphic_C witnessing degeneracy d𝑑ditalic_d, the label of each vertex stores its own index in the ordering and the indices of its at most d𝑑ditalic_d neighbors that follow it in the order. Then the decoder just checks whether the index of one of u,v𝑢𝑣u,vitalic_u , italic_v is among the indices of the neighbors of the other vertex. Note that each label has size at most (d+1)logn𝑑1𝑛(d+1)\lceil\log n\rceil( italic_d + 1 ) ⌈ roman_log italic_n ⌉. For example, this was recently used to show that every subgraph-closed class with single-exponential speed of growth admits such a labeling scheme [BDS+23].

Adjacency labeling schemes of size O(logn)𝑂𝑛O(\log n)italic_O ( roman_log italic_n ) are at the heart of the recently-refuted Implicit Graph Conjecture (IGC) [KNR88, Mul88]. The IGC speculated that the information-theoretic necessary condition for a hereditary graph class to have an O(logn)𝑂𝑛O(\log n)italic_O ( roman_log italic_n )-bit labeling scheme is also sufficient. This necessary condition comes from the observation that a string of length O(nlogn)𝑂𝑛𝑛O(n\log n)italic_O ( italic_n roman_log italic_n ) obtained by concatenating all vertex labels is an encoding of the graph. Therefore a class of graphs that admits an adjacency labeling scheme of size O(logn)𝑂𝑛O(\log n)italic_O ( roman_log italic_n ) contains at most 2O(nlogn)superscript2𝑂𝑛𝑛2^{O(n\log n)}2 start_POSTSUPERSCRIPT italic_O ( italic_n roman_log italic_n ) end_POSTSUPERSCRIPT (un)labeled n𝑛nitalic_n-vertex graphs. Graph classes with such a bound on the number of (un)labeled n𝑛nitalic_n-vertex graphs are called factorial. In this terminology, the IGC can be stated as follows: any hereditary factorial graph class admits an O(logn)𝑂𝑛O(\log n)italic_O ( roman_log italic_n )-bit adjacency labeling scheme.

The IGC has been refuted by a wide margin; in a breakthrough work, Hatami and Hatami [HH22] showed that there are factorial hereditary graph classes for which any adjacency labeling scheme requires labels of length Ω(n)Ω𝑛\Omega(\sqrt{n})roman_Ω ( square-root start_ARG italic_n end_ARG ). However, the refutation is based on a counting argument and does not pinpoint an explicit counterexample. There are a number of explicit factorial graph classes that could refute the IGC, but the conjecture is still open for these classes. Let us call EIGC (for Explicit Implicit Graph Conjecture) this very challenge. For instance, whether the IGC holds within intersection graphs of segments, unit disks, or disks in the plane, and more generally semi-algebraic graph classes, is unsettled. Despite the workable definitions of these classes, the geometric representations alone cannot lead to O(logn)𝑂𝑛O(\log n)italic_O ( roman_log italic_n )-bit labeling schemes [MM13]. If such labeling schemes exist, they are likely to utilize some non-trivial structural properties of these graphs.

The graph parameter symmetric difference was introduced to design a candidate to explicitly refute the IGC [ACLZ15]. A graph G𝐺Gitalic_G has symmetric difference at most d𝑑ditalic_d if in every induced subgraph of G𝐺Gitalic_G there is a pair of vertices u,v𝑢𝑣u,vitalic_u , italic_v such that there are at most d𝑑ditalic_d vertices different from u𝑢uitalic_u and v𝑣vitalic_v that are adjacent to exactly one of u,v𝑢𝑣u,vitalic_u , italic_v. In other words, u𝑢uitalic_u and v𝑣vitalic_v are d𝑑ditalic_d-twins, i.e., they become twins after removing at most d𝑑ditalic_d vertices from the graph. One can construe symmetric difference as a dense analogue of the first definition of degeneracy given above. Symmetric difference is a hereditary graph parameter: it can only decrease when taking induced subgraphs. Like classes of bounded degeneracy, classes of bounded symmetric difference are factorial [ACLZ15]. Symmetric difference generalizes degeneracy in the sense that any class of graphs of bounded degeneracy has bounded symmetric difference. Indeed, if a graph has degeneracy at most d𝑑ditalic_d, then it has symmetric difference as most 2d2𝑑2d2 italic_d: for any graph with an ordering witnessing degeneracy d𝑑ditalic_d, the first two vertices in the order are 2d2𝑑2d2 italic_d-twins. Notice that, on the other hand, complete graphs have unbounded degeneracy, but their symmetric difference is 0. The existence of an O(logn)𝑂𝑛O(\log n)italic_O ( roman_log italic_n )-bit adjacency labeling scheme for graphs of bounded symmetric difference remains open.

Our contribution. We introduce another dense analogue of degeneracy based on the second given definition. The sd-degeneracy (for symmetric-difference degeneracy) of a graph G𝐺Gitalic_G is the least integer d𝑑ditalic_d for which there is an ordering of the vertices of G𝐺Gitalic_G such that every vertex v𝑣vitalic_v but the last one admits a d𝑑ditalic_d-twin in the subgraph of G𝐺Gitalic_G induced by v𝑣vitalic_v and all the vertices following it in the order. It follows from the definitions that graphs with sd-degeneracy at most d𝑑ditalic_d form a superset of graphs with symmetric difference at most d𝑑ditalic_d. Contrary to what happens in the sparse setting with degeneracy, this superset is strict. In fact, there are classes with sd-degeneracy 1111 and unbounded symmetric difference.

Proposition 1.1.

For any n𝑛nitalic_n-vertex graph G𝐺Gitalic_G, there exists a graph of sd-degeneracy 1111 with less than n2superscript𝑛2n^{2}italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT vertices containing G𝐺Gitalic_G as an induced subgraph.

Proof.

Take any n𝑛nitalic_n-vertex graph G𝐺Gitalic_G, and fix an arbitrary ordering v1,v2,,vnsubscript𝑣1subscript𝑣2subscript𝑣𝑛v_{1},v_{2},\ldots,v_{n}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT of its vertices. There is a graph Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT with at most (n1)(n3)𝑛1𝑛3(n-1)(n-3)( italic_n - 1 ) ( italic_n - 3 ) vertices that both contains G𝐺Gitalic_G as an induced subgraph, and has sd-degeneracy at most 1111. The graph Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT can be built by adding to G𝐺Gitalic_G, for every i[n1]𝑖delimited-[]𝑛1i\in[n-1]italic_i ∈ [ italic_n - 1 ], up to n3𝑛3n-3italic_n - 3 vertices vi,1,,vi,hisubscript𝑣𝑖1subscript𝑣𝑖subscript𝑖v_{i,1},\ldots,v_{i,h_{i}}italic_v start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_i , italic_h start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT gradually “interpolating” between the neighborhood of visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and that of vi+1subscript𝑣𝑖1v_{i+1}italic_v start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT (in G𝐺Gitalic_G). For instance, vi,1,,vi,hisubscript𝑣𝑖1subscript𝑣𝑖subscriptsuperscript𝑖v_{i,1},\ldots,v_{i,h^{\prime}_{i}}italic_v start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_i , italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT remove one-by-one the neighbors of visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT that are not neighbors of vi+1subscript𝑣𝑖1v_{i+1}italic_v start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT, and vi,hi+1,,vi,hisubscript𝑣𝑖subscriptsuperscript𝑖1subscript𝑣𝑖subscript𝑖v_{i,h^{\prime}_{i}+1},\ldots,v_{i,h_{i}}italic_v start_POSTSUBSCRIPT italic_i , italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_i , italic_h start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT add one-by-one the neighbors of vi+1subscript𝑣𝑖1v_{i+1}italic_v start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT that are not neighbors of visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. (We put no edge between a pair of added vertices vi,p,vi,psubscript𝑣𝑖𝑝subscript𝑣superscript𝑖superscript𝑝v_{i,p},v_{i^{\prime},p^{\prime}}italic_v start_POSTSUBSCRIPT italic_i , italic_p end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_i start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT.) Then an ordering witnessing sd-degeneracy at most 1 is v1,v1,1,v1,2,,v1,h1,v2,v2,1,v2,2,,v2,h2,,vn1,vn1,1,vn1,2,,vn1,hn1,vnsubscript𝑣1subscript𝑣11subscript𝑣12subscript𝑣1subscript1subscript𝑣2subscript𝑣21subscript𝑣22subscript𝑣2subscript2subscript𝑣𝑛1subscript𝑣𝑛11subscript𝑣𝑛12subscript𝑣𝑛1subscript𝑛1subscript𝑣𝑛v_{1},v_{1,1},v_{1,2},\ldots,v_{1,h_{1}},v_{2},v_{2,1},v_{2,2},\ldots,v_{2,h_{% 2}},\ldots,v_{n-1},v_{n-1,1},v_{n-1,2},\ldots,v_{n-1,h_{n-1}},v_{n}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT 1 , 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT 1 , 2 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT 1 , italic_h start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT 2 , 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT 2 , 2 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT 2 , italic_h start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_n - 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_n - 1 , 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_n - 1 , 2 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_n - 1 , italic_h start_POSTSUBSCRIPT italic_n - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, for which the 1-twin of a vertex is its successor. ∎

By an aforementioned counting argument, the class of all graphs requires labeling schemes of size Θ(n)Θ𝑛\Theta(n)roman_Θ ( italic_n ). Therefore, by Proposition 1.1, the (non-hereditary) class of graphs with sd-degeneracy at most 1 requires adjacency labels of size Ω(n)Ω𝑛\Omega(\sqrt{n})roman_Ω ( square-root start_ARG italic_n end_ARG ). Surprisingly, we match this lower bound with a labeling scheme, tight up to a polylogarithmic factor, for any class of bounded sd-degeneracy.

Theorem 1.2.

The class of all graphs with sd-degeneracy at most d𝑑ditalic_d admits an O(dnlog3n)𝑂𝑑𝑛superscript3𝑛O(\sqrt{dn}\log^{3}n)italic_O ( square-root start_ARG italic_d italic_n end_ARG roman_log start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT italic_n )-bit adjacency labeling scheme.

The tool behind the proof of Theorem 1.2 is the second motivation of the paper. We wish to unify and extend twin-decompositions of low width (also called tree models) [BGK+21, BNO+21] developed in the context of twin-width, and spanning paths (or Welzl orders) of low crossing number (or low alternation number) [Wel88], which are useful orders in answering geometric range queries; these orders also appear in the context of implicit graph representations [Alo23, AAA+23], and were utilized as part of efficient first-order model checking algorithms [DEM+23]. We thus introduce signed tree models. A signed tree model of a graph G𝐺Gitalic_G is a tree whose leaves are in one-to-one correspondence with the vertices of G𝐺Gitalic_G, together with extra transversal edges and anti-edges, which fully determine (see the exact rules in Section 3) the edges of G𝐺Gitalic_G. The novelty compared to the existing tree models is the presence of transversal anti-edges. We show that graphs with signed tree models of degeneracy at most d𝑑ditalic_d admit a labeling scheme as in Theorem 1.2. The latter theorem is then obtained by building such a signed tree model for any graph of sd-degeneracy d𝑑ditalic_d.

When given the vertex ordering witnessing sd-degeneracy d𝑑ditalic_d, the labeling scheme can be effectively computed. However, we show that computing the sd-degeneracy of a graph (hence, in particular a witnessing order) is NP-complete, even when the sd-degeneracy is guaranteed to be below a fixed constant. In the language of parameterized complexity, sd-degeneracy is para-NP-complete.

Theorem 1.3.

Deciding if a graph has sd-degeneracy at most 1 is NP-complete.

This is in stark contrast with the existing linear-time cograph recognition [CPS85], which is equivalent to determining if the sd-degeneracy is (at most) 0. We show that, surprisingly, the other dense analogue of degeneracy, symmetric difference, is co-NP-complete. Again, the associate parameterized problem is para-co-NP-complete.

Theorem 1.4.

Deciding if a graph has symmetric difference at most 8 is co-NP-complete.

This is curious because sd-degeneracy and symmetric difference similarly extend to the dense world two equivalent definitions of degeneracy. Nevertheless, one can explain the apparent tension between Theorems 1.3 and 1.4: a vertex ordering witnesses an upper bound in the sd-degeneracy, whereas an induced subgraph witnesses a lower bound in the symmetric difference. We leave as an open question whether classes of bounded symmetric difference have labeling schemes of (poly)logarithmic size. This is excluded for bounded sd-degeneracy, for which we now know essentially optimal labeling schemes. While not an absolute barrier, the likely absence of polynomial certificates tightly upper bounding the symmetric difference complicates matters in settling this open question.

Beside compact labeling schemes, we mentioned graph coloring as another motivation for classes of bounded degeneracy. A natural dense analogue for bounded chromatic number is the notion of χ𝜒\chiitalic_χ-boundedness, that is, the property of having chromatic number bounded by a function of the clique number. However, even classes of bounded symmetric difference may not be χ𝜒\chiitalic_χ-bounded, as witnessed by shift graphs on pairs. These graphs have vertex sets {(i,j):i<j[n]}conditional-set𝑖𝑗𝑖𝑗delimited-[]𝑛\{(i,j)~{}:~{}i<j\in[n]\}{ ( italic_i , italic_j ) : italic_i < italic_j ∈ [ italic_n ] } (for increasing values of n𝑛nitalic_n) and (i,j)𝑖𝑗(i,j)( italic_i , italic_j ) is adjacent to (k,)𝑘(k,\ell)( italic_k , roman_ℓ ) whenever j=k𝑗𝑘j=kitalic_j = italic_k or i=𝑖i=\ellitalic_i = roman_ℓ. This defines a class of triangle-free graphs with unbounded chromatic number [EH68], hence not χ𝜒\chiitalic_χ-bounded. We claim that shift graphs have symmetric difference at most 2. Let H𝐻Hitalic_H be any induced subgraph of a shift graph. Consider the smallest integer i𝑖iitalic_i such that there two vertices (a,i)𝑎𝑖(a,i)( italic_a , italic_i ) and (b,i)𝑏𝑖(b,i)( italic_b , italic_i ) in H𝐻Hitalic_H (or symmetrically the largest i𝑖iitalic_i such that (i,a),(i,b)V(H)𝑖𝑎𝑖𝑏𝑉𝐻(i,a),(i,b)\in V(H)( italic_i , italic_a ) , ( italic_i , italic_b ) ∈ italic_V ( italic_H )). One can see that (a,i)𝑎𝑖(a,i)( italic_a , italic_i ) and (b,i)𝑏𝑖(b,i)( italic_b , italic_i ) (or symmetrically (i,a),(i,b)𝑖𝑎𝑖𝑏(i,a),(i,b)( italic_i , italic_a ) , ( italic_i , italic_b )) can have at most one private neighbor each. If no such integer i𝑖iitalic_i exists, H𝐻Hitalic_H is a disjoint union of paths, which has symmetric difference at most 1.

Organization. Section 2 gives definitions and notation. In Section 3, we introduce signed tree models, and prove that graphs of bounded sd-degeneracy admit signed tree models of bounded width. In Section 4, we show how to balance these signed tree models, and complete the proof of Theorem 1.2. In Section 5, we prove Theorem 1.4, and in Section 6, Theorem 1.3.

Acknowledgments. That classes of bounded symmetric difference need not be χ𝜒\chiitalic_χ-bounded was observed by Romain Bourneuf, Colin Geniet, Stéphan Thomassé, and the first author. We thank them for letting us include this remark in the introduction.

2 Preliminaries

We denote by [i,j]𝑖𝑗[i,j][ italic_i , italic_j ] the set of integers that are at least i𝑖iitalic_i and at most j𝑗jitalic_j, and [i]delimited-[]𝑖[i][ italic_i ] is a shorthand for [1,i]1𝑖[1,i][ 1 , italic_i ]. We follow standard asymptotic notation throughout, and additionally by f(n)=O~(g(n))𝑓𝑛~𝑂𝑔𝑛f(n)=\tilde{O}(g(n))italic_f ( italic_n ) = over~ start_ARG italic_O end_ARG ( italic_g ( italic_n ) ) we mean that there exist constants c,n0>0𝑐subscript𝑛00c,n_{0}>0italic_c , italic_n start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT > 0 such that for any nn0𝑛subscript𝑛0n\geqslant n_{0}italic_n ⩾ italic_n start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT we have f(n)g(n)logcn𝑓𝑛𝑔𝑛superscript𝑐𝑛f(n)\leqslant g(n)\log^{c}nitalic_f ( italic_n ) ⩽ italic_g ( italic_n ) roman_log start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT italic_n.

We denote by V(G)𝑉𝐺V(G)italic_V ( italic_G ) and E(G)𝐸𝐺E(G)italic_E ( italic_G ) the vertex set and edge set of a graph G𝐺Gitalic_G, respectively. Given a vertex u𝑢uitalic_u of a graph G𝐺Gitalic_G, we denote by NG(u)subscript𝑁𝐺𝑢N_{G}(u)italic_N start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_u ) the set of neighbors of u𝑢uitalic_u in G𝐺Gitalic_G (open neighborhood) and by NG[u]subscript𝑁𝐺delimited-[]𝑢N_{G}[u]italic_N start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT [ italic_u ] the set NG(u){u}subscript𝑁𝐺𝑢𝑢N_{G}(u)\cup\{u\}italic_N start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_u ) ∪ { italic_u } (closed neighborhood). For a set SV(G)𝑆𝑉𝐺S\subseteq V(G)italic_S ⊆ italic_V ( italic_G ), we denote by NG(S)subscript𝑁𝐺𝑆N_{G}(S)italic_N start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_S ) the set of vertices in V(G)S𝑉𝐺𝑆V(G)\setminus Sitalic_V ( italic_G ) ∖ italic_S that have a neighbor in S𝑆Sitalic_S in graph G𝐺Gitalic_G. When H,G𝐻𝐺H,Gitalic_H , italic_G are two graphs, we may denote by HiGsubscript𝑖𝐻𝐺H\subseteq_{i}Gitalic_H ⊆ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_G (resp. HG𝐻𝐺H\subseteq Gitalic_H ⊆ italic_G) the fact that H𝐻Hitalic_H is an induced subgraph (resp. subgraph) of G𝐺Gitalic_G, i.e., can be obtained by removing vertices of G𝐺Gitalic_G (resp. by removing vertices and edges of G𝐺Gitalic_G). We denote by G[S]𝐺delimited-[]𝑆G[S]italic_G [ italic_S ] the subgraph of G𝐺Gitalic_G induced by S𝑆Sitalic_S, formed by removing every vertex of V(G)S𝑉𝐺𝑆V(G)\setminus Sitalic_V ( italic_G ) ∖ italic_S. We use GS𝐺𝑆G-Sitalic_G - italic_S as a shorthand for G[V(G)S]𝐺delimited-[]𝑉𝐺𝑆G[V(G)\setminus S]italic_G [ italic_V ( italic_G ) ∖ italic_S ], and Gv𝐺𝑣G-vitalic_G - italic_v, for G{v}𝐺𝑣G-\{v\}italic_G - { italic_v }.

Given two sets A𝐴Aitalic_A and B𝐵Bitalic_B, we denote by AB𝐴𝐵A\triangle Bitalic_A △ italic_B their symmetric difference, that is, (AB)(BA)𝐴𝐵𝐵𝐴(A\setminus B)\cup(B\setminus A)( italic_A ∖ italic_B ) ∪ ( italic_B ∖ italic_A ). Given a graph G𝐺Gitalic_G, and two distinct vertices u,vV(G)𝑢𝑣𝑉𝐺u,v\in V(G)italic_u , italic_v ∈ italic_V ( italic_G ), we set

sdG(u,v):=|(NG(u){v})(NG(v){u})|.assignsubscriptsd𝐺𝑢𝑣subscript𝑁𝐺𝑢𝑣subscript𝑁𝐺𝑣𝑢\text{sd}_{G}(u,v):=|(N_{G}(u)\setminus\{v\})\triangle(N_{G}(v)\setminus\{u\})|.sd start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_u , italic_v ) := | ( italic_N start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_u ) ∖ { italic_v } ) △ ( italic_N start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) ∖ { italic_u } ) | .

The symmetric difference of G𝐺Gitalic_G, sd(G)sd𝐺\text{sd}(G)sd ( italic_G ), is defined as maxHiGminuvV(H)sdH(u,v)subscriptsubscript𝑖𝐻𝐺subscript𝑢𝑣𝑉𝐻subscriptsd𝐻𝑢𝑣\max_{H\subseteq_{i}G}\min_{u\neq v\in V(H)}\text{sd}_{H}(u,v)roman_max start_POSTSUBSCRIPT italic_H ⊆ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT roman_min start_POSTSUBSCRIPT italic_u ≠ italic_v ∈ italic_V ( italic_H ) end_POSTSUBSCRIPT sd start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ( italic_u , italic_v ). Symmetric difference was implicitly introduced in [ACLZ15] and later explicitly defined in [AAL21]. We call sd-degeneracy of G𝐺Gitalic_G, denoted by sdd(G)sdd𝐺\text{sdd}(G)sdd ( italic_G ), the smallest non-negative integer d𝑑ditalic_d such that |V(G)|=1𝑉𝐺1|V(G)|=1| italic_V ( italic_G ) | = 1 or there is a pair uvV(G)𝑢𝑣𝑉𝐺u\neq v\in V(G)italic_u ≠ italic_v ∈ italic_V ( italic_G ) satisfying sdG(u,v)dsubscriptsd𝐺𝑢𝑣𝑑\text{sd}_{G}(u,v)\leqslant dsd start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_u , italic_v ) ⩽ italic_d and Gv𝐺𝑣G-vitalic_G - italic_v has sd-degeneracy at most d𝑑ditalic_d. We say that an ordering v1,v2,,vnsubscript𝑣1subscript𝑣2subscript𝑣𝑛v_{1},v_{2},\ldots,v_{n}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT of the vertices of G𝐺Gitalic_G witnesses that the sd-degeneracy of G𝐺Gitalic_G is at most d𝑑ditalic_d if for every i[n1]𝑖delimited-[]𝑛1i\in[n-1]italic_i ∈ [ italic_n - 1 ], there is a j>i𝑗𝑖j>iitalic_j > italic_i such that sdG{vk:k[i1]}(vi,vj)dsubscriptsd𝐺conditional-setsubscript𝑣𝑘𝑘delimited-[]𝑖1subscript𝑣𝑖subscript𝑣𝑗𝑑\text{sd}_{G-\{v_{k}~{}:~{}k\in[i-1]\}}(v_{i},v_{j})\leqslant dsd start_POSTSUBSCRIPT italic_G - { italic_v start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT : italic_k ∈ [ italic_i - 1 ] } end_POSTSUBSCRIPT ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ⩽ italic_d. It thus holds that for any graph G𝐺Gitalic_G, sdd(G)sd(G)sdd𝐺sd𝐺\text{sdd}(G)\leqslant\text{sd}(G)sdd ( italic_G ) ⩽ sd ( italic_G ), since for every i[n]𝑖delimited-[]𝑛i\in[n]italic_i ∈ [ italic_n ], G{vk:k[i1]}𝐺conditional-setsubscript𝑣𝑘𝑘delimited-[]𝑖1G-\{v_{k}~{}:~{}k\in[i-1]\}italic_G - { italic_v start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT : italic_k ∈ [ italic_i - 1 ] } is an induced subgraph of G𝐺Gitalic_G. But, as shown by Proposition 1.1, there are some graphs with sd-degeneracy 1 and unbounded symmetric difference.

Two vertices u,v𝑢𝑣u,vitalic_u , italic_v are said to be d𝑑ditalic_d-twins in a graph G𝐺Gitalic_G if they are distinct and |(NG(u)NG[v])(NG(v)NG[u])|dsubscript𝑁𝐺𝑢subscript𝑁𝐺delimited-[]𝑣subscript𝑁𝐺𝑣subscript𝑁𝐺delimited-[]𝑢𝑑|(N_{G}(u)\setminus N_{G}[v])\cup(N_{G}(v)\setminus N_{G}[u])|\leqslant d| ( italic_N start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_u ) ∖ italic_N start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT [ italic_v ] ) ∪ ( italic_N start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) ∖ italic_N start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT [ italic_u ] ) | ⩽ italic_d. The a×b𝑎𝑏a\times bitalic_a × italic_b rook graph has vertex set {(i,j):i[a],j[b]}conditional-set𝑖𝑗formulae-sequence𝑖delimited-[]𝑎𝑗delimited-[]𝑏\{(i,j)~{}:~{}i\in[a],j\in[b]\}{ ( italic_i , italic_j ) : italic_i ∈ [ italic_a ] , italic_j ∈ [ italic_b ] } and edge set {(i,j)(k,):(i,j)(k,),i=korj=}conditional-set𝑖𝑗𝑘formulae-sequence𝑖𝑗𝑘𝑖𝑘or𝑗\{(i,j)(k,\ell)~{}:~{}(i,j)\neq(k,\ell),~{}i=k~{}\text{or}~{}j=\ell\}{ ( italic_i , italic_j ) ( italic_k , roman_ℓ ) : ( italic_i , italic_j ) ≠ ( italic_k , roman_ℓ ) , italic_i = italic_k or italic_j = roman_ℓ }. Equivalently it is the line graph of the bipartite complete graph Ka,bsubscript𝐾𝑎𝑏K_{a,b}italic_K start_POSTSUBSCRIPT italic_a , italic_b end_POSTSUBSCRIPT. For every a,b3𝑎𝑏3a,b\geqslant 3italic_a , italic_b ⩾ 3, the symmetric difference of the a×b𝑎𝑏a\times bitalic_a × italic_b rook graph is 2(min(a,b)1)2𝑎𝑏12(\min(a,b)-1)2 ( roman_min ( italic_a , italic_b ) - 1 ).

We will extensively use tree orders, i.e., partial orders defined by ancestor–descendant relationships in a rooted tree. We denote by Tsubscriptprecedes𝑇\prec_{T}≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT the corresponding relation in rooted tree T𝑇Titalic_T. That is, uTusubscriptprecedes𝑇𝑢superscript𝑢u\prec_{T}u^{\prime}italic_u ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT means that u𝑢uitalic_u is a strict ancestor of usuperscript𝑢u^{\prime}italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT in T𝑇Titalic_T, and uTusubscriptprecedes-or-equals𝑇𝑢superscript𝑢u\preceq_{T}u^{\prime}italic_u ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT means that u𝑢uitalic_u is an ancestor of usuperscript𝑢u^{\prime}italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, i.e., u=u𝑢superscript𝑢u=u^{\prime}italic_u = italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT or uTusubscriptprecedes𝑇𝑢superscript𝑢u\prec_{T}u^{\prime}italic_u ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. We extend this partial order to elements of (V(T)2)binomial𝑉𝑇2{V(T)\choose 2}( binomial start_ARG italic_V ( italic_T ) end_ARG start_ARG 2 end_ARG ). An unordered pair uv𝑢𝑣uvitalic_u italic_v is an ancestor of uvsuperscript𝑢superscript𝑣u^{\prime}v^{\prime}italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT in T𝑇Titalic_T, denoted by uvTuvsubscriptprecedes-or-equals𝑇𝑢𝑣superscript𝑢superscript𝑣uv\preceq_{T}u^{\prime}v^{\prime}italic_u italic_v ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, whenever either uTusubscriptprecedes-or-equals𝑇𝑢superscript𝑢u\preceq_{T}u^{\prime}italic_u ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and vTvsubscriptprecedes-or-equals𝑇𝑣superscript𝑣v\preceq_{T}v^{\prime}italic_v ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, or vTusubscriptprecedes-or-equals𝑇𝑣superscript𝑢v\preceq_{T}u^{\prime}italic_v ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and uTvsubscriptprecedes-or-equals𝑇𝑢superscript𝑣u\preceq_{T}v^{\prime}italic_u ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT holds. We write uvTuvsubscriptprecedes𝑇𝑢𝑣superscript𝑢superscript𝑣uv\prec_{T}u^{\prime}v^{\prime}italic_u italic_v ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT when uvTuvsubscriptprecedes-or-equals𝑇𝑢𝑣superscript𝑢superscript𝑣uv\preceq_{T}u^{\prime}v^{\prime}italic_u italic_v ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and {u,v}{u,v}𝑢𝑣superscript𝑢superscript𝑣\{u,v\}\neq\{u^{\prime},v^{\prime}\}{ italic_u , italic_v } ≠ { italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT }. A rooted binary tree is full if all its internal nodes, i.e., non-leaf nodes, have exactly two children. A rooted binary tree is complete if all its levels are completely filled, except possibly the last one, wherein leaves are left-aligned. The depth of a rooted tree is the maximum number of nodes in a root-to-leaf path.

3 Signed tree models

A wide range of structural graph invariants, called width parameters, can be expressed via so-called tree layouts (or at least parameters functionally equivalent to them can). A tree layout of an n𝑛nitalic_n-vertex graph G𝐺Gitalic_G is a full binary tree T𝑇Titalic_T such that the leaves of T𝑇Titalic_T, that we may denote by L(T)𝐿𝑇L(T)italic_L ( italic_T ), are in one-to-one correspondence with V(G)𝑉𝐺V(G)italic_V ( italic_G ). Width parameters are typically defined through evaluating a particular function on bipartitions of V(G)𝑉𝐺V(G)italic_V ( italic_G ) made by the two connected components of T𝑇Titalic_T when removing one edge of T𝑇Titalic_T. The width is then the minimum over tree layouts of the maximum over all such evaluations. We depart from this viewpoint, and instead augment T𝑇Titalic_T with a sparse structure encoding the graph G𝐺Gitalic_G.

An unordered pair of vertices in T𝑇Titalic_T that is not in an ancestor–descendant relationship is called a transversal pair of T𝑇Titalic_T. Two transversal pairs uv,uv𝑢𝑣superscript𝑢superscript𝑣uv,u^{\prime}v^{\prime}italic_u italic_v , italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT of T𝑇Titalic_T cross if either uTusubscriptprecedes𝑇𝑢superscript𝑢u\prec_{T}u^{\prime}italic_u ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and vTvsubscriptprecedes𝑇superscript𝑣𝑣v^{\prime}\prec_{T}vitalic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_v, or uTusubscriptprecedes𝑇superscript𝑢𝑢u^{\prime}\prec_{T}uitalic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u and vTvsubscriptprecedes𝑇𝑣superscript𝑣v\prec_{T}v^{\prime}italic_v ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, or uTvsubscriptprecedes𝑇𝑢superscript𝑣u\prec_{T}v^{\prime}italic_u ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and uTvsubscriptprecedes𝑇superscript𝑢𝑣u^{\prime}\prec_{T}vitalic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_v, or vTusubscriptprecedes𝑇superscript𝑣𝑢v^{\prime}\prec_{T}uitalic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u and vTusubscriptprecedes𝑇𝑣superscript𝑢v\prec_{T}u^{\prime}italic_v ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. A signed tree model 𝒯𝒯\mathcal{T}caligraphic_T is a triple (T,A(T),B(T))𝑇𝐴𝑇𝐵𝑇(T,A(T),B(T))( italic_T , italic_A ( italic_T ) , italic_B ( italic_T ) ), where T𝑇Titalic_T is a full binary tree, A(T)𝐴𝑇A(T)italic_A ( italic_T ) (for Android green, or Anti) is a set of transversal pairs of T𝑇Titalic_T, called transversal anti-edges, and B(T)𝐵𝑇B(T)italic_B ( italic_T ) (for Blue, or Biclique) is a set of transversal pairs of T𝑇Titalic_T, called transversal edges, such that A(T)B(T)𝐴𝑇𝐵𝑇A(T)\cap B(T)\neq\emptysetitalic_A ( italic_T ) ∩ italic_B ( italic_T ) ≠ ∅ and no uv,uvA(T)B(T)𝑢𝑣superscript𝑢superscript𝑣𝐴𝑇𝐵𝑇uv,u^{\prime}v^{\prime}\in A(T)\cup B(T)italic_u italic_v , italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_A ( italic_T ) ∪ italic_B ( italic_T ) cross. We may refer to the transversal anti-edges as green edges, and to the transversal edges as blue edges.

1234567891011121314
Figure 1: A signed tree model of a 14-vertex graph.
1234567891011121314
Figure 2: The signed tree model of Figure 2 made clean.

The width of the signed tree model (T,A(T),B(T))𝑇𝐴𝑇𝐵𝑇(T,A(T),B(T))( italic_T , italic_A ( italic_T ) , italic_B ( italic_T ) ) is the degeneracy of the graph (V(T),A(T)B(T))𝑉𝑇𝐴𝑇𝐵𝑇(V(T),A(T)\cup B(T))( italic_V ( italic_T ) , italic_A ( italic_T ) ∪ italic_B ( italic_T ) ). Note that if (V(T),A(T)B(T))𝑉𝑇𝐴𝑇𝐵𝑇(V(T),A(T)\cup B(T))( italic_V ( italic_T ) , italic_A ( italic_T ) ∪ italic_B ( italic_T ) ) is d𝑑ditalic_d-degenerate, then (V(T),A(T)B(T)E(T))𝑉𝑇𝐴𝑇𝐵𝑇𝐸𝑇(V(T),A(T)\cup B(T)\cup E(T))( italic_V ( italic_T ) , italic_A ( italic_T ) ∪ italic_B ( italic_T ) ∪ italic_E ( italic_T ) ) is (d+2)𝑑2(d+2)( italic_d + 2 )-degenerate. The signed tree model is d𝑑ditalic_d-sparse if |A(T)B(T)|d|V(T)|𝐴𝑇𝐵𝑇𝑑𝑉𝑇|A(T)\cup B(T)|\leqslant d|V(T)|| italic_A ( italic_T ) ∪ italic_B ( italic_T ) | ⩽ italic_d | italic_V ( italic_T ) |. We observe that a signed tree model of width d𝑑ditalic_d is d𝑑ditalic_d-sparse, but an O(1)𝑂1O(1)italic_O ( 1 )-sparse signed tree model can have width Ω(|V(T)|)Ω𝑉𝑇\Omega(\sqrt{|V(T)|})roman_Ω ( square-root start_ARG | italic_V ( italic_T ) | end_ARG ).

The signed tree model 𝒯:=(T,A(T),B(T))assign𝒯𝑇𝐴𝑇𝐵𝑇\mathcal{T}:=(T,A(T),B(T))caligraphic_T := ( italic_T , italic_A ( italic_T ) , italic_B ( italic_T ) ) defines a graph G:=G𝒯assign𝐺subscript𝐺𝒯G:=G_{\mathcal{T}}italic_G := italic_G start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT with vertex set L(T)𝐿𝑇L(T)italic_L ( italic_T ). Two leaves u,vL(T)𝑢𝑣𝐿𝑇u,v\in L(T)italic_u , italic_v ∈ italic_L ( italic_T ) are adjacent in G𝐺Gitalic_G if there is uvB(T)superscript𝑢superscript𝑣𝐵𝑇u^{\prime}v^{\prime}\in B(T)italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_B ( italic_T ) such that uvTuvsubscriptprecedes-or-equals𝑇superscript𝑢superscript𝑣𝑢𝑣u^{\prime}v^{\prime}\preceq_{T}uvitalic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u italic_v, and there is no u′′v′′A(T)superscript𝑢′′superscript𝑣′′𝐴𝑇u^{\prime\prime}v^{\prime\prime}\in A(T)italic_u start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ∈ italic_A ( italic_T ) with uvTu′′v′′Tuvsubscriptprecedes𝑇superscript𝑢superscript𝑣superscript𝑢′′superscript𝑣′′subscriptprecedes-or-equals𝑇𝑢𝑣u^{\prime}v^{\prime}\prec_{T}u^{\prime\prime}v^{\prime\prime}\preceq_{T}uvitalic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u italic_v. For example, in the representation of Figure 2, vertices 4 and 8 are adjacent in G𝐺Gitalic_G because of the blue edge between their parents (below the green edge between their grandparents), but vertices 7 and 8 are non-adjacent because of the green edge between their grandparents (below the blue edge between their great-grand-parents). We may say that a graph G𝐺Gitalic_G admits (or has) a signed tree model of width d𝑑ditalic_d if there is a signed tree model of this width that defines G𝐺Gitalic_G. Every graph G𝐺Gitalic_G admits a signed tree model as one can simply set A(T):=,B(T):=E(G)formulae-sequenceassign𝐴𝑇assign𝐵𝑇𝐸𝐺A(T):=\emptyset,\,B(T):=E(G)italic_A ( italic_T ) := ∅ , italic_B ( italic_T ) := italic_E ( italic_G ) on an arbitrary full binary tree T𝑇Titalic_T with L(T)=V(G)𝐿𝑇𝑉𝐺L(T)=V(G)italic_L ( italic_T ) = italic_V ( italic_G ). However this representation may have large width, while a more subtle one (linking nodes higher up in the tree) may have a lower width.

Every graph of twin-width d𝑑ditalic_d admits a signed tree model with A(T)=𝐴𝑇A(T)=\emptysetitalic_A ( italic_T ) = ∅ and width at most d+1𝑑1d+1italic_d + 1. Tree models or twin-decompositions are signed tree models with A(T)=𝐴𝑇A(T)=\emptysetitalic_A ( italic_T ) = ∅, and further technical requirements. We observe that similar objects to signed tree models were utilized in [BGOT23] to attain a fast matrix multiplication on matrices of low twin-width. We will not need a definition of twin-width, and refer the interested reader to [BKTW22]. In Section 1 we also mentioned Welzl orders with low alternation number [Wel88], let us now elaborate on that.

Welzl order of alternation number d𝑑ditalic_d for a graph G𝐺Gitalic_G is a total order <<< on V(G)𝑉𝐺V(G)italic_V ( italic_G ) such that the neighborhood of every vertex is the union of at most d𝑑ditalic_d intervals along <<<. We claim that bipartite graphs G=(XY,E(G))𝐺𝑋𝑌𝐸𝐺G=(X\uplus Y,E(G))italic_G = ( italic_X ⊎ italic_Y , italic_E ( italic_G ) ) with a Welzl order <<< of alternation number d𝑑ditalic_d admit a signed tree model of width 2d2𝑑2d2 italic_d. Note that we can assume that for every xX𝑥𝑋x\in Xitalic_x ∈ italic_X and yY𝑦𝑌y\in Yitalic_y ∈ italic_Y, x<y𝑥𝑦x<yitalic_x < italic_y. We build a signed tree model (T,A(T),B(T))𝑇𝐴𝑇𝐵𝑇(T,A(T),B(T))( italic_T , italic_A ( italic_T ) , italic_B ( italic_T ) ) of G𝐺Gitalic_G as follows. Let us call left binary comb a full binary tree whose internal nodes induce a path, rooted at an endpoint of this path, and every right child is a leaf. We make the root of T𝑇Titalic_T adjacent to the roots of two left binary combs with |X|𝑋|X|| italic_X | and |Y|𝑌|Y|| italic_Y | leaves, respectively. The leaves are labeled from left to right with the vertices of G𝐺Gitalic_G in the order <<<. To simplify the notations, assume that these labels describe [n]delimited-[]𝑛[n][ italic_n ] in the natural order. To represent that vertex iX𝑖𝑋i\in Xitalic_i ∈ italic_X has [j,k]Y𝑗𝑘𝑌[j,k]\subseteq Y[ italic_j , italic_k ] ⊆ italic_Y in the partition of its open neighborhood into maximal intervals, we add a blue edge between leaf i𝑖iitalic_i and the parent of k𝑘kitalic_k, and a green edge between i𝑖iitalic_i and the sibling of j𝑗jitalic_j (to stop the interval). Finally observe that (V(T),A(T)B(T))𝑉𝑇𝐴𝑇𝐵𝑇(V(T),A(T)\cup B(T))( italic_V ( italic_T ) , italic_A ( italic_T ) ∪ italic_B ( italic_T ) ) has degeneracy at most 2d2𝑑2d2 italic_d. (The subtree whose leaves are the vertices of X𝑋Xitalic_X need not be a binary comb.)

A similar construction would work for graphs G𝐺Gitalic_G of chromatic number q𝑞qitalic_q, and would yield a signed tree model of width 2(q1)d2𝑞1𝑑2(q-1)d2 ( italic_q - 1 ) italic_d. A more permissive definition of signed tree models, allowing leaf-to-ancestor transversal edges and relaxing the notion of crossing, would give models of width 2d2𝑑2d2 italic_d for any graph with a Welzl order of alternation number d𝑑ditalic_d. However, with this alternative definition, the consequences of the next section would not follow. Hence we stick to the given definition of signed tree models.

A signed tree model is said to be clean if every pair of siblings are linked by a green or blue edge. It is easy to turn a signed tree model into a clean one representing the same graph: simply add green edges between every pair of siblings that were previously not linked (by a blue or green edge). This operation may only increase the width of the signed tree model by 1. The advantage of working with a clean signed tree model is that for every pair of leaves u,v𝑢𝑣u,vitalic_u , italic_v with least common ancestor w𝑤witalic_w, there is at least one transversal edge or anti-edge connecting the paths (in T𝑇Titalic_T) between w𝑤witalic_w and u𝑢uitalic_u and between w𝑤witalic_w and v𝑣vitalic_v. Clean tree models will be useful in Section 4 when we balance the trees associated with the tree models.

Given a clean signed tree model (T,A(T),B(T))𝑇𝐴𝑇𝐵𝑇(T,A(T),B(T))( italic_T , italic_A ( italic_T ) , italic_B ( italic_T ) ) and u,vL(T)𝑢𝑣𝐿𝑇u,v\in L(T)italic_u , italic_v ∈ italic_L ( italic_T ), we denote by eT(u,v)subscript𝑒𝑇𝑢𝑣e_{T}(u,v)italic_e start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_u , italic_v ) the unique green or blue edge uvsuperscript𝑢superscript𝑣u^{\prime}v^{\prime}italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT such that uvTuvsubscriptprecedes-or-equals𝑇superscript𝑢superscript𝑣𝑢𝑣u^{\prime}v^{\prime}\preceq_{T}uvitalic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u italic_v and no green or blue edge u′′v′′superscript𝑢′′superscript𝑣′′u^{\prime\prime}v^{\prime\prime}italic_u start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT satisfies uvTu′′v′′Tuvsubscriptprecedes𝑇superscript𝑢superscript𝑣superscript𝑢′′superscript𝑣′′subscriptprecedes-or-equals𝑇𝑢𝑣u^{\prime}v^{\prime}\prec_{T}u^{\prime\prime}v^{\prime\prime}\preceq_{T}uvitalic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u italic_v. The edge eT(u,v)subscript𝑒𝑇𝑢𝑣e_{T}(u,v)italic_e start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_u , italic_v ) exists because the signed tree model is clean, and is unique because no green or blue edges may cross (or be equal). Then, u,v𝑢𝑣u,vitalic_u , italic_v are adjacent in G𝐺Gitalic_G if and only if eT(u,v)B(T)subscript𝑒𝑇𝑢𝑣𝐵𝑇e_{T}(u,v)\in B(T)italic_e start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_u , italic_v ) ∈ italic_B ( italic_T ), i.e., eT(u,v)subscript𝑒𝑇𝑢𝑣e_{T}(u,v)italic_e start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_u , italic_v ) is a blue edge. We first show that graphs of bounded sd-degeneracy (and in particular, of bounded symmetric difference) admit clean signed tree models of bounded width.

Lemma 3.1.

Any graph of sd-degeneracy d𝑑ditalic_d admits a clean signed tree model of width d+1𝑑1d+1italic_d + 1.

Proof.

Let v1,,vnsubscript𝑣1subscript𝑣𝑛v_{1},\ldots,v_{n}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT be a vertex ordering that witnesses sd-degeneracy d𝑑ditalic_d for an n𝑛nitalic_n-vertex graph G𝐺Gitalic_G. For i[n]𝑖delimited-[]𝑛i\in[n]italic_i ∈ [ italic_n ], let Gi:=G{vj:1ji1}assignsubscript𝐺𝑖𝐺conditional-setsubscript𝑣𝑗1𝑗𝑖1G_{i}:=G-\{v_{j}~{}:~{}1\leqslant j\leqslant i-1\}italic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT := italic_G - { italic_v start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT : 1 ⩽ italic_j ⩽ italic_i - 1 }. In particular, G1=Gsubscript𝐺1𝐺G_{1}=Gitalic_G start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_G. Let uisubscript𝑢𝑖u_{i}italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT be a d𝑑ditalic_d-twin of visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT in Gisubscript𝐺𝑖G_{i}italic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. Initially we consider a forest of n𝑛nitalic_n distinct 1111-vertex rooted trees, each root labeled by a distinct vertex of G𝐺Gitalic_G. We will build T𝑇Titalic_T (and in parallel, the transversal anti-edges and edges) by iteratively giving a common parent to two roots of this forest of n𝑛nitalic_n singletons. Note that different nodes of T𝑇Titalic_T may have the same label, as the labels will range in V(G)𝑉𝐺V(G)italic_V ( italic_G ) whereas T𝑇Titalic_T has 2n12𝑛12n-12 italic_n - 1 nodes.

For i𝑖iitalic_i ranging from 1 to n1𝑛1n-1italic_n - 1:

  • add a blue (resp. green) edge between visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and uisubscript𝑢𝑖u_{i}italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT if uiviE(G)subscript𝑢𝑖subscript𝑣𝑖𝐸𝐺u_{i}v_{i}\in E(G)italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_E ( italic_G ) (resp. uiviE(G)subscript𝑢𝑖subscript𝑣𝑖𝐸𝐺u_{i}v_{i}\notin E(G)italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∉ italic_E ( italic_G )),

  • add a blue edge between visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and the roots labeled by w𝑤witalic_w for wNGi(vi)NGi[ui]𝑤subscript𝑁subscript𝐺𝑖subscript𝑣𝑖subscript𝑁subscript𝐺𝑖delimited-[]subscript𝑢𝑖w\in N_{G_{i}}(v_{i})\setminus N_{G_{i}}[u_{i}]italic_w ∈ italic_N start_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ∖ italic_N start_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT [ italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ],

  • add a green edge between visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and the roots labeled by w𝑤witalic_w for wNGi(ui)NGi[vi]𝑤subscript𝑁subscript𝐺𝑖subscript𝑢𝑖subscript𝑁subscript𝐺𝑖delimited-[]subscript𝑣𝑖w\in N_{G_{i}}(u_{i})\setminus N_{G_{i}}[v_{i}]italic_w ∈ italic_N start_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ∖ italic_N start_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT [ italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ], and

  • create a common parent, labeled by uisubscript𝑢𝑖u_{i}italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, for the roots labeled uisubscript𝑢𝑖u_{i}italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (left child) and visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (right child).

This defines a full binary tree T𝑇Titalic_T such that L(T)=V(G)𝐿𝑇𝑉𝐺L(T)=V(G)italic_L ( italic_T ) = italic_V ( italic_G ). In (V(T),A(T)B(T))𝑉𝑇𝐴𝑇𝐵𝑇(V(T),A(T)\cup B(T))( italic_V ( italic_T ) , italic_A ( italic_T ) ∪ italic_B ( italic_T ) ), the leaves labeled by v1subscript𝑣1v_{1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and u1subscript𝑢1u_{1}italic_u start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT have degree at most d+1𝑑1d+1italic_d + 1 and 1, respectively. Hence an immediate induction on (T,A(T),B(T))𝑇𝐴𝑇𝐵𝑇(T,A(T),B(T))( italic_T , italic_A ( italic_T ) , italic_B ( italic_T ) ) (after removing these two leaves, and following the order v2,,vnsubscript𝑣2subscript𝑣𝑛v_{2},\ldots,v_{n}italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT) shows that (V(T),A(T)B(T))𝑉𝑇𝐴𝑇𝐵𝑇(V(T),A(T)\cup B(T))( italic_V ( italic_T ) , italic_A ( italic_T ) ∪ italic_B ( italic_T ) ) is (d+1)𝑑1(d+1)( italic_d + 1 )-degenerate. As we only add transversal anti-edges and edges between pairs of roots, no pair in A(T)B(T)𝐴𝑇𝐵𝑇A(T)\cup B(T)italic_A ( italic_T ) ∪ italic_B ( italic_T ) can cross. Indeed, if x,y𝑥𝑦x,yitalic_x , italic_y are two nodes of T𝑇Titalic_T that are both roots in some Gisubscript𝐺𝑖G_{i}italic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, then it cannot happen that x,ysuperscript𝑥superscript𝑦x^{\prime},y^{\prime}italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT are also both roots of some Gisubscript𝐺superscript𝑖G_{i^{\prime}}italic_G start_POSTSUBSCRIPT italic_i start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT with xTxsubscriptprecedes𝑇𝑥superscript𝑥x\prec_{T}x^{\prime}italic_x ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and yTysubscriptprecedes𝑇superscript𝑦𝑦y^{\prime}\prec_{T}yitalic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_y. The first item further ensures that the signed tree model (T,A(T),B(T))𝑇𝐴𝑇𝐵𝑇(T,A(T),B(T))( italic_T , italic_A ( italic_T ) , italic_B ( italic_T ) ) of width d+1𝑑1d+1italic_d + 1 is clean.

Let us finally check that for every u,vL(T)𝑢𝑣𝐿𝑇u,v\in L(T)italic_u , italic_v ∈ italic_L ( italic_T ), eT(u,v)subscript𝑒𝑇𝑢𝑣e_{T}(u,v)italic_e start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_u , italic_v ) is a blue edge if and only if uvE(G)𝑢𝑣𝐸𝐺uv\in E(G)italic_u italic_v ∈ italic_E ( italic_G ). This is a consequence of the following property.

Claim 3.2.

Let x,y𝑥𝑦x,yitalic_x , italic_y be two nodes of T𝑇Titalic_T labeled by u,v𝑢𝑣u,vitalic_u , italic_v respectively. Let xsuperscript𝑥x^{\prime}italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be a child of x𝑥xitalic_x, labeled by usuperscript𝑢u^{\prime}italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, such that xysuperscript𝑥𝑦x^{\prime}yitalic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_y is neither a blue nor a green edge. Further assume that y𝑦yitalic_y was a root when the parent of xsuperscript𝑥x^{\prime}italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT (i.e., x𝑥xitalic_x) was created. Then, uvE(G)𝑢𝑣𝐸𝐺uv\in E(G)italic_u italic_v ∈ italic_E ( italic_G ) if and only if uvE(G)superscript𝑢𝑣𝐸𝐺u^{\prime}v\in E(G)italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v ∈ italic_E ( italic_G ).

Proof of Claim..

If xsuperscript𝑥x^{\prime}italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is the left child of x𝑥xitalic_x, the conclusion holds since u=u𝑢superscript𝑢u=u^{\prime}italic_u = italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. We can thus assume that xsuperscript𝑥x^{\prime}italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is the right child of x𝑥xitalic_x, and not the sibling of y𝑦yitalic_y since it would contradict that xysuperscript𝑥𝑦x^{\prime}yitalic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_y is neither a blue nor a green edge. Node xsuperscript𝑥x^{\prime}italic_x start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT was not linked to y𝑦yitalic_y by a blue or a green edge, so v𝑣vitalic_v cannot be a neighbor of exactly one of u,u𝑢superscript𝑢u,u^{\prime}italic_u , italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. ∎

Consider the moment eT(u,v)subscript𝑒𝑇𝑢𝑣e_{T}(u,v)italic_e start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_u , italic_v ) was added to the signed tree model, say between the then-roots x𝑥xitalic_x and y𝑦yitalic_y, labeled by usuperscript𝑢u^{\prime}italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and vsuperscript𝑣v^{\prime}italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, respectively. By the way blue and green edges are introduced, xy𝑥𝑦xyitalic_x italic_y is a blue edge if uvE(G)superscript𝑢superscript𝑣𝐸𝐺u^{\prime}v^{\prime}\in E(G)italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_E ( italic_G ), and xy𝑥𝑦xyitalic_x italic_y is green if uvE(G)superscript𝑢superscript𝑣𝐸𝐺u^{\prime}v^{\prime}\notin E(G)italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∉ italic_E ( italic_G ). Thus we conclude by iteratively applying Claim 3.2. ∎

4 Balancing Signed Tree Models

For any signed tree model of width d𝑑ditalic_d of an n𝑛nitalic_n-vertex graph, we get an adjacency labeling scheme with labels of size O(dhlogn)𝑂𝑑𝑛O(dh\log n)italic_O ( italic_d italic_h roman_log italic_n ), where hhitalic_h is the depth of T𝑇Titalic_T. Indeed, one can label a leaf v𝑣vitalic_v of T𝑇Titalic_T (i.e., vertex of G𝐺Gitalic_G) by the identifiers (each of log(2n)2𝑛\log(2n)roman_log ( 2 italic_n ) bits) of all the nodes of the path from v𝑣vitalic_v to the root of T𝑇Titalic_T, followed by the identifiers of the outneighbors of these at most hhitalic_h nodes in a fixed orientation of (V(T),A(T)B(T))𝑉𝑇𝐴𝑇𝐵𝑇(V(T),A(T)\cup B(T))( italic_V ( italic_T ) , italic_A ( italic_T ) ∪ italic_B ( italic_T ) ) with maximum outdegree at most d𝑑ditalic_d, allocating an extra bit for the color of each corresponding edge. One can then decode the adjacency of any pair u,vV(G)𝑢𝑣𝑉𝐺u,v\in V(G)italic_u , italic_v ∈ italic_V ( italic_G ) by looking at the color of eT(u,v)subscript𝑒𝑇𝑢𝑣e_{T}(u,v)italic_e start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_u , italic_v ). The latter is easy to single out, based on the labels of u𝑢uitalic_u and v𝑣vitalic_v.

Proposition 4.1.

Let G𝐺Gitalic_G be an n𝑛nitalic_n-vertex graph with a signed tree model of width d𝑑ditalic_d and depth hhitalic_h. Then, G𝐺Gitalic_G admits an O(dhlogn)𝑂𝑑𝑛O(dh\log n)italic_O ( italic_d italic_h roman_log italic_n )-bit adjacency labeling scheme.

Unfortunately, the depth of the tree T𝑇Titalic_T of a signed tree model of low width obtained for an n𝑛nitalic_n-vertex graph of low sd-degeneracy could be as large as n𝑛nitalic_n. This makes a direct application of Proposition 4.1 inadequate. Instead, we first decrease the depth of the signed tree model, while controlling its sparsity. We start with some notation and auxiliary tools. Throughout this section we fix n𝑛nitalic_n and denote by R𝑅Ritalic_R a full, complete, rooted binary tree whose leaves are natural numbers 1,2,,n12𝑛1,2,\ldots,n1 , 2 , … , italic_n read from left to right.

Lemma 4.2.

Any interval [i,j]𝑖𝑗[i,j][ italic_i , italic_j ] with i,j[n]𝑖𝑗delimited-[]𝑛i,j\in[n]italic_i , italic_j ∈ [ italic_n ] is the disjoint union of the leaves of at most 2logn2𝑛2\log n2 roman_log italic_n rooted subtrees of R𝑅Ritalic_R.

Proof.

Let XV(R)𝑋𝑉𝑅X\subseteq V(R)italic_X ⊆ italic_V ( italic_R ) be such that the leaves of the subtrees rooted at a node of X𝑋Xitalic_X partition [i,j]𝑖𝑗[i,j][ italic_i , italic_j ], and X𝑋Xitalic_X is of minimum cardinality among node subsets with this property. Let k𝑘kitalic_k be the first level of R𝑅Ritalic_R intersected by X𝑋Xitalic_X (with the root being at level 1111). At most two nodes x,y𝑥𝑦x,yitalic_x , italic_y of X𝑋Xitalic_X are at level k𝑘kitalic_k (and exactly one node when k=2𝑘2k=2italic_k = 2), with x=y𝑥𝑦x=yitalic_x = italic_y or x𝑥xitalic_x to the left of y𝑦yitalic_y. Observe that if xy𝑥𝑦x\neq yitalic_x ≠ italic_y, then x,y𝑥𝑦x,yitalic_x , italic_y have to be consecutive along the left-to-right ordering of level k𝑘kitalic_k, but cannot be siblings (otherwise they can be substituted by their parent). At level k+1𝑘1k+1italic_k + 1, at most two nodes can be part of X𝑋Xitalic_X: the node just to the left of the leftmost child of x𝑥xitalic_x, and the node just to the right of the rightmost child of y𝑦yitalic_y. This property propagates to the last level. Thus |X|max(2(logn1),logn)2logn𝑋2𝑛1𝑛2𝑛|X|\leqslant\max(2(\lceil\log n\rceil-1),\lceil\log n\rceil)\leqslant 2\log n| italic_X | ⩽ roman_max ( 2 ( ⌈ roman_log italic_n ⌉ - 1 ) , ⌈ roman_log italic_n ⌉ ) ⩽ 2 roman_log italic_n. ∎

From the previous proof it can also be seen that there is a unique minimum-cardinality set X𝑋Xitalic_X representing an interval I=[i,j]𝐼𝑖𝑗I=[i,j]italic_I = [ italic_i , italic_j ], which we denote by XIsubscript𝑋𝐼X_{I}italic_X start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT. Furthermore, we observe that the minimality of XIsubscript𝑋𝐼X_{I}italic_X start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT implies that the elements of XIsubscript𝑋𝐼X_{I}italic_X start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT are incomparable in R𝑅Ritalic_R, i.e., for any distinct x,yXI𝑥𝑦subscript𝑋𝐼x,y\in X_{I}italic_x , italic_y ∈ italic_X start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT, neither xRysubscriptprecedes𝑅𝑥𝑦x\prec_{R}yitalic_x ≺ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT italic_y, nor yRxsubscriptprecedes𝑅𝑦𝑥y\prec_{R}xitalic_y ≺ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT italic_x.

Let T𝑇Titalic_T be any full binary tree with n𝑛nitalic_n leaves that are natural numbers 1,2,,n12𝑛1,2,\ldots,n1 , 2 , … , italic_n read from left to right. For any node x𝑥xitalic_x of T𝑇Titalic_T the leaves of the subtree of T𝑇Titalic_T rooted at x𝑥xitalic_x form an interval in [n]delimited-[]𝑛[n][ italic_n ], which we denote by IT(x)subscript𝐼𝑇𝑥I_{T}(x)italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_x ). We proceed with further auxiliary statements.

Observation 4.3.

For every x,yV(T)𝑥𝑦𝑉𝑇x,y\in V(T)italic_x , italic_y ∈ italic_V ( italic_T ), if IT(x)subscript𝐼𝑇𝑥I_{T}(x)italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_x ) and IT(y)subscript𝐼𝑇𝑦I_{T}(y)italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_y ) intersect, then one is included in the other, and thus xTysubscriptprecedes-or-equals𝑇𝑥𝑦x\preceq_{T}yitalic_x ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_y or yTxsubscriptprecedes-or-equals𝑇𝑦𝑥y\preceq_{T}xitalic_y ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_x.

The observation above helps us establish the following lemma.

Lemma 4.4.

Let p𝑝pitalic_p and s𝑠sitalic_s be two distinct nodes of T𝑇Titalic_T, and a𝑎aitalic_a and b𝑏bitalic_b be two nodes of R𝑅Ritalic_R such that aXIT(p)𝑎subscript𝑋subscript𝐼𝑇𝑝a\in X_{I_{T}(p)}italic_a ∈ italic_X start_POSTSUBSCRIPT italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_p ) end_POSTSUBSCRIPT and bXIT(s)𝑏subscript𝑋subscript𝐼𝑇𝑠b\in X_{I_{T}(s)}italic_b ∈ italic_X start_POSTSUBSCRIPT italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_s ) end_POSTSUBSCRIPT. If aRbsubscriptprecedes-or-equals𝑅𝑎𝑏a\preceq_{R}bitalic_a ⪯ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT italic_b, then pTssubscriptprecedes-or-equals𝑇𝑝𝑠p\preceq_{T}sitalic_p ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_s or sTpsubscriptprecedes-or-equals𝑇𝑠𝑝s\preceq_{T}pitalic_s ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_p. Furthermore, if aRbsubscriptprecedes𝑅𝑎𝑏a\prec_{R}bitalic_a ≺ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT italic_b, then pTssubscriptprecedes𝑇𝑝𝑠p\prec_{T}sitalic_p ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_s.

Proof.

Since aXIT(p)𝑎subscript𝑋subscript𝐼𝑇𝑝a\in X_{I_{T}(p)}italic_a ∈ italic_X start_POSTSUBSCRIPT italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_p ) end_POSTSUBSCRIPT and bXIT(s)𝑏subscript𝑋subscript𝐼𝑇𝑠b\in X_{I_{T}(s)}italic_b ∈ italic_X start_POSTSUBSCRIPT italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_s ) end_POSTSUBSCRIPT, we have IR(a)IT(p)subscript𝐼𝑅𝑎subscript𝐼𝑇𝑝I_{R}(a)\subseteq I_{T}(p)italic_I start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_a ) ⊆ italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_p ) and IR(b)IT(s)subscript𝐼𝑅𝑏subscript𝐼𝑇𝑠I_{R}(b)\subseteq I_{T}(s)italic_I start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_b ) ⊆ italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_s ). Thus, if aRbsubscriptprecedes-or-equals𝑅𝑎𝑏a\preceq_{R}bitalic_a ⪯ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT italic_b, then IR(b)IR(a)subscript𝐼𝑅𝑏subscript𝐼𝑅𝑎I_{R}(b)\subseteq I_{R}(a)italic_I start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_b ) ⊆ italic_I start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_a ), and therefore IT(p)subscript𝐼𝑇𝑝I_{T}(p)italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_p ) and IT(s)subscript𝐼𝑇𝑠I_{T}(s)italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_s ) intersect. By Observation 4.3, this implies that IT(p)IT(s)subscript𝐼𝑇𝑝subscript𝐼𝑇𝑠I_{T}(p)\subseteq I_{T}(s)italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_p ) ⊆ italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_s ) or IT(s)IT(p)subscript𝐼𝑇𝑠subscript𝐼𝑇𝑝I_{T}(s)\subseteq I_{T}(p)italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_s ) ⊆ italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_p ), and thus pTssubscriptprecedes-or-equals𝑇𝑝𝑠p\preceq_{T}sitalic_p ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_s or sTpsubscriptprecedes-or-equals𝑇𝑠𝑝s\preceq_{T}pitalic_s ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_p.

Suppose now that aRbsubscriptprecedes𝑅𝑎𝑏a\prec_{R}bitalic_a ≺ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT italic_b. Since the elements of XIT(s)subscript𝑋subscript𝐼𝑇𝑠X_{I_{T}(s)}italic_X start_POSTSUBSCRIPT italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_s ) end_POSTSUBSCRIPT are incomparable in R𝑅Ritalic_R and b𝑏bitalic_b belongs to this set, we conclude that aXIT(s)𝑎subscript𝑋subscript𝐼𝑇𝑠a\not\in X_{I_{T}(s)}italic_a ∉ italic_X start_POSTSUBSCRIPT italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_s ) end_POSTSUBSCRIPT. Thus, again by minimality of XIT(s)subscript𝑋subscript𝐼𝑇𝑠X_{I_{T}(s)}italic_X start_POSTSUBSCRIPT italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_s ) end_POSTSUBSCRIPT, there exists a leaf xIR(a)𝑥subscript𝐼𝑅𝑎x\in I_{R}(a)italic_x ∈ italic_I start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_a ) that does not belong to IT(s)subscript𝐼𝑇𝑠I_{T}(s)italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_s ), and since IR(a)IT(p)subscript𝐼𝑅𝑎subscript𝐼𝑇𝑝I_{R}(a)\subseteq I_{T}(p)italic_I start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_a ) ⊆ italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_p ), we conclude that IT(p)IT(s)not-subset-of-or-equalssubscript𝐼𝑇𝑝subscript𝐼𝑇𝑠I_{T}(p)\not\subseteq I_{T}(s)italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_p ) ⊈ italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_s ). Therefore, we must have IT(s)IT(p)subscript𝐼𝑇𝑠subscript𝐼𝑇𝑝I_{T}(s)\subsetneq I_{T}(p)italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_s ) ⊊ italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_p ), where the strictness of the inclusion is due to the fact that xIT(p)IT(s)𝑥subscript𝐼𝑇𝑝subscript𝐼𝑇𝑠x\in I_{T}(p)\setminus I_{T}(s)italic_x ∈ italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_p ) ∖ italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_s ). Consequently, we conclude that pTssubscriptprecedes𝑇𝑝𝑠p\prec_{T}sitalic_p ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_s, as desired. ∎

We are now ready to prove the main lemma of this section. Recall that R𝑅Ritalic_R a full, complete, rooted binary tree with n𝑛nitalic_n leaves, and T𝑇Titalic_T is a full binary tree with n𝑛nitalic_n leaves, where in both trees the leaves are natural numbers 1,2,,n12𝑛1,2,\ldots,n1 , 2 , … , italic_n read from left to right.

Lemma 4.5.

Let (T,A(T),B(T))𝑇𝐴𝑇𝐵𝑇(T,A(T),B(T))( italic_T , italic_A ( italic_T ) , italic_B ( italic_T ) ) be a clean d𝑑ditalic_d-sparse signed tree model of an n𝑛nitalic_n-vertex graph G𝐺Gitalic_G. Then, G𝐺Gitalic_G admits a 4dlog2n4𝑑superscript2𝑛4d\log^{2}n4 italic_d roman_log start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_n-sparse signed tree model (R,A(R),B(R))𝑅𝐴𝑅𝐵𝑅(R,A(R),B(R))( italic_R , italic_A ( italic_R ) , italic_B ( italic_R ) ) of depth logn+1𝑛1\lceil\log n\rceil+1⌈ roman_log italic_n ⌉ + 1.

Proof.

We start by describing the construction of A(R)B(R)𝐴𝑅𝐵𝑅A(R)\cup B(R)italic_A ( italic_R ) ∪ italic_B ( italic_R ). For every transversal anti-edge (resp. edge) xyA(T)𝑥𝑦𝐴𝑇xy\in A(T)italic_x italic_y ∈ italic_A ( italic_T ) (resp. xyB(T)𝑥𝑦𝐵𝑇xy\in B(T)italic_x italic_y ∈ italic_B ( italic_T )), we add to A(R)𝐴𝑅A(R)italic_A ( italic_R ) (resp. B(R)𝐵𝑅B(R)italic_B ( italic_R )) all the unordered pairs ab𝑎𝑏abitalic_a italic_b with aXIT(x)𝑎subscript𝑋subscript𝐼𝑇𝑥a\in X_{I_{T}(x)}italic_a ∈ italic_X start_POSTSUBSCRIPT italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_x ) end_POSTSUBSCRIPT and bXIT(y)𝑏subscript𝑋subscript𝐼𝑇𝑦b\in X_{I_{T}(y)}italic_b ∈ italic_X start_POSTSUBSCRIPT italic_I start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_y ) end_POSTSUBSCRIPT; we say that each such pair ab𝑎𝑏abitalic_a italic_b originated from xy𝑥𝑦xyitalic_x italic_y. It may happen that some ab𝑎𝑏abitalic_a italic_b is added to both A(R)𝐴𝑅A(R)italic_A ( italic_R ) and B(R)𝐵𝑅B(R)italic_B ( italic_R ). In which case, ab𝑎𝑏abitalic_a italic_b originated from both x0y0A(T)subscript𝑥0subscript𝑦0𝐴𝑇x_{0}y_{0}\in A(T)italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ∈ italic_A ( italic_T ) and x1y1B(T)subscript𝑥1subscript𝑦1𝐵𝑇x_{1}y_{1}\in B(T)italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ italic_B ( italic_T ) such that x0y0Tx1y1subscriptprecedes𝑇subscript𝑥0subscript𝑦0subscript𝑥1subscript𝑦1x_{0}y_{0}\prec_{T}x_{1}y_{1}italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT or x1y1Tx0y0subscriptprecedes𝑇subscript𝑥1subscript𝑦1subscript𝑥0subscript𝑦0x_{1}y_{1}\prec_{T}x_{0}y_{0}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. In the former case, we remove ab𝑎𝑏abitalic_a italic_b from A(R)𝐴𝑅A(R)italic_A ( italic_R ) (and only keep it in B(R)𝐵𝑅B(R)italic_B ( italic_R )), and in the latter, we remove ab𝑎𝑏abitalic_a italic_b from B(R)𝐵𝑅B(R)italic_B ( italic_R ) (and only keep it in A(R)𝐴𝑅A(R)italic_A ( italic_R )). This finishes the construction of :=(R,A(R),B(R))assign𝑅𝐴𝑅𝐵𝑅\mathcal{R}:=(R,A(R),B(R))caligraphic_R := ( italic_R , italic_A ( italic_R ) , italic_B ( italic_R ) ).

Let us first argue that no two transversal pairs in A(R)B(R)𝐴𝑅𝐵𝑅A(R)\cup B(R)italic_A ( italic_R ) ∪ italic_B ( italic_R ) cross. Assume for the sake of contradiction that a1b1,a2b2A(R)B(R)subscript𝑎1subscript𝑏1subscript𝑎2subscript𝑏2𝐴𝑅𝐵𝑅a_{1}b_{1},a_{2}b_{2}\in A(R)\cup B(R)italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_a start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_A ( italic_R ) ∪ italic_B ( italic_R ) satisfy a1Ra2subscriptprecedes𝑅subscript𝑎1subscript𝑎2a_{1}\prec_{R}a_{2}italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≺ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT italic_a start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and b2Rb1subscriptprecedes𝑅subscript𝑏2subscript𝑏1b_{2}\prec_{R}b_{1}italic_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ≺ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. Let p1s1,p2s2A(T)B(T)subscript𝑝1subscript𝑠1subscript𝑝2subscript𝑠2𝐴𝑇𝐵𝑇p_{1}s_{1},p_{2}s_{2}\in A(T)\cup B(T)italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_A ( italic_T ) ∪ italic_B ( italic_T ) be transversal pairs from which a1b1,a2b2subscript𝑎1subscript𝑏1subscript𝑎2subscript𝑏2a_{1}b_{1},a_{2}b_{2}italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_a start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, respectively, originated. By Lemma 4.4, we have p1Tp2subscriptprecedes𝑇subscript𝑝1subscript𝑝2p_{1}\prec_{T}p_{2}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and s2Ts1subscriptprecedes𝑇subscript𝑠2subscript𝑠1s_{2}\prec_{T}s_{1}italic_s start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, implying that p1s1subscript𝑝1subscript𝑠1p_{1}s_{1}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and p2s2subscript𝑝2subscript𝑠2p_{2}s_{2}italic_p start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT cross in T𝑇Titalic_T, which is not possible. This contradiction proves that \mathcal{R}caligraphic_R is a signed tree model.

Next, let us show that \mathcal{R}caligraphic_R represents G𝐺Gitalic_G. Fix u,vV(G)𝑢𝑣𝑉𝐺u,v\in V(G)italic_u , italic_v ∈ italic_V ( italic_G ) and let xy:=eT(u,v)assign𝑥𝑦subscript𝑒𝑇𝑢𝑣xy:=e_{T}(u,v)italic_x italic_y := italic_e start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_u , italic_v ). Without loss of generality, assume that xy𝑥𝑦xyitalic_x italic_y belongs to A(T)𝐴𝑇A(T)italic_A ( italic_T ). Let ab𝑎𝑏abitalic_a italic_b be the transversal pair originating from xy𝑥𝑦xyitalic_x italic_y such that uIR(a)𝑢subscript𝐼𝑅𝑎u\in I_{R}(a)italic_u ∈ italic_I start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_a ) and vIR(b)𝑣subscript𝐼𝑅𝑏v\in I_{R}(b)italic_v ∈ italic_I start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_b ). By construction ab𝑎𝑏abitalic_a italic_b belongs to A(R)B(R)𝐴𝑅𝐵𝑅A(R)\cup B(R)italic_A ( italic_R ) ∪ italic_B ( italic_R ). We claim that abA(R)𝑎𝑏𝐴𝑅ab\in A(R)italic_a italic_b ∈ italic_A ( italic_R ) and ab=eR(u,v)𝑎𝑏subscript𝑒𝑅𝑢𝑣ab=e_{R}(u,v)italic_a italic_b = italic_e start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_u , italic_v ). First, suppose that abA(R)𝑎𝑏𝐴𝑅ab\not\in A(R)italic_a italic_b ∉ italic_A ( italic_R ), and thus abB(R)𝑎𝑏𝐵𝑅ab\in B(R)italic_a italic_b ∈ italic_B ( italic_R ). By construction, this is possible only if ab𝑎𝑏abitalic_a italic_b has also originated from some x0y0B(T)subscript𝑥0subscript𝑦0𝐵𝑇x_{0}y_{0}\in B(T)italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ∈ italic_B ( italic_T ) and xyTx0y0subscriptprecedes𝑇𝑥𝑦subscript𝑥0subscript𝑦0xy\prec_{T}x_{0}y_{0}italic_x italic_y ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. Note that as uIR(a)𝑢subscript𝐼𝑅𝑎u\in I_{R}(a)italic_u ∈ italic_I start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_a ) and vIR(b)𝑣subscript𝐼𝑅𝑏v\in I_{R}(b)italic_v ∈ italic_I start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_b ), we have that aRusubscriptprecedes-or-equals𝑅𝑎𝑢a\preceq_{R}uitalic_a ⪯ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT italic_u and bRvsubscriptprecedes-or-equals𝑅𝑏𝑣b\preceq_{R}vitalic_b ⪯ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT italic_v. Thus, by Lemma 4.4, x0Tusubscriptprecedes-or-equals𝑇subscript𝑥0𝑢x_{0}\preceq_{T}uitalic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u or uTx0subscriptprecedes-or-equals𝑇𝑢subscript𝑥0u\preceq_{T}x_{0}italic_u ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, and y0Tvsubscriptprecedes-or-equals𝑇subscript𝑦0𝑣y_{0}\preceq_{T}vitalic_y start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_v or vTy0subscriptprecedes-or-equals𝑇𝑣subscript𝑦0v\preceq_{T}y_{0}italic_v ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, and since u𝑢uitalic_u and v𝑣vitalic_v are leaves in T𝑇Titalic_T, we conclude that x0y0Tuvsubscriptprecedes-or-equals𝑇subscript𝑥0subscript𝑦0𝑢𝑣x_{0}y_{0}\preceq_{T}uvitalic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u italic_v. Consequently, xyTx0y0Tuvsubscriptprecedes𝑇𝑥𝑦subscript𝑥0subscript𝑦0subscriptprecedes-or-equals𝑇𝑢𝑣xy\prec_{T}x_{0}y_{0}\preceq_{T}uvitalic_x italic_y ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u italic_v, which contradicts the fact that xy=eT(u,v)𝑥𝑦subscript𝑒𝑇𝑢𝑣xy=e_{T}(u,v)italic_x italic_y = italic_e start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_u , italic_v ). Now, suppose that abeR(u,v)𝑎𝑏subscript𝑒𝑅𝑢𝑣ab\neq e_{R}(u,v)italic_a italic_b ≠ italic_e start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_u , italic_v ), i.e., there exists a1b1subscript𝑎1subscript𝑏1a_{1}b_{1}italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT such that abRa1b1Ruvsubscriptprecedes𝑅𝑎𝑏subscript𝑎1subscript𝑏1subscriptprecedes-or-equals𝑅𝑢𝑣ab\prec_{R}a_{1}b_{1}\preceq_{R}uvitalic_a italic_b ≺ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⪯ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT italic_u italic_v. Again by Lemma 4.4, this implies xyTx1y1Tuvsubscriptprecedes𝑇𝑥𝑦subscript𝑥1subscript𝑦1subscriptprecedes-or-equals𝑇𝑢𝑣xy\prec_{T}x_{1}y_{1}\preceq_{T}uvitalic_x italic_y ≺ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⪯ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT italic_u italic_v, where x1y1subscript𝑥1subscript𝑦1x_{1}y_{1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is the transversal pair of T𝑇Titalic_T from which a1b1subscript𝑎1subscript𝑏1a_{1}b_{1}italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT originated. This contradicts the assumption that xy=eT(u,v)𝑥𝑦subscript𝑒𝑇𝑢𝑣xy=e_{T}(u,v)italic_x italic_y = italic_e start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( italic_u , italic_v ).

Finally, we establish the claimed sparseness of \mathcal{R}caligraphic_R. By design, the depth of R𝑅Ritalic_R is logn+1𝑛1\lceil\log n\rceil+1⌈ roman_log italic_n ⌉ + 1. As 𝒯:=(T,A(T),B(T))assign𝒯𝑇𝐴𝑇𝐵𝑇\mathcal{T}:=(T,A(T),B(T))caligraphic_T := ( italic_T , italic_A ( italic_T ) , italic_B ( italic_T ) ) is d𝑑ditalic_d-sparse, it has at most (2n1)d2𝑛1𝑑(2n-1)d( 2 italic_n - 1 ) italic_d transversal (anti-)edges. Each blue or green edge of 𝒯𝒯\mathcal{T}caligraphic_T gives rise to at most (2logn)2superscript2𝑛2(2\log n)^{2}( 2 roman_log italic_n ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT blue or green edges of 𝒯superscript𝒯\mathcal{T}^{\prime}caligraphic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, by Lemma 4.2. Hence \mathcal{R}caligraphic_R is 4dlog2n4𝑑superscript2𝑛4d\log^{2}n4 italic_d roman_log start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_n-sparse. ∎

We finally need this folklore observation.

Observation 4.6.

Every m𝑚mitalic_m-edge graph has degeneracy at most 2m12𝑚1\lceil\sqrt{2m}\rceil-1⌈ square-root start_ARG 2 italic_m end_ARG ⌉ - 1.

Proof.

It is enough to show that any m𝑚mitalic_m-edge graph G𝐺Gitalic_G has a vertex of degree at most 2m12𝑚1\lceil\sqrt{2m}\rceil-1⌈ square-root start_ARG 2 italic_m end_ARG ⌉ - 1. If all the vertices of G𝐺Gitalic_G have degree at least 2m2𝑚\lceil\sqrt{2m}\rceil⌈ square-root start_ARG 2 italic_m end_ARG ⌉, then m12n2m𝑚12𝑛2𝑚m\geqslant\frac{1}{2}n\lceil\sqrt{2m}\rceilitalic_m ⩾ divide start_ARG 1 end_ARG start_ARG 2 end_ARG italic_n ⌈ square-root start_ARG 2 italic_m end_ARG ⌉. But also n2m+1𝑛2𝑚1n\geqslant\lceil\sqrt{2m}\rceil+1italic_n ⩾ ⌈ square-root start_ARG 2 italic_m end_ARG ⌉ + 1 for a vertex to possibly have 2m2𝑚\lceil\sqrt{2m}\rceil⌈ square-root start_ARG 2 italic_m end_ARG ⌉ neighbors. Thus m122m(2m+1)>m𝑚122𝑚2𝑚1𝑚m\geqslant\frac{1}{2}\sqrt{2m}(\sqrt{2m}+1)>mitalic_m ⩾ divide start_ARG 1 end_ARG start_ARG 2 end_ARG square-root start_ARG 2 italic_m end_ARG ( square-root start_ARG 2 italic_m end_ARG + 1 ) > italic_m, a contradiction. ∎

Combining Lemmas 3.1, 4.5, 4.6 and 4.1 yields Theorem 1.2.

Proof of Theorem 1.2.

Let G𝐺Gitalic_G be an n𝑛nitalic_n-vertex graph of sd-degeneracy d𝑑ditalic_d. By Lemma 3.1, G𝐺Gitalic_G admits a clean signed tree model of width at most d+1𝑑1d+1italic_d + 1, hence (d+1)𝑑1(d+1)( italic_d + 1 )-sparse. Thus by Lemma 4.5, G𝐺Gitalic_G has a 4(d+1)log2n4𝑑1superscript2𝑛4(d+1)\log^{2}n4 ( italic_d + 1 ) roman_log start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_n-sparse signed tree model 𝒯𝒯\mathcal{T}caligraphic_T of depth logn+1𝑛1\lceil\log n\rceil+1⌈ roman_log italic_n ⌉ + 1. By Observation 4.6, 𝒯𝒯\mathcal{T}caligraphic_T has width at most

16(d+1)nlog2n=4(d+1)nlogn.16𝑑1𝑛superscript2𝑛4𝑑1𝑛𝑛\sqrt{16(d+1)n\log^{2}n}=4\sqrt{(d+1)n}\log n.square-root start_ARG 16 ( italic_d + 1 ) italic_n roman_log start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_n end_ARG = 4 square-root start_ARG ( italic_d + 1 ) italic_n end_ARG roman_log italic_n .

Therefore, by Proposition 4.1, G𝐺Gitalic_G has a O(dnlog3n)𝑂𝑑𝑛superscript3𝑛O(\sqrt{dn}\log^{3}n)italic_O ( square-root start_ARG italic_d italic_n end_ARG roman_log start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT italic_n )-bit labeling scheme. ∎

5 Symmetric Difference is para-co-NP-complete

For any fixed even integer d8𝑑8d\geqslant 8italic_d ⩾ 8, we show that the following problem is NP-complete: Does the input graph G𝐺Gitalic_G have an induced subgraph with at least two vertices and no pair of d𝑑ditalic_d-twins? We call such an induced subgraph a (d+1)𝑑1(d+1)( italic_d + 1 )-diverse graph. The membership of this problem to NP is straightforward, as a (d+1)𝑑1(d+1)( italic_d + 1 )-diverse induced subgraph H𝐻Hitalic_H of G𝐺Gitalic_G is a polynomial-size witness. One can indeed check in polynomial-time that H𝐻Hitalic_H has at least two vertices, and that for every pair u,v𝑢𝑣u,vitalic_u , italic_v of vertices of H𝐻Hitalic_H, at least d+1𝑑1d+1italic_d + 1 other vertices of H𝐻Hitalic_H are neighbors of exactly one of u,v𝑢𝑣u,vitalic_u , italic_v.

The d𝑑ditalic_d-twin graph Td(G)subscript𝑇𝑑𝐺T_{d}(G)italic_T start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_G ) of a graph G𝐺Gitalic_G is a graph with vertex set V(G)𝑉𝐺V(G)italic_V ( italic_G ) and edges between every pair of d𝑑ditalic_d-twins.

Observation 5.1.

The vertices of a (d+1)𝑑1(d+1)( italic_d + 1 )-diverse induced subgraph of G𝐺Gitalic_G form an independent set of Td(G)subscript𝑇𝑑𝐺T_{d}(G)italic_T start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_G ).

Given any 3-SAT formula φ𝜑\varphiitalic_φ with at most three occurrences of each variable, clauses of size two or three, and at least three clauses, we build a graph G:=G(φ)assign𝐺𝐺𝜑G:=G(\varphi)italic_G := italic_G ( italic_φ ) such that G𝐺Gitalic_G has a (d+1)𝑑1(d+1)( italic_d + 1 )-diverse induced subgraph if and only if φ𝜑\varphiitalic_φ is satisfiable. Such a restriction of 3-SAT is known to be NP-complete [Tov84].

5.1 Bubble gadget

bubble gadget B𝐵Bitalic_B (or bubble for short) is a w×w𝑤𝑤w\times witalic_w × italic_w rook graph, with w:=d2+2assign𝑤𝑑22w:=\frac{d}{2}+2italic_w := divide start_ARG italic_d end_ARG start_ARG 2 end_ARG + 2, deprived of the two rightmost vertices of its top row. Let the gadget B𝐵Bitalic_B be an induced subgraph of a graph G𝐺Gitalic_G and let S𝑆Sitalic_S be the set of neighbors in G𝐺Gitalic_G of the bubble outside of B𝐵Bitalic_B. We say that B𝐵Bitalic_B is properly attached to S𝑆Sitalic_S in G𝐺Gitalic_G if each vertex of the top row (of width d2𝑑2\frac{d}{2}divide start_ARG italic_d end_ARG start_ARG 2 end_ARG) and of the rightmost column (of height d2+1𝑑21\frac{d}{2}+1divide start_ARG italic_d end_ARG start_ARG 2 end_ARG + 1) has one or two neighbors outside the gadget, whereas the other vertices of B𝐵Bitalic_B have no neighbors outside V(B)𝑉𝐵V(B)italic_V ( italic_B ).

We say that B𝐵Bitalic_B is neatly attached to S𝑆Sitalic_S if it is properly attached to S𝑆Sitalic_S, and further, vertices of the top row and rightmost column have exactly one outside neighbor, and at most one vertex of S𝑆Sitalic_S has neighbors in both the top row and rightmost column. The neat attachments that we will use all satisfy 3|S|53𝑆53\leqslant|S|\leqslant 53 ⩽ | italic_S | ⩽ 5. Hence they can be described by a tuple of size between 3 and 5, listing the number of neighbors of vertices in S𝑆Sitalic_S among V(B)𝑉𝐵V(B)italic_V ( italic_B ), starting with the top row and ending with the rightmost column. For instance, Figure 3 depicts a neat (2,2,2,7)2227(2,2,2,7)( 2 , 2 , 2 , 7 )-attachment.

S𝑆Sitalic_Sw:=d2+2assign𝑤𝑑22w:=\frac{d}{2}+2italic_w := divide start_ARG italic_d end_ARG start_ARG 2 end_ARG + 2w𝑤witalic_w
Figure 3: A neatly (2,2,2,7)2227(2,2,2,7)( 2 , 2 , 2 , 7 )-attached bubble gadget, with d=12𝑑12d=12italic_d = 12. The vertical and horizontal red boxes are cliques.

A bubble properly attached to S𝑆Sitalic_S is in a delicate state. It may entirely survive in a (d+1)𝑑1(d+1)( italic_d + 1 )-diverse induced subgraph of G𝐺Gitalic_G.

Observation 5.2.

Let B𝐵Bitalic_B be a bubble gadget properly attached to S𝑆Sitalic_S in G𝐺Gitalic_G. No pair of vertices of B𝐵Bitalic_B are d𝑑ditalic_d-twins in G[V(B)S]𝐺delimited-[]𝑉𝐵𝑆G[V(B)\cup S]italic_G [ italic_V ( italic_B ) ∪ italic_S ].

Proof.

In B𝐵Bitalic_B the only pairs with symmetric difference at most d𝑑ditalic_d, in fact exactly d𝑑ditalic_d, consist of a vertex in the top row and another vertex in its column, or two vertices of the same row in the two rightmost columns. In both cases, these pairs have symmetric difference at least d+1𝑑1d+1italic_d + 1 in G[V(B)S]𝐺delimited-[]𝑉𝐵𝑆G[V(B)\cup S]italic_G [ italic_V ( italic_B ) ∪ italic_S ] since the vertices of the top row or rightmost column have at least one neighbor in S𝑆Sitalic_S, while all other vertices of B𝐵Bitalic_B have no neighbor in S𝑆Sitalic_S. ∎

However, deletions that cause one vertex of the top row or two vertices of the rightmost column to no longer have outside neighbors cause the bubble to completely collapse.

Lemma 5.3.

Let B𝐵Bitalic_B be a bubble gadget properly attached to S𝑆Sitalic_S in G𝐺Gitalic_G. Let H𝐻Hitalic_H be any (d+1)𝑑1(d+1)( italic_d + 1 )-diverse induced subgraph of G𝐺Gitalic_G, such that at least one vertex of the top row or at least two vertices of the rightmost column has no neighbor in V(H)V(B)𝑉𝐻𝑉𝐵V(H)\setminus V(B)italic_V ( italic_H ) ∖ italic_V ( italic_B ). Then, H𝐻Hitalic_H contains at most one vertex of B𝐵Bitalic_B.

Proof.

We first deal with the case when a vertex v𝑣vitalic_v of the top row (in the entire B𝐵Bitalic_B) has no neighbor in V(H)V(B)𝑉𝐻𝑉𝐵V(H)\setminus V(B)italic_V ( italic_H ) ∖ italic_V ( italic_B ). By symmetry, assume that v𝑣vitalic_v is the topmost vertex of the first column. Vertex v𝑣vitalic_v is thus d𝑑ditalic_d-twin with all the other vertices of the first column. Hence by Observation 5.1, either v𝑣vitalic_v is not in H𝐻Hitalic_H, or none of the d/2+1𝑑21d/2+1italic_d / 2 + 1 vertices below v𝑣vitalic_v are in H𝐻Hitalic_H.

If the latter holds, then any two vertices in the same column, outside the top row and rightmost column, are now d𝑑ditalic_d-twins in H𝐻Hitalic_H. By Observation 5.1, within these vertices, H𝐻Hitalic_H can only contain at most one vertex per column. In turn, the kept vertices are pairwise d𝑑ditalic_d-twins in H𝐻Hitalic_H, so at most one can be kept overall. We conclude since the vertices of NH(S)V(B)subscript𝑁𝐻𝑆𝑉𝐵N_{H}(S)\cap V(B)italic_N start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ( italic_S ) ∩ italic_V ( italic_B ) have at most two neighbors in S𝑆Sitalic_S.

We now suppose that v𝑣vitalic_v is not in H𝐻Hitalic_H. Then, in each row but the topmost, the vertices in the first and penultimate columns are d𝑑ditalic_d-twins in H𝐻Hitalic_H. Thus, within each pair, at most one vertex can be in H𝐻Hitalic_H. This implies that any two vertices in the same column, outside the top row and rightmost column, are now d𝑑ditalic_d-twins in H𝐻Hitalic_H. Thus we conclude as in the previous paragraph.

We now deal with the case when two vertices x,y𝑥𝑦x,yitalic_x , italic_y of the right most column have no neighbor in V(H)V(B)𝑉𝐻𝑉𝐵V(H)\setminus V(B)italic_V ( italic_H ) ∖ italic_V ( italic_B ). By symmetry, we can assume that x𝑥xitalic_x is in the second row, and y𝑦yitalic_y is in the third row. Then, in H𝐻Hitalic_H, x𝑥xitalic_x (resp. y𝑦yitalic_y) is d𝑑ditalic_d-twin with the vertex just to its left. After one vertex is removed in each pair, in each column but the last two, the vertices in the second and third rows have become d𝑑ditalic_d-twins in H𝐻Hitalic_H. Therefore, H𝐻Hitalic_H can only contain at most one vertex from all these pairs. We reach the state that any two vertices in the same row, outside the top row and rightmost column, are d𝑑ditalic_d-twins in H𝐻Hitalic_H, and we can conclude as previously. ∎

In the incoming construction, all the bubble gadgets will be neatly attached. Furthermore, every vertex a bubble is attached to will have at least one neighbor on the top row, or at least two neighbors in the rightmost column. Thus the deletion of any vertex a bubble B𝐵Bitalic_B is attached to will result, by Lemma 5.3, in deleting all the vertices of B𝐵Bitalic_B but at most one.

5.2 Variable and clause gadgets

The variable gadget of variable x𝑥xitalic_x used in φ𝜑\varphiitalic_φ is simply two vertices x,¬x𝑥𝑥x,\neg xitalic_x , ¬ italic_x adjacent to a set Nxsubscript𝑁𝑥N_{x}italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT of t:=d2+1assign𝑡𝑑21t:=\frac{d}{2}+1italic_t := divide start_ARG italic_d end_ARG start_ARG 2 end_ARG + 1 shared neighbors.

x𝑥xitalic_x¬x𝑥\neg x¬ italic_xNxsubscript𝑁𝑥N_{x}italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT
Figure 4: The variable gadget of x𝑥xitalic_x with d=12𝑑12d=12italic_d = 12.

Vertices x𝑥xitalic_x and ¬x𝑥\neg x¬ italic_x have one or two other neighbors in G𝐺Gitalic_G corresponding to the clause they belong to, as we will soon see. Some vertices of the first two sets Nxsubscript𝑁𝑥N_{x}italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT (Nx1subscript𝑁subscript𝑥1N_{x_{1}}italic_N start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and Nx2subscript𝑁subscript𝑥2N_{x_{2}}italic_N start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT) will have neighbors in these two sets. Apart from Nx1subscript𝑁subscript𝑥1N_{x_{1}}italic_N start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, each set Nxsubscript𝑁𝑥N_{x}italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT will form an independent set. All other neighbors of the vertices of any Nxsubscript𝑁𝑥N_{x}italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT will belong to at most four bubble gadgets. This will be described in detail shortly. The clause gadget of clause c𝑐citalic_c consists of a pair of adjacent vertices vc,dcsubscript𝑣𝑐subscript𝑑𝑐v_{c},d_{c}italic_v start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT. We make vcsubscript𝑣𝑐v_{c}italic_v start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT (but not dcsubscript𝑑𝑐d_{c}italic_d start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT) adjacent to the two or three vertices corresponding to the literals of c𝑐citalic_c.

5.3 Construction of G(φ)𝐺𝜑G(\varphi)italic_G ( italic_φ )

Unsurprisingly, we add one variable gadget per variable, and one clause gadget per clause of φ𝜑\varphiitalic_φ. Let x1,,xnsubscript𝑥1subscript𝑥𝑛x_{1},\ldots,x_{n}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT be a numbering of the variables, and c1,,cmsubscript𝑐1subscript𝑐𝑚c_{1},\ldots,c_{m}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_c start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT, of the clauses. We neatly attach a bubble gadget to Sjsubscript𝑆𝑗S_{j}italic_S start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT made of the five vertices zj,vcj,dcj,subscript𝑧𝑗subscript𝑣subscript𝑐𝑗subscript𝑑subscript𝑐𝑗z_{j},v_{c_{j}},d_{c_{j}},italic_z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , vcj+1,dcj+1subscript𝑣subscript𝑐𝑗1subscript𝑑subscript𝑐𝑗1v_{c_{j+1}},d_{c_{j+1}}italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j + 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j + 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT for every j[m1]𝑗delimited-[]𝑚1j\in[m-1]italic_j ∈ [ italic_m - 1 ], with (in this order) a (1,d/4,d/4,d/4,d/4)1𝑑4𝑑4𝑑4𝑑4(1,\lfloor d/4\rfloor,\lfloor d/4\rfloor,\lceil d/4\rceil,\lceil d/4\rceil)( 1 , ⌊ italic_d / 4 ⌋ , ⌊ italic_d / 4 ⌋ , ⌈ italic_d / 4 ⌉ , ⌈ italic_d / 4 ⌉ )-attachment, where zjsubscript𝑧𝑗z_{j}italic_z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is a vertex of some Nxsubscript𝑁𝑥N_{x}italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT. The choice of zjsubscript𝑧𝑗z_{j}italic_z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is irrelevant, but we take all the vertices zjsubscript𝑧𝑗z_{j}italic_z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT pairwise distinct. This is possible since there are at most 3n/23𝑛23n/23 italic_n / 2 clauses, and more than dn/2𝑑𝑛2dn/2italic_d italic_n / 2 vertices contained in the union of the sets Nxsubscript𝑁𝑥N_{x}italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT. For every j[m1]𝑗delimited-[]𝑚1j\in[m-1]italic_j ∈ [ italic_m - 1 ], we make {vcj,dcj}subscript𝑣subscript𝑐𝑗subscript𝑑subscript𝑐𝑗\{v_{c_{j}},d_{c_{j}}\}{ italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT } fully adjacent to {vcj+1,dcj+1}subscript𝑣subscript𝑐𝑗1subscript𝑑subscript𝑐𝑗1\{v_{c_{j+1}},d_{c_{j+1}}\}{ italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j + 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j + 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT }. The construction of G𝐺Gitalic_G is almost complete; see Figure 5 for an illustration.

vc1subscript𝑣subscript𝑐1v_{c_{1}}italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPTdc6subscript𝑑subscript𝑐6d_{c_{6}}italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT end_POSTSUBSCRIPTx1subscript𝑥1x_{1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT¬x1subscript𝑥1\neg x_{1}¬ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPTx2subscript𝑥2x_{2}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT¬x2subscript𝑥2\neg x_{2}¬ italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPTx3subscript𝑥3x_{3}italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT¬x3subscript𝑥3\neg x_{3}¬ italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPTx4subscript𝑥4x_{4}italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT¬x4subscript𝑥4\neg x_{4}¬ italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPTx5subscript𝑥5x_{5}italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT¬x5subscript𝑥5\neg x_{5}¬ italic_x start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT
Figure 5: The essential part of G𝐺Gitalic_G built so far, for a 3-CNF formula φ𝜑\varphiitalic_φ whose first two clauses are x1¬x3x4subscript𝑥1subscript𝑥3subscript𝑥4x_{1}\lor\neg x_{3}\lor x_{4}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ ¬ italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ∨ italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT and ¬x2x3¬x4subscript𝑥2subscript𝑥3subscript𝑥4\neg x_{2}\lor x_{3}\lor\neg x_{4}¬ italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∨ italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ∨ ¬ italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT. The blue ellipses represent the bubbles attached to the four enclosed vertices (recall that the bubble is attached to a fifth vertex among the sets Nxsubscript𝑁𝑥N_{x}italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT).

At this point, all the vertices vcj,dcjsubscript𝑣subscript𝑐𝑗subscript𝑑subscript𝑐𝑗v_{c_{j}},d_{c_{j}}italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT such that j[2,m1]𝑗2𝑚1j\in[2,m-1]italic_j ∈ [ 2 , italic_m - 1 ] have exactly d/4+d/4=d/2𝑑4𝑑4𝑑2\lfloor d/4\rfloor+\lceil d/4\rceil=d/2⌊ italic_d / 4 ⌋ + ⌈ italic_d / 4 ⌉ = italic_d / 2 neighbors in (two) bubble gadgets. Let y1,,yntsubscript𝑦1subscript𝑦𝑛𝑡y_{1},\ldots,y_{nt}italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT italic_n italic_t end_POSTSUBSCRIPT be the ordering of the vertices in xNxsubscript𝑥subscript𝑁𝑥\bigcup_{x}N_{x}⋃ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT from left to right in how they appear in Figure 5. We neatly attach

  1. 1.

    a bubble gadget to (vc1,dc1,y1)subscript𝑣subscript𝑐1subscript𝑑subscript𝑐1subscript𝑦1(v_{c_{1}},d_{c_{1}},y_{1})( italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) by a (d/4,d/4,d+12d/4)𝑑4𝑑4𝑑12𝑑4(\lceil d/4\rceil,\lceil d/4\rceil,d+1-2\lceil d/4\rceil)( ⌈ italic_d / 4 ⌉ , ⌈ italic_d / 4 ⌉ , italic_d + 1 - 2 ⌈ italic_d / 4 ⌉ )-attachment;

  2. 2.

    a bubble gadget to (vcm,dcm,ynt)subscript𝑣subscript𝑐𝑚subscript𝑑subscript𝑐𝑚subscript𝑦𝑛𝑡(v_{c_{m}},d_{c_{m}},y_{nt})( italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_n italic_t end_POSTSUBSCRIPT ) by a (d/4,d/4,d+12d/4)𝑑4𝑑4𝑑12𝑑4(\lfloor d/4\rfloor,\lfloor d/4\rfloor,d+1-2\lfloor d/4\rfloor)( ⌊ italic_d / 4 ⌋ , ⌊ italic_d / 4 ⌋ , italic_d + 1 - 2 ⌊ italic_d / 4 ⌋ )-attachment;

  3. 3.

    for every i[nt2]𝑖delimited-[]𝑛𝑡2i\in[nt-2]italic_i ∈ [ italic_n italic_t - 2 ], a bubble gadget to Sisubscriptsuperscript𝑆𝑖S^{\prime}_{i}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT made of the three vertices yi,yi+1,yi+2subscript𝑦𝑖subscript𝑦𝑖1subscript𝑦𝑖2y_{i},y_{i+1},y_{i+2}italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_i + 2 end_POSTSUBSCRIPT with a (1,d/2,d/2)1𝑑2𝑑2(1,d/2,d/2)( 1 , italic_d / 2 , italic_d / 2 )-attachment.

Finally, we make a clique on the first d/4𝑑4\lceil d/4\rceil⌈ italic_d / 4 ⌉ vertices of Nx1subscript𝑁subscript𝑥1N_{x_{1}}italic_N start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT (i.e., on the vertices y1,y2,,yd/4subscript𝑦1subscript𝑦2subscript𝑦𝑑4y_{1},y_{2},\ldots,y_{\lceil d/4\rceil}italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT ⌈ italic_d / 4 ⌉ end_POSTSUBSCRIPT) and fully connect them to the first d/4𝑑4\lceil d/4\rceil⌈ italic_d / 4 ⌉ vertices of Nx2subscript𝑁subscript𝑥2N_{x_{2}}italic_N start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT (i.e., to the vertices yt+1,yt+2,,yt+d/4subscript𝑦𝑡1subscript𝑦𝑡2subscript𝑦𝑡𝑑4y_{t+1},y_{t+2},\ldots,y_{t+\lceil d/4\rceil}italic_y start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_t + 2 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT italic_t + ⌈ italic_d / 4 ⌉ end_POSTSUBSCRIPT). This finishes the construction.

We make some observations. As all the bubble gadgets are neatly attached, no two vertices outside a bubble gadget B𝐵Bitalic_B can share a neighbor in B𝐵Bitalic_B.

Observation 5.4.

For every j[m]𝑗delimited-[]𝑚j\in[m]italic_j ∈ [ italic_m ], vcj,dcjsubscript𝑣subscript𝑐𝑗subscript𝑑subscript𝑐𝑗v_{c_{j}},d_{c_{j}}italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT each have exactly d/2𝑑2d/2italic_d / 2 neighbors in bubble gadgets (all of which are non-adjacent to any other vertex outside their respective bubble).

Vertices in xNxsubscript𝑥subscript𝑁𝑥\bigcup_{x}N_{x}⋃ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT have more neighbors in bubbles.

Observation 5.5.

For every i[nt]𝑖delimited-[]𝑛𝑡i\in[nt]italic_i ∈ [ italic_n italic_t ], yisubscript𝑦𝑖y_{i}italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT has at least d/2+1𝑑21d/2+1italic_d / 2 + 1 neighbors in bubble gadgets (all of which are non-adjacent to any other vertex outside the respective bubble). Furthermore, if i3𝑖3i\geqslant 3italic_i ⩾ 3, then yisubscript𝑦𝑖y_{i}italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT has at least d𝑑ditalic_d neighbors in bubble gadgets.

5.4 Correctness

We can now show the following strengthening of Theorem 1.4.

Theorem 5.6.

For every fixed even integer d8𝑑8d\geqslant 8italic_d ⩾ 8, deciding if an input graph has symmetric difference at most d𝑑ditalic_d is co-NP-complete.

As the graph G:=G(φ)assign𝐺𝐺𝜑G:=G(\varphi)italic_G := italic_G ( italic_φ ) presented in Section 5.3 can be constructed in polynomial time, to prove Theorem 5.6, we shall simply check the equivalence between the satisfiability of φ𝜑\varphiitalic_φ and the existence of a (d+1)𝑑1(d+1)( italic_d + 1 )-diverse induced subgraph of G(φ)𝐺𝜑G(\varphi)italic_G ( italic_φ ). We do this in the next two lemmas. Recall that, by definition, G𝐺Gitalic_G does not have symmetric difference at most d𝑑ditalic_d if and only if it has a (d+1)𝑑1(d+1)( italic_d + 1 )-diverse induced subgraph.

Lemma 5.7.

If φ𝜑\varphiitalic_φ is satisfiable, then G𝐺Gitalic_G admits a (d+1)𝑑1(d+1)( italic_d + 1 )-diverse induced subgraph.

Proof.

Let 𝒜𝒜\mathcal{A}caligraphic_A be a satisfying assignment of φ𝜑\varphiitalic_φ. For each variable x𝑥xitalic_x of φ𝜑\varphiitalic_φ, we delete vertex ¬x𝑥\neg x¬ italic_x if 𝒜𝒜\mathcal{A}caligraphic_A sets x𝑥xitalic_x to true, and we delete vertex x𝑥xitalic_x otherwise (if 𝒜𝒜\mathcal{A}caligraphic_A sets x𝑥xitalic_x to false). Let us call H𝐻Hitalic_H the obtained induced subgraph of G𝐺Gitalic_G (with at least two vertices). We claim that H𝐻Hitalic_H has no pair of d𝑑ditalic_d-twins, and successively rule out such pairs

  1. (i)𝑖(i)( italic_i )

    within the same bubble,

  2. (ii)𝑖𝑖(ii)( italic_i italic_i )

    between a vertex in a bubble B𝐵Bitalic_B and a vertex outside B𝐵Bitalic_B (but possibly in another bubble),

  3. (iii)𝑖𝑖𝑖(iii)( italic_i italic_i italic_i )

    between two vertices both outside every bubble gadget.

(i)𝑖(i)( italic_i ) As H𝐻Hitalic_H contains all the vertices of G𝐺Gitalic_G on which bubble gadgets are attached, by Observation 5.2, no two distinct vertices in the same bubble are d𝑑ditalic_d-twins.

(ii)𝑖𝑖(ii)( italic_i italic_i ) Let us fix a bubble gadget B𝐵Bitalic_B attached to S𝑆Sitalic_S, and two vertices uV(B)𝑢𝑉𝐵u\in V(B)italic_u ∈ italic_V ( italic_B ) and vV(H)V(B)𝑣𝑉𝐻𝑉𝐵v\in V(H)\setminus V(B)italic_v ∈ italic_V ( italic_H ) ∖ italic_V ( italic_B ). First observe that u𝑢uitalic_u has at least d/2+1𝑑21d/2+1italic_d / 2 + 1 neighbors in V(B)𝑉𝐵V(B)italic_V ( italic_B ) (hence in H𝐻Hitalic_H) that are not neighbors of v𝑣vitalic_v. All the vertices vV(H)(V(B)S)𝑣𝑉𝐻𝑉𝐵𝑆v\in V(H)\setminus(V(B)\cup S)italic_v ∈ italic_V ( italic_H ) ∖ ( italic_V ( italic_B ) ∪ italic_S ) have at least d/2𝑑2d/2italic_d / 2 neighbors in H𝐻Hitalic_H that are not neighbors of u𝑢uitalic_u. For these vertices v𝑣vitalic_v, sdH(u,v)>dsubscriptsd𝐻𝑢𝑣𝑑\text{sd}_{H}(u,v)>dsd start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ( italic_u , italic_v ) > italic_d. We thus focus on the case when vS𝑣𝑆v\in Sitalic_v ∈ italic_S. Recall that bubble gadgets are attached only to vertices in {y1,,ynt}j[m]{vcj,dcj}subscript𝑦1subscript𝑦𝑛𝑡subscript𝑗delimited-[]𝑚subscript𝑣subscript𝑐𝑗subscript𝑑subscript𝑐𝑗\{y_{1},\ldots,y_{nt}\}\cup\bigcup_{j\in[m]}\{v_{c_{j}},d_{c_{j}}\}{ italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT italic_n italic_t end_POSTSUBSCRIPT } ∪ ⋃ start_POSTSUBSCRIPT italic_j ∈ [ italic_m ] end_POSTSUBSCRIPT { italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT }. First, assume v{y3,y4,,ynt}𝑣subscript𝑦3subscript𝑦4subscript𝑦𝑛𝑡v\in\{y_{3},y_{4},\ldots,y_{nt}\}italic_v ∈ { italic_y start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT italic_n italic_t end_POSTSUBSCRIPT }. Each such vertex has at least d/2𝑑2d/2italic_d / 2 neighbors in each of two distinct bubbles, and thus it has d/2𝑑2d/2italic_d / 2 neighbors outside B𝐵Bitalic_B implying sdH(u,v)>dsubscriptsd𝐻𝑢𝑣𝑑\text{sd}_{H}(u,v)>dsd start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ( italic_u , italic_v ) > italic_d. Next, assume v{y1,y2}𝑣subscript𝑦1subscript𝑦2v\in\{y_{1},y_{2}\}italic_v ∈ { italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT }. Then v𝑣vitalic_v has one neighbor in some bubble gadget, say B1subscript𝐵1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, and at least d/2𝑑2d/2italic_d / 2 neighbors in some other gadget, say B2subscript𝐵2B_{2}italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. If B=B1𝐵subscript𝐵1B=B_{1}italic_B = italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, then clearly sdH(u,v)>dsubscriptsd𝐻𝑢𝑣𝑑\text{sd}_{H}(u,v)>dsd start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ( italic_u , italic_v ) > italic_d. If B=B2𝐵subscript𝐵2B=B_{2}italic_B = italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, then v𝑣vitalic_v has at least (d/42)+d/4+1+1d/2𝑑42𝑑411𝑑2(\lceil d/4\rceil-2)+\lceil d/4\rceil+1+1\geqslant d/2( ⌈ italic_d / 4 ⌉ - 2 ) + ⌈ italic_d / 4 ⌉ + 1 + 1 ⩾ italic_d / 2 neighbors outside B𝐵Bitalic_B that are not neighbors of u𝑢uitalic_u, where d/42𝑑42\lceil d/4\rceil-2⌈ italic_d / 4 ⌉ - 2 neighbors are coming from the clique {y1,y2,,yd/4}subscript𝑦1subscript𝑦2subscript𝑦𝑑4\{y_{1},y_{2},\ldots,y_{\lceil d/4\rceil}\}{ italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT ⌈ italic_d / 4 ⌉ end_POSTSUBSCRIPT } (note that one of those vertices is v𝑣vitalic_v, and at most one of them is a neighbor of u𝑢uitalic_u, as u𝑢uitalic_u can have at most one neighbor outside B𝐵Bitalic_B, hence minus 2), d/4𝑑4\lceil d/4\rceil⌈ italic_d / 4 ⌉ are coming from {yt+1,yt+2,,yt+d/4}subscript𝑦𝑡1subscript𝑦𝑡2subscript𝑦𝑡𝑑4\{y_{t+1},y_{t+2},\ldots,y_{t+\lceil d/4\rceil}\}{ italic_y start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_t + 2 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT italic_t + ⌈ italic_d / 4 ⌉ end_POSTSUBSCRIPT }, one neighbor is coming from {x1,¬x1}subscript𝑥1subscript𝑥1\{x_{1},\neg x_{1}\}{ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , ¬ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT }, and one more is coming from B1subscript𝐵1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. Thus, in this case, we also have sdH(u,v)>dsubscriptsd𝐻𝑢𝑣𝑑\text{sd}_{H}(u,v)>dsd start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ( italic_u , italic_v ) > italic_d.

Finally, assume that v𝑣vitalic_v is vcjsubscript𝑣subscript𝑐𝑗v_{c_{j}}italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT or dcjsubscript𝑑subscript𝑐𝑗d_{c_{j}}italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT for some j[m]𝑗delimited-[]𝑚j\in[m]italic_j ∈ [ italic_m ]. We can further assume that u𝑢uitalic_u is in the top row or rightmost column of B𝐵Bitalic_B, otherwise it has d𝑑ditalic_d neighbors that are not neighbors of v𝑣vitalic_v (and v𝑣vitalic_v has at least one private neighbor). Now we observe that

sdH(u,v)|NH(u)NH[v]|+|NH(v)NH[u]|d/2+1+d/21d/4+d/4+2d+1,subscriptsd𝐻𝑢𝑣subscript𝑁𝐻𝑢subscript𝑁𝐻delimited-[]𝑣subscript𝑁𝐻𝑣subscript𝑁𝐻delimited-[]𝑢𝑑21𝑑21𝑑4𝑑42𝑑1\text{sd}_{H}(u,v)\geqslant|N_{H}(u)\setminus N_{H}[v]|+|N_{H}(v)\setminus N_{% H}[u]|\geqslant d/2+1+d/2-1-\lceil d/4\rceil+\lfloor d/4\rfloor+2\geqslant d+1,sd start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ( italic_u , italic_v ) ⩾ | italic_N start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ( italic_u ) ∖ italic_N start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT [ italic_v ] | + | italic_N start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ( italic_v ) ∖ italic_N start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT [ italic_u ] | ⩾ italic_d / 2 + 1 + italic_d / 2 - 1 - ⌈ italic_d / 4 ⌉ + ⌊ italic_d / 4 ⌋ + 2 ⩾ italic_d + 1 ,

where d/2+1𝑑21d/2+1italic_d / 2 + 1 lower bounds the number of neighbors of u𝑢uitalic_u whose neighborhood is included in V(B)𝑉𝐵V(B)italic_V ( italic_B ), d/21d/4𝑑21𝑑4d/2-1-\lceil d/4\rceilitalic_d / 2 - 1 - ⌈ italic_d / 4 ⌉ lower bounds the number of neighbors of u𝑢uitalic_u in the top row or rightmost column of B𝐵Bitalic_B that are not adjacent to v𝑣vitalic_v, d/4𝑑4\lfloor d/4\rfloor⌊ italic_d / 4 ⌋ lower bounds the number of neighbors of v𝑣vitalic_v in another bubble than B𝐵Bitalic_B, and 2 accounts for the at least two neighbors of v𝑣vitalic_v that are not neighbors of u𝑢uitalic_u among {vcj1,dcj1,vcj,dcj,vcj+1,dcj+1}subscript𝑣subscript𝑐𝑗1subscript𝑑subscript𝑐𝑗1subscript𝑣subscript𝑐𝑗subscript𝑑subscript𝑐𝑗subscript𝑣subscript𝑐𝑗1subscript𝑑subscript𝑐𝑗1\{v_{c_{j-1}},d_{c_{j-1}},v_{c_{j}},d_{c_{j}},v_{c_{j+1}},d_{c_{j+1}}\}{ italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j + 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j + 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT }, whichever exist. (Here we use the fact that φ𝜑\varphiitalic_φ has at least two clauses.)

(iii)𝑖𝑖𝑖(iii)( italic_i italic_i italic_i ) Let u,v𝑢𝑣u,vitalic_u , italic_v be two distinct vertices outside every bubble gadget. First, recall that, by Observations 5.4 and 5.5, every vertex vcj,dcj,j[m]subscript𝑣subscript𝑐𝑗subscript𝑑subscript𝑐𝑗𝑗delimited-[]𝑚v_{c_{j}},d_{c_{j}},j\in[m]italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_j ∈ [ italic_m ] has d/2𝑑2d/2italic_d / 2 neighbors in bubble gadgets, and every vertex in xNxsubscript𝑥subscript𝑁𝑥\bigcup_{x}N_{x}⋃ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT has at least d/2+1𝑑21d/2+1italic_d / 2 + 1 neighbors in bubble gadgets. Since no two vertices outside bubble gadgets can share a neighbor in a bubble gadget, we conclude that if uxNxj[m]{vcj,dcj}𝑢subscript𝑥subscript𝑁𝑥subscript𝑗delimited-[]𝑚subscript𝑣subscript𝑐𝑗subscript𝑑subscript𝑐𝑗u\in\bigcup_{x}N_{x}\cup\bigcup_{j\in[m]}\{v_{c_{j}},d_{c_{j}}\}italic_u ∈ ⋃ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ∪ ⋃ start_POSTSUBSCRIPT italic_j ∈ [ italic_m ] end_POSTSUBSCRIPT { italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT } and vxNx𝑣subscript𝑥subscript𝑁𝑥v\in\bigcup_{x}N_{x}italic_v ∈ ⋃ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT, then u𝑢uitalic_u and v𝑣vitalic_v are not d𝑑ditalic_d-twins.

Furthermore, if u𝑢uitalic_u is xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT or ¬xisubscript𝑥𝑖\neg x_{i}¬ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for some i[n]𝑖delimited-[]𝑛i\in[n]italic_i ∈ [ italic_n ] and v{y3,y4,,ynt}𝑣subscript𝑦3subscript𝑦4subscript𝑦𝑛𝑡v\in\{y_{3},y_{4},\ldots,y_{nt}\}italic_v ∈ { italic_y start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT italic_n italic_t end_POSTSUBSCRIPT }, then, by Observation 5.5 and the fact that u𝑢uitalic_u has at least one neighbor vcjsubscript𝑣subscript𝑐𝑗v_{c_{j}}italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT (for some j[m]𝑗delimited-[]𝑚j\in[m]italic_j ∈ [ italic_m ]), the vertices u𝑢uitalic_u and v𝑣vitalic_v are also not d𝑑ditalic_d-twins. Next, since each xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ¬xisubscript𝑥𝑖\neg x_{i}¬ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT has d/2+1𝑑21d/2+1italic_d / 2 + 1 neighbors in Nxisubscript𝑁subscript𝑥𝑖N_{x_{i}}italic_N start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT, and no neighbors in Nxisubscript𝑁subscript𝑥superscript𝑖N_{x_{i^{\prime}}}italic_N start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_POSTSUBSCRIPT for iisuperscript𝑖𝑖i^{\prime}\neq iitalic_i start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≠ italic_i, we conclude that if u𝑢uitalic_u is xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT or ¬xisubscript𝑥𝑖\neg x_{i}¬ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for some i[n]𝑖delimited-[]𝑛i\in[n]italic_i ∈ [ italic_n ] and v𝑣vitalic_v is xisubscript𝑥superscript𝑖x_{i^{\prime}}italic_x start_POSTSUBSCRIPT italic_i start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT or ¬xisubscript𝑥superscript𝑖\neg x_{i^{\prime}}¬ italic_x start_POSTSUBSCRIPT italic_i start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT for some i[n]superscript𝑖delimited-[]𝑛i^{\prime}\in[n]italic_i start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ [ italic_n ], or vcjsubscript𝑣subscript𝑐𝑗v_{c_{j}}italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT or dcjsubscript𝑑subscript𝑐𝑗d_{c_{j}}italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT for some j[m]𝑗delimited-[]𝑚j\in[m]italic_j ∈ [ italic_m ], then u𝑢uitalic_u and v𝑣vitalic_v are not d𝑑ditalic_d-twins.

Now, assume that u𝑢uitalic_u is xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT or ¬xisubscript𝑥𝑖\neg x_{i}¬ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for some i[n]𝑖delimited-[]𝑛i\in[n]italic_i ∈ [ italic_n ], and v{y1,y2}𝑣subscript𝑦1subscript𝑦2v\in\{y_{1},y_{2}\}italic_v ∈ { italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT }. Note that none of y1subscript𝑦1y_{1}italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and y2subscript𝑦2y_{2}italic_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT has neighbors in Nxisubscript𝑁subscript𝑥𝑖N_{x_{i}}italic_N start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT for i3𝑖3i\geqslant 3italic_i ⩾ 3, and therefore a non-trivial argument is only required for i2𝑖2i\leqslant 2italic_i ⩽ 2. Then v𝑣vitalic_v has at least d/41𝑑41\lceil d/4\rceil-1⌈ italic_d / 4 ⌉ - 1 neighbors in Nx1Nx2subscript𝑁subscript𝑥1subscript𝑁subscript𝑥2N_{x_{1}}\cup N_{x_{2}}italic_N start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∪ italic_N start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT that are not neighbors of u𝑢uitalic_u, and by Observation 5.5, v𝑣vitalic_v has at least d/2+1𝑑21d/2+1italic_d / 2 + 1 additional private neighbors in bubble gadgets. On the other hand, u𝑢uitalic_u has at least d/2+1d/4𝑑21𝑑4d/2+1-\lceil d/4\rceilitalic_d / 2 + 1 - ⌈ italic_d / 4 ⌉ private neighbors in Nx2subscript𝑁subscript𝑥2N_{x_{2}}italic_N start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. This implies that u𝑢uitalic_u and v𝑣vitalic_v are not d𝑑ditalic_d-twins in H𝐻Hitalic_H.

This leaves us with the cases when u𝑢uitalic_u and v𝑣vitalic_v are two vertices in clause gadgets. By Observation 5.4, each of these vertices has d/2𝑑2d/2italic_d / 2 private neighbors in bubble gadgets. As there are at least three clauses in φ𝜑\varphiitalic_φ, two vertices u,v𝑢𝑣u,vitalic_u , italic_v from distinct clause gadgets have at least two additional private neighbors. Thus, we can assume that u=vcj𝑢subscript𝑣subscript𝑐𝑗u=v_{c_{j}}italic_u = italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT and v=dcj𝑣subscript𝑑subscript𝑐𝑗v=d_{c_{j}}italic_v = italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT for some j[m]𝑗delimited-[]𝑚j\in[m]italic_j ∈ [ italic_m ]. As 𝒜𝒜\mathcal{A}caligraphic_A is a satisfying assignment, at least one vertex x𝑥xitalic_x or ¬x𝑥\neg x¬ italic_x adjacent to vcjsubscript𝑣subscript𝑐𝑗v_{c_{j}}italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT has survived in H𝐻Hitalic_H. Hence sdH(u,v)d/2+d/2+1=d+1subscriptsd𝐻𝑢𝑣𝑑2𝑑21𝑑1\text{sd}_{H}(u,v)\geqslant d/2+d/2+1=d+1sd start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ( italic_u , italic_v ) ⩾ italic_d / 2 + italic_d / 2 + 1 = italic_d + 1. ∎

Lemma 5.8.

If φ𝜑\varphiitalic_φ is not satisfiable, then G𝐺Gitalic_G has no (d+1)𝑑1(d+1)( italic_d + 1 )-diverse induced subgraph.

Proof.

Suppose, toward a contradiction, that φ𝜑\varphiitalic_φ is not satisfiable, but there exists a set SV(G)𝑆𝑉𝐺S\subseteq V(G)italic_S ⊆ italic_V ( italic_G ) such that G[S]𝐺delimited-[]𝑆G[S]italic_G [ italic_S ] is a (d+1)𝑑1(d+1)( italic_d + 1 )-diverse graph. Our strategy is to start with V=V(G)superscript𝑉𝑉𝐺V^{\prime}=V(G)italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = italic_V ( italic_G ) and iteratively reduce Vsuperscript𝑉V^{\prime}italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT while ensuring that it still contains S𝑆Sitalic_S. To do this, we will repeatedly apply Lemma 5.3 and the fact that at most one vertex in any pair of d𝑑ditalic_d-twins in G[V]𝐺delimited-[]superscript𝑉G[V^{\prime}]italic_G [ italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ] can belong to S𝑆Sitalic_S. Eventually, we will reduce Vsuperscript𝑉V^{\prime}italic_V start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT to a single vertex, and thus arrive at a contradiction that G[S]𝐺delimited-[]𝑆G[S]italic_G [ italic_S ] is a (d+1)𝑑1(d+1)( italic_d + 1 )-diverse graph.

For each variable x𝑥xitalic_x, the vertices x,¬x𝑥𝑥x,\neg xitalic_x , ¬ italic_x are 3-twins, thus at least one of them has to be removed in a (d+1)𝑑1(d+1)( italic_d + 1 )-diverse induced subgraph. The kept literals (if any) define a (partial) truth assignment. By assumption, this assignment does not satisfy at least one clause cjsubscript𝑐𝑗c_{j}italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. This implies that vcj,dcjsubscript𝑣subscript𝑐𝑗subscript𝑑subscript𝑐𝑗v_{c_{j}},d_{c_{j}}italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT are d𝑑ditalic_d-twins in the corresponding induced subgraph. Indeed, they each have exactly d/2𝑑2d/2italic_d / 2 private neighbors in bubble gadgets, and no other private neighbors.

By Lemma 5.3, the bubble attached to Sjsubscript𝑆𝑗S_{j}italic_S start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is reduced to at most one vertex, say wjsubscript𝑤𝑗w_{j}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT (if any). In turn, this makes the pairs vcj1,dcj1subscript𝑣subscript𝑐𝑗1subscript𝑑subscript𝑐𝑗1v_{c_{j-1}},d_{c_{j-1}}italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j - 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and vcj+1,dcj+1subscript𝑣subscript𝑐𝑗1subscript𝑑subscript𝑐𝑗1v_{c_{j+1}},d_{c_{j+1}}italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j + 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j + 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT d𝑑ditalic_d-twins (when they exist). Indeed their symmetric difference is at most 3+2d/4+1d32𝑑41𝑑3+2\lceil d/4\rceil+1\leqslant d3 + 2 ⌈ italic_d / 4 ⌉ + 1 ⩽ italic_d (as d𝑑ditalic_d is even and at least 8), where 3 accounts for the three literals of the clause, and 1 for vertex wjsubscript𝑤𝑗w_{j}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. This iteratively collapses every bubble attached to some Sjsubscript𝑆superscript𝑗S_{j^{\prime}}italic_S start_POSTSUBSCRIPT italic_j start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT to a single vertex, as well as the two bubble gadgets attached to {vc1,dc1,y1}subscript𝑣subscript𝑐1subscript𝑑subscript𝑐1subscript𝑦1\{v_{c_{1}},d_{c_{1}},y_{1}\}{ italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT } and {vcm,dcm,ynt}subscript𝑣subscript𝑐𝑚subscript𝑑subscript𝑐𝑚subscript𝑦𝑛𝑡\{v_{c_{m}},d_{c_{m}},y_{nt}\}{ italic_v start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_n italic_t end_POSTSUBSCRIPT }, to say, w0subscript𝑤0w_{0}italic_w start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and wmsubscript𝑤𝑚w_{m}italic_w start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT. Now all the vertices wjsubscript𝑤𝑗w_{j}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT (for j[0,m]𝑗0𝑚j\in[0,m]italic_j ∈ [ 0 , italic_m ]) have degree at most 1, hence are pairwise 2-twins. So at most one of them can be kept. We recall that at most one vertex per clause gadget could be kept. For j𝑗jitalic_j going from 1 to m1𝑚1m-1italic_m - 1, the vertex kept (if any) from the clause gadget of cjsubscript𝑐𝑗c_{j}italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is an 8-twin of the vertex kept in the next surviving clause gadget. This implies that from all the clause gadgets and all the bubble gadgets attached to them, one can only keep at most one vertex overall, say z𝑧zitalic_z. This vertex has degree at most 3 in the resulting induced subgraph.

Vertices y1,y2subscript𝑦1subscript𝑦2y_{1},y_{2}italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are now d𝑑ditalic_d-twins, so the bubble gadget attached to S1subscriptsuperscript𝑆1S^{\prime}_{1}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT collapses to at most one vertex. Vertices y1subscript𝑦1y_{1}italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and z𝑧zitalic_z are now d𝑑ditalic_d-twins, so at most one can survive, which we keep calling z𝑧zitalic_z. Even if y2subscript𝑦2y_{2}italic_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is kept, it is now a d𝑑ditalic_d-twin of y3subscript𝑦3y_{3}italic_y start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT, thus at most one of y2,y3subscript𝑦2subscript𝑦3y_{2},y_{3}italic_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT can be kept. This implies the collapse of the bubble gadget attached to S2subscriptsuperscript𝑆2S^{\prime}_{2}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT to at most one vertex, absorbed by z𝑧zitalic_z. In turn, y2subscript𝑦2y_{2}italic_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and z𝑧zitalic_z collapse to a single vertex. This process progressively eats up all the vertices yjsubscript𝑦𝑗y_{j}italic_y start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, and all the bubble gadgets attached to them. As soon as a vertex x𝑥xitalic_x or ¬x𝑥\neg x¬ italic_x has three remaining neighbors, it becomes a 6-twin of z𝑧zitalic_z, and is absorbed by it. We end up with the single vertex z𝑧zitalic_z. ∎

6 Deciding sd-degeneracy at most 1 is NP-complete

The membership to NP of computing the sd-degeneracy is readily given by the witnessing order, which is a polynomial certificate. Indeed, for any integer d𝑑ditalic_d, testing if a vertex has a d𝑑ditalic_d-twin can be done in polynomial time. In this section, we reduce 3-SAT where every variable occurs in two or three clauses and every clause has three literals to deciding if the sd-degeneracy of a graph is at most 1. As mentioned in the previous section, such a restriction of 3-SAT is known to be NP-complete [Tov84]. More precisely, the reduction is from determining if a variable assignment satisfies all but at most one clause. Obviously this problem remains NP-hard: simply duplicate an instance of 3-SAT on two disjoint sets of variables. One can satisfy all but at most one clause of the resulting instance if and only if the original instance is satisfiable.

For a given formula φ𝜑\varphiitalic_φ, we define a graph G:=G(φ)assign𝐺𝐺𝜑G:=G(\varphi)italic_G := italic_G ( italic_φ ), which is of sd-degeneracy at most 1 if and only if all clauses of φ𝜑\varphiitalic_φ but at most one are satisfied by some assignment. The graph G𝐺Gitalic_G is made of variable gadgets, clause gadgets, and two extra vertices: a vertex of large degree γ𝛾\gammaitalic_γ and an isolated vertex ι𝜄\iotaitalic_ι.

6.1 Construction of G(φ)𝐺𝜑G(\varphi)italic_G ( italic_φ )

For each variable v𝑣vitalic_v, we define the variable gadget Var(v)Var𝑣\text{Var}(v)Var ( italic_v ). Let p𝑝pitalic_p be the number of clauses v𝑣vitalic_v occurs in (note that p𝑝pitalic_p is either 2 or 3). The gadget Var(v)Var𝑣\text{Var}(v)Var ( italic_v ) is made of 2p+12𝑝12p+12 italic_p + 1 vertices. Two special vertices v0subscript𝑣0v_{0}italic_v start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and v1subscript𝑣1v_{1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT named respectively representatives of ¬v𝑣\neg v¬ italic_v and v𝑣vitalic_v, and 2p12𝑝12p-12 italic_p - 1 vertices named the transition vertices from v0subscript𝑣0v_{0}italic_v start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT to v1subscript𝑣1v_{1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. The 2p+12𝑝12p+12 italic_p + 1 vertices of Var(v)Var𝑣\text{Var}(v)Var ( italic_v ) form an independent set. For a literal l𝑙litalic_l of variable v𝑣vitalic_v, we will write Var(l)Var𝑙\text{Var}(l)Var ( italic_l ) to refer to gadget Var(v)Var𝑣\text{Var}(v)Var ( italic_v ).

For each clause c𝑐citalic_c appearing in φ𝜑\varphiitalic_φ, we define the clause gadget Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ). Let l1,l2subscript𝑙1subscript𝑙2l_{1},l_{2}italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and l3subscript𝑙3l_{3}italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT be the literals of the clause c𝑐citalic_c. The gadget Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ) is made of five vertices: c,cl1,cl2,cl3subscript𝑐subscript𝑐subscript𝑙1subscript𝑐subscript𝑙2subscript𝑐subscript𝑙3c_{\uparrow},c_{l_{1}},c_{l_{2}},c_{l_{3}}italic_c start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and csubscript𝑐c_{\downarrow}italic_c start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT. The five vertices of Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ) form a clique. The graph G𝐺Gitalic_G is obtained from the disjoint union of the variable gadgets, clause gadgets, and two extra vertices γ𝛾\gammaitalic_γ and ι𝜄\iotaitalic_ι, on which we add the following edges.

y1subscript𝑦1y_{1}italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPTy2subscript𝑦2y_{2}italic_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPTy3subscript𝑦3y_{3}italic_y start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPTcl1subscript𝑐subscript𝑙1c_{l_{1}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPTcl2subscript𝑐subscript𝑙2c_{l_{2}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPTcl3subscript𝑐subscript𝑙3c_{l_{3}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPTcsubscript𝑐c_{\uparrow}italic_c start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPTcsubscript𝑐c_{\downarrow}italic_c start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT
Figure 6: Adjacencies between the clause gadget of c=l1l2l3𝑐subscript𝑙1subscript𝑙2subscript𝑙3c=l_{1}\lor l_{2}\lor l_{3}italic_c = italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∨ italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT and y1,y2subscript𝑦1subscript𝑦2y_{1},y_{2}italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and y3subscript𝑦3y_{3}italic_y start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT the representatives of l1,l2subscript𝑙1subscript𝑙2l_{1},l_{2}italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, and l3subscript𝑙3l_{3}italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT, respectively. The blue edges represent the internal edges of the clause gadget.
  1. 1.

    For each clause c=l1l2l3𝑐subscript𝑙1subscript𝑙2subscript𝑙3c=l_{1}\lor l_{2}\lor l_{3}italic_c = italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∨ italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT and i[3]𝑖delimited-[]3i\in[3]italic_i ∈ [ 3 ], we link both clisubscript𝑐subscript𝑙𝑖c_{l_{i}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT and csubscript𝑐c_{\uparrow}italic_c start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT to the representative of lisubscript𝑙𝑖l_{i}italic_l start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT; see Figure 6.

  2. 2.

    For each clause c𝑐citalic_c, we add an edge between csubscript𝑐c_{\downarrow}italic_c start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT and γ𝛾\gammaitalic_γ.

  3. 3.

    At this point, for each variable gadget Var(v)Var𝑣\text{Var}(v)Var ( italic_v ), one can describe the neighborhood of the representatives v0subscript𝑣0v_{0}italic_v start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and v1subscript𝑣1v_{1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT using two integers a𝑎aitalic_a and b𝑏bitalic_b, where a+b𝑎𝑏a+bitalic_a + italic_b is the number of occurrences of variable v𝑣vitalic_v in φ𝜑\varphiitalic_φ. Recall from Item 1 that the neighborhood of v0subscript𝑣0v_{0}italic_v start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is a set of 2a2𝑎2a2 italic_a vertices in clause gadgets (two vertices per clause containing ¬v𝑣\neg v¬ italic_v), say {x1,,x2a}subscript𝑥1subscript𝑥2𝑎\{x_{1},\ldots,x_{2a}\}{ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_x start_POSTSUBSCRIPT 2 italic_a end_POSTSUBSCRIPT }, where we order them such that the vertices xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for i[a]𝑖delimited-[]𝑎i\in[a]italic_i ∈ [ italic_a ] are of the form csubscript𝑐c_{\uparrow}italic_c start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT for some clause c𝑐citalic_c, and the vertices xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for i[a+1,2a]𝑖𝑎12𝑎i\in[a+1,2a]italic_i ∈ [ italic_a + 1 , 2 italic_a ] are of the form cljsubscript𝑐subscript𝑙𝑗c_{l_{j}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT. In the neighborhood of v1subscript𝑣1v_{1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, which is a set {y1,,y2b}subscript𝑦1subscript𝑦2𝑏\{y_{1},\ldots,y_{2b}\}{ italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_y start_POSTSUBSCRIPT 2 italic_b end_POSTSUBSCRIPT } of 2b2𝑏2b2 italic_b vertices, the order is reversed. Namely, the vertices yisubscript𝑦𝑖y_{i}italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for i[b]𝑖delimited-[]𝑏i\in[b]italic_i ∈ [ italic_b ] are of the form cljsubscript𝑐subscript𝑙𝑗c_{l_{j}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT, and the vertices yisubscript𝑦𝑖y_{i}italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for i[b+1,2b]𝑖𝑏12𝑏i\in[b+1,2b]italic_i ∈ [ italic_b + 1 , 2 italic_b ] are of the form csubscript𝑐c_{\uparrow}italic_c start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT for some clause c𝑐citalic_c. Let {t1,,t2(a+b)1}subscript𝑡1subscript𝑡2𝑎𝑏1\{t_{1},\dots,t_{2(a+b)-1}\}{ italic_t start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_t start_POSTSUBSCRIPT 2 ( italic_a + italic_b ) - 1 end_POSTSUBSCRIPT } be the transition vertices from v0subscript𝑣0v_{0}italic_v start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT to v1subscript𝑣1v_{1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. We set N(t1)𝑁subscript𝑡1N(t_{1})italic_N ( italic_t start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) to N(v0){y1}𝑁subscript𝑣0subscript𝑦1N(v_{0})\cup\{y_{1}\}italic_N ( italic_v start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ∪ { italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT }, and for i[2,2b]𝑖22𝑏i\in[2,2b]italic_i ∈ [ 2 , 2 italic_b ], we set N(ti)𝑁subscript𝑡𝑖N(t_{i})italic_N ( italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) to N(ti1){yi}𝑁subscript𝑡𝑖1subscript𝑦𝑖N(t_{i-1})\cup\{y_{i}\}italic_N ( italic_t start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ) ∪ { italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT }. Note that N(t2b)=N(v0)N(v1)𝑁subscript𝑡2𝑏𝑁subscript𝑣0𝑁subscript𝑣1N(t_{2b})=N(v_{0})\cup N(v_{1})italic_N ( italic_t start_POSTSUBSCRIPT 2 italic_b end_POSTSUBSCRIPT ) = italic_N ( italic_v start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ∪ italic_N ( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ). Then for i[2b+1,2a+2b1]𝑖2𝑏12𝑎2𝑏1i\in[2b+1,2a+2b-1]italic_i ∈ [ 2 italic_b + 1 , 2 italic_a + 2 italic_b - 1 ], we set N(ti)𝑁subscript𝑡𝑖N(t_{i})italic_N ( italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) to N(ti1){xi2b}𝑁subscript𝑡𝑖1subscript𝑥𝑖2𝑏N(t_{i-1})\setminus\{x_{i-2b}\}italic_N ( italic_t start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ) ∖ { italic_x start_POSTSUBSCRIPT italic_i - 2 italic_b end_POSTSUBSCRIPT }.

We finally add ι𝜄\iotaitalic_ι, an isolated vertex. This finishes the construction; see Figure 7 for the overall picture.

Var(x1)Varsubscript𝑥1\text{Var}(x_{1})Var ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT )representative of x2subscript𝑥2x_{2}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPTrepresentative of ¬x2subscript𝑥2\neg x_{2}¬ italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPTtransition vertices\ldots\ldots\ldots\ldotsClause(c1)Clausesubscript𝑐1\text{Clause}(c_{1})Clause ( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT )\ldots(c1)subscriptsubscript𝑐1(c_{1})_{\uparrow}( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT(c1)subscriptsubscript𝑐1(c_{1})_{\downarrow}( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT(c1)x1subscriptsubscript𝑐1subscript𝑥1(c_{1})_{x_{1}}( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT(c1)x2subscriptsubscript𝑐1subscript𝑥2(c_{1})_{x_{2}}( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT(c1)x3subscriptsubscript𝑐1subscript𝑥3(c_{1})_{x_{3}}( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT(c2)subscriptsubscript𝑐2(c_{2})_{\uparrow}( italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT(c2)subscriptsubscript𝑐2(c_{2})_{\downarrow}( italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT(c2)¬x1subscriptsubscript𝑐2subscript𝑥1(c_{2})_{\neg x_{1}}( italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT ¬ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT(c2)¬x2subscriptsubscript𝑐2subscript𝑥2(c_{2})_{\neg x_{2}}( italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT ¬ italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT(c2)¬x3subscriptsubscript𝑐2subscript𝑥3(c_{2})_{\neg x_{3}}( italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT ¬ italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT(cm)subscriptsubscript𝑐𝑚(c_{m})_{\uparrow}( italic_c start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT(cm)subscriptsubscript𝑐𝑚(c_{m})_{\downarrow}( italic_c start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPTγ𝛾\gammaitalic_γι𝜄\iotaitalic_ι
Figure 7: Depiction of G(φ)𝐺𝜑G(\varphi)italic_G ( italic_φ ) when the first two clauses of φ𝜑\varphiitalic_φ are c1=x1x2x3subscript𝑐1subscript𝑥1subscript𝑥2subscript𝑥3c_{1}=x_{1}\vee x_{2}\vee x_{3}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∨ italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT and c2=¬x1¬x2¬x3subscript𝑐2subscript𝑥1subscript𝑥2subscript𝑥3c_{2}=\neg x_{1}\vee\neg x_{2}\vee\neg x_{3}italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = ¬ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ ¬ italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∨ ¬ italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT, literal x1subscript𝑥1x_{1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT appears only once, and ¬x1subscript𝑥1\neg x_{1}¬ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is the first literal of the second and last clauses, c2subscript𝑐2c_{2}italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and cmsubscript𝑐𝑚c_{m}italic_c start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT respectively. The blue boxes represent the variable gadgets and the red boxes represent the clause gadgets. For legibility, only few edges between the variable gadgets and the clause gadgets were drawn.

6.2 Correctness

Henceforth we say that a vertex v𝑣vitalic_v can be eliminated in an induced subgraph H𝐻Hitalic_H of G𝐺Gitalic_G, if v𝑣vitalic_v has a 1-twin in H𝐻Hitalic_H, and an elimination order of G𝐺Gitalic_G is an ordering u1,u2,subscript𝑢1subscript𝑢2u_{1},u_{2},\ldotsitalic_u start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_u start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … of V(G)𝑉𝐺V(G)italic_V ( italic_G ), equivalently represented by a total order precedes\prec on V(G)𝑉𝐺V(G)italic_V ( italic_G ) such that uisubscript𝑢𝑖u_{i}italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT can be eliminated in G{uj:1ji1}𝐺conditional-setsubscript𝑢𝑗1𝑗𝑖1G-\{u_{j}~{}:~{}1\leqslant j\leqslant i-1\}italic_G - { italic_u start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT : 1 ⩽ italic_j ⩽ italic_i - 1 }. Given an elimination order precedes\prec of G𝐺Gitalic_G and a vertex v𝑣vitalic_v, we denote the graph G{uV(G):uv}𝐺conditional-set𝑢𝑉𝐺precedes𝑢𝑣G-\{u\in V(G)~{}:~{}u\prec v\}italic_G - { italic_u ∈ italic_V ( italic_G ) : italic_u ≺ italic_v } by Gvsubscript𝐺𝑣G_{v}italic_G start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT.

Let us first give an overview of the proof. In one direction, (Lemma 6.1) we turn an assignment satisfying all but at most one clause into an elimination order. This is relatively straightforward. We start by eliminating in each variable gadget Var(v)Var𝑣\text{Var}(v)Var ( italic_v ) every vertex but v0subscript𝑣0v_{0}italic_v start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT when v𝑣vitalic_v is set to true, and every vertex but v1subscript𝑣1v_{1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT when v𝑣vitalic_v is set to false. After which, we can remove every vertex of Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ) for every satisfied clause c𝑐citalic_c. From there one can easily finish the elimination order of G𝐺Gitalic_G.

Let us now consider the other direction (Lemma 6.5). If G𝐺Gitalic_G admits an elimination order precedes\prec, an assignment is obtained by considering the last vertex eliminated in each variable gadget. If the neighborhood of this last vertex contains N(v0)𝑁subscript𝑣0N(v_{0})italic_N ( italic_v start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ), then v𝑣vitalic_v is set to true, otherwise v𝑣vitalic_v is set to false. We denote this assignment by 𝒜()𝒜precedes\mathcal{A}(\prec)caligraphic_A ( ≺ ). We need to argue that 𝒜()𝒜precedes\mathcal{A}(\prec)caligraphic_A ( ≺ ) satisfies all but at most one clause of φ𝜑\varphiitalic_φ.

First, we show that since γ𝛾\gammaitalic_γ is adjacent to all the vertices csubscript𝑐c_{\downarrow}italic_c start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT, for γ𝛾\gammaitalic_γ to be eliminated one needs to have at least started the elimination of all but at most one clause gadget. Second, we prove that for a clause gadget Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ) to start its elimination before γ𝛾\gammaitalic_γ is eliminated, one needs, for at least one of its literals l𝑙litalic_l, that all the vertices of Var(l)Var𝑙\text{Var}(l)Var ( italic_l ) that are fully adjacent to the neighborhood of its representative are already eliminated. Finally, we show that for each variable v𝑣vitalic_v, the last eliminated vertex of Var(v)Var𝑣\text{Var}(v)Var ( italic_v ) is eliminated after each clause gadget adjacent to Var(v)Var𝑣\text{Var}(v)Var ( italic_v ) has started to be eliminated. This implies that 𝒜()𝒜precedes\mathcal{A}(\prec)caligraphic_A ( ≺ ) satisfies all but at most one clause of φ𝜑\varphiitalic_φ.

Lemma 6.1.

If all but at most one clause of φ𝜑\varphiitalic_φ can be satisfied, then G𝐺Gitalic_G has sd-degeneracy at most 1.

Proof.

Let 𝒜𝒜\mathcal{A}caligraphic_A be a variable assignment satisfying all but at most one clause of φ𝜑\varphiitalic_φ; say, c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT if an unsatisfied clause indeed exists. We give an elimination order of G𝐺Gitalic_G. For each variable v𝑣vitalic_v, we eliminate in Var(v)Var𝑣\text{Var}(v)Var ( italic_v ) every vertex but v0subscript𝑣0v_{0}italic_v start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT if v𝑣vitalic_v is set to true, and every vertex but v1subscript𝑣1v_{1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, if instead v𝑣vitalic_v is set to false. This is possible since v0,t1,,th,v1subscript𝑣0subscript𝑡1subscript𝑡subscript𝑣1v_{0},t_{1},\ldots,t_{h},v_{1}italic_v start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_t start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is a path of 1-twins, where t1,,thsubscript𝑡1subscript𝑡t_{1},\ldots,t_{h}italic_t start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_t start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT are the transition vertices of Var(v)Var𝑣\text{Var}(v)Var ( italic_v ).

Now we eliminate the clause gadgets. Let c=l1l2l3𝑐subscript𝑙1subscript𝑙2subscript𝑙3c=l_{1}\lor l_{2}\lor l_{3}italic_c = italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∨ italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT be a clause satisfied by 𝒜𝒜\mathcal{A}caligraphic_A. Assume without loss of generality (since Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ) is symmetric) that l1subscript𝑙1l_{1}italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is satisfied by 𝒜𝒜\mathcal{A}caligraphic_A. So the only remaining vertex in Var(l1)Varsubscript𝑙1\text{Var}(l_{1})Var ( italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) is the representative of ¬l1subscript𝑙1\neg l_{1}¬ italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. In particular, Var(l1)Varsubscript𝑙1\text{Var}(l_{1})Var ( italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) is no longer adjacent to Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ). Thus csubscript𝑐c_{\uparrow}italic_c start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT and cl2subscript𝑐subscript𝑙2c_{l_{2}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT are 1-twins: they may only differ on the last remaining vertex of Var(l3)Varsubscript𝑙3\text{Var}(l_{3})Var ( italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ). We eliminate csubscript𝑐c_{\uparrow}italic_c start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT. In turn, cl1subscript𝑐subscript𝑙1c_{l_{1}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and cl2subscript𝑐subscript𝑙2c_{l_{2}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT are 1-twins: they may only differ on the last remaining vertex of Var(l2)Varsubscript𝑙2\text{Var}(l_{2})Var ( italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ). We eliminate cl2subscript𝑐subscript𝑙2c_{l_{2}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. The same holds for cl1subscript𝑐subscript𝑙1c_{l_{1}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and cl3subscript𝑐subscript𝑙3c_{l_{3}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, and we eliminate cl3subscript𝑐subscript𝑙3c_{l_{3}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. At this point, Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ) contains exactly two vertices: cl1subscript𝑐subscript𝑙1c_{l_{1}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and csubscript𝑐c_{\downarrow}italic_c start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT. The neighborhood of cl1subscript𝑐subscript𝑙1c_{l_{1}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT is reduced to {c}subscript𝑐\{c_{\downarrow}\}{ italic_c start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT }, and the neighborhood of csubscript𝑐c_{\downarrow}italic_c start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT is {cl1,γ}subscript𝑐subscript𝑙1𝛾\{c_{l_{1}},\gamma\}{ italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_γ }. We eliminate cl1subscript𝑐subscript𝑙1c_{l_{1}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT followed by csubscript𝑐c_{\downarrow}italic_c start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT; the latter is now a 1-twin of ι𝜄\iotaitalic_ι, since it has degree 1.

All the vertices of all the clause gadgets except possibly Clause(c0)Clausesubscript𝑐0\text{Clause}(c_{0})Clause ( italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) are now eliminated. Hence γ𝛾\gammaitalic_γ is of degree at most 1, thereby is a 1-twin of ι𝜄\iotaitalic_ι. We eliminate γ𝛾\gammaitalic_γ. It remains to eliminate Clause(c0)Clausesubscript𝑐0\text{Clause}(c_{0})Clause ( italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) (if it exists). Let l𝑙litalic_l be a literal of c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. Now csubscript𝑐c_{\downarrow}italic_c start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT and (c0)lsubscriptsubscript𝑐0𝑙(c_{0})_{l}( italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT are 1-twins. We eliminate (c0)lsubscriptsubscript𝑐0𝑙(c_{0})_{l}( italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT for each literal l𝑙litalic_l of c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. The vertex (c0)subscriptsubscript𝑐0(c_{0})_{\downarrow}( italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT and all remaining vertices of the variable gadgets are now of degree at most 1. We eliminate them, as 1-twin of ι𝜄\iotaitalic_ι. We finally eliminate (c0)subscriptsubscript𝑐0(c_{0})_{\uparrow}( italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT, and remain with a single vertex, ι𝜄\iotaitalic_ι. ∎

We now proceed with some lemmas which will establish the other direction of the reduction. Given two sets X,YV(G)𝑋𝑌𝑉𝐺X,Y\subseteq V(G)italic_X , italic_Y ⊆ italic_V ( italic_G ), we write XYprecedes𝑋𝑌X\prec Yitalic_X ≺ italic_Y if for every xX𝑥𝑋x\in Xitalic_x ∈ italic_X and yY𝑦𝑌y\in Yitalic_y ∈ italic_Y it holds that xyprecedes𝑥𝑦x\prec yitalic_x ≺ italic_y, and we write xYprecedes𝑥𝑌x\prec Yitalic_x ≺ italic_Y or Yxprecedes𝑌𝑥Y\prec xitalic_Y ≺ italic_x when X={x}𝑋𝑥X=\{x\}italic_X = { italic_x }.

Lemma 6.2.

Let precedes\prec be an elimination order for G𝐺Gitalic_G. Then, there is at most one clause gadget Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ) such that γV(Clause(c))precedes𝛾𝑉Clause𝑐\gamma\prec V(\text{Clause}(c))italic_γ ≺ italic_V ( Clause ( italic_c ) ).

Proof.

The vertex γ𝛾\gammaitalic_γ is adjacent to all the vertices csubscript𝑐c_{\downarrow}italic_c start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT. By construction, no vertex of G𝐺Gitalic_G apart from γ𝛾\gammaitalic_γ has more than one csubscript𝑐c_{\downarrow}italic_c start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT in its closed neighborhood. Let w𝑤witalic_w be a 1-twin of γ𝛾\gammaitalic_γ in Gγsubscript𝐺𝛾G_{\gamma}italic_G start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT. Assume for the sake of contradiction that c1subscript𝑐1c_{1}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and c2subscript𝑐2c_{2}italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are two clauses of φ𝜑\varphiitalic_φ with γV(Clause(c1))V(Clause(c2))precedes𝛾𝑉Clausesubscript𝑐1𝑉Clausesubscript𝑐2\gamma\prec V(\text{Clause}(c_{1}))\cup V(\text{Clause}(c_{2}))italic_γ ≺ italic_V ( Clause ( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) ∪ italic_V ( Clause ( italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ). As γ𝛾\gammaitalic_γ is adjacent to both (c1)subscriptsubscript𝑐1(c_{1})_{\downarrow}( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT and (c2)subscriptsubscript𝑐2(c_{2})_{\downarrow}( italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT, w𝑤witalic_w must be either a vertex of Clause(c1)Clausesubscript𝑐1\text{Clause}(c_{1})Clause ( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) or a vertex of Clause(c2)Clausesubscript𝑐2\text{Clause}(c_{2})Clause ( italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ). In both cases, it still has four neighbors in Gγsubscript𝐺𝛾G_{\gamma}italic_G start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT inside its clause gadget, thus w𝑤witalic_w cannot be a 1-twin of γ𝛾\gammaitalic_γ; a contradiction. ∎

Next we formalize the dependence between eliminating the variable gadgets and eliminating the clause gadgets.

Lemma 6.3.

Let precedes\prec be an elimination order for G𝐺Gitalic_G. Let c=l1l2l3𝑐subscript𝑙1subscript𝑙2subscript𝑙3c=l_{1}\lor l_{2}\lor l_{3}italic_c = italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∨ italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT be a clause of φ𝜑\varphiitalic_φ. Let v𝑣vitalic_v be the first eliminated vertex of Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ). Then either γvprecedes𝛾𝑣\gamma\prec vitalic_γ ≺ italic_v or there is an l{l1,l2,l3}𝑙subscript𝑙1subscript𝑙2subscript𝑙3l\in\{l_{1},l_{2},l_{3}\}italic_l ∈ { italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT } such that for any vertex y𝑦yitalic_y in Var(l)Var𝑙\text{Var}(l)Var ( italic_l ) such that N(y)𝑁𝑦N(y)italic_N ( italic_y ) contains the (open) neighborhood of the representative of l𝑙litalic_l, we have yvprecedes𝑦𝑣y\prec vitalic_y ≺ italic_v.

Proof.

Let w𝑤witalic_w be a 1-twin of v𝑣vitalic_v in Gvsubscript𝐺𝑣G_{v}italic_G start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. Note that Gvsubscript𝐺𝑣G_{v}italic_G start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT still contains the whole gadget Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ), and so NGv[v]subscript𝑁subscript𝐺𝑣delimited-[]𝑣N_{G_{v}}[v]italic_N start_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT end_POSTSUBSCRIPT [ italic_v ] contains V(Clause(c))𝑉Clause𝑐V(\text{Clause}(c))italic_V ( Clause ( italic_c ) ). As all the vertices of G𝐺Gitalic_G apart from those of Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ) have at most two neighbors in Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ), w𝑤witalic_w has to be a vertex of Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ). Assume, for the sake of contradiction, that vγprecedes𝑣𝛾v\prec\gammaitalic_v ≺ italic_γ and for each l{l1,l2,l3}𝑙subscript𝑙1subscript𝑙2subscript𝑙3l\in\{l_{1},l_{2},l_{3}\}italic_l ∈ { italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT }, there is a vertex ylsubscript𝑦𝑙y_{l}italic_y start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT of Var(l)Var𝑙\text{Var}(l)Var ( italic_l ) with vylprecedes𝑣subscript𝑦𝑙v\prec y_{l}italic_v ≺ italic_y start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT that is adjacent to the whole open neighborhood of the representative of l𝑙litalic_l. We consider three cases.

Case 1: v𝑣vitalic_v is csubscript𝑐c_{\uparrow}italic_c start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT. Then, by construction of G𝐺Gitalic_Gv𝑣vitalic_v is adjacent to yl1,yl2subscript𝑦subscript𝑙1subscript𝑦subscript𝑙2y_{l_{1}},y_{l_{2}}italic_y start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, and yl3subscript𝑦subscript𝑙3y_{l_{3}}italic_y start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, and so w𝑤witalic_w must be adjacent to at least two vertices among yl1,yl2subscript𝑦subscript𝑙1subscript𝑦subscript𝑙2y_{l_{1}},y_{l_{2}}italic_y start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and yl3subscript𝑦subscript𝑙3y_{l_{3}}italic_y start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. But no vertex in wV(Clause(c)){c}𝑤𝑉Clause𝑐subscript𝑐w\in V(\text{Clause}(c))\setminus\{c_{\uparrow}\}italic_w ∈ italic_V ( Clause ( italic_c ) ) ∖ { italic_c start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT } has this property.

Case 2: v𝑣vitalic_v is of the form clsubscript𝑐𝑙c_{l}italic_c start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT for l{l1,l2,l3}𝑙subscript𝑙1subscript𝑙2subscript𝑙3l\in\{l_{1},l_{2},l_{3}\}italic_l ∈ { italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT }. Without loss of generality, assume v=cl1𝑣subscript𝑐subscript𝑙1v=c_{l_{1}}italic_v = italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. Then vertex v𝑣vitalic_v is adjacent to yl1subscript𝑦subscript𝑙1y_{l_{1}}italic_y start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and not adjacent to yl2subscript𝑦subscript𝑙2y_{l_{2}}italic_y start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT and yl3subscript𝑦subscript𝑙3y_{l_{3}}italic_y start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. Thus w𝑤witalic_w cannot be csubscript𝑐c_{\uparrow}italic_c start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT, nor cl2subscript𝑐subscript𝑙2c_{l_{2}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, nor cl3subscript𝑐subscript𝑙3c_{l_{3}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. Vertex w𝑤witalic_w cannot be csubscript𝑐c_{\downarrow}italic_c start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT either, since it is still adjacent to γ𝛾\gammaitalic_γ.

Case 3: v=c𝑣subscript𝑐v=c_{\downarrow}italic_v = italic_c start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT. By the previous cases csubscript𝑐c_{\downarrow}italic_c start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT has no 1-twins in Gvsubscript𝐺𝑣G_{v}italic_G start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. ∎

Lemma 6.4.

Let precedes\prec be an elimination order for G𝐺Gitalic_G. Let l𝑙litalic_l be a literal appearing in clauses c1,,cpsubscript𝑐1subscript𝑐𝑝c_{1},\ldots,c_{p}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_c start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT, and let vlsubscript𝑣𝑙v_{l}italic_v start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT be its representative. Assume that the last eliminated vertex from Var(l)Var𝑙\text{Var}(l)Var ( italic_l ), say v𝑣vitalic_v, is fully adjacent to NG(vl)subscript𝑁𝐺subscript𝑣𝑙N_{G}(v_{l})italic_N start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ). Then, for each i[p]𝑖delimited-[]𝑝i\in[p]italic_i ∈ [ italic_p ], there is a vertex xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT of the gadget Clause(ci)Clausesubscript𝑐𝑖\text{Clause}(c_{i})Clause ( italic_c start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) with xivprecedessubscript𝑥𝑖𝑣x_{i}\prec vitalic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≺ italic_v.

Proof.

Assume, for the sake of contradiction, that there is a clause c𝑐citalic_c among c1,,cpsubscript𝑐1subscript𝑐𝑝c_{1},\ldots,c_{p}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_c start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT with all its vertices in Gvsubscript𝐺𝑣G_{v}italic_G start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. Let w𝑤witalic_w be a 1-twin of v𝑣vitalic_v in Gvsubscript𝐺𝑣G_{v}italic_G start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. Then v𝑣vitalic_v has exactly two neighbors in Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c )csubscript𝑐c_{\uparrow}italic_c start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT and clsubscript𝑐𝑙c_{l}italic_c start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT. This implies that w𝑤witalic_w cannot be a vertex of Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ), as w𝑤witalic_w still has four neighbors in V(Clause(c))𝑉Clause𝑐V(\text{Clause}(c))italic_V ( Clause ( italic_c ) ). Vertex w𝑤witalic_w cannot be in another clause gadget, since it would then have no neighbors in V(Clause(c))𝑉Clause𝑐V(\text{Clause}(c))italic_V ( Clause ( italic_c ) ). Vertex w𝑤witalic_w is not γ𝛾\gammaitalic_γ nor ι𝜄\iotaitalic_ι since they are not adjacent to csubscript𝑐c_{\uparrow}italic_c start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT and clsubscript𝑐𝑙c_{l}italic_c start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT.

Therefore, w𝑤witalic_w is a vertex of another variable gadget, and it is adjacent to csubscript𝑐c_{\uparrow}italic_c start_POSTSUBSCRIPT ↑ end_POSTSUBSCRIPT. Then w𝑤witalic_w is adjacent to a vertex clsubscript𝑐superscript𝑙c_{l^{\prime}}italic_c start_POSTSUBSCRIPT italic_l start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT of Clause(c)Clause𝑐\text{Clause}(c)Clause ( italic_c ), with llsuperscript𝑙𝑙l^{\prime}\neq litalic_l start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≠ italic_l. Thus v𝑣vitalic_v and w𝑤witalic_w are not 1-twins; a contradiction. ∎

We can now turn an elimination order into a variable assignment that satisfies all the clauses but at most one, which together with Lemma 6.1, proves Theorem 1.3.

Lemma 6.5.

If G𝐺Gitalic_G admits an elimination order, then all clauses of φ𝜑\varphiitalic_φ but at most one can be satisfied.

Proof.

Let precedes\prec be an elimination order for G𝐺Gitalic_G. For each variable x𝑥xitalic_x, let vxsubscript𝑣𝑥v_{x}italic_v start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT be the last vertex eliminated from the variable gadget Var(x)Var𝑥\text{Var}(x)Var ( italic_x ). If NG(vx)subscript𝑁𝐺subscript𝑣𝑥N_{G}(v_{x})italic_N start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ) contains NG(x0)subscript𝑁𝐺subscript𝑥0N_{G}(x_{0})italic_N start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) then we set x𝑥xitalic_x to true, otherwise we set x𝑥xitalic_x to false. This gives a truth assignment 𝒜()𝒜precedes\mathcal{A}(\prec)caligraphic_A ( ≺ ).

Assume for the sake of contradiction that there are two clauses c1,c2subscript𝑐1subscript𝑐2c_{1},c_{2}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT not satisfied by 𝒜()𝒜precedes\mathcal{A}(\prec)caligraphic_A ( ≺ ). Assume that vClause(c1)𝑣Clausesubscript𝑐1v\in\text{Clause}(c_{1})italic_v ∈ Clause ( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) is the first eliminated vertex among Clause(c1)Clause(c2)Clausesubscript𝑐1Clausesubscript𝑐2\text{Clause}(c_{1})\cup\text{Clause}(c_{2})Clause ( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ∪ Clause ( italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ). By Lemma 6.2, the vertex γ𝛾\gammaitalic_γ is in Gvsubscript𝐺𝑣G_{v}italic_G start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. Thus by Lemma 6.3, there is a literal l𝑙litalic_l appearing in c1subscript𝑐1c_{1}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT such that any vertex in Var(l)Var𝑙\text{Var}(l)Var ( italic_l ) adjacent to the neighborhood of the representative of l𝑙litalic_l is eliminated before v𝑣vitalic_v. By definition of 𝒜()𝒜precedes\mathcal{A}(\prec)caligraphic_A ( ≺ ), this implies that Var(l)Var𝑙\text{Var}(l)Var ( italic_l ) is eliminated before any vertex of Clause(c1)Clausesubscript𝑐1\text{Clause}(c_{1})Clause ( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) has been eliminated, which is a contradiction by Lemma 6.4. ∎

References

  • [AAA+23] Bogdan Alecu, Vladimir E. Alekseev, Aistis Atminas, Vadim Lozin, and Viktor Zamaraev. Graph parameters, implicit representations and factorial properties. Discrete Mathematics, 346(10):113573, 2023.
  • [AAL21] Bogdan Alecu, Aistis Atminas, and Vadim V. Lozin. Graph functionality. J. Comb. Theory, Ser. B, 147:139–158, 2021.
  • [ACLZ15] Aistis Atminas, Andrew Collins, Vadim V. Lozin, and Victor Zamaraev. Implicit representations and factorial properties of graphs. Discret. Math., 338(2):164–179, 2015.
  • [Alo23] Noga Alon. Implicit representation of sparse hereditary families. Discret. Comput. Geom., to appear, 2023.
  • [BDS+23] Édouard Bonnet, Julien Duron, John Sylvester, Viktor Zamaraev, and Maksim Zhukovskii. Tight bounds on adjacency labels for monotone graph classes. arXiv preprint arXiv:2310.20522, 2023.
  • [BGK+21] Édouard Bonnet, Colin Geniet, Eun Jung Kim, Stéphan Thomassé, and Rémi Watrigant. Twin-width III: max independent set, min dominating set, and coloring. In 48th International Colloquium on Automata, Languages, and Programming, ICALP 2021, volume 198 of LIPIcs, pages 35:1–35:20. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2021.
  • [BGOT23] Édouard Bonnet, Ugo Giocanti, Patrice Ossona de Mendez, and Stéphan Thomassé. Twin-width V: linear minors, modular counting, and matrix multiplication. In 40th International Symposium on Theoretical Aspects of Computer Science, STACS 2023, volume 254 of LIPIcs, pages 15:1–15:16. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2023.
  • [BKTW22] Édouard Bonnet, Eun Jung Kim, Stéphan Thomassé, and Rémi Watrigant. Twin-width I: tractable FO model checking. J. ACM, 69(1):3:1–3:46, 2022.
  • [BNO+21] Édouard Bonnet, Jaroslav Nesetril, Patrice Ossona de Mendez, Sebastian Siebertz, and Stéphan Thomassé. Twin-width and permutations. arXiv preprint arXiv:2102.06880, 2021.
  • [CPS85] Derek G. Corneil, Yehoshua Perl, and Lorna K. Stewart. A linear recognition algorithm for cographs. SIAM J. Comput., 14(4):926–934, 1985.
  • [DEM+23] Jan Dreier, Ioannis Eleftheriadis, Nikolas Mählmann, Rose McCarty, Michal Pilipczuk, and Szymon Torunczyk. First-order model checking on monadically stable graph classes. CoRR, abs/2311.18740, 2023.
  • [Die17] Reinhard Diestel. Graph Theory. Springer Berlin Heidelberg, 2017.
  • [EH66] Paul Erdős and András Hajnal. On chromatic number of graphs and set-systems. Acta Mathematica Hungarica, 17(1-2):61–99, 1966.
  • [EH68] Paul Erdos and András Hajnal. On chromatic number of infinite graphs. In Theory of Graphs (Proc. Colloq., Tihany, 1966), pages 83–98, 1968.
  • [GKS17] Martin Grohe, Stephan Kreutzer, and Sebastian Siebertz. Deciding first-order properties of nowhere dense graphs. J. ACM, 64(3):17:1–17:32, 2017.
  • [HH22] Hamed Hatami and Pooya Hatami. The implicit graph conjecture is false. In 2022 IEEE 63rd Annual Symposium on Foundations of Computer Science (FOCS 2022), pages 1134–1137. IEEE, 2022.
  • [KNR88] Sampath Kannan, Moni Naor, and Steven Rudich. Implicit representation of graphs. In Proceedings of the twentieth annual ACM symposium on Theory of computing (STOC 1988), pages 334–343, 1988.
  • [Kos84] Alexandr V. Kostochka. Lower bound of the Hadwiger number of graphs by their average degree. Combinatorica, 4(4):307–316, 1984.
  • [MM13] Colin McDiarmid and Tobias Müller. Integer realizations of disk and segment graphs. Journal of Combinatorial Theory, Series B, 103(1):114–143, 2013.
  • [Mul88] John H. Muller. Local Structure in Graph Classes. PhD thesis, 1988.
  • [NO12] Jaroslav Nešetřil and Patrice Ossona de Mendez. Sparsity - Graphs, Structures, and Algorithms, volume 28 of Algorithms and combinatorics. Springer, 2012.
  • [NPS23] Sergey Norin, Luke Postle, and Zi-Xia Song. Breaking the degeneracy barrier for coloring graphs with no Ktsubscript𝐾𝑡K_{t}italic_K start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT minor. Advances in Mathematics, 422:109020, 2023.
  • [Tho84] Andrew Thomason. An extremal function for contractions of graphs. In Mathematical Proceedings of the Cambridge Philosophical Society, volume 95, pages 261–265. Cambridge University Press, 1984.
  • [Tov84] Craig A. Tovey. A simplified NP-complete satisfiability problem. Discret. Appl. Math., 8(1):85–89, 1984.
  • [Wel88] Emo Welzl. Partition trees for triangle counting and other range searching problems. In Herbert Edelsbrunner, editor, Proceedings of the Fourth Annual Symposium on Computational Geometry (SoCG 1988), pages 23–33. ACM, 1988.