Conceptio › Archive › arXiv CS
arXiv CS open access

A Fast Deterministic Algorithm for $(Δ+1)$-edge coloring in CONGEST

2026 · arxiv_cs
arXiv CS · Papers · 2026
Open Source ↗Direct PDF ↓
clouddistributed-computingparallel-computing
Conceptio Open Archive

Analyze & explore related research in Conceptio

Connect this record directly into your research workflow or AI agent. Explore citations across open repositories, query full text, and export structured proof bundles.

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST Sebastian Brandt # CISPA Helmholtz Center for Information Security, Saarbrücken, Germany

Ananth Narayanan # CISPA Helmholtz Center for Information Security, Saarbrücken, Germany

Alexandre Nolin # Telecom SudParis: Évry-Courcouronnes, Île-de-France, France

arXiv:2608.19184v1 [cs.DC] 19 Aug 2026

Abstract Vizing’s theorem states that any graph of maximum degree ∆ can be properly edge-colored with ∆ + 1 colors (which is optimal in general). A recent breakthrough result by Bernshteyn showed that such a (∆ + 1)-edge coloring can be found deterministically in poly(∆, log n) rounds in the LOCAL model of distributed computing, where n denotes the number of vertices of the input graph [J. Comb. Theory 2022]. Since then, the exponent in the poly(log n)-part of the runtime has been improved by Christiansen [STOC 2023] and Bernshteyn and Dhawan [J. Comb. Theory, Series B, 2025]. However, the algorithms used in all of these works use large messages, leaving open the question for efficient algorithms in the more restrictive CONGEST model. We answer this question by presenting the first poly(∆, log n)-round algorithm for (∆ + 1)-edge coloring in the CONGEST model. Our algorithm is deterministic and the n-dependency of its runtime, Õ(log5 n), matches the best published dependency in the LOCAL model. 2012 ACM Subject Classification Theory of computation → Distributed algorithms Keywords and phrases (∆ + 1)-edge coloring, CONGEST model, deterministic algorithm Funding Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Research Council. Neither the European Union nor the granting authority can be held responsible for them. This work is supported by ERC grant OLA-TOPSENS (grant agreement number 101162747) under the Horizon Europe funding programme.

1

Introduction

In this work, we study the problem of properly coloring the edges of a given n-vertex graph with ∆ + 1 colors, where ∆ denotes the maximum degree of the graph. By Vizing’s theorem [33], such a coloring always exists, while there are graphs (such as cliques with an odd number of vertices) that cannot be ∆-edge-colored, making ∆ + 1 colors the optimum achievable in general. As such, (∆ + 1)-edge coloring constitutes one of the most fundamental graph problems and has been studied extensively across a wide range of models. Especially the last few years have seen an explosion of works on (∆+1)-edge coloring, making remarkable progress in different models, coming close to optimal algorithms in a number of cases (see, e.g., [9, 1, 11, 2, 3] for classical centralized algorithms, [16, 10, 15] for dynamic algorithms, and [7, 16, 8] for distributed algorithms). We will study (∆ + 1)-edge coloring in the CONGEST model [32], one of the two standard models for distributed algorithms. Until now, research on distributed algorithms for (∆ + 1)edge coloring has focused on the more lenient LOCAL model [29]. While it has been known for almost a decade that (∆ + 1)-edge coloring requires Ω(log n) rounds deterministically and Ω(log log n) rounds randomized [14], obtaining LOCAL algorithms coming remotely close to these bounds remained elusive until a breakthrough result by Bernshteyn showed

2

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

that (∆ + 1)-edge coloring can be solved deterministically in poly(∆, log n) rounds [7]. Subsequently, Christiansen [16] improved the runtime to Õ(poly(∆) log6 n) rounds1 , which was further improved by Bernshteyn and Dhawan [8] to the current state of the art of Õ(poly(∆) log5 n) rounds. Bernshteyn and Dhawan also provided the best currently known randomized (∆ + 1)-edge coloring algorithm, which has a runtime of O(poly(∆) log2 n) rounds. On graphs with sufficiently small maximum degree—in particular on constant-degree graphs, which constitute an exceptionally well-studied graph class in the LOCAL model— the aforementioned deterministic algorithms are only polynomially slower than the mentioned lower bound, making them reasonably efficient and justifying the focus on runtimes of the form poly(∆, log n) and on improvements in the exponent in the poly(log n)-part of the runtime. Unfortunately, all of these algorithms make use of large messages, rendering them infeasible in the more restrictive CONGEST model and raising the following natural question. ▶ Question 1. Can one obtain deterministic algorithms in the CONGEST model that are similarly efficient as the best known deterministic LOCAL algorithms for (∆ + 1)-edge coloring?

1.1

Our Contributions

We answer Question 1 in the positive by proving the following theorem. ▶ Theorem 1. There exists an Õ(poly(∆) · log5 n)-round deterministic CONGEST algorithm for (∆ + 1)-edge coloring. Our result yields the first randomized or deterministic algorithm for (∆ + 1)-edge coloring in the CONGEST model with only a polynomial dependency on ∆ and a polylogarithmic dependency on n, matching the breakthrough result Bernshteyn achieved in the LOCAL model [7]. Moreover, our dependency of Õ(log5 n) on the number n of vertices matches the best published dependency in the LOCAL model [8], despite our result being achieved in the more restrictive CONGEST model. We would like to note that combining the randomized result from [8] with the state-of-the-art network decomposition algorithm in the LOCAL model [21] and a well-known derandomization argument [22] would improve the n-dependency in the LOCAL model to Õ(log4 n). However, as current research seems to be far from understanding how a similar generic derandomization result could hold in the CONGEST model, there is little hope to extend this approach to the CONGEST model. We also obtain the following simple corollary of Theorem 1, providing the state-of-the-art complexity in the CONGEST model for graphs of constant maximum degree, a graph class that has been the focus of an abundance of works in the field of distributed algorithms. ▶ Corollary 2. On constant-degree graphs, (∆+1)-edge coloring can be solved deterministically in Õ(log5 n) rounds in the CONGEST model. In particular, on constant-degree graphs, Corollary 2 reduces the gap between the best known upper bound and the best known lower bound of Ω(log n) rounds [14] (which already holds on constant-degree graphs) to being polynomial.

1

Throughout the paper, we will use Õ(·) to hide factors that are at most polylogarithmic in the argument.

S. Brandt, A. Narayanan and A. Nolin

Our algorithm combines methods from known LOCAL algorithms for (∆ + 1)-edge coloring with novel ideas. To contrast our approach with the approaches taken in previous work (in the LOCAL model), we start by giving a high-level overview of the latter. Inner workings of recent distributed algorithms for (∆ + 1)-edge coloring. State-of-theart LOCAL algorithms for computing a (∆ + 1)-edge coloring all follow the same outline: construct a set of mutually disjoint augmenting subgraphs called multi-step Vizing chains for a large enough fraction of uncolored edges, extend the current coloring to these uncolored edges by recoloring edges within the augmenting subgraphs, and repeat until no uncolored edge remains. Informally speaking a multi-step Vizing chain is a concatenation of multiple Vizing chains, while a Vizing chain is the union of a star and a path on which the edges’ colors can be shifted while keeping the partial coloring correct. The path part of a Vizing chain is typically bichromatic, i.e., its edges are colored by two alternating colors. For precise definitions, we refer the reader to Section 2. The aforementioned set of mutually disjoint multi-step Vizing chains for a large fraction of the uncolored edges is found in different ways in previous works [7, 16, 8]. In [7, 8], the authors construct multi-step Vizing chains with the help of randomization. For each uncolored edge e, they progressively build a Vizing chain edge by edge, similar to the construction in the classic proof of Vizing’s theorem [33], starting with a star centered on an endpoint of e and then following a bichromatic path adjacent to the star. While the classic proof of Vizing’s theorem follows the bichromatic path until its end, at which point the star and path can be recolored to extend the partial coloring to e, an efficient distributed algorithm cannot afford to follow arbitrarily long paths. Instead, whenever the length of a Vizing chain’s bichromatic path exceeds a certain threshold, the path is truncated. More precisely, a vertex on the bichromatic path constructed so far is chosen at random and is set as the endpoint of the first Vizing chain. A new Vizing chain is then constructed starting from this endpoint, adding a new step to the multi-step Vizing chain. This process of truncating and growing the next Vizing chain is iterated until the concatenation of the computed Vizing chains is “terminating”. That is, until the obtained multi-step Vizing chain can be recolored in a way that extends the current partial coloring to the uncolored edge e from which the multi-step Vizing chain was started Each operation of starting a new Vizing chain from the truncated path of the last chain is an additional “step” of the multi-step Vizing chain. The authors showed that, with sufficiently large probability, O(log n) steps suffice to obtain a terminating multi-step Vizing chain, i.e., one that can be used to color an extra edge in the graph. The random truncation performed at each step limits the size of the built multi-step Vizing chains, which is crucial to obtain an efficient distributed algorithm. Moreover, they showed that when performing the same process for all the uncolored edges in parallel, each multi-step Vizing chain intersects with only few other multi-step Vizing chains in expectation. As a result, basic random sampling within the set of multi-step Vizing chains suffices to find a set of mutually disjoint multi-step Vizing chains that is large in expectation. Shifting colors along all these mutually disjoint chains colors a large fraction of the uncolored edges in expectation. Repeating the process enough times colors all the edges in the graph with high probability. To get a deterministic algorithm, they use a standard distributed derandomization technique using the method of conditional expectations and graph network decompositions. In [16], Christiansen follows the same overall approach, but without using any randomization. Recall that the other works made use of randomness during the chains’ construction for the random truncation, and after construction to find a large set of mutually disjoint

3

4

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

chains within the set of all chains. Although not explicitly phrased in this way, Christiansen’s argument uses a “flooding” approach to construct a multi-step Vizing chain for an uncolored edge e. Their construction of a Vizing chain also starts the same way as in the classic proof of Vizing’s theorem [33]. As previously, they stop the construction of the chain if its bichromatic path is too long. Instead of trimming the chain at a random location on the path as in [7, 8] and starting a new Vizing chain from the truncation point, they consider all the Vizing chains that could originate from all of the bichromatic path’s vertices. They repeat this process O(log n) times, resulting in a very large set of potential multi-step chains for each uncolored edge e. They show that the large set of Vizing chains originating from an uncolored edge e must contain a terminating chain at the end of this process. This process is done for all the uncolored edges in parallel. Unlike in the other works, the process gives no guarantee that a given multi-step Vizing chain of an uncolored edge intersects with the multi-step Vizing chains of only a few others. However, from arguments about the density of the graph, the author is able to show that there exists a large enough maximum independent set of disjoint multi-step Vizing chains. An algorithm for hypergraph maximal matching is used to compute a large enough approximation of this maximum independent set. This gives a deterministic procedure to color a large enough fraction of the uncolored edges.

Our approach. Running the above algorithms as they are in the CONGEST model is unfeasible, as they use large messages across multiple parts. In [7, 8], derandomizing the algorithm using the method of conditional expectation is difficult since the randomness of all the vertices which are within O(log n) distance from each other might be correlated. Hence the method of conditional expectation does not work well in polylogarithmic time. It is also difficult to use k-wise independence since the random variables they use in the analysis would need to be Ω(log n)-wise independent at the very least. In [16], the initial difficulty comes in trying to construct a multi-step Vizing chain for all the uncolored edges in parallel which requires potentially very large messages. The second difficulty comes from the fact that hypergraph maximal matching is not feasible in the CONGEST model with the current algorithms especially when the rank of the hypergraph is of order poly(∆, log n). Our approach mirrors that of Christiansen [16], who showed for the first time that for every uncolored edge e under a proper partial (∆ + 1)-edge coloring, there exists a poly(∆) log nsized multi-step Vizing chain which can be recolored to extend the partial coloring to e, i.e., a poly(∆) log n-sized augmenting subgraph. Similar to the density argument used in their proof, we use a “selective flooding” approach to construct a multi-step Vizing chain for every uncolored edge in parallel. We also start our construction of a Vizing chain as in the classic proof of Vizing’s theorem [33]. We stop following the bichromatic path beyond a certain length. Instead of constructing a Vizing chain from all of the points on the bichromatic path, we use a carefully chosen large enough subset of the points on this bichromatic path and construct a Vizing chain from these points. We repeat this process O(log n) times. Limiting the number of new Vizing chains we consider as extensions of existing multi-step Vizing chains helps us control the number of messages that need to go through any given edge at various points in our algorithm. We use a similar analysis as in [16] to show that this process finds a terminating multi-step Vizing chain for every uncolored edge. Moreover, our algorithm ensures that the multi-step Vizing chain of an uncolored edge intersects with only few other multi-step Vizing chains. This bound on the number of intersections that each chain can have with other chains allows us to find a large enough set of mutually disjoint multi-step Vizing chains without relying on an algorithm for hypergraph maximal matching, and to instead use an algorithm for computing large independent sets.

S. Brandt, A. Narayanan and A. Nolin

With each multi-step Vizing chain intersecting at most poly(∆) log2 n other chains, there necessarily exists an independent set of multi-step Vizing chains containing at least a 1/(poly(∆) log2 n)-fraction of all chains. Notably, any maximal independent set is at least this large. To compute an independent set containing at least this many multi-step Vizing chains, we leverage recent results from the literature on computing independent sets and colorings in the CONGEST model [19, 6]. Finding a large independent set of multi-step Vizing chains corresponds to computing an independent set over a virtual graph whose nodes are the selected multi-step Vizing chains and whose edges represent intersections of the chains. Simulating a round of communication over this virtual graph requires multiple rounds of communication over the communication network G. Direct simulation of the rounding-based algorithm from [19] would compute the independent set we need in Õ(poly(∆) log3 n) rounds. We shave off an O(log n)-factor using that if starting with a coloring, the algorithm works with smaller messages the less colors are used by the coloring. We compute a poly(∆, log n)coloring of the virtual graph prior to computing the independent set, using a variant of Linial’s classic coloring algorithm adapted to coloring graphs other than the communication network itself [29, 6]. Having found a set of independent multi-step Vizing chains containing at least a 1/(poly(∆) log2 n)-fraction of all the chains we built, shifting colors along those chains reduces the set of uncolored edges by the same fraction. Repeating this process poly(∆) log3 n times ensures that no uncolored edge remains in the graph.

1.2

Further Related Work

A fundamental distinction for edge coloring problems in the LOCAL and CONGEST models comes from the number of colors allowed: If 2∆ − 1 colors are allowed, then a proper edge coloring can be found deterministically in O(log∗ n + f (∆)) rounds for some function f (see, e.g., [24, 31, 5]) whereas already (2∆ − 2)-edge coloring has a randomized lower bound of Ω(log∆ log n) rounds and a deterministic lower bound of Ω(log∆ n) rounds [14] (already on constant-degree graphs in the LOCAL model). The best currently known deterministic upper bounds for the complexity of (2∆ − 1)-edge coloring in the LOCAL model are O(log∗ n + log12 ∆) rounds for complexities of the form mentioned above (where randomness is known not to help) [4] and Õ(log5/3 n) rounds for complexities as a function of n [21]. An algorithm of complexity O(log2 ∆ log n) is also known [23]. In the CONGEST model, the state-of-the-art deterministic complexities are provided by the O(log∗ n + ∆)-round algorithm from [5] and the Õ(log2.5 n + log2 ∆ log n)round algorithm from [12]. For randomized algorithms, the best known complexities are Õ(log5/3 log n) rounds in the LOCAL model [21] and O(log4 log n) rounds in the CONGEST model [27]. For sub-(2∆−1)-edge coloring, recent years have seen a variety of new algorithms with the following state-of-the-art runtimes depending on the number of allowed colors (beyond the (∆ + 1)-edge coloring results already discussed). For 2∆ − 2 colors, [28] provides a reduction from (2∆ − 2)- to (2∆ − 1)-edge coloring resulting in deterministic LOCAL algorithms with runtimes of Õ(log5/3 n), O(log2 ∆ log n), and O(log12 ∆ + log n) rounds deterministically and Õ(log5/3 log n), O(log2 ∆ log log n), and O(log12 ∆ + log log n) rounds randomized. For 3/2 · ∆ colors, [13] gives a deterministic LOCAL algorithm with runtime O(∆2 log n) rounds; for (3/2 + ε) · ∆ colors (for any ε > 0), [30] provides a deterministic LOCAL algorithm with √ runtime O(ε−1 log2 ∆ log n + ε−2 log n) rounds. For (1 + ε) · ∆ + Θ( log n) colors (for any constant ε > 0), [12] provides an O(log2 n) + Õ(log2 ∆ log n)-round deterministic LOCAL algorithm. The Õ(log2.5 n+log2 ∆ log n)-round deterministic CONGEST algorithm from that

5

6

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST √ work (mentioned above for 2∆ − 1 colors) also works down to (1 + ε) · ∆ + Θ( log n) colors. For (1 + ε) · ∆ colors (for any constant ε > 0), [26] provides an O(poly(log log n))-round randomized CONGEST algorithm, as long as ∆ is larger than a certain constant. Earlier works [18, 27] also showed (1 + O(1))∆-edge coloring to admit O(log∗ n)-round randomized 1+Ω(1) algorithms in both LOCAL and CONGEST when ∆ n. For (1 + ε) · ∆ colors √ ∈ log 2.5 (though now under the restriction ε ∈ ω((log ∆)/ ∆), [17] gives a randomized LOCAL algorithm with runtime O(poly(1/ε, log log n)) rounds. The same work also provides an O(poly(log log n))-round randomized LOCAL algorithm for (∆ + o(∆))-edge coloring. For an overview including earlier edge coloring algorithms (with a focus on the LOCAL model), see also the excellently written [28, Section 1.3].

2

Preliminaries

Graph-theoretic notation. The input graph G is a finite simple undirected graph. For a graph G, we will use V (G) and E(G) to denote the set of vertices and the set of edges of G, respectively. We will use n to denote the number of vertices of a considered graph, i.e., n := |V (G)|, and ∆ to denote its maximum degree. We assume throughout that ∆ ≥ 2; if ∆ ≤ 1, then G is a matching and coloring every edge with the same color is a proper (∆ + 1)-edge coloring. We denote the distance between vertices x and y in G by dG (x, y). For a vertex x and a positive integer i, we define N i (x) := {v ∈ V (G) | 1 ≤ dG (v, x) ≤ i} and S N (x) := N 1 (x). For X ⊆ V (G) and a positive integer i, we set N i (X) := x∈X N i (x) and N (X) := N 1 (X). Define N i [x] := N i (x) ∪ {x} and N i [X] := N i (X) ∪ X. Set N [x] := N 1 [x] and N [X] = N 1 [X]. For an edge subset E ′ ⊆ E(G), we denote by V (E ′ ) the set of vertices in the subgraph induced by the edges in E ′ . If E ′ = {e} for some edge e, we may write V (E ′ ) simply as V (e). Model of computation. The model of computation we consider in this work is the standard (deterministic) CONGEST model of distributed computation. In the CONGEST model, each vertex of the input graph is considered as a computational entity, while edges are communication links over which the vertices (or the corresponding entities) communicate. Time in the CONGEST model is split into synchronous rounds where in each round each vertex can send a message of O(log n) bits over each edge and, after receiving the messages sent by its neighbors in the same round, perform any arbitrarily complex computation on the information it has gathered up to this point. Each vertex has to decide at some point to terminate; when a vertex terminates, it outputs its local part of the global solution and does not take part in any further sending of messages. For our problem of (∆ + 1)-edge coloring, when terminating each vertex has to output the color of each incident edge such that neighboring vertices agree on the color of the connecting edge. Initially each vertex is aware of its own degree and the number of vertices in the graph as well as the value of ∆ (which is required for each vertex to know the number of allowed colors). Each vertex v is also equipped with a globally unique O(log n)-bit identifier ID(v). To simplify some of our arguments, we will also assign identifiers to edges: for each edge e = uv ∈ E(G), let ID(e) := (min{ID(u), ID(v)}, max{ID(u), ID(v)}), so that both endpoints of e infer the same identifier for it. Note that each vertex can infer the identifiers of its incident edges in one round of communication (and that the edge identifiers are globally unique and of size O(log n) bits). The runtime or complexity of an algorithm is the time until the last vertex terminates; the complexity of a problem is the runtime of an optimal algorithm. Our objective is to improve

S. Brandt, A. Narayanan and A. Nolin

the state-of-the-art upper bound on the worst-case complexity of (∆ + 1)-edge coloring as a function of n. While our results are obtained in the CONGEST model, at times we will also refer to the (stronger) LOCAL model of distributed computation. The LOCAL model is simply the CONGEST model without any restriction on the size of the messages sent, i.e., vertices may send arbitrarily large messages to each other (though still only one per edge per round). We will also refer to the CONGEST(B) model, which is the same as the CONGEST model except that the upper bound for each message is B bits instead of Θ(log n) bits. We will make use of the following simple observation throughout the paper. ▶ Observation 3. A T -round CONGEST(B) algorithm can be simulated in the CONGEST B model in O(⌈ log n ⌉ · T ) rounds.

2.1

Chains and Shifts

Next we define some standard objects considered in the context of (∆ + 1)-edge coloring. Let χ be a proper partial (∆ + 1)-edge coloring of G for the remainder of this paper unless indicated otherwise. We will write χ(e) = ¬ to indicate that an edge e is uncolored under χ. A color c ∈ [(∆ + 1)] is called available (under χ at v) if no edge adjacent to v is colored c under χ. We denote the set of available colors at v under χ by A(v, χ). In case χ is clear from the context, we may omit the argument. Consider two adjacent edges f, g ∈ E(G) in a graph G under χ. Then we define another (not necessarily proper) partial edge coloring Shift(χ, f, g) by setting:   if e = f  χ(g) Shift(χ, f, g)(e) = ¬ if e = g   χ(e) if e ∈ / {f, g} We call such a pair (f, g) of adjacent edges χ-shiftable if χ(f ) = ¬, χ(g) ̸= ¬, and Shift(χ, f, g)(e) is a proper partial edge coloring. In case the coloring χ is clear from the context, we may omit that argument. A chain C under χ of length k ≥ 1 is a tuple of edges C = (e1 , . . . , ek ) such that ei and ei+1 are adjacent for all 1 ≤ i ≤ k − 1 and χ(ei ) = ¬ iff i = 1. For 0 ≤ i ≤ k − 1, we define partial colorings Shifti (χ, C) via Shift0 (χ, C) := χ, and Shifti (χ, C) := Shift(Shifti−1 (χ, C), ei , ei+1 ). We may not specify χ when we refer to the chain C if χ is clear from the context. We say that C is χ-shiftable if every pair of edges (ei , ei+1 ) is Shifti−1 (χ, C)-shiftable. We will abuse notation slightly and write Shiftk−1 (χ, C) as Shift(χ, C). Note that a chain of length 1 is just an uncolored edge and is χ-shiftable by definition. Figure 1 illustrates the effect of shifting a chain. For two chains C1 = (e1 , e2 , . . . , ek ) and C2 = (f1 , f2 , . . . , fq ) satisfying ek = f1 , we define the concatenation C1 + C2 of C1 and C2 as C1 + C2 := (e1 , e2 , . . . , ek = f1 , f2 , . . . fq ). If C1 is χ-shiftable and C2 is Shift(χ, C1 )-shiftable, then C1 + C2 is a χ-shiftable chain since Shift(χ, C1 + C2 ) = Shift(Shift(χ, C1 ), C2 ). The initial segment of length r of a chain C is the chain C|r := (e1 , . . . , er ). Note that if C is χ-shiftable, C|r is also χ-shiftable. If r is greater than the number of edges in C, then C|r is defined as C itself.

7

8

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

Shift

c1 c3

c2

χ

c4

c2 c1

c3

c4

Shift(χ, C)

Figure 1 Shifting a chain C = (e1 , . . . , ek ); dashed edges are uncolored. Every colored edge of C hands its color to the preceding edge, so that e1 receives χ(e2 ) and ek becomes uncolored.

We may refer to chain C = (e1 , e2 , . . . , ek ) as chain C on e1 to emphasize the first edge in the chain. Moreover, we call a chain C simple if all edges in C are distinct. A chain C may be considered as a subgraph of G in the natural way. Accordingly, we may use notation such as V (C), E(C), or dC (x, y).

2.2

Types of Chains

We define two basic types of chains—fan chains and path chains (under the proper partial coloring χ). The following definitions are virtually the same as in [7, 8, 16]. Fan chains. We define a fan chain (or simply a fan), on an uncolored edge e = xy. A fan chain F on e is a simple chain (xy = xz1 , . . . , xzk ) such that χ(xzi+1 ) ∈ A(zi ) for all 1 ≤ i ≤ k − 1.2 We say χ(xzi+1 ) is the representative available color at zi in F . We call x the center of the fan chain. We will denote x as cen(F ) and zk as vEnd(F ). Note that one can similarly define a fan chain F on e with y as the center. We will also select an arbitrary color from A(vEnd(F )) as the representative available color at vEnd(F ). If this representative available color is also available at x or if it is the representative available color for some zj with j < k, then we say that the fan is maximal. See Figure 2 for an illustration of a fan chain. Path chains. A trail P is a tuple of edges P = (e1 , e2 , . . . , ek ) such that ei ̸= ej for 1 ≤ i < j ≤ k, and ei and ei+1 are adjacent for 1 ≤ i ≤ k − 1. We call k the length of P . We say P starts at vertex x if x ∈ V (e1 ) and x ∈ / V (e1 ) ∩ V (e2 ) and we denote x as vStart(P ). We say P ends at vertex x if x ∈ V (ek ) and x ∈ / V (ek ) ∩ V (ek−1 ) and we denote x as vEnd(P ); for k = 1, which endpoint of e1 is vStart(P ) and which is vEnd(P ) is part of the trail. Similarly, we say P starts on edge e1 and ends at edge ek , and we denote e1 and ek as eStart(P ) and eEnd(P ) respectively. A trail P is a path if its vertices are pairwise distinct, i.e., if there are pairwise distinct vertices v0 , . . . , vk with ei = vi−1 vi for 1 ≤ i ≤ k; then vStart(P ) = v0 and vEnd(P ) = vk . For vertices u, v visited by P , we write dP (u, v) for the number of edges P traverses between its first visits to u and to v. We denote the prefix (e1 , e2 , . . . er ) of P as P |r, the trail (e2 , . . . ek ) as tail(P ), and the reversed trail (ek , . . . , e1 ) as rev(P ); if P is a path, then so is each of these. Suppose P1 = (f1 , . . . fp ) and P2 = (g1 , . . . , gq ) such that (f1 , . . . fp , g1 , . . . gq ) is a trail, say P3 , then we write P3 = P1 + P2 . For α, β ∈ [∆ + 1], α ̸= β, we say P is an (α, β)-bichromatic path or equivalently a (β, α)-bichromatic path if P is a path consisting only of edges colored with colors from {α, β}. We say that an (α, β)-bichromatic path is maximal if, for endpoints x

2

The intuition behind this definition is that the property χ(xzi+1 ) ∈ A(zi ) guarantees that F is χ-shiftable.

S. Brandt, A. Narayanan and A. Nolin

9

z3

z3 η2

z2

Shift

zk−1

··· ηk−2

η1

zk−1

··· η3

z2

ηk−1

η2

zk = vEnd(F )

zk

ηk−1 z1 = y

x = cen(F ) χ

z1 = y

η1

x Shift(χ, F )

Figure 2 Shifting a fan chain F = (xz1 , . . . , xzk ) on the uncolored edge e = xy, centered at x = cen(F ) and ending at zk = vEnd(F ); dashed edges are uncolored. The color ηi = χ(xzi+1 ) of the edge xzi+1 is the representative available color at zi , which is what makes F shiftable: shifting moves ηi onto xzi for every i < k and leaves xzk uncolored.

and y of P , |A(x) ∩ {α, β}| = 1 and |A(y) ∩ {α, β}| = 1. We say that P is an x-maximal (α, β)-bichromatic path if x is an endpoint of P and |A(x) ∩ {α, β}| = 1. Since χ is proper, the subgraph formed by the edges colored α or β has maximum degree at most 2, so each of its components is a path or a cycle. This yields the following observation. ▶ Observation 4. Let α = ̸ β and let x be a vertex with |A(x, χ) ∩ {α, β}| = 1. Then there is a unique maximal (α, β)-bichromatic path under χ having x as an endpoint, namely the component of x in the subgraph formed by the edges colored α or β under χ. We say vertices x and y are (α, β)-related (or equivalently (β, α)-related) under χ if there exists an (α, β)-bichromatic path under χ between x and y. We say vertices x and y are P -related if x and y are vertices on P . We now define the notion of path chains. We emphasize that unlike fan chains which may be referred to as fans as well, a path chain and a path are defined differently. A tuple of edges P = (e1 , e2 , . . . ek ) is a path chain under χ if P is a simple chain under χ and P is a path in the graph G. We define the length or size of a path chain P = (e1 , . . . , ek ) as k. An (α, β)-bichromatic path chain is a path chain P = (e1 , . . . , ek ) such that χ(e1 ) = ¬, χ(e2 ) = χ(e4 ) = · · · = α, χ(e3 ) = χ(e5 ) = · · · = β, α ∈ A(x), and β ∈ A(y), where x := vStart(P ) and y is the other endpoint of e1 . For k ≥ 2 this means that x is the endpoint of e1 not contained in e2 and that y is the endpoint shared with e2 ; for k = 1 we have y = vEnd(P ), so that x and y are determined by the orientation of e1 , which is part of the path chain. To indicate the initial edge and the vertex shared between the first two edges of P , we refer to P as the (α, β)-bichromatic path chain on (e1 , y). We write vEnd(P ) and eEnd(P ) for the last vertex and the last edge of P , and vStart(P ) = x and eStart(P ) = e1 for the first vertex and the first edge of P . We say P is maximal under χ if {α, β} ∩ A(vEnd(P ), χ) ̸= ∅. We may refer to tail(P ) as the bichromatic part of the path chain. Note that tail(P ) = ∅ in case P is a bichromatic path chain of length 1. We say a path chain P is a bichromatic path chain if it is an (α, β)-bichromatic path chain for some α, β ∈ [∆ + 1] satisfying α ̸= β. Figure 3 depicts a bichromatic path chain. We continue by collecting some observations that follow immediately from the definitions. ▶ Observation 5. A bichromatic path chain as well as a fan chain are χ-shiftable. Any initial segment of a path chain or a fan chain is χ-shiftable as well.

10

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

x = vStart(P ) χ

y α

α ∈ A(x)

e1

v2

β

v3

···

vk−1

vk = vEnd(P ) β ek

β ∈ A(y) tail(P ) Shift

Shift(χ, P )

x

α

y

β

v2

α

v3

···

vk−1

vk

Figure 3 Shifting an (α, β)-bichromatic path chain P = (e1 , . . . , ek ) on (e1 , y); dashed edges are uncolored. Under χ the first edge e1 = xy is uncolored and the colors of the remaining edges alternate between α and β, where α is available at x and β is available at y; this is what makes P shiftable. Shifting moves the color of ei+1 onto ei for every i < k and leaves ek uncolored. The bichromatic part tail(P ) is a bichromatic path, and P is maximal if {α, β} ∩ A(vEnd(P )) ̸= ∅.

▶ Observation 6. Let F = (xz1 , . . . , xzk ) be a fan chain under χ, and for 1 ≤ i ≤ k − 1 let ηi be the representative available color at zi in F . Then, A(x, χ) = A(x, Shift(χ, F )), A(vEnd(F ), χ) ⊆ A(vEnd(F ), Shift(χ, F )), and A(zi , χ) \ {ηi } ⊆ A(zi , Shift(χ, F )) for 1 ≤ i ≤ k − 1, and A(v, χ) = A(v, Shift(χ, F )) for every v ∈ / V (F ). ▶ Observation 7. Let P = (v1 v2 , v2 v3 , . . . , vi−1 vi ) be a bichromatic path chain under χ. Then A(vr , χ) = A(vr , Shift(χ, P )) if 3 ≤ r ≤ i − 2. We now define a useful type of chain called a (1-step) Vizing Chain, obtained by concatenating a fan chain and a path chain. ▶ Definition 8. A Vizing chain, or equivalently a 1-step Vizing chain, on an uncolored edge e = xy under a proper partial coloring χ of G is a χ-shiftable chain F + P , where F is a fan chain centered at x and P is a bichromatic path chain on (xvEnd(F ), vEnd(F )) (possibly of length 1) under Shift(χ, F ). If we concatenate multiple Vizing chains, we obtain the notion of i-step Vizing chains. ▶ Definition 9. An i-step Vizing chain under a proper partial coloring χ of G is a χshiftable chain C of the form F1 + P1 + F2 + P2 + · · · + Fi + Pi , where F1 + P1 is a Vizing chain under χ, and for each 2 ≤ j ≤ i, Fj + Pj is a Vizing chain on eEnd(Pj−1 ) under Shift(χ, F1 + P1 + · · · + Fj−1 + Pj−1 ). Moreover, if the length of each Pj is at most ℓ + 1, we call C an i-step Vizing chain of step length ℓ. We say C is terminating if the endpoints of eEnd(Pi ) share an available color under Shift(χ, C). Note that for 1 ≤ j ≤ i, tail(Pj ) is a bichromatic path under Shift(χ, F1 + P1 + · · · + Fj−1 + Pj−1 + Fj ). Figure 4 shows a 2-step Vizing chain and the effect of shifting it. The following observation gives a sufficient condition for an i-step Vizing chain to be terminating. ▶ Observation 10. Consider an i-step Vizing chain C = F1 + P1 + · · · + Fi + Pi under χ for i ≥ 1. If Pi is a maximal bichromatic path chain under Shift(χ, F1 + P1 + · · · + Fi ), then C is terminating. Proof. If Pi is of length 1, the observation follows trivially from Pi being maximal.

S. Brandt, A. Narayanan and A. Nolin

c5 c4 β

u

F2 c6

11

P2

c6

w γ

δ

γ

δ

c5

t′

c4

t

α

γ

t′

δ t

β z

e

δ

α

α

y

w

Shift

β

c2 c3

γ

β P1

c1

u

z F1

x

y χ

c2 c1

c3

α

x Shift(χ, C)

Figure 4 A 2-step Vizing chain C = F1 + P1 + F2 + P2 on the uncolored edge e = xy, and the coloring obtained by shifting it; dashed edges are uncolored. The fan F1 is centered at x and ends at z = vEnd(F1 ); the (α, β)-bichromatic path chain P1 continues from z and ends at u = vEnd(P1 ); the fan F2 is a fan on eEnd(P1 ) centered at u and ends at w = vEnd(F2 ); and the (γ, δ)-bichromatic path chain P2 closes the chain with eEnd(P2 ) = tt′ . The edges drawn in muted tones carry the representative available colors c1 , . . . , c6 of the two fans. Shifting C moves the color of every edge of C onto its predecessor, so that e becomes colored and tt′ becomes uncolored; C is terminating if t and t′ share an available color under Shift(χ, C).

Now, let ek−1 and ek = eEnd(Pi ) be the last two edges of Pi , and let vk and vk+1 = vEnd(Pi ) be its last two vertices. Let α and β be the colors s.t. Pi is (α, β)-bichromatic under χ′ = Shift(χ, F1 + P1 + · · · + Fi−1 + Pi−1 + Fi ), and without loss of generality, let us assume that χ′ (ek ) = α and χ′ (ek−1 ) = β. If Pi is maximal under χ′ , then |A(vk+1 , χ′ ) ∩ {α, β}| = 1 since eEnd(Pi ) is colored α, β ∈ A(vk+1 , χ′ ). As we shift the entire chain C, and notably the last two edges on the path Pi , the color β becomes available at vk . This is because the two edges incident on vk that change color in the shift, ek−1 and ek , change color from β to α and become uncolored, respectively. The color β is therefore available on both endpoints of ek = eEnd(Pi ) after the shift, making C terminating. ◀ Note that the converse is not true: the last path in a terminating chain C is not necessarily maximal. For example, this is the case if the endpoints of the last edge on C have an available color in common simply from their incident edges being mostly uncolored. Observation 10 provides a conceptually simple recipe for extending a partial coloring to an uncolored edge e: find a terminating Vizing chain on e, apply the natural shift along the Vizing chain (which in particular colors e and uncolors the last edge of the chain), and color the last edge of the chain with some color available at both endpoints (whose existence is guaranteed by the fact that the Vizing chain is terminating). In particular, we obtain the following observation. ▶ Observation 11. Consider an i-step Vizing chain C = F1 + P1 + · · · + Fi + Pi on e under χ for i > 0. Suppose C is terminating with α ∈ A(Shift(χ, C), x) ∩ A(Shift(χ, C), y) where xy = eEnd(Pi ). Then the coloring χ′ defined by   if f ∈ E(C) \ {eEnd(Pi )}  Shift(χ, C)(f ) ′ χ (f ) = α if f = eEnd(Pi )   χ(f ) otherwise

12

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

is a proper partial (∆ + 1)-edge coloring. For i ≥ 1, we may refer to an i-step Vizing chain as a multi-step Vizing chain as well. Now, consider an i-step Vizing chain C = F1 + P1 + · · · + Fj + Pj on e. If ej is the last edge of Pj−1 and C is clear from the context, we may refer to Fj + Pj as the Vizing chain on ej since Fj + Pj is a Vizing chain on ej under Shift(χ, F1 + P1 + · · · + Fj−1 + Pj−1 ). We restrict our focus to chains of the form F1 + P1 + F2 + P2 + · · · + Fi + Pi with the property that the chain does not “self-intersect”. The notion of this self-intersection is captured by chains defined as self-avoiding i-step Vizing chains. ▶ Definition 12. Consider an i-step Vizing chain C = F1 + P1 + · · · + Fi + Pi under χ. We call C self-avoiding if 1. for all 1 ≤ k ≤ i − 1, we have E(Pk ) ∩ E(Fk+1 + Pk+1 ) = {eEnd(Pk )}, 2. for all m, k satisfying 3 ≤ m + 2 ≤ k ≤ i, we have V (Fm + Pm ) ∩ V (Fk + Pk ) = ∅, 3. for all 1 ≤ k ≤ i − 1, we have V (Fk ) ∩ V (Fk+1 ) = ∅, and 4. for all 1 ≤ k ≤ i, we have that cen(Fk ) and vEnd(Fk ) are not tail(Pk )-related. (In case tail(Pk ) = ∅, they are trivially not related.) Note that by the definition of a self-avoiding i-step Vizing chain C = F1 +P1 +· · ·+Fi +Pi , E(Fm−1 + Pm−1 ) and E(Fm + Pm ) intersect, but only in eEnd(Pm−1 ) for all 1 < m ≤ i. Moreover edges of Fk +Pk and Fm +Pm do not intersect (even in vertices) if 3 ≤ m+2 ≤ k ≤ i. Hence edges in C are not repeated and C is a simple chain. Although C does not intersect itself in edges, it may intersect itself in vertices although only in restricted ways. If k ̸= m for 1 ≤ k, m ≤ i, Fk and Fm do not intersect each other even in vertices. Two paths Pk and Pm with k ≤ m can intersect in vertices only if m − 1 = k. Similarly a path Pk and a fan Fm can intersect only if k ∈ {m − 1, m}. Note that for any multi-step Vizing chain C, a vertex not in V (C) has the same set of available colors under χ and Shift(χ, C). If C is also self-avoiding, almost all vertices in V (C) that are not part of a fan chain also have this property. We collect these insights in the following observation. ▶ Observation 13. Let C = F1 + P1 + · · · + Fi + Pi be a self-avoiding i-step Vizing chain on Si e. Assume v ∈ V (G) \ ( k=1 V (Fk )) ∪ V (eEnd(Pi )) . Then, A(v, χ) = A(v, Shift(χ, C)). Proof. By assumption, v belongs to no fan of C, and it is not an endpoint of eEnd(Pk ) for any k. Indeed, if k < i, then eEnd(Pk ) ∈ E(Fk+1 ); and if k = i, this follows from v∈ / V (eEnd(Pi )). Consequently, every edge of C incident with v is an interior edge of some bichromatic part tail(Pk ). Thus, the edges of C incident with v can be grouped into consecutive pairs ej , ej+1 , where each pair lies in the same bichromatic part. Since such a part alternates between two colors, we have χ(ej+2 ) = χ(ej ). After shifting, the colors on ej and ej+1 at v change from χ(ej ), χ(ej+1 ) to χ(ej+1 ), χ(ej+2 ), that is, to χ(ej+1 ), χ(ej ). Hence the same set of colors is used at v before and after the shift. Therefore, A(v, ·) remains unchanged. ◀ We will now state two lemmas that will be useful for constructing fan chains with certain properties. The first lemma appeared as part of a proof of Vizing’s theorem in [33]. We rephrase it to our setting. ▶ Lemma 14. Let χ be a proper partial edge coloring, and let e = xy be an uncolored edge. Assume x knows A(z) for z ∈ N [x]. Then vertex x can internally construct a fan F = (xz1 = xy, xz2 , . . . , xzp ) on e under χ such that exactly one of the following properties hold.

S. Brandt, A. Narayanan and A. Nolin

1. (Common-color property.) A(x) ∩ A(zp ) ̸= ∅, or 2. (Repeated-color property.) A(x) ∩ A(zi ) = ∅ for every i ∈ [p], and there exist distinct colors α, β ∈ [∆ + 1] with 1 ≤ q < p such that α ∈ A(x, χ) and the representative available color at both zp and zq is β. Proof. A fan cannot have both the common-color property and the repeated-color property, since the former asks for A(x) ∩ A(zp ) ̸= ∅ while the latter asks for A(x) ∩ A(zi ) = ∅ for every i ∈ [p]. Hence it suffices to construct a fan satisfying at least one of them. Fix a color α ∈ A(x), which exists since e is uncolored. Vertex x sets z1 := y and then, for i = 1, 2, . . . , having already chosen z1 , . . . , zi and assigned a representative available color to each of z1 , . . . , zi−1 , proceeds according to the first of the following three cases that applies. 1. If A(x) ∩ A(zi ) ̸= ∅, then x finishes the construction with vEnd(F ) = zi , and we set p := i. 2. If some color of A(zi ) \ {α} has already been assigned as the representative available color of zk for some k < i, then x assigns one such color β as the representative available color of zi as well and finishes the construction with vEnd(F ) = zi ; we set p := i and q := k. 3. Otherwise, x assigns an arbitrary color ηi ∈ A(zi ) \ {α} as the representative available color of zi , lets zi+1 be the neighbor of x with χ(xzi+1 ) = ηi , and continues with i + 1. The third case is well defined. It is reached only when A(x) ∩ A(zi ) = ∅, so α ∈ / A(zi ) and hence A(zi ) \ {α} = A(zi ), which is nonempty because zi has at most ∆ incident edges while there are ∆ + 1 colors. Moreover ηi ∈ A(zi ) and A(x) ∩ A(zi ) = ∅ give ηi ∈ / A(x), so x does have a neighbor zi+1 with χ(xzi+1 ) = ηi . The process terminates. The third case assigns to zi a color that is not the representative available color of any zk with k < i, so the colors assigned during the process are pairwise distinct. As there are ∆ + 1 colors in total, the process reaches the first or the second case within ∆ + 1 iterations. Let F = (xz1 , xz2 , . . . , xzp ) be the resulting chain. Its vertices are pairwise distinct: for i ≥ 1 the vertex zi+1 is determined by χ(xzi+1 ) = ηi and the colors η1 , . . . , ηp−1 are pairwise distinct, so zi+1 = ̸ zk+1 whenever i = ̸ k; and zi+1 ̸= z1 , since xz1 = e is uncolored whereas xzi+1 is colored ηi . In particular no edge is repeated in F , so F is a fan chain on e under χ. Finally, we check that F satisfies one of the two properties. If the process stopped in the first case, then A(x) ∩ A(zp ) ̸= ∅, which is the common-color property. If it stopped in the second case, then A(x) ∩ A(zi ) = ∅ for every i ∈ [p], since each of z1 , . . . , zp−1 was passed through the third case and zp was reached without the first case applying. Furthermore α ∈ A(x, χ), the colors α and β are distinct because β ∈ A(zp ) \ {α}, the index q satisfies 1 ≤ q < p, and β is the representative available color of both zp and zq . This is the repeated-color property. ◀ The next lemma has appeared in different forms in [25, 16, 7, 8]. ▶ Lemma 15. Let χ be a proper partial edge coloring, and let e = xy be an uncolored edge. Assume x knows A(z) for z ∈ N [x]. Let α ∈ A(x) and β ∈ A(y). Then x can internally construct a fan F = (xz1 = xy, xz2 , . . . , xzp ) on e under χ such that exactly one of the following properties hold. 1. (Common-color property.) A(x) ∩ A(zp ) ̸= ∅, or 2. (Repeated-color property.) A(x) ∩ A(zi ) = ∅ for every i ∈ [p], and there exist distinct colors γ, δ ∈ [∆ + 1] \ {α, β} and an index q with 1 ≤ q < p such that γ ∈ A(x) and the representative available color at both zp and zq is δ, or

13

14

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

3. (Inherited-color property.) A(x) ∩ A(zi ) = ∅ for every i ∈ [p], zp ̸= y, A(zp ) = {β}, α ̸= β. Proof. We construct a fan F below and then verify that it satisfies exactly one of the three properties. Note that |A(x)| > 1 and |A(y)| > 1, since e = xy is uncolored. Vertex x sets z1 := y and then, for i = 1, 2, . . . , having already chosen z1 , . . . , zi and assigned a representative available color to each of z1 , . . . , zi−1 , proceeds according to the first of the following four cases that applies. 1. If A(x) ∩ A(zi ) ̸= ∅, then x finishes the construction with vEnd(F ) = zi , and we set p := i. 2. If some color of A(zi ) \ {α, β} has already been assigned as the representative available color of zk for some k < i, then x assigns one such color δ as the representative available color of zi as well and finishes the construction with vEnd(F ) = zi ; we set p := i and q := k. 3. If A(zi ) \ {α, β} = ∅, then x finishes the construction with vEnd(F ) = zi , and we set p := i. 4. Otherwise, x assigns an arbitrary color ηi ∈ A(zi ) \ {α, β} as the representative available color of zi , lets zi+1 be the neighbor of x with χ(xzi+1 ) = ηi , and continues with i + 1. The fourth case is well defined. It is reached only when A(zi ) \ {α, β} ̸= ∅, so the color ηi exists. It is also reached only when A(x) ∩ A(zi ) = ∅, so ηi ∈ A(zi ) gives ηi ∈ / A(x), and hence x does have a neighbor zi+1 with χ(xzi+1 ) = ηi . The process terminates. The fourth case assigns to zi a color that is not the representative available color of any zk with k < i, so the colors assigned during the process are pairwise distinct. As there are ∆ + 1 colors in total, the process reaches one of the first three cases within ∆ + 1 iterations. Let F = (xz1 , xz2 , . . . , xzp ) be the resulting chain. Its vertices are pairwise distinct: for i ≥ 1 the vertex zi+1 is determined by χ(xzi+1 ) = ηi and the colors η1 , . . . , ηp−1 are pairwise distinct, so zi+1 = ̸ zk+1 whenever i = ̸ k; and zi+1 ̸= z1 , since xz1 = e is uncolored whereas xzi+1 is colored ηi . In particular no edge is repeated in F , so F is a fan chain on e under χ. We now determine which property F satisfies. If the process stopped in the first case, then A(x) ∩ A(zp ) ̸= ∅, which is the common-color property. In the two remaining cases we have A(x) ∩ A(zi ) = ∅ for every i ∈ [p], since each of z1 , . . . , zp−1 was passed through the fourth case and zp was reached without the first case applying. In particular α ∈ / A(zi ) for every i ∈ [p] because α ∈ A(x), and β ∈ / A(x) because β ∈ A(y) = A(z1 ). Suppose the process stopped in the second case. As |A(x)| > 1 and β ∈ / A(x), we may pick a color γ ∈ A(x) \ {α, β}. The color δ lies in A(zp ) \ {α, β}, so δ ∈ / {α, β}, and γ ̸= δ because γ ∈ A(x), δ ∈ A(zp ) and A(x) ∩ A(zp ) = ∅. Together with 1 ≤ q < p and the fact that δ is the representative available color of both zp and zq , this is the repeated-color property. Suppose instead that the process stopped in the third case, so that A(zp ) ⊆ {α, β}. Since α∈ / A(zp ), and A(zp ) is nonempty because zp has at most ∆ incident edges while there are ∆ + 1 colors, we get A(zp ) = {β}, and in particular α ̸= β. It remains to check that zp ̸= y. The third case cannot apply at i = 1: there α ∈ / A(z1 ) and |A(z1 )| > 1, so A(z1 ) \ {α, β} is nonempty. Hence p ≥ 2 and zp ̸= z1 = y, so the inherited-color property holds. It remains to observe that F cannot satisfy two of the three properties at once. The common-color property is incompatible with each of the other two, since it asks for A(x) ∩ A(zp ) ̸= ∅ while they ask for A(x) ∩ A(zi ) = ∅ for every i ∈ [p]. The repeated-color property

S. Brandt, A. Narayanan and A. Nolin

and the inherited-color property are incompatible as well: the former asserts that the representative available color at zp is a color δ ∈ / {α, β}, and a representative available color at a vertex is by definition available at that vertex, so it gives δ ∈ A(zp ) \ {α, β}; the latter asserts A(zp ) = {β} ⊆ {α, β}. Hence F satisfies exactly one of the three properties. ◀

3

The Algorithm

In this section, we describe our overall algorithm for obtaining Theorem 1. Our algorithm proceeds in iterations, where in each iteration an Ω(1/(poly(∆) log2 n))-fraction of the remaining uncolored edges is colored, while all colored edges remain colored (though they might change their colors). In particular, this implies that after O(poly(∆) log3 n) iterations all edges are colored. Since, after each iteration, the obtained edge coloring is proper, the resulting coloring is a proper (∆ + 1)-edge coloring as desired. Therefore, all we have to do to obtain Theorem 1 is to describe how we can, in Õ(poly(∆) log2 n) rounds, turn any partial (∆ + 1)-edge coloring into another partial (∆ + 1)edge coloring where the set of uncolored edges has shrunk in size by an Ω(1/(poly(∆) log2 n))fraction. We achieve this goal in three steps. The first step is to construct, on each uncolored edge, a terminating self-avoiding multi-step Vizing chain. We describe in Section 3.1 how we construct these chains. The second step is to choose a subset of the set of these Vizing chains such that 1. no two chosen Vizing chains intersect in a vertex and 2. at least an Ω(1/(poly(∆) log2 n))-fraction of all computed Vizing chains is chosen. On a high level, we choose such a subset by computing an independent set on the virtual graph that contains all computed Vizing chains as nodes and has an edge between two nodes if the corresponding Vizing chains intersect in a vertex. In Section 8, we describe this part of our algorithm in detail (and prove that the chosen subset is as desired). The third step is to change the partial coloring by recoloring the edges in the chosen “independent” terminating Vizing chains while still keeping the partial coloring proper. In particular, this includes coloring the uncolored edge at the start of the Vizing chain. We perform the recoloring in the way commonly used for Vizing chains in the literature: each edge in a chosen Vizing chain Ce except for the last edge is colored with the color of the subsequent edge in Ce under the current coloring. Since Ce is terminating, the endpoints of the last edge of Ce will have a common available color after this shifting of colors, which is then assigned to the edge. Since the recoloring of Ce only affects the lists of available colors for the vertices lying on Ce , Property 1 of our selection of Vizing chains guarantees that all those Vizing chains can be recolored at the same time without creating conflicts. Property 2 then guarantees that the number of uncolored edges has decreased additively by a Ω(1/(poly(∆) log2 n))-fraction. Algorithm 1 summarizes the resulting algorithm. Its third line needs no communication beyond what the first line already provides: by Observation 11, every edge of Ce other than the last one takes the color of its successor in Ce , which its endpoints learn while Ce is constructed, and the last edge takes a color available at both of its endpoints.

3.1

Constructing Self-Avoiding Multi-Step Vizing Chains

In this section, we describe the first of the discussed three steps, i.e., the part of our overall algorithm that produces for each uncolored edge e a terminating self-avoiding multi-step Vizing chain on e. We will denote this subroutine by A. Throughout this section, we will

15

16

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

Algorithm 1 The overall algorithm. 1: χ ← the empty partial (∆ + 1)-edge coloring and U ← E(G) 2: while U ̸= ∅ do

construct a terminating self-avoiding multi-step Vizing chain Ce on e, for every e ∈ U ▷ Section 4 compute I ⊆ U with |I| ∈ Ω(|U |/(poly(∆) log2 n)) such that the chains Ce with e ∈ I 4: are pairwise vertex-disjoint ▷ Section 8 5: recolor Ce as in Observation 11, for every e ∈ I in parallel, and set U ← U \ I 6: end while

3:

assume that we are given a partially (∆ + 1)-edge-colored graph G. Let χ denote this partial (∆ + 1)-edge coloring and let ℓ and T be integers to be defined later. We start by providing an informal high-level overview of our subroutine A. As already outlined above, the task of A is to produce a terminating self-avoiding multi-step Vizing chain for each uncolored edge e. Each of these Vizing chains will be of step length ℓ. In the following, we describe how we obtain the desired terminating self-avoiding multi-step Vizing chain for a fixed uncolored edge e. Note that A computes the desired Vizing chains for all uncolored edges simultaneously. Fix an uncolored edge e. The main part of A consists of T = O(log n) construction phases. In construction phase i, we construct multiple i-step Vizing chains on e of step length ℓ. More precisely, these i-step Vizing chains are obtained by appending a 1-step self-avoiding Vizing3 chain of step length ℓ to each of the (i − 1)-step self-avoiding Vizing chains of step length ℓ on e constructed by the end of phase i − 1. However, for each such (i − 1)-step Vizing chain, we do not extend it to a i-step Vizing chain in only a single way: instead, we append multiple 1-step Vizing chains to such a (i − 1)-step Vizing chain, thereby transforming each (i − 1)-step Vizing chain on e into a collection of i-step Vizing chains on e. For each of the mentioned (i − 1)-step Vizing chains, these appended different 1-step Vizing chains are quite similar to each other: they are obtained from a common 1-step Vizing chain F + P by truncating P at different vertices (which we call a candidate chain for e). We note that not all of these i-step Vizing chains may be self-avoiding; we remove all that are not self-avoiding and iterate only on the self-avoiding ones in construction phase i + 1. We show that at least one of two useful properties must hold at the end of construction phase i: the number of computed i-step self-avoiding Vizing chains on e is an Ω(poly(∆))factor larger than the number of computed (i − 1)-step self-avoiding Vizing chains on e, or at least one of the computed self-avoiding i-step Vizing chains on e is terminating. Using these properties, we show that after O(log n) construction phases, a terminating self-avoiding multi-step Vizing chain on e must have been found, as desired. In fact, our algorithm may produce many such Vizing chains on each edge e; hence, Algorithm A contains a postprocessing step in which for each edge e, precisely one of the computed terminating self-avoiding multi-step Vizing chains on e is selected. On the technical side, our approach requires to define a number of objects, which we outline in the following (still for a fixed edge e). In construction phase i, we construct sets Ri (e, ℓ) and Si (e, ℓ) which are subsets of V (G). A vertex x is in set Ri (e, ℓ) if it lies on one of

3

Technically speaking, this chain we append is not (necessarily) a Vizing chain under χ but a Vizing chain under the partial coloring obtained from χ by a shift along the respective (i − 1)-step self-avoiding Vizing chain.

S. Brandt, A. Narayanan and A. Nolin

the aforementioned path chains P that we truncate to obtain our collection of i-step Vizing chains. The set Si (e, ℓ) is the subset of Ri (e, ℓ) containing all those vertices at which the respective path chain P is truncated, i.e., the vertices in Si (e, ℓ) are precisely the endpoints of the i-step Vizing chains that have been constructed at the end of construction phase i. In other words, Si (e, ℓ) contains precisely those vertices at which, in construction phase i + 1, one of the aforementioned 1-hop Vizing chains F + P is appended (and possibly P truncated) to obtain an (i + 1)-step Vizing chain. We will now partition Si (e, ℓ) into three (disjoint) subsets Di (e, ℓ), Bi (e, ℓ), and Qi (e, ℓ). To which of the sets a vertex v ∈ Si (e, ℓ) is assigned depends on whether the (i + 1)-step Vizing chain C obtained by appending the respectively considered 1-hop Vizing chain F + P at v is overlapping and/or terminating. More precisely, v is assigned to Bi (e, ℓ) if C is not self-avoiding4 , to Di (e, ℓ) if C is self-avoiding and terminating, and to Qi (e, ℓ) otherwise. Note that, due to the dependency of the assignment on (i + 1)-step Vizing chains, this partition of the set Si (e, ℓ) can only be computed in construction phase i + 1 of A, not already in construction phase i. Using the defined objects, we can now more formally state our argument that shows that after O(log n) construction phases a terminating self-avoiding Vizing chain on e must have been found. Concretely, we prove that if Di (e, ℓ) is empty, then |Qi (e, ℓ)| is an Ω(poly(∆))-factor larger than |Qi−1 (e, ℓ)| (which in turn is shown by proving that |Si (e, ℓ)| is an Ω(poly(∆))-factor larger than |Si−1 (e, ℓ)| and that |Bi (e, ℓ)| is small compared to |Si (e, ℓ)|). As, for any i, |Qi (e, ℓ)| cannot exceed n, it follows that Dj (e, ℓ) ̸= ∅ for some j ≤ T , which implies that our algorithm finds a terminating self-avoiding (j + 1)-step Vizing chain of step length ℓ on e for some j ∈ O(log n). We conclude with the postprocessing step mentioned above, in which each uncolored edge e selects one of the terminating self-avoiding multi-step Vizing chains constructed on e. Each vertex knows only the 1-step Vizing chain that it appended, so the selected chain has to be assembled from these local pieces. We do so by marking, for each e, those vertices whose appended chain can be continued to a terminating multi-step Vizing chain on e. Initially, the marked vertices are exactly those in the sets Di (e, ℓ), as such a vertex already knows that its appended chain completes a terminating chain on e. The remaining marks are propagated backwards through the construction phases, in T − 1 marking phases indexed in decreasing order. In marking phase i, a vertex in Si (e, ℓ) becomes marked if its appended chain reaches a marked vertex of Si+1 (e, ℓ), which informs it of the mark along that chain. Running the marking phases in decreasing order of the index ensures that the marks in Si+1 (e, ℓ) are already final when marking phase i begins, so a single phase per index suffices. Following the marks forward from e then picks out a single terminating multi-step Vizing chain Ce for each uncolored edge e. More precisely, Ce is the concatenation of the appended chains of the marked vertices met along the way, each truncated at the next such vertex. Finally, a further T relay phases propagate this information along Ce , so that every vertex of Ce learns that it lies on Ce and receives enough information to later shift Ce . We describe these steps in Section 4.4.

4

In fact, the condition under which a vertex v may be added to Bi (e, ℓ) is even weaker. We add vertex v to Bi (e, ℓ) even if C is only “potentially” not self-avoiding.

17

18

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

3.2

Selecting Independent Chains

The previous section detailed our algorithm for finding a terminating multi-step Vizing chain for each uncolored edge in the graph under a given partial (∆ + 1)-edge coloring χ. Each of these multi-step Vizing chains is a recipe to recolor some edges in the graph so as to obtain a new partial (∆ + 1)-edge coloring with one less uncolored edge. Throughout this section, for any uncolored edge e in the given partial coloring χ, let Ce denote the terminating multi-step Vizing chain computed by the previous algorithm for e. The previous section focused on building terminating self-avoiding multi-step Vizing chains. This self-avoiding property ensures that the multi-step Vizing chains we found can actually be used to shift colors along the chains, i.e., so that by recoloring edges in Ce we can extend the current partial coloring χ to e. However, while the multi-step Vizing chains we found are self-avoiding, they can overlap significantly, which prohibits using all our multi-step Vizing chains simultaneously to remove all uncolored edges at once. Our goal in this section is to take care of these intersections between the chains that we computed, that is, to extract from our set of self-avoiding multi-step Vizing chains a somewhat large subset of Vizing chains that additionally avoid each other. We say two multi-step Vizing chains are independent if they do not overlap on any vertex. This ensures that if performing the recoloring of both chains at the same time we do not have to worry about obtaining an invalid partial coloring, and we do not have to make choices such as which color to give an edge that is in the intersection of two chains5 . The task can equivalently be described as finding a large independent set in the virtual multi-graph C = (VC , EC ) whose nodes represent our computed multi-step Vizing chains, and where edges represent overlap between chains. Two multi-step Vizing chains overlapping on multiple vertices in the original graph G results in multiple edges between the two nodes representing them in C. As each node in C represents a subgraph of G of diameter O(ℓ log n), in LOCAL, simulating an arbitrary algorithm on the virtual graph C using rounds of communication over G would only come at a multiplicative cost of O(ℓ log n). As we only have access to CONGEST communication over G, we pay a higher cost to simulate an algorithm on C. We also need to exploit the specificities of the algorithm we simulate to keep the simulation overhead low. Notably, an important property is that the algorithm we simulate should work with small messages, e.g., in CONGEST. How large an independent set of chains can we hope to compute? The algorithm that found the self-avoiding multi-step Vizing chains bounded their overlap. More precisely, each of our multi-step Vizing chains overlaps with at most O(∆6 ℓ log2 n) other Vizing chains, even when counting overlaps with multiplicity. A graph with N nodes of maximum degree D necessarily contains an independent set of size at least N/(D + 1). For our use case, there is no drawback to computing an independent set of size Ω(N/D) instead of N/(D + 1), and can be done slightly faster with the current state-of-the-art. Concretely, we compute a set of independent Vizing chains that represents a 1/Ω(∆6 ℓ log2 n) fraction of all the self-avoiding Vizing chains we previously found. We simulate an algorithm by Faour et al. [19] to compute our large-ish independent set. A feature of this algorithm is that it requires smaller messages if starting from a coloring of the graph with few colors. More precisely, the algorithm only needs messages of size O(log ζ) if given a valid ζ-coloring. Our first step is thus to color C with poly(∆, log n) colors. To do

5

Some chains that overlap on one or more vertices can be recolored simultaneously without creating an invalid partial coloring. One could define these chains to be independent, but it is simpler and without significant loss to define independence more stringently as simply not overlapping on vertices.

S. Brandt, A. Narayanan and A. Nolin

so, we exploit the fact that the classic algorithm by Linial [29] for O(∆2 )-coloring can be implemented as a sequence of broadcast and aggregation operations (that is: where each node sends the same message to all its neighbors, and only needs to know something like the sum of its neighbors’ messages instead of all their messages). This was highlighted in a recent work by Barenboim and Goldenberg [6] where this property was used to adapt Linial’s classic algorithm to the distance-2 setting, with congestion, and in a work by Flin, Halldórsson, and Nolin [20] with randomized coloring of virtual graphs as application. Such broadcast/aggregation operations are much faster to perform than to simulate a proper round of CONGEST over C. Once the coloring is done, we simulate the algorithm by Faour et al. rather naïvely, by directly simulating CONGEST communication over C. The algorithm is kept somewhat efficient by the fact that we only need the chains to deliver small messages of size O(log ∆ + log log n) to each other.

3.3

Runtime of the Overall Algorithm

In this section, we prove the runtime of our overall algorithm (and thereby Theorem 1) via the statements below that we prove in later sections. Throughout, U denotes the set of all uncolored edges and, for each uncolored edge e, the terminating self-avoiding multi-step Vizing chain on e computed during the construction phases is denoted by Ce . We bound the cost of the three steps performed in each iteration of Algorithm 1 in turn. Constructing the chains. First, we consider the runtimes of construction phase 1 and construction phases 2 to T . ▶ Lemma 16. Construction phase 1 runs in O(∆6 ℓ) rounds in CONGEST. ▶ Lemma 17. For 2 ≤ j ≤ T , construction phase j runs in O(∆7 ℓ) rounds in CONGEST. Consider next the runtime of marking phases T − 2 to 0 and relay phases 1 to T . ▶ Lemma 18. Any marking phase runs in O(∆6 ℓ) rounds in CONGEST. ▶ Lemma 19. Each relay phase runs in O(∆6 ℓ) rounds in CONGEST. Lemma 16 is proved in Section 5.3, Lemma 17 in Section 5.6, Lemma 18 in Section 7.1, and Lemma 19 in Section 7.3. Since there are T − 1 construction phases of the second kind, T − 1 marking phases and T relay phases, and since T = ⌈log2 n⌉, the four lemmas together bound the cost of the first line. ▶ Corollary 20. Computing a terminating self-avoiding multi-step Vizing chain Ce for every e ∈ U takes O(∆7 ℓ log n) rounds in CONGEST. Selecting independent chains. ▶ Lemma 21. There is an algorithm of complexity O(∆12 ℓ2 log2 n(log3 log n + log3 ∆)) that computes a subset I ⊆ U of size Ω( ∆6 ℓ|Ulog| 2 n ) of uncolored edges s.t. for any two edges e, f ∈ I, their chains Ce and Cf are independent. Lemma 21 is proved in Section 8.2.

19

20

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

Shifting the chains. ▶ Observation 22. Once the relay phases are concluded, recoloring the chains Ce with e ∈ I as in Observation 11 takes O(1) rounds in CONGEST. Proof. Each vertex in a chain already knows its role within the chain, that is, which Fi or Pi it belongs to, and with which colors its incident edges should be recolored when performing the shift. More precisely, edges in any fan in a chain can be recolored by the center of the fan, while, for an edge f = vw on the bichromatic part of a path chain with w being the successor of v, vertex v colors f . Every vertex therefore sends at most one message per incident edge. ◀ Now we have all the ingredients to prove our main theorem. Proof of Theorem 1. The algorithm consists of several epochs, one for each iteration of the while loop of Algorithm 1, where in each epoch a c/(∆6 ℓ log2 n)-fraction of all uncolored edges gets colored, for some constant c. Since the graph contains a total of at most n∆/2 edges, repeating the process, after (2∆6 ℓ log3 n)/c epochs, the number of uncolored edges is at most:   2∆6 ℓclog3 n 2∆6 ℓ log3 n c n∆ n∆ − ∆6 ℓ log n∆ −2 log n c 2 n· c ≤ e ≤ e <1, 1− 6 2 2 2 2 ∆ ℓ log n that is, the entire graph is colored. It remains to bound the cost of a single epoch. By Corollary 20, constructing the chains takes O(∆7 ℓ log n) rounds, and by Lemma 75 the chains it computes overlap with at most O(∆6 ℓ log2 n) other chains each. By Lemma 21, selecting the independent set I takes O(∆12 ℓ2 log2 n(log3 log n+log3 ∆)) = O(∆13 ℓ2 log2 n log3 log n) rounds, where we absorbed the log3 ∆ term into an additional factor of O(∆). By Observation 22, shifting the chains Ce with e ∈ I takes O(1) rounds. The selection of I dominates, so an epoch takes O(∆13 ℓ2 log2 n log3 log n) rounds. Performing Θ(∆6 ℓ log3 n) epochs to ensure that no uncolored edge remains therefore takes no more than O(∆19 ℓ3 log5 n log3 log n) rounds. As ℓ ∈ O(∆22 ) we get a total runtime of O(∆85 log5 n log3 log n), i.e., Õ(poly(∆) log5 n) rounds. ◀

4

Constructing Terminating Multi-Step Vizing Chains

This section describes algorithm A in full. Following the overview of Section 3.1, A constructs a collection of multi-step Vizing chains on each uncolored edge, selects one terminating chain per edge, and makes the vertices of that chain aware of it. Section 4.1 gives the formal description, deferring the implementation of the individual phases to the remaining parts: the construction phases (Sections 4.2 and 4.3), which build the candidate chains, and the selection and learning of a single terminating chain Ce per edge (Section 4.4). All correctness and runtime analysis is deferred to Sections 5–7.

4.1

Formal Description

We now describe algorithm A more formally. However, to keep things simple, we will defer the precise implementation of a number of steps of A to Section 4.2 and Section 4.3. Recall the proper partial (∆ + 1)-edge coloring χ, and let U be the set of uncolored edges under χ. Let ℓ = 1584(∆ + 1)22 and T = ⌈log2 n⌉. For each x ∈ V (G), fix an arbitrary injective function µx : N (x) → [∆]. Note that µx is simply an ordering of the neighbors of x. Define W (x) := {(y, µx (y)) | y ∈ N (x)}.

S. Brandt, A. Narayanan and A. Nolin

Preprocessing steps. Algorithm A start with a number of preprocessing steps. First, every vertex x collects the set A(z) of available colors at z for every neighbor z ∈ N (x). This can be done in O(∆) rounds in CONGEST since A(z) ⊆ [∆ + 1] can be described by its characteristic vector of ∆ + 1 bits. The objective of the next preprocessing step is that each vertex v that lies on a maximal bichromatic path P learns the set W (x) for each endpoint x of P that is at distance at most ℓ + 1 from v along P . To this end, we iterate through all pairs of colors α, β ∈ [∆ + 1] with α ̸= β, where in each iteration we proceed as follows. Every vertex x that is an endpoint of some maximal (α, β)-bichromatic path P sends out the message τinitial = (x, W (x)) along P up to distance ℓ + 1 along P (unless the other endpoint of P is reached before ℓ + 1 steps, in which case τ stops at that endpoint). When τ passes through a vertex v ∈ V (P ), v learns W (x) and can calculate dP (x, v) from the round in which τ reached v. As W (x) can be described by O(∆ log n) bits, this process can be implemented in the LOCAL model in O(ℓ) rounds with messages of size O(∆ log n) (since messages only travel along (α, β)-bichromatic paths and hence at most 2 messages of the type τ outlined above are sent over any given edge at once). Therefore, the same process can be implemented in CONGEST in O(∆ℓ) rounds. It follows that the total runtime of this preprocessing step (over all iterations) is O(∆3 ℓ) rounds (as there are O(∆2 ) color pairs).6 Next, we initialize a number of variables. For all e ∈ U , x ∈ V (G), α, β ∈ [∆ + 1] satisfying α ̸= β, and 0 ≤ i ≤ T , initialize the sets Ri (e, ℓ), Si (e, ℓ), Qi (e, ℓ), Bi (e, ℓ), Di (e, ℓ), and Mi (x) to ∅. We now update the values of R0 (e, ℓ), S0 (e, ℓ) and M0 (x) for all e ∈ U and x ∈ V (G). For any e = xy ∈ U with ID(x) > ID(y), set R0 (e, ℓ) := {x} and S0 (e, ℓ) := {x}. For any x ∈ V (G), set M0 (x) := {e ∈ U | x ∈ S0 (e, ℓ)}. Intuitively, M0 (x) collects all edges e for which the fan of the 1-step Vizing chain on e that we want to construct (in the first construction phase) has center x. Next, we compute a proper vertex coloring ψ of G2 with (∆2 + 1) colors. This coloring will be used at different points of the algorithm. By [6, Corollary 3.6], such a coloring can be obtained in O(∆3/2 log ∆ + log∗ n), and in particular in O(∆2 + log∗ n), rounds in the CONGEST model. The goal of the final preprocessing step is to let each vertex v learn if v is in N 2 [R0 (e, ℓ)] for any uncolored edge e. We iterate through the colors of ψ in arbitrary order. When processing a color c, each vertex x of color c sends the message (x, M0 (x)) to all vertices in its 2-hop neighborhood. This process can be implemented in the LOCAL model in O(1) rounds with messages of size O(∆ log n) bits since |M0 (x)| ≤ ∆ and each edge has a unique id of O(log n) bits. Hence, the process can be implemented in O(∆) rounds in CONGEST. It follows that the total runtime of this step (over all iterations) is O(∆3 ) rounds in the CONGEST model (as there are O(∆2 ) vertex colors). Construction phases. After performing the above preprocessing steps, Algorithm A constructs Vizing chains on the uncolored edges. More precisely, A proceeds by first executing construction phase 1 as described in Section 4.2 and then executing construction phases j as described in Section 4.3, in increasing order of j for 2 ≤ j ≤ T .

6

In the interest of simplicity, we do not focus on optimizing the dependency on ∆ in our algorithm. For instance, one could reduce the runtime of the discussed preprocessing step by a ∆-factor to O(∆2 ℓ) rounds by arguing that when a message is sent over some edge e′ , this message must come from an iteration where the considered color pair (α, β) satisfies that α or β is the color of e′ , observing that there are only O(∆) such color pairs, and pipelining the iterations suitably.

21

22

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

Postprocessing steps. After the construction phases are concluded, each uncolored edge e selects one terminating self-avoiding Vizing chain among the many constructed terminating self-avoiding Vizing chains on e, and the vertices of the selected chain learn that they lie on it. To this end, A executes T − 1 marking phases, with the index running from T − 2 down to 0, then selects a unique terminating multi-step Vizing chain Ce for each e ∈ U , and finally executes T relay phases. We emphasize that Ce is stored in a distributed fashion and not at a single vertex. All three steps are described in Section 4.4. This concludes the description of Algorithm A.

4.2

Construction Phase 1

We begin with construction phase 1, in which the first Vizing chain on each uncolored edge is built. For any x ∈ V (G), fix an injective function λx,0 from M0 (x) to [∆]. This is possible since |M0 (x)| ≤ ∆ for any x ∈ V (G). The rest of construction phase 1 proceeds in O(∆3 ) subphases. Each subphase is uniquely determined by a pair (c, r) where 1 ≤ c ≤ ∆2 + 1 and 1 ≤ r ≤ ∆. In subphase (c, r), every vertex x with ψ(x) = c that has an edge e ∈ M0 (x) with λx,0 (e) = r constructs a 1-step self-avoiding Vizing chain on that edge. Since λx,0 is an injective function for any vertex x ∈ V (G), iterating through all possible pairs (c, r) in an arbitrary order and running subphase (c, r) ensures that a 1-step Vizing chain is constructed on any e ∈ M0 (y) for any y ∈ V (G). Iterate through all possible pairs of (c, r) and run subphase (c, r) which is described in Section 4.2.1. During the subphases, vertices accumulate tuples into the sets M1 (v) for v ∈ V (G), where each tuple has the form (e, x, α, β, vw) with e ∈ U , x ∈ V (G), α, β ∈ [∆ + 1], and w ∈ N (v). Once all subphases of construction phase 1 are complete, we deduplicate M1 (v) as follows. For each uncolored edge e ∈ U , define the (e, 1)-fiber of v by M1 (v; e) := {(e′ , x, α, β, vw) ∈ M1 (v) | e′ = e}. We say that M1 (v) has duplicates of e if |M1 (v; e)| ≥ 2. Vertex v replaces each nonempty fiber M1 (v; e) by an arbitrary singleton subset of it. We slightly abuse the notation and continue to denote the resulting set by M1 (v). Algorithm 2 summarizes construction phase 1. Algorithm 2 Construction phase 1. 1: every x ∈ V (G) fixes an injective λx,0 : M0 (x) → [∆]

▷ possible since |M0 (x)| ≤ ∆

2: for all (c, r) ∈ [∆2 + 1] × [∆], in an arbitrary order do 3:

run subphase (c, r)

▷ Algorithm 3

4: end for 5: for all v ∈ V (G) and e ∈ U with M1 (v; e) ̸= ∅ do 6:

v replaces M1 (v; e) by an arbitrary singleton subset of it

▷ deduplication

7: end for

4.2.1

Subphase (c, r) of Construction Phase 1

Let (c, r) ∈ [∆2 + 1] × [∆]. We now describe subphase (c, r) of construction phase 1. We emphasize that subphase (c, r) is a single global part of the algorithm. It is not defined

S. Brandt, A. Narayanan and A. Nolin

separately for each vertex. Instead, it consists of the local actions performed in parallel by all vertices x with ψ(x) = c for which there exists an edge e ∈ M0 (x) satisfying λx,0 (e) = r. The subphase has two stages, executed one after the other: the chain construction stage and the set construction stage. The chain construction stage is itself divided into four substages, called the preparation, search, notification, and confirmation substages, which are also executed in this order. We refer to the preparation and search substages together as the fan chain construction, and to the notification and confirmation substages together as the path chain construction. Now fix a vertex x with ψ(x) = c, and suppose there exists an edge e ∈ M0 (x) such that λx,0 (e) = r. During subphase (c, r), vertex x attempts to construct a 1-step self-avoiding Vizing chain F + P of step length ℓ on e under χ. We call this chain the candidate chain for e constructed by x in construction phase 1. At the end of the chain construction stage, vertex x either finishes or abandons the construction of F + P . It returns a variable success with a value in {1, 0} in case it finishes and a value −1 in case it abandons the construction. Intuitively, success = 1 records that the construction reached a point at which the chain can be stopped, success = 0 that it was instead cut off at the step length and must therefore be continued in a later construction phase, and success = −1 that it ran into a part of the graph already used by an earlier construction phase and had to be given up. Later we will show that whenever x finishes the construction, the resulting chain F + P is indeed a 1-step self-avoiding Vizing chain of step length ℓ on e under χ. If x finishes the construction, then we call F + P a successful candidate chain when success = 1, and a hopeful candidate chain when success = 0. If x abandons the construction, then we call F + P an unsuccessful candidate chain. Note that in construction phase 1 the confirmation substage never returns success = −1, so vertex x always finishes the construction and no unsuccessful candidate chains arise in this phase; we nevertheless introduce all three terms here since they will be reused in construction phases j ≥ 2, where x may abandon the construction. All vertices that participate in subphase (c, r) execute each stage and substage in parallel. Different vertices may complete their local work within a given substage at different times. However, the algorithm proceeds to the next substage only after every participating vertex has completed the current one. For a concise pseudocode of the subphase, see Algorithm 3. Inside its two subroutines, a line labelled (Preparation), (Search), (Notification) or (Confirmation) is executed in the substage named by that label, and a line carrying no label is executed in the same substage as the line preceding it. Throughout the chain construction stage the description is from the perspective of x; in the set construction stage, the additions to R1 (e, ℓ), S1 (e, ℓ) and M1 (·) are performed by the vertices of P themselves. We now describe the actions performed during these stages in detail, for an arbitrary vertex x with ψ(x) = c and an edge e ∈ M0 (x) satisfying λx,0 (e) = r. Note that e ∈ M0 (x) implies x ∈ S0 (e, ℓ).

Chain construction stage for x. In the search, notification, and confirmation substages, vertex x initiates a message that propagates along a fan or a bichromatic path; each vertex on that path forwards it to its successor using the color of the edge on which it arrived together with the contents of the message. Every such propagation is therefore well defined, and we do not remark on this again.

23

24

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

Algorithm 3 Subphase (c, r) of construction phase 1, at a vertex x with ψ(x) = c holding e ∈ M0 (x) with λx,0 (e) = r. Chain construction stage 1: FanChainConstruction ▷ yields the fan chain F 2: PathChainConstruction ▷ yields the path chain P and success 3: x finishes the construction of F + P 4: F + P is successful if success = 1, and hopeful if success = 0

Set construction stage 5: x joins D0 (e, ℓ) if F + P is successful, and Q0 (e, ℓ) if F + P is hopeful 6: every v ∈ V (P ) \ {x} joins R1 (e, ℓ) and notifies its 2-hop neighborhood 7: if F + P is hopeful then ▷ only in the Repeated-Color Case, so {α, β} is defined 8: for all v ∈ V (tail(P )) \ N 2 [x], setting vw ← eEnd(P |dP (x, v)) do 3 ℓ ℓ 9: if 10∆ 4 · b ≤ dP (x, v) < 10∆4 · (b + 1), where b = ∆ · µvEnd(F ) (x) + r then 10: v joins S1 (e, ℓ) 11: v adds (e, x, α, β, vw) to M1 (v) if χ(vw) = α, and (e, x, β, α, vw) otherwise 12: end if 13: end for 14: end if 15: procedure FanChainConstruction 16: (Preparation) F ′ = (xz1 , . . . , xzp ) ← fan chain on e under χ ▷ Lemma 14 17: if F ′ has the common-color property then ▷ Common-Color Case 18: F ← F′ 19: pick η ∈ A(x, χ) ∩ A(vEnd(F ), χ) 20: (Search) x takes no action 21: else ▷ F ′ has the repeated-color property; Repeated-Color Case 22: β ← the representative available color of zq and zp , where q < p 23: α ← any color in A(x, χ) 24: (Search) K ← (xzp ) + K ′ ▷ K ′ : maximal (α, β)-bichromatic path from zp under χ 25: x propagates τsearch = (e, x, zq , α, β) along K 26: the propagation stops at x, at zq , at an endpoint of K, or at hop ℓ + 1 27: if it stops at x or at zq , that vertex sends τreturn = (e, x) to x ▷ one hop, as zq ∈ N (x) 28: F ← F ′ |q if x receives τreturn , and F ← F ′ |p otherwise ▷ it does iff some v ∈ {x, zq } lies

on K ′ with dK ′ (zp , v) ≤ ℓ 29: end if 30: end procedure 31: procedure PathChainConstruction 32: if F ′ has the common-color property then ▷ Common-Color Case 33: (Notification) x sends τnotify = (e, x, vEnd(F ), ¬, η) to vEnd(F ) 34: P ← (xvEnd(F )) ▷ a path chain of length 1 under Shift(χ, F ) 35: (Confirmation) vEnd(P ) = vEnd(F ) replies τreply = (e, x, vEnd(F ), ¬, η, success = 1) 36: else ▷ Repeated-Color Case 37: (Notification) Q ← (xvEnd(F )) + Q′ ▷ Q′ : maximal (α, β)-bichromatic path from vEnd(F ) under χ 38: x propagates τnotify = (e, x, vEnd(F ), α, β) along Q 39: the propagation stops at an endpoint of Q or at hop ℓ + 1 40: P ← the traversed prefix of Q ▷ a path, by Observation 23 41: (Confirmation) vEnd(P ) replies τreply along rev(P ), where 42: if vEnd(P ) is an endpoint of Q then 43: τreply = (e, x, vEnd(F ), α, β, success = 1) 44: else 45: τreply = (e, x, vEnd(F ), α, β, success = 0) 46: end if 47: end if 48: end procedure

S. Brandt, A. Narayanan and A. Nolin

In the preparation substage, vertex x constructs a fan chain F ′ = (xz1 , xz2 , . . . , xzp ) using Lemma 14. It then executes the Common-Color Case or the Repeated-Color Case according as F ′ has the common-color property or the repeated-color property. Common-Color Case. Suppose F ′ is the fan with the common-color property. Then η ∈ A(x, χ) ∩ A(vEnd(F ′ ), χ) for some η ∈ [∆ + 1], and hence η ∈ A(x, Shift(χ, F ′ )) ∩ A(vEnd(F ′ ), Shift(χ, F ′ )) by Observation 6. In the preparation substage, vertex x sets F := F ′ . Vertex x performs no action in the search substage. In the notification substage it sends τnotify = (e, x, vEnd(F ), ¬, η) to vEnd(F ) and then sets P := (xvEnd(F )), a path chain of length 1 under Shift(χ, F ). In the confirmation substage vEnd(P )(= vEnd(F )) replies with τreply = (e, x, vEnd(F ), ¬, η, success = 1). Vertex x then finishes the construction of F + P . Repeated-Color Case. Suppose F ′ is the fan with the repeated-color property. Then there exist α, β ∈ [∆ + 1] with α ̸= β and an index q ∈ [p − 1] such that A(x, χ) ∩ A(zi , χ) = ∅ for i ∈ [p], and α ∈ A(x, χ), β ∈ A(zp , χ) ∩ A(zq , χ). In the search substage, the conditions above make both zp and zq endpoints of (α, β)bichromatic paths under χ. Vertex x propagates a message τsearch = (e, x, zq , α, β) along K = (xzp ) + K ′ where K ′ is the maximal (α, β)-bichromatic path under χ with zp as an endpoint. τsearch stops propagating at a vertex v according to the following subcases. 1. If v ∈ {x, zq }, then τsearch stops at v, and v sends the message τreturn = (e, x) to x along the edge xv. This is a single hop, since zq ∈ N (x); in case v = x, vertex v sends the message to itself. 2. If subcase 1 does not apply and v is an endpoint of K, then τsearch stops at v. 3. If subcases 1 and 2 do not apply, then τsearch stops at v if dK (x, v) = ℓ + 1. If x receives τreturn (which happens when some v ∈ {x, zq } is on K ′ and dK ′ (zp , v) ≤ ℓ), x sets F to be the fan chain F ′ |q. Else x sets F = F ′ |p. Let Q′ be the maximal (α, β)-bichromatic path under χ starting at vEnd(F ) and Q be the trail (xvEnd(F )) + Q′ under χ. We make the following observation about x and vEnd(F ) along Q′ . ▶ Observation 23. Either x ∈ / V (Q′ ), or x and vEnd(F ) are at distance greater than ℓ along Q′ . Proof. We have vEnd(F ) ∈ {zp , zq }. Note that zp , zq and x are distinct and are endpoints of maximal (α, β)-bichromatic paths under χ. Hence all three of them cannot lie on the same maximal (α, β)-bichromatic path under χ. If vEnd(F ) = zq , then x received τreturn , so τsearch stopped at x or at zq . Suppose it stopped at x. Then x and zp both lie on K ′ , so zq ∈ / V (K ′ ) and hence Q′ ̸= K ′ ; as two maximal (α, β)-bichromatic paths under χ are either equal or vertex-disjoint, this gives x∈ / V (Q′ ). Suppose instead it stopped at zq . Then zq ∈ V (K ′ ) and hence Q′ = K ′ ; as zp and zq both lie on K ′ , this again gives x ∈ / V (Q′ ). ′ ′ If vEnd(F ) = zp , then Q = K . By construction, vEnd(F ) = zp is chosen only when x does not receive τreturn , which in particular means that either x ∈ / V (K ′ ) or dK ′ (zp , x) > ℓ. ′ In either case, either x ∈ / V (Q ) or x and vEnd(F ) are at distance greater than ℓ along Q′ . ◀

25

26

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

In the notification substage, vertex x sends a message τnotify = (e, x, vEnd(F ), α, β) that propagates until it traverses ℓ+1 edges along Q or until it reaches an endpoint of Q, whichever is earlier. Let τnotify stop its propagation at vertex v. Since τnotify traverses at most ℓ edges of Q′ , Observation 23 implies that the traversed portion of Q′ does not contain x. Hence Q|dQ (x, v) is a path, and we let P be the path Q|dQ (x, v) = (xvEnd(F ))+Q′ |dQ′ (vEnd(F ), v). In the confirmation substage, vEnd(P ) sends a message τreply along the path rev(P ) back to x. The content of τreply is defined according to the following exhaustive subcases. If vEnd(P ) is an endpoint of Q, τreply = (e, x, vEnd(F ), α, β, success = 1). If vEnd(P ) is not an endpoint of Q, τreply = (e, x, vEnd(F ), α, β, success = 0). Vertex x finishes the construction of F + P . The following observation about tail(P ) follows from the construction in the RepeatedColor Case. ▶ Observation 24. If x constructs F + P by the Repeated-Color Case, tail(P ) is a vEnd(F )-maximal (α, β)-bichromatic path of length at most ℓ under χ, and x and vEnd(F ) are not tail(P )-related. This completes the description of the chain construction stage. In both cases, F together with an initial segment of P forms a self-avoiding chain. We state this below and defer the proof to Section 5.1. ▶ Lemma 25. Let F + P be a candidate chain for an uncolored edge e ∈ U constructed by vertex x in construction phase 1. Suppose v ∈ V (P ) \ {x}. Then F + P |dP (x, v) is a self-avoiding 1-step Vizing chain of step length ℓ on e under χ. Moreover, a successful candidate chain is a terminating Vizing chain, so that the construction on e may stop at it. We state this below and defer the proof to Section 5.1 as well. ▶ Lemma 26. Let F + P be a successful candidate chain for an uncolored edge e ∈ U constructed by vertex x in construction phase 1. Then F + P is a terminating self-avoiding 1-step Vizing chain of step length ℓ on e under χ.

Set construction stage for x. From the chain construction stage, F + P is a successful candidate chain if τreply carries success = 1, and a hopeful candidate chain if it carries success = 0. Each vertex v ∈ V (P ) knows whether F + P is successful or hopeful since each v ∈ V (P ) either sends or receives τreply . Each vertex v ∈ V (P )\{x}, as well as vertex x, adds themselves to different sets according to the following cases. If F + P is a successful candidate chain, x then adds itself to D0 (e, ℓ). If F + P is a hopeful candidate chain, x adds itself to Q0 (e, ℓ). If F + P is a successful candidate chain or a hopeful candidate chain, v adds itself to R1 (e, ℓ). Note that each v can locally determine whether v ∈ V (P ) \ {x}, since v ∈ V (P ) \ {x} iff v ̸= x and v sent or received τreply . Suppose F + P is a hopeful candidate chain (which implies F + P was constructed by the Repeated-Color Case). Let v ∈ V (tail(P )) \ N 2 [x]. Let vw = eEnd(P |dP (x, v)). Note that vw ∈ E(tail(P )) since v ∈ / N 2 [x]. Vertex v now

S. Brandt, A. Narayanan and A. Nolin

adds itself to S1 (e, ℓ) if ℓ ℓ · (∆3 · µvEnd(F ) (x) + r) ≤ dP (v, x) < · (∆3 · µvEnd(F ) (x) + r + 1), 10∆4 10∆4 and, if v ∈ S1 (e, ℓ), adds to M1 (v) the tuple (e, x, θ, θ′ , vw), where {θ, θ′ } = {α, β} is the color pair of tail(P ) and θ = χ(vw). We claim that this step is well-defined. Vertex v knows the set W (vEnd(F )) from the preprocessing step of algorithm A (since tail(P ) is a vEnd(F )-maximal bichromatic path of length at most ℓ by Observation 24). Hence, it can compute µvEnd(F ) (x). Moreover, χ(vw) = Shift(χ, F )(vw) holds if E(tail(P )) ∩ E(F ) = ∅. This is true since F + P is a self-avoiding 1-step Vizing chain by Lemma 25. A vertex v in R1 (e, ℓ) notifies its 2-hop neighborhood that it is part of R1 (e, ℓ) by sending a message (v, e).

4.3

Construction Phase j for 2 ≤ j ≤ T

Having described the first construction phase, we turn to the later ones. Construction phase j extends the chains built in the previous construction phases. Before stating formally what we assume about those chains, we explain what a vertex needs in order to carry out such an extension, and how the three statements below supply it. At the end of construction phase j − 1, the algorithm has built, for each uncolored edge e ∈ U , a collection of (j − 1)-step self-avoiding Vizing chains on e. None of these chains is stored anywhere: such a chain can have Θ(jℓ) edges and is spread across the network, and no vertex can afford to learn it. What remains of a chain C after construction phase j − 1 is a single tuple (e, z, α, β, xy), held by the vertex x at which C ends; we call x the tip of C. In construction phase j, it is this tip that must extend C, by appending a fan and a path chain to it, and it must do so knowing nothing about C beyond its own tuple. The fan is constructed using Lemma 15, applied to the edge xy under the coloring Shift(χ, C) obtained by shifting C. That lemma asks for two things: the tip must know which colors are available at every vertex of N [x] under Shift(χ, C), and it must have a color available at x and a color available at y under that coloring. Statements Π1 (j − 1) and Π3 (j − 1) together supply these, and statement Π2 (j − 1) ensures that a vertex can proceed in this way for every chain of which it is the tip. Statement Π1 (j − 1) says that the tuple held by a tip stands for an actual chain, and describes the coloring at that chain’s own two ends. It gives a unique (j − 1)-step self-avoiding Vizing chain C on e, namely the one recovered from the tuple segment by segment: the vertex z constructed the last segment Fj−1 + Pj−1 in construction phase j − 1, the tuple that z itself holds for e names the vertex that constructed the segment before it, and so on down to construction phase 1. Speaking of “the chain a tuple stands for” is therefore meaningful even though no vertex knows that chain. It further gives that α is available at x and that β is available at y under Shift(χ, C), which are the two colors Lemma 15 asks for. Statement Π3 (j − 1) says that the tip of a chain on e keeps its distance from the vertices Sj−2 reached in earlier construction phases: it lies at distance more than 2 from k=0 Rk (e, ℓ). Those earlier phases have therefore left the neighbourhood of the tip untouched, so shifting C alters the available colors at no vertex of N [x] other than x and y themselves, where the alterations are exactly the two colors named in the tuple (made precise in Lemma 29). The tip can thus recover the available colors under Shift(χ, C) at every vertex of N [x] from those it collected during the preprocessing steps, which is what Lemma 15 asks for besides the two

27

28

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

colors above. As the fan the tip goes on to construct lies in its own neighbourhood, the same clearance keeps that fan away from the parts of C built in the earlier phases. The statement additionally records that x lies in Sj−1 (e, ℓ) precisely when it holds a corresponding tuple. Statement Π2 (j − 1) says that a vertex holds at most 2∆2 tuples. A vertex may be the tip of chains on many different uncolored edges, and it must extend each of them. This bound is what lets it do so for all of its tuples: as described below, construction phase j has each vertex work through its tuples one at a time, in separate subphases, and the bound caps how many subphases are needed. We now state the three statements formally. We will later show in Section 5.7 that these statements can be safely assumed at the start of construction phase j. Statement Π1 (j − 1). Assume construction phase j − 1 is over. Consider any vertex x ∈ V (G) and any (e, z, α, β, xy) ∈ Mj−1 (x). Then there is a unique (j − 1)-step selfavoiding Vizing chain C = F1 + P1 + · · · + Fj−1 + Pj−1 of step length ℓ on e under χ such that for 1 ≤ k ≤ j − 1, Fk = Fk∗ and Pk is a subpath of Pk∗ where Fk∗ + Pk∗ is the unique candidate chain constructed for e by cen(Fk ) during construction phase k, for 1 ≤ k ≤ j − 1, the set Mk (vEnd(Pk )) contains a tuple with first entry e and second entry cen(Fk ), and xy = eEnd(Pj−1 ) and x = vEnd(Pj−1 ). Moreover, this chain C has the additional properties that cen(Fj−1 ) = z, for 1 ≤ k ≤ j − 1, V (tail(Pk )) ⊆ Rk (e, ℓ), tail(Pj−1 ) is a vEnd(Fj−1 )-maximal (α, β)-bichromatic path under χ, Pj−1 is either a (β, α)-bichromatic path chain or an (α, β)-bichromatic path chain under Shift(χ, F1 + P1 + · · · + Fj−2 + Pj−2 + Fj−1 ) and length of Pj−1 is greater than 2, α ∈ A(x, Shift(χ, C)), β ∈ A(y, Shift(χ, C)) and Shift(χ, F1 + P1 + · · · + Fj−1 )(xy) = α. Statement Π2 (j − 1). Assume construction phase j − 1 is over. Then, |Mj−1 (x)| ≤ 2∆2 for each x ∈ V (G). Statement Π3 (j − 1). Assume construction phase j − 1 is finished. Consider any x ∈ V (G), e ∈ U. Sj−2 If x ∈ Sj−1 (e, ℓ), then x ∈ / N 2 [ k=0 Rk (e, ℓ)]. x ∈ Sj−1 (e, ℓ) ⇐⇒ (e, z, α, β, xy) ∈ Mj−1 (x) for a unique z ∈ Sj−2 (e, ℓ), α, β ∈ [∆ + 1] and y ∈ N (x). With these statements in hand, we now describe construction phase j itself. For any x ∈ V (G), fix an injective function λx,j−1 from Mj−1 (x) to [2∆2 ]. This is possible since |Mj−1 (x)| ≤ 2∆2 for any x ∈ V (G) by statement Π2 (j − 1). The rest of construction phase j proceeds in 2∆2 · (∆2 + 1) subphases. Each subphase is uniquely determined by a pair (c, r) where 1 ≤ c ≤ ∆2 + 1 and 1 ≤ r ≤ 2∆2 . In subphase (c, r), every vertex x with ψ(x) = c that has a tuple t ∈ Mj−1 (x) with λx,j−1 (t) = r extends the chain that t stands for. Since λx,j−1 is injective for any vertex x ∈ V (G), iterating through all possible pairs (c, r) in an arbitrary order and running subphase (c, r) ensures that every tuple in Mj−1 (y) is served, for any y ∈ V (G). Iterate through all possible pairs of (c, r) and run subphase (c, r) which is described in Section 4.3.1. During the subphases, vertices accumulate tuples into the sets Mj (v) for v ∈ V (G). Once all subphases of construction phase j are complete, we deduplicate Mj (v) as follows. For

S. Brandt, A. Narayanan and A. Nolin

29

each uncolored edge e ∈ U , define the (e, j)-fiber of v by Mj (v; e) := {(e′ , x, α, β, vw) ∈ Mj (v) | e′ = e}. We say that Mj (v) has duplicates of e if |Mj (v; e)| ≥ 2. Vertex v replaces each nonempty fiber Mj (v; e) by an arbitrary singleton subset of it. We slightly abuse the notation and continue to denote the resulting set by Mj (v). This concludes construction phase j. Algorithm 4 summarizes construction phase j. Algorithm 4 Construction phase j, for 2 ≤ j ≤ T . 1: Every x ∈ V (G) fixes an injective λx,j−1 : Mj−1 (x) → [2∆2 ]

Π2 (j − 1) 2: for all (c, r) ∈ [∆2 + 1] × [2∆2 ], in an arbitrary order do 3: Run subphase (c, r) 4: end for 5: for all v ∈ V (G) and e ∈ U with Mj (v; e) ̸= ∅ do 6: v replaces Mj (v; e) by an arbitrary singleton subset of it 7: end for

4.3.1

▷ possible by statement

▷ Algorithm 5

▷ deduplication

Subphase (c, r) of Construction Phase j for 2 ≤ j ≤ T

We now describe subphase (c, r) in construction phase j. Subphase (c, r) is a single global part of the algorithm. It is not defined separately for each vertex. Rather, it consists of the local actions performed in parallel by all vertices x ∈ V (G) with ψ(x) = c for which there exists a tuple t ∈ Mj−1 (x) satisfying λx,j−1 (t) = r. In the same way, each stage and substage below should be understood as the union of the corresponding local actions of all such vertices. The subphase has two stages, executed one after the other: the chain construction stage and the set construction stage. The chain construction stage is further divided into four substages, executed in the order: the preparation substage, the search substage, the notification substage, and the confirmation substage. As in construction phase 1, we refer to the preparation and search substages together as the fan chain construction, and to the notification and confirmation substages together as the path chain construction. Now consider a vertex x ∈ V (G) with ψ(x) = c, and let (e, x′ , α, β, xy) ∈ Mj−1 (x) be such that λx,j−1 ((e, x′ , α, β, xy)) = r. By statements Π1 (j − 1), Π2 (j − 1), and Π3 (j − 1), we have the following facts. ▶ Fact 27. Let (e, x′ , α, β, xy) ∈ Mj−1 (x) for some x ∈ V (G). Then there is a unique (j − 1)-step self-avoiding Vizing chain C = F1 + P1 + · · · + Fj−1 + Pj−1 of step length ℓ on e under χ such that for each 1 ≤ k ≤ j − 1, we have Fk = Fk∗ and Pk is a subpath of Pk∗ , where Fk∗ + Pk∗ is the unique candidate chain constructed for e by cen(Fk ) during construction phase k, for each 1 ≤ k ≤ j − 1, the set Mk (vEnd(Pk )) contains a tuple with first entry e and second entry cen(Fk ), and xy = eEnd(Pj−1 ) and x = vEnd(Pj−1 ).

30

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

Moreover, this chain C has the following additional properties: cen(Fj−1 ) = x′ , for each 1 ≤ k ≤ j − 1, we have V (tail(Pk )) ⊆ Rk (e, ℓ), tail(Pj−1 ) is a vEnd(Fj−1 )-maximal (α, β)-bichromatic path under χ, Pj−1 is either a (β, α)-bichromatic path chain or an (α, β)-bichromatic path chain under Shift(χ, F1 + P1 + · · · + Fj−2 + Pj−2 + Fj−1 ), and the length of Pj−1 is greater than 2, α ∈ A(x, Shift(χ, C)), β ∈ A(y, Shift(χ, C)), and Shift(χ, F1 + P1 + · · · + Fj−1 )(xy) = α. ▶ Fact 28. Let (e, x′ , α, β, xy) ∈ Mj−1 (x) for some x ∈ V (G). Then |Mj−1 (x)| ≤ 2∆2 , and hS i j−2 x∈ / N2 i=0 Ri (e, ℓ) . The goal of vertex x during the chain construction stage is to construct a 1-step selfavoiding Vizing chain F + P on xy under Shift(χ, C) such that C + F + P is a j-step self-avoiding Vizing chain on e. We refer to F + P as the candidate chain constructed by x for e in construction phase j. At the end of the chain construction stage, vertex x either finishes or abandons the construction of F + P . Later we will show that whenever x finishes the construction, the chain F + P is indeed a 1-step self-avoiding Vizing chain of step length ℓ on xy under Shift(χ, C). If x finishes the construction, then we call F + P a successful candidate chain when the value success returned by the chain construction stage is 1, and a hopeful candidate chain when it is 0. If x abandons the construction, then we call F + P an unsuccessful candidate chain. Different vertices x, x′ ∈ V (G) with ψ(x) = ψ(x′ ) = c may complete the same substage at different times. However, the algorithm proceeds to the next substage only after every such vertex has completed the current one. Thus, all vertices with color class c begin each stage and substage in parallel, even though they may finish their local work at different times. For a concise pseudocode of the subphase, see Algorithm 5. Inside its two subroutines, a line labelled (Preparation), (Search), (Notification) or (Confirmation) is executed in the substage named by that label, and a line carrying no label is executed in the same substage as the line preceding it. Throughout the chain construction stage the description is from the perspective of x; in the set construction stage, the additions to Rj (e, ℓ), Sj (e, ℓ) and Mj (·) are performed by the vertices of P themselves. We now describe the two stages in detail, from the perspective of an arbitrary vertex x ∈ V (G) with ψ(x) = c and an element (e, x′ , α, β, xy) ∈ Mj−1 (x) satisfying λx,j−1 ((e, x′ , α, β, xy)) = r.

Chain construction stage for x. In the search, notification, and confirmation substages, vertex x initiates a message that propagates along a fan or a bichromatic path; each vertex on that path forwards it to its successor using the color of the edge on which it arrived together with the contents of the message. Every such propagation is therefore well defined, and we do not remark on this again.

S. Brandt, A. Narayanan and A. Nolin

Algorithm 5 Subphase (c, r) of construction phase j for 2 ≤ j ≤ T , at a vertex x with ψ(x) = c holding (e, x′ , α, β, xy) ∈ Mj−1 (x) with λx,j−1 ((e, x′ , α, β, xy)) = r; here C is the (j − 1)-step chain this tuple stands for (Fact 27). Chain construction stage 1: FanChainConstruction ▷ constructs the fan chain F 2: PathChainConstruction ▷ constructs path chain P and success; Algorithm 6 3: x finishes the construction of F + P if success ∈ {0, 1}, and abandons it if success = −1 4: F + P is successful, hopeful or unsuccessful as to whether success equals 1, 0 or −1

Set construction stage 5: x joins Dj−1 (e, ℓ), Qj−1 (e, ℓ) or Bj−1 (e, ℓ) according as F +P is successful, hopeful or unsuccessful 6: if F + P is successful or hopeful then 7: every v ∈ V (P ) \ {x} joins Rj (e, ℓ) and notifies its 2-hop neighborhood 8: end if 9: if F + P is hopeful then 2 10: for all v ∈ V (tail(P do Sj−1)) \ N [x], settingℓ vw ← eEnd(P |dP (x, v)) 2 3 ℓ 11: if v ∈ / N [ k=0 Rk (e, ℓ)] and 10∆4 · b ≤ dP (x, v) < 10∆ 4 · (b + 1), where b = ∆ ·

µvEnd(F ) (x) + r then v joins Sj (e, ℓ) v adds (e, x, θ, θ′ , vw) to Mj (v) ▷ {θ, θ′ }: color pair of tail(P ) under χ, with θ = χ(vw) 14: end if 15: end for 16: end if 17: procedure FanChainConstruction 18: (Preparation) x computes A(z, Shift(χ, C)) for every z ∈ N [x] ▷ Lemma 29 19: F ′ = (xz1 , . . . , xzp ) ← fan chain on xy under Shift(χ, C), with α ∈ A(x, Shift(χ, C)) and β ∈ A(y, Shift(χ, C)) ▷ Lemma 15 20: if F ′ has the common-color property then ▷ Common-Color Case 21: F ← F′ 22: pick η ∈ A(x, Shift(χ, C)) ∩ A(zp , Shift(χ, C)) 23: (Search) x takes no action 24: else if F ′ has the repeated-color property then ▷ Repeated-Color Case 25: δ ← the representative available color of zq and zp , where q < p ▷δ∈ / {α, β} 26: γ ← any color in A(x, Shift(χ, C)) \ {α, β} 27: (Search) K ← (xzp ) + K ′ ▷ K ′ : maximal (γ, δ)-bichromatic path from zp under χ 28: x propagates τsearch = (e, x, zq , γ, δ) along K 29: the propagation stops at x, at zq , at an endpoint of K, or at hop ℓ + 1 30: if it stops at x or at zq , that vertex sends τreturn = (e, x) to x ▷ one hop, as zq ∈ N (x) 31: F ← F ′ |q if x receives τreturn , and F ← F ′ |p otherwise ▷ it does iff some v ∈ {x, zq } lies ′ on K with dK ′ (zp , v) ≤ ℓ 32: else ▷ F ′ has the inherited-color property; Inherited-Color Case ′ 33: F ←F ▷ here vEnd(F ) = zp ̸= y and β ∈ A(zp , Shift(χ, C)) 34: (Search) x takes no action 35: end if 36: end procedure

12: 13:

For each z ∈ N [x], vertex x can compute A(z, Shift(χ, C)) internally, since it already knows A(z, χ) from the preprocessing steps. This follows from the next lemma, whose proof is deferred to Section 5.4. ▶ Lemma 29. Let z ∈ N [x]. Then A(z, χ) = A(z, Shift(χ, C)) if z ∈ / {x, y}

31

32

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

Algorithm 6 The path chain construction of the subphase in Algorithm 5. 1: procedure PathChainConstruction 2: if F ′ has the common-color property then ▷ Common-Color Case 3: (Notification) x sends τnotify = (e, x, zp , ¬, η) to zp 4: P ← (xzp ) ▷ a path chain of length 1 under Shift(χ, C + F ) 5: (Confirmation) vEnd(P ) = zp replies, taking the S first case that applies: j−2 6: τreply = (e, x, zp , ¬, η, success = −1) if zp ∈ N 2 [ i=0 Ri (e, ℓ)] 7: the same tuple with success = 1 otherwise 8: else if F ′ has the repeated-color property then ▷ Repeated-Color Case 9: (Notification) Q ← (xvEnd(F )) + Q′ ▷ Q′ : maximal (γ, δ)-bichromatic path from

vEnd(F ) under χ x propagates τnotify = (e, x, vEnd(F Sj−2 ), γ, δ) along Q the propagation stops in N 2 [ i=0 Ri (e, ℓ)], at an endpoint of Q, or at hop ℓ + 1 P ← the traversed prefix of Q ▷ a path, by Observation 30 (Confirmation) vEnd(P ) replies along rev(P ), taking the first S case that applies: j−2 τreply = (e, x, vEnd(F ), γ, δ, success = −1) if vEnd(P ) ∈ N 2 [ i=0 Ri (e, ℓ)] the same tuple with success = 1 if vEnd(P ) is an endpoint of Q, and with success = 0 otherwise 16: else ▷ Inherited-Color Case 17: (Notification) Q ← (xvEnd(F )) + Q′ ▷ Q′ : maximal (α, β)-bichromatic path from vEnd(F ) under χ 18: x propagates τnotify = (e, x, vEnd(F Sj−2 ), α, β) along Q 19: the propagation stops in N 2 [ i=0 Ri (e, ℓ)] ∪ {x}, at an endpoint of Q, or at hop ℓ + 1 20: P ← the traversed prefix of Q 21: (Confirmation) vEnd(P ) replies along rev(P ), by the first caseS that holds: j−2 22: τreply = (e, x, vEnd(F ), α, β, success = −1) if vEnd(P ) ∈ N 2 [ i=0 Ri (e, ℓ)] ∪ {x}, 23: the same tuple with success = 1 if vEnd(P ) is an endpoint of Q, and with success = 0 otherwise 24: end if 25: end procedure 10: 11: 12: 13: 14: 15:

A(y, Shift(χ, C)) = A(y, χ) ∪ {β}, and A(x, Shift(χ, C)) = A(x, χ) ∪ {α}. In the preparation substage, vertex x computes A(z, Shift(χ, C)) internally for each z ∈ N [x] and constructs a fan chain F ′ = (xz1 , . . . , xzp ) on xy under Shift(χ, C), with α ∈ A(x, Shift(χ, C)) and β ∈ A(y, Shift(χ, C)), by Lemma 15. Depending on whether F ′ has the common-color property, the repeated-color property, or the inherited-color property, vertex x executes the Common-Color Case, the Repeated-Color Case or the Inherited-Color Case respectively. Common-Color Case. Suppose F ′ is the fan with the common-color property. Let η ∈ [∆+1] such that η ∈ A(x, Shift(χ, C)) ∩ A(zp , Shift(χ, C)); hence η ∈ A(x, Shift(χ, C + F ′ )) ∩ A(zp , Shift(χ, C + F ′ )) by Observation 6. In the preparation substage, vertex x sets F := F ′ . Vertex x performs no action in the search substage. In the notification substage it sends τnotify = (e, x, zp , ¬, η) to zp and then sets P := (xzp ), a path chain of length 1 under Shift(χ, C + F ). In the confirmation substage, zp sends to x a message τreply whose content is according to the following cases. Sj−2 If zp ∈ N 2 [ i=0 Ri (e, ℓ)], τreply = (e, x, zp , ¬, η, success = −1). Otherwise, τreply = (e, x, zp , ¬, η, success = 1).

S. Brandt, A. Narayanan and A. Nolin

If x receives τreply = (e, x, zp , ¬, η, success = 1), x finishes the construction of F + P . If x receives τreply = (e, x, zp , ¬, η, success = −1), x abandons the construction of F + P . Repeated-Color Case. Suppose F ′ is the fan with the repeated-color property. Then, there exist γ, δ ∈ [∆ + 1] \ {α, β} with γ ̸= δ and an index q ∈ [p − 1] such that A(x, Shift(χ, C)) ∩ A(zi , Shift(χ, C)) = ∅ for i ∈ [p], γ ∈ A(x, Shift(χ, C)) and δ ∈ A(zp , Shift(χ, C)) ∩ A(zq , Shift(χ, C)). In the search substage, we will now see that zp and zq are endpoints of maximal (γ, δ)bichromatic paths under χ. We have that γ ∈ / A(zp , Shift(χ, C)) ∪ A(zq , Shift(χ, C)) since A(x, Shift(χ, C)) ∩ A(zi , Shift(χ, C)) = ∅ for i ∈ [p]. By Lemma 29, γ ∈ / A(zp , χ) ∪ A(zq , χ). On the other hand, we have δ ∈ A(zp , Shift(χ, C)) ∩ A(zq , Shift(χ, C)). By Lemma 29, δ ∈ A(zp , χ) ∩ A(zq , χ). Hence, both zp and zq are endpoints of maximal (γ, δ)-bichromatic paths under χ. Vertex x propagates out a message τsearch = (e, x, zq , γ, δ) along K = (xzp ) + K ′ where K ′ is the maximal (γ, δ)-bichromatic path under χ with zp as an endpoint. Propagation stops at a vertex v according to the following subcases. 1. If v ∈ {x, zq }, τsearch stops at v, and v sends the message τreturn = (e, x) to x along the edge xv. This is a single hop, since zq ∈ N (x); in case v = x, vertex v sends the message to itself. 2. If subcase 1 is not true and v is an endpoint of K, τsearch stops at v. 3. If subcases 1 and 2 are not true, τsearch stops at v if dK (x, v) = ℓ + 1. Vertex v knows dK (x, v) depending on the round τsearch reached v. If x receives τreturn (which happens when some v ∈ {x, zq } is on K ′ and dK ′ (zp , v) ≤ ℓ), x sets F to the fan chain F ′ |q. Else x sets F to the fan chain F ′ |p. Let Q′ be the maximal (γ, δ)-bichromatic path under χ starting at vEnd(F ). We make the following observation about x and vEnd(F ) along Q′ . ▶ Observation 30. Either x ∈ / V (Q′ ), or x and vEnd(F ) are at distance greater than ℓ along ′ Q. Proof. We have vEnd(F ) ∈ {zp , zq }. Note that zp , zq and x are distinct and are endpoints of maximal (γ, δ)-bichromatic paths under χ. Hence all three of them cannot lie on the same maximal (γ, δ)-bichromatic path under χ. If vEnd(F ) = zq , then x received τreturn , so τsearch stopped at x or at zq . Suppose it stopped at x. Then x and zp both lie on K ′ , so zq ∈ / V (K ′ ) and hence Q′ ̸= K ′ ; as two maximal (γ, δ)-bichromatic paths under χ are either equal or vertex-disjoint, this gives x∈ / V (Q′ ). Suppose instead it stopped at zq . Then zq ∈ V (K ′ ) and hence Q′ = K ′ ; as zp and zq both lie on K ′ , this again gives x ∈ / V (Q′ ). ′ ′ If vEnd(F ) = zp , then Q = K . By construction, vEnd(F ) = zp is chosen only when x does not receive τreturn , which in particular means that either x ∈ / V (K ′ ) or dK ′ (zp , x) > ℓ. In either case, either x ∈ / V (Q′ ) or x and vEnd(F ) are at distance greater than ℓ along ′ Q. ◀ In the notification substage, vertex x sends a message τnotify = (e, x, vEnd(F ), γ, δ) that propagates along Q away from x where Q := (xvEnd(F )) + Q′ . Propagation stops at a vertex v according to the following subcases. Sj−2 1. If v ∈ N 2 [ i=0 Ri (e, ℓ)], τnotify stops at v. Let P = Q|dQ (x, v). 2. If subcase 1 is not true and v is an endpoint of Q, τnotify stops at v. Let P = Q|dQ (x, v). 3. If subcases 1 and 2 are not true, τnotify stops at v if dQ (x, v) = ℓ + 1. Let P = Q|dQ (x, v).

33

34

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

In each subcase, τnotify traverses at most ℓ edges of Q′ , so Observation 30 implies that the traversed portion of Q′ does not contain x. Hence P is a path. In the confirmation substage, vertex vEnd(P ) sends a message τreply along the path rev(P ) to x according to the following exhaustive cases (with earlier cases taking precedence over later ones). Sj−2 If vEnd(P ) ∈ N 2 [ i=0 Ri (e, ℓ)], τreply = (e, x, vEnd(F ), γ, δ, success = −1). If vEnd(P ) is an endpoint of Q, τreply = (e, x, vEnd(F ), γ, δ, success = 1). If vEnd(P ) is not an endpoint of Q, τreply = (e, x, vEnd(F ), γ, δ, success = 0). If x receives either τreply = (e, x, vEnd(F ), γ, δ, success = 0) or τreply = (e, x, vEnd(F ), γ, δ, success = 1), x finishes the construction of F + P . If x receives τreply = (e, x, vEnd(F ), γ, δ, success = −1), x abandons the construction of F + P . Now that x has either finished or abandoned the construction in the Repeated-Color Case, we make the following observation about tail(P ) which follows from the construction. ▶ Observation 31. If x finished constructing F + P by the Repeated-Color Case, tail(P ) is a vEnd(F )-maximal (γ, δ)-bichromatic path of length at most ℓ under χ, and x and vEnd(F ) are not tail(P )-related. Inherited-Color Case. Suppose F ′ is the fan with the inherited-color property. Then, A(x, Shift(χ, C)) ∩ A(zi , Shift(χ, C)) = ∅ for i ∈ [p], β ∈ A(zp , Shift(χ, C)), and zp ̸= z1 i.e. vEnd(F ′ ) ̸= y. Note that α = ̸ β from these conditions. In the preparation substage, vertex x sets F := F ′ . Vertex x performs no action in the search substage. In the notification substage, we will now see that vEnd(F ) is an endpoint of a maximal (α, β)-bichromatic path under χ. To see why, note that α ∈ / A(vEnd(F ), Shift(χ, C)) since A(x, Shift(χ, C))∩A(vEnd(F ), Shift(χ, C)) = ∅. Hence vEnd(F ) is an endpoint of a maximal (α, β)-bichromatic path under Shift(χ, C). This implies that β ∈ A(vEnd(F ), χ) by Lemma 29. Hence, vEnd(F ) is an endpoint of a maximal (α, β)-bichromatic path under χ. Let Q′ be the maximal (α, β)-bichromatic path under χ starting at vEnd(F ). Let Q = (xvEnd(F )) + Q′ . Vertex x sends out a message τnotify = (e, x, vEnd(F ), α, β) that propagates along Q away from x. Propagation stops at a vertex v according to the following subcases. Sj−2 1. If v ∈ N 2 [ i=0 Ri (e, ℓ)] ∪ {x}, τnotify stops at v. Let P = Q|dQ (x, v). 2. If subcase 1 is not true and v is an endpoint of Q, τnotify stops at v. Let P = Q|dQ (x, v). 3. If subcases 1 and 2 are not true, τnotify stops at v if dQ (x, v) = ℓ + 1. Let P = Q|dQ (x, v). Propagation stops at the first vertex meeting one of these conditions, so the traversed portion of Q′ contains x at most as its last vertex. Hence P is a path unless vEnd(P ) = x, in which case x abandons the construction below. In the confirmation substage, vertex vEnd(P ) sends a message τreply along rev(P ) to x whose content is according to the following exhaustive cases (with earlier cases taking precedence over the later ones). Sj−2 If vEnd(P ) ∈ N 2 [ i=0 Ri (e, ℓ)] ∪ {x}, τreply = (e, x, vEnd(F ), α, β, success = −1). Note that in case vEnd(P ) = x, vEnd(P ) sends the message to itself. If vEnd(P ) is an endpoint of Q, τreply = (e, x, vEnd(F ), α, β, success = 1). If vEnd(P ) is not an endpoint of Q, τreply = (e, x, vEnd(F ), α, β, success = 0).

S. Brandt, A. Narayanan and A. Nolin

If x receives τreply = (e, x, vEnd(F ), α, β, success = 1) or τreply = (e, x, vEnd(F ), α, β, success = 0), x finishes the construction of F + P . If x receives τreply = (e, x, vEnd(F ), α, β, success = −1), x abandons the construction. Now that x has either finished or abandoned the construction in the Inherited-Color Case, we make the following observation about tail(P ) which follows from the construction. ▶ Observation 32. If x finishes the construction of F + P by the Inherited-Color Case, tail(P ) is a vEnd(F )-maximal (α, β)-bichromatic path of length at most ℓ under χ, and x and vEnd(F ) are not tail(P )-related. This completes the description of the chain construction stage. In each of the three cases, appending F and an initial segment of P to C again gives a self-avoiding chain. We state this below and defer the proof to Section 5.4. ▶ Lemma 33. Assume some vertex x finishes the construction of candidate chain F + P under Shift(χ, C) where C = F1 + P1 + . . . Fj−1 + Pj−1 is the unique (j − 1)-step Vizing chain guaranteed by Fact 27. Let v ∈ V (P ) \ {x}. Then, C + F + P |dP (x, v) is a self-avoiding j-step Vizing chain of step length ℓ on e under χ. As in construction phase 1, appending a successful candidate chain to C yields a terminating Vizing chain, so that the construction on e may stop at it. We state this below and defer the proof to Section 5.4 as well. ▶ Lemma 34. Assume some vertex x finishes the construction of a successful candidate chain F + P for e in construction phase j, and let C = F1 + P1 + . . . Fj−1 + Pj−1 be the unique (j − 1)-step Vizing chain guaranteed by Fact 27. Then C + F + P is a terminating self-avoiding j-step Vizing chain of step length ℓ on e under χ.

Set construction stage for x. From the chain construction stage, F + P is a successful, hopeful, or unsuccessful candidate chain according as τreply carries success = 1, success = 0, or success = −1. Each vertex v ∈ V (P ) can determine which, since it sends or receives τreply . Each vertex v ∈ V (P )\{x}, as well as vertex x, adds themselves to different sets according to the following cases. If F + P is a successful candidate chain, then x adds itself to Dj−1 (e, ℓ). If F + P is a hopeful candidate chain, then x adds itself to Qj−1 (e, ℓ). If F + P is an unsuccessful candidate chain, then x adds itself to Bj−1 (e, ℓ). If F + P is a successful candidate chain or a hopeful candidate chain, v adds itself to Rj (e, ℓ). Note that each v can locally determine whether v ∈ V (P ) \ {x}, since v ∈ V (P ) \ {x} iff v ̸= x and v sent or received τreply . Suppose F + P is a hopeful candidate chain (which implies F + P was constructed by the Repeated-Color Case or the Inherited-Color Case). Let v ∈ V (tail(P )) \ N 2 [x]. Let vw = eEnd(P |dP (x, v)). Note that vw ∈ E(tail(P )) since v ∈ / N 2 [x]. Vertex v now adds itself to Sj (e, ℓ) if v ∈ / N 2[

Sj−1

k=0 Rk (e, ℓ)] and

ℓ ℓ · (∆3 · µvEnd(F ) (x) + r) ≤ dP (v, x) < · (∆3 · µvEnd(F ) (x) + r + 1). 4 10∆ 10∆4 adds to Mj (v) the tuple (e, x, θ, θ′ , vw), where {θ, θ′ } is the color pair of tail(P ) and θ = χ(vw), provided v ∈ Sj (e, ℓ).

35

36

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

We claim that these additions are well defined. Vertex v knows the set W (vEnd(F )) from the preprocessing step of algorithm A (since tail(P ) is a vEnd(F )-maximal bichromatic path of length at most ℓ by Observation 31 and Observation 32). Moreover, χ(vw) = Shift(χ, C + F )(vw) holds if E(tail(P )) ∩ E(C + F ) = ∅. This is true since C + F + P is a self-avoiding j-step Vizing chain by Lemma 33. A vertex v in Rj (e, ℓ) notifies its 2-hop neighborhood that it is part of Rj (e, ℓ) by sending a message (v, e). This concludes the set construction stage as well as subphase (c, r) in construction phase j.

4.4

Selecting and Learning a Terminating Multi-step Vizing Chain

This completes the construction phases. We will show in Section 6 that algorithm A has thereby constructed, for every uncolored edge, at least one terminating multi-step Vizing chain (Lemma 70). We now explain how each uncolored edge chooses one such chain, and how the vertices of that chain learn that they belong to it. The obstacle is that no vertex knows a multi-step chain it is part of in full. A vertex x ∈ Si (e, ℓ) knows only the candidate chain it constructed for e in construction phase i + 1, and whether that chain is successful or hopeful. A successful candidate chain already completes a multi-step Vizing chain on e. A hopeful one is of use only if it can be continued, through the candidate chains of the vertices that it reaches, to a terminating chain in one of the phases. We therefore proceed in three steps. First (Section 4.4.1), we determine which candidate chains can be continued to a terminating multi-step Vizing chain. For e ∈ U and 0 ≤ i < T , let ζi (e, ℓ) := Di (e, ℓ), so that ζi (e, ℓ) initially holds those vertices of Si (e, ℓ) whose own candidate chain is successful; by Lemma 69, we have ζi (e, ℓ) ̸= ∅ for some 0 ≤ i < T . We then run T − 1 marking phases, indexed in reverse order, namely from T − 2 down to 0. In marking phase i, a vertex x ∈ Si (e, ℓ) joins ζi (e, ℓ) if its candidate chain reaches a vertex v ∈ ζi+1 (e, ℓ) such that Mi+1 (v) contains a tuple naming e and x. The set ζi+1 (e, ℓ) receives vertices only at initialization and during marking phase i + 1; running the phases in decreasing order of the index therefore means that no vertex joins ζi+1 (e, ℓ) after marking phase i has begun. Second (Section 4.4.2), each uncolored edge e uses these sets to fix a single chain Ce . The first chosen vertex is the unique vertex of ζ0 (e, ℓ). If a chosen vertex of ζi (e, ℓ) has a hopeful candidate chain, the next chosen vertex is the vertex of ζi+1 (e, ℓ) that this candidate chain reaches; the process stops at the first chosen vertex whose candidate chain is successful. The candidate chains of the chosen vertices, each truncated at the next chosen vertex, are then concatenated to form Ce . Third (Section 4.4.3), we run T relay phases, in which every vertex of Ce learns that it lies on Ce and which segment of Ce it lies in. We emphasize that Ce is stored in a distributed fashion and not at a single vertex. Two facts used in this subsection are proved later: that some Di (e, ℓ) is nonempty (Lemma 69, proved in Section 6), and that the selection process of Section 4.4.2 is well defined, in that ζ0 (e, ℓ) is a singleton and the process stops within T steps (Claim 72, proved in Section 7).

4.4.1

Marking Phase i for 0 ≤ i ≤ T − 2

Each marking phase is split into subphases, analogously to the construction phases. Each subphase is indexed by a pair (c, r) with c ∈ [∆2 + 1] and r ∈ [2∆2 ]. We iterate through all such pairs (c, r) and run subphase (c, r), described next.

S. Brandt, A. Narayanan and A. Nolin

Subphase (c, r) in marking phase i. Subphase (c, r) is a single global subphase of the algorithm. It is not defined separately for each vertex. Instead, it consists of the local actions performed in parallel by all vertices x ∈ Si (e, ℓ), over all uncolored edges e ∈ U , for which x constructed a candidate chain for e in subphase (c, r) of construction phase i + 1. Thus, in the description below, we fix an uncolored edge e ∈ U and a vertex x ∈ Si (e, ℓ) that constructed a candidate chain F + P for e in subphase (c, r) of construction phase i + 1. Note that F + P is the unique candidate chain constructed by x for e in construction phase i + 1, by Observations 35 and 45. We may restrict attention to the case where F + P is hopeful: if F + P is successful, then x ∈ Di (e, ℓ) ⊆ ζi (e, ℓ) already, and if F + P is unsuccessful, then x abandoned its construction. So assume F + P is hopeful; in particular tail(P ) ̸= ∅. Each subphase has two stages: the check stage and the status stage. In the check stage, vertex x checks whether there exists a vertex v ∈ V (P ) \ {x} such that v ∈ ζi+1 (e, ℓ) and (e, x, θ, θ′ , vw) ∈ Mi+1 (v) for some w ∈ N (v) and some ordering (θ, θ′ ) of the two colors α and β of tail(P ) under χ. We do not fix the order of the two colors in the tuple, since by the set construction stage in construction phase i + 1 the first of them is χ(vw) and therefore depends on v. If such a vertex exists, then in the status stage vertex x adds itself to ζi (e, ℓ). We now describe these two stages from the perspective of the fixed vertex x. Check stage for x. Vertex x propagates the message τcheck = (e, x, vEnd(F ), α, β) along P , where α and β are the two colors of tail(P ) under χ. This message is well defined because x already knows vEnd(F ), α, and β from subphase (c, r) of construction phase i + 1. The propagation is also well defined, since each vertex of P knows from the contents of τcheck to which neighboring vertex the message must be forwarded. The propagation stops at a vertex v ∈ V (P ) if one of the following happens: v ∈ ζi+1 (e, ℓ) and (e, x, θ, θ′ , vw) ∈ Mi+1 (v) for some w ∈ N (v) and some {θ, θ′ } = {α, β}; or v = vEnd(P ). The second condition is well defined because vEnd(P ) knows, from the notification substage in construction phase i + 1, that it is the last vertex of the path chain P in the candidate chain F + P . Let P ′ be the subpath of P from x to the vertex at which the propagation stops. Status stage for x. If vEnd(P ′ ) ∈ ζi+1 (e, ℓ) and (e, x, θ, θ′ , vEnd(P ′ )w) ∈ Mi+1 (vEnd(P ′ )) for some w ∈ N (vEnd(P ′ )) and some {θ, θ′ } = {α, β}, then vEnd(P ′ ) propagates the message τstatus = (e, x, vEnd(F ), α, β, vEnd(P ′ )) back to x along rev(P ′ ). Again, this propagation is well defined because each vertex of rev(P ′ ) knows, from the contents of τstatus , where the message has to be forwarded. If x receives the message τstatus = (e, x, vEnd(F ), α, β, vEnd(P ′ )), then x adds itself to ζi (e, ℓ). In this case, we say that x is added to ζi (e, ℓ) because of vEnd(P ′ ). This concludes subphase (c, r) in marking phase i.

4.4.2

Selecting the Terminating Multi-step Vizing Chain

The marking phases determine, for each edge e, the sets ζi (e, ℓ); we now use them to single out a unique terminating multi-step Vizing chain. Fix an uncolored edge e.

37

38

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

We choose a sequence of vertices as follows. Let x0 be the unique vertex in ζ0 (e, ℓ). For i ≥ 1, suppose xi−1 has been chosen. If xi−1 ∈ Di−1 (e, ℓ), we stop and set ke := i − 1; otherwise, by the definition of ζi−1 (e, ℓ), there is a vertex x′ ∈ ζi (e, ℓ) such that xi−1 was added to ζi−1 (e, ℓ) because of x′ , and we set xi := x′ . We call ke the stopping index of e. That this process is well defined — that ζ0 (e, ℓ) is a singleton, and that the process stops at some ke ≤ T − 1 with xke ∈ Dke (e, ℓ) — is shown in Section 7.2. ′ ′ For each 0 ≤ i ≤ ke , let Fi+1 + Pi+1 be the unique candidate chain constructed by xi ′ for e in construction phase i + 1 (uniqueness by Observations 35 and 45). Set Fi+1 := Fi+1 ′ ′ and Pi+1 := Pi+1 |dPi+1 (xi , xi+1 ) for 0 ≤ i ≤ ke − 1, and Fke +1 := Fk′ e +1 , Pke +1 := Pk′ e +1 . Here Pi+1 is well defined for 0 ≤ i ≤ ke − 1 since xi was added to ζi (e, ℓ) because of xi+1 , so ′ xi+1 ∈ V (tail(Pi+1 )).

Now let Ce := F1 + P1 + · · · + Fke +1 + Pke +1 . By Lemma 73, Ce is a terminating self-avoiding (ke + 1)-step Vizing chain of step length ℓ on e under χ.

4.4.3

Learning the Terminating Multi-step Vizing Chain

Having selected Ce , we describe how each vertex of Ce learns that it is part of Ce . We proceed through T relay phases, run in increasing order of the index, from 1 to T . For any e ∈ U , let Ce = F1e + P1e + · · · + Fkee +1 + Pkee +1 be the terminating Vizing chain we have chosen, where ke is the stopping index of e. Recall that ke ≤ T − 1, so Ce has at most T segments. Note that cen(F1e ) knows that it is cen(F1e ), since cen(F1e ) ∈ S0 (e, ℓ) and S0 (e, ℓ) e is a singleton. Moreover, for each 1 ≤ i ≤ ke , the vertex cen(Fie ) knows cen(Fi+1 ) from the e e marking phases. Similarly, for each 2 ≤ i ≤ ke + 1, the vertex cen(Fi ) knows cen(Fi−1 ) from the marking phases. Observe that, for each 1 ≤ i ≤ ke + 1, the vertex cen(Fie ) knows vEnd(Pie ): if i ≤ ke , e then Pie is truncated at vEnd(Pie ) = cen(Fi+1 ), which cen(Fie ) knows from the marking e phases; if i = ke + 1, then Pi is the full path chain of the candidate chain constructed by cen(Fie ), whose endpoint cen(Fie ) knows from construction phase i.

Relay phase i for 1 ≤ i ≤ T . We do the following for any edge e ∈ U with ke + 1 ≥ i. If i = 1, vertex cen(F1e ) knows that it is cen(F1e ) as noted above. If i ≥ 2, then e cen(Fie ) = vEnd(Pi−1 ), and hence cen(Fie ) will have known by the end of relay phase i − 1 that it is cen(Fie ). Vertex cen(Fie ) sends a message (e, chosen = 1) to vertices in Fie . Vertex cen(Fie ) propagates the message (e, cen(Fie ), vEnd(Pie ), α, β, chosen = 1) across Pie , where α and β are the colors of tail(Pie ) under χ. This message is well defined since cen(Fie ) knows vEnd(Pie ), α, and β, as noted above. The propagation is well defined since each vertex in Pie knows where to propagate to, based on the contents of the message. The propagation stops e at the vertex vEnd(Pie ) named in the message; note that vEnd(Pie ) = cen(Fi+1 ) whenever i ≤ ke . All the vertices that got the message (e, chosen = 1) or (e, cen(Fie ), vEnd(Pie ), α, β, chosen = 1) know that they are part of Fie + Pie .

S. Brandt, A. Narayanan and A. Nolin

5

Analysis of the Construction Phases

5.1

Properties of the Chain Construction Stage in Construction Phase 1

We first record properties of the candidate chains built in the chain construction stage of construction phase 1. We begin with the self-avoidance lemma used in Section 4.2, which underlies the welldefinedness of the set construction stage and recurs throughout the later analysis. ▶ Lemma 25. Let F + P be a candidate chain for an uncolored edge e ∈ U constructed by vertex x in construction phase 1. Suppose v ∈ V (P ) \ {x}. Then F + P |dP (x, v) is a self-avoiding 1-step Vizing chain of step length ℓ on e under χ. Proof. For ease of writing, we use the same variables as in the Common-Color Case and the Repeated-Color Case. Note that F + P |dP (x, v) is a self-avoiding 1-step Vizing chain of step length ℓ on e under χ if F + P is a self-avoiding 1-step Vizing chain of step length ℓ on e under χ: a prefix of a bichromatic path chain is a bichromatic path chain of no greater length, and since tail(P |dP (x, v)) ⊆ tail(P ), the vertices x and vEnd(F ) remain not tail(P |dP (x, v))-related. Hence, we will prove that F + P is a self-avoiding 1-step Vizing chain of step length ℓ on e under χ. We will start with showing that F + P is a 1-step Vizing chain of step length ℓ on e under χ. By construction, F is a fan chain under χ on e. Hence, we only need to show that P is a bichromatic path chain on (xvEnd(F ), vEnd(F )) under Shift(χ, F ). Clearly xvEnd(F ) is uncolored under Shift(χ, F ) since F is a fan chain. Assume x finished the construction of F + P by the Common-Color Case. Then P = (xzp ) is a bichromatic path chain of length 1 on (xvEnd(F ), vEnd(F )) under Shift(χ, F ) and we are done. Hence, assume x finished the construction of F + P by the Repeated-Color Case. Then we have that α ∈ A(x, Shift(χ, F )) and β ∈ A(vEnd(F ), Shift(χ, F )) by Observation 6 because α ∈ A(x, χ) and β ∈ A(vEnd(F ), χ), tail(P ) is colored the same in both χ and Shift(χ, F ). This is because x and vEnd(F ) are not tail(P )-related by Observation 24, which implies E(tail(P )) ∩ E(F ) = ∅ as every edge of F is incident to x. Moreover, P is a path in G: tail(P ) is a subpath of the path Q′ , and x ∈ / V (tail(P )) since x and vEnd(F ) are not tail(P )-related by Observation 24. Also, the first edge of tail(P ) is colored α under χ, since it is incident to vEnd(F ) and β ∈ A(vEnd(F ), χ). Together, these conditions imply that P is an (α, β)-bichromatic path chain under Shift(χ, F ). Hence, we have that F + P is a 1-step Vizing chain on e under χ irrespective of whether x built it by the Common-Color Case or the Repeated-Color Case. We now show that F + P is self-avoiding. Since F + P is a 1-step Vizing chain, x and vEnd(F ) being not tail(P )-related would imply that F + P is self-avoiding. The other conditions for self-avoidance are vacuous for a 1-step Vizing chain, since there is only one fan and one path chain. If x finished the construction by the Common-Color Case, tail(P ) = ∅ and we are done. If x finished the construction by the Repeated-Color Case, x and vEnd(F ) are not tail(P )-related by Observation 24. Hence, F + P is self-avoiding. ◀ Next we verify that a successful candidate chain is a terminating Vizing chain. ▶ Lemma 26. Let F + P be a successful candidate chain for an uncolored edge e ∈ U constructed by vertex x in construction phase 1. Then F + P is a terminating self-avoiding 1-step Vizing chain of step length ℓ on e under χ.

39

40

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

Proof. For ease of writing, we use the same variables as in the Common-Color Case and the Repeated-Color Case; in addition, for 1 ≤ i ≤ p − 1 we write ηi for the representative available color at zi in F ′ . We first observe that vEnd(P ) ∈ V (P ) \ {x}. In the Common-Color Case this holds because vEnd(P ) = vEnd(F ) ̸= x. In the Repeated-Color Case, the path tail(P ) is nonempty and vEnd(P ) ∈ V (tail(P )), while x ∈ / V (tail(P )) by Observation 24. Taking v = vEnd(P ) in Lemma 25 therefore shows that F + P is a self-avoiding 1-step Vizing chain of step length ℓ on e under χ. By Observation 10, it suffices to prove that P is maximal under Shift(χ, F ). If x constructed F + P by the Common-Color Case, then P = (xvEnd(F )) and η ∈ A(x, Shift(χ, F )) ∩ A(vEnd(F ), Shift(χ, F )), so P is maximal under Shift(χ, F ). Assume therefore that x constructed F + P by the Repeated-Color Case. Since F + P is a successful candidate chain, τreply carries success = 1, so vEnd(P ) is an endpoint of Q. We saw above that vEnd(P ) ̸= x. Also vEnd(P ) ̸= vEnd(F ): since α ∈ A(x, χ) and A(x, χ) ∩ A(vEnd(F ), χ) = ∅, the vertex vEnd(F ) is incident to an αcolored edge, so Q′ has length at least 1 and vEnd(F ) is an interior vertex of Q. Hence vEnd(P ) is the endpoint of Q′ other than vEnd(F ), and since Q′ is a maximal (α, β)bichromatic path under χ there is a color θ ∈ A(vEnd(P ), χ) ∩ {α, β}. It suffices to show that θ ∈ A(vEnd(P ), Shift(χ, F )). By Observation 6, we only have to show that θ ̸= ηi whenever vEnd(P ) = zi for some zi ∈ V (F ) \ {x, vEnd(F )}. First, ηi ̸= α for every i, since ηi ∈ A(zi , χ), α ∈ A(x, χ) and A(x, χ)∩A(zi , χ) = ∅. Second, the colors η1 , . . . , ηp−1 are pairwise distinct and ηq = β, so ηi = β forces i = q. It therefore remains to rule out vEnd(P ) = zq with zq ∈ V (F ) \ {x, vEnd(F )}, that is, with vEnd(F ) = zp . In that case x received no τreturn , so τsearch stopped neither at x nor at zq . As τsearch and τnotify traverse the same trail (xzp ) + K ′ = (xzp ) + Q′ and both stop after at most ℓ + 1 hops, and τnotify reached the endpoint vEnd(P ) of Q′ , the message τsearch reached and stopped at vEnd(P ) as well. Since it did not stop at zq , we conclude vEnd(P ) ̸= zq . ◀ The next observation identifies which vertices construct candidate chains in construction phase 1: exactly the vertices of S0 (e, ℓ), each constructing one chain per uncolored edge. We use it repeatedly to pass between a candidate chain and the vertex that built it. ▶ Observation 35. Any candidate chain for an edge e ∈ U constructed in construction phase 1 is constructed by some x in S0 (e, ℓ). Conversely, any x in S0 (e, ℓ) constructs a unique candidate chain for e in construction phase 1. Proof. By the description of subphase (c, r) in construction phase 1, a vertex x constructs a candidate chain for e if and only if ψ(x) = c, e ∈ M0 (x), and λx,0 (e) = r. By definition of M0 (x), e ∈ M0 (x) iff x ∈ S0 (e, ℓ). Since λx,0 is injective, x constructs at most one candidate chain for e across all subphases, and constructs exactly one in the unique subphase (ψ(x), λx,0 (e)). ◀ A candidate chain is hopeful precisely when its path chain stopped at the step length rather than at an endpoint of Q. The next observation makes this quantitative, and it is what forces the sets R1 (e, ℓ) to be large in the counting arguments of Section 6. ▶ Observation 36. Let F + P be a hopeful candidate chain constructed in construction phase 1. Then length of P is ℓ + 1. Proof. A hopeful candidate chain receives τreply with success = 0, which occurs only in the Repeated-Color Case when vEnd(P ) is not an endpoint of Q. By the notification substage,

S. Brandt, A. Narayanan and A. Nolin

this means τnotify traversed ℓ + 1 edges along Q before stopping. Hence P = Q|(ℓ + 1) has length ℓ + 1. ◀ Finally, we record the shape of the bichromatic part of a candidate chain. This is used whenever we count the chains passing through a given vertex or edge, and when bounding the messages sent in a marking phase. ▶ Observation 37. Let F + P be a candidate chain constructed in construction phase 1. Then either tail(P ) = ∅ or tail(P ) is a vEnd(F )-maximal bichromatic path under χ. Proof. If F +P was constructed in the Common-Color Case, then tail(P ) = ∅ by construction. If F + P was constructed in the Repeated-Color Case, tail(P ) is a vEnd(F )-maximal bichromatic path under χ by Observation 24. ◀

5.2

Properties of the Set Construction Stage in Construction Phase 1

We now record properties of the sets updated in the set construction stage of construction phase 1. We begin with the fact that every fiber of M1 (·) holds at most one tuple. ▶ Observation 38. Let x ∈ V (G). Then |M1 (x; e)| ≤ 1 for every edge e ∈ U after construction phase 1. Proof. By the deduplication step at the end of construction phase 1, vertex x replaces every nonempty fiber M1 (x; e) by a singleton subset of it. ◀ We turn to the sets that the vertices of a candidate chain join. A vertex joins R1 (e, ℓ) exactly when it lies on the path chain of a finished candidate chain for e, other than the vertex that built that chain; a vertex lying only on the fan does not join it. ▶ Observation 39. Let v ∈ V (G). Then v is added to R1 (e, ℓ) in construction phase 1 if and only if some x ∈ S0 (e, ℓ) finished the construction of a candidate chain F + P for e in construction phase 1 such that v ∈ V (P ) \ {x}. Proof. By the set construction stage in construction phase 1, v is added to R1 (e, ℓ) if and only if v ∈ V (P ) \ {x} for some candidate chain F + P for e that was finished by some vertex x. By Observation 35, x ∈ S0 (e, ℓ). ◀ A vertex can moreover join R1 (·, ℓ) for only O(∆2 ) uncolored edges within a single subphase, which amounts to bounding the number of different candidate chains that pass through it. ▶ Lemma 40. Fix c ∈ [∆2 + 1] and r ∈ [∆]. Let Uv1 be the set of edges e ∈ U such that v adds itself to R1 (e, ℓ) in subphase (c, r) of construction phase 1. Then |Uv1 | ≤ O(∆2 ). Proof. Note that a vertex v adds itself to R1 (e, ℓ) only if there exists a vertex x ∈ S0 (e, ℓ) that finishes the construction of a candidate chain F + P for e such that v ∈ V (P ) \ {x}. Since λx,0 is an injective function, vertex x can construct at most one candidate chain in subphase (c, r). Hence, it suffices to show that there are at most O(∆2 ) different vertices x that can construct a candidate chain F + P in subphase (c, r) such that v ∈ V (P ). Suppose first that v ∈ N (x). Since ψ is a distance-2 coloring of G, no other vertex in N [v] constructs a candidate chain in subphase (c, r). Hence x is the unique neighbor of v that constructs a chain F + P on some edge e such that v may add itself to R1 (e, ℓ). Now suppose that v ∈ / N (x). Then v ∈ V (P ) \ {x, vEnd(F )}, and therefore P has length greater than 1. In particular, x constructed F + P by the Repeated-Color Case. Then the following hold:

41

42

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

vEnd(F ) is an endpoint of a maximal bichromatic path under χ that contains v, by Observation 24, and x is the unique neighbor of vEnd(F ) with ψ(x) = c. Since there are at most O(∆2 ) maximal bichromatic paths under χ that contain v, the vertex vEnd(F ) must be one of the endpoints of one of these O(∆2 ) paths. Consequently, x must be the unique neighbor colored c of one of these endpoints. Hence there are at most O(∆2 ) vertices x that can construct a candidate chain such that v adds itself to R1 (e, ℓ). ◀ The vertex that constructs a candidate chain does not join R1 (e, ℓ). It instead joins D0 (e, ℓ) or Q0 (e, ℓ) based on the outcome of its chain, and it does so unambiguously. ▶ Observation 41. Let x ∈ S0 (e, ℓ). Then x is added to exactly one of D0 (e, ℓ) or Q0 (e, ℓ) in construction phase 1. Proof. Since x ∈ S0 (e, ℓ), e ∈ M0 (x) by definition of M0 (x). Hence x constructs a candidate chain for e in subphase (ψ(x), λx,0 (e)) in construction phase 1. Since M0 (x) is a set and contains e only once, x constructs only this candidate chain for e in construction phase 1. Hence x is added to D0 (e, ℓ) or Q0 (e, ℓ) exactly in the sub-phase (ψ(x), λx,0 (e)). By the set construction stage for x, x is added to either D0 (e, ℓ) or Q0 (e, ℓ). ◀ The remaining two observations concern the vertices that carry the construction into the next phase. Such a vertex lies in S1 (e, ℓ) and holds a tuple in M1 (·); these two conditions are in fact equivalent, and the tuple is then unique. ▶ Observation 42. Let v ∈ V (G). After construction phase 1, v ∈ S1 (e, ℓ) if and only if (e, x, α′ , β ′ , vw) ∈ M1 (v) for unique x ∈ S0 (e, ℓ), α′ , β ′ ∈ [∆ + 1] and w ∈ N (v). Proof. Suppose (e, x, α′ , β ′ , vw) ∈ M1 (v). Then v ∈ S1 (e, ℓ) from the set construction stage for x. We will prove the other direction now. Suppose v ∈ S1 (e, ℓ). Note that we just have to show that there exist an element of the form (e, x, α′ , β ′ , vw) that was added to M1 (v). It will be unique since M1 (v) has no duplicates after construction phase 1. Note that v is added to S1 (e, ℓ) only if some x constructed a hopeful candidate chain F + P such that v ∈ V (P ) \ N 2 [x] and tail(P ) is some (α′ , β ′ )-bichromatic path under χ. Suppose w is the predecessor of v along P . Note that vw ∈ E(tail(P )) since v ∈ V (P ) \ N 2 [x]. Also, either χ(vw) = α′ or χ(vw) = β ′ , since tail(P ) is (α′ , β ′ )-bichromatic under χ. Depending on which of the two holds, (e, x, α′ , β ′ , vw) or (e, x, β ′ , α′ , vw) is added to M1 (v) respectively. Hence done. ◀ A tuple in M1 (v) in turn determines the chain that produced it, together with the properties of that chain that construction phase 2 relies on. ▶ Observation 43. Let (e, x, α, β, vw) ∈ M1 (v). Then x ∈ S0 (e, ℓ) and x finishes the construction of a unique candidate chain F + P for e in construction phase 1. Moreover, F + P has the following properties: F + P is a 1-step self-avoiding Vizing chain of step length ℓ on e under χ, V (tail(P )) ⊆ R1 (e, ℓ), tail(P ) is a vEnd(F )-maximal bichromatic path under χ, P is either an (α, β)-bichromatic path chain or a (β, α)-bichromatic path chain under Shift(χ, F ), vw = eEnd(P |dP (x, v)), and Shift(χ, F )(vw) = α.

S. Brandt, A. Narayanan and A. Nolin

Proof. Note that adding (e, x, α, β, vw) to M1 (v) in set construction stage is only possible when vertex x finishes the construction of a candidate chain, say F + P , with the properties that v ∈ V (P ) \ N 2 [x] and vw = eEnd(P |dP (x, v)) and χ(vw) = α. F + P is unique since x constructs only one candidate chain for each element in M0 (x) and M0 (x) is a set. By Observation 35, x ∈ S0 (e, ℓ). Moreover, since v ∈ V (P ) \ N 2 [x], we have tail(P ) ̸= ∅ and hence F + P was constructed in the Repeated-Color Case. Therefore, taking v = vEnd(P ) in Lemma 25, the chain F + P is a self-avoiding 1-step Vizing chain of step length ℓ on e under χ. By the definition of the set construction stage, V (tail(P )) ⊆ R1 (e, ℓ). Furthermore, tail(P ) is a vEnd(F )-maximal bichromatic path under χ by Observation 24. It remains to prove that P is either an (α, β)-bichromatic path chain or a (β, α)bichromatic path chain under Shift(χ, F ). Since F + P is a 1-step Vizing chain, P is a path chain under Shift(χ, F ). Also, tail(P ) is bichromatic under χ, and this remains true under Shift(χ, F ) because E(F ) ∩ E(tail(P )) = ∅. Indeed, the vertices x and vEnd(F ) are not tail(P )-related by Observation 24, which implies E(F ) ∩ E(tail(P )) = ∅ as every edge of F is incident to x. Hence P is either an (α, β)- or a (β, α)-bichromatic path chain under Shift(χ, F ). Finally, E(F ) ∩ E(tail(P )) = ∅ also gives Shift(χ, F )(vw) = χ(vw) = α, since vw ∈ E(tail(P )) by the set construction stage. This proves all the required properties. ◀

5.3

Runtime of Construction Phase 1

One readily sees that a subphase runs in O(ℓ) rounds in the LOCAL model, since each message it sends travels at most O(ℓ) hops. By Observation 3, the work therefore lies in bounding how many messages cross a single edge. In the chain construction stage this bound comes from the routes the messages take: each message travels along an edge incident to the vertex building the chain, or along a maximal bichromatic path under χ. ▶ Lemma 44. Each subphase in construction phase 1 runs in O(∆3 ℓ) rounds in CONGEST. Proof. We analyze the runtime of a fixed subphase (c, r) in construction phase 1. Consider first the preparation substage. By construction, no messages are sent during the preparation substage; each vertex x with ψ(x) = c constructs the fan chain F ′ internally using Lemma 14. Hence the preparation substage runs in O(1) rounds in CONGEST. Consider next the search substage. This substage clearly runs in O(ℓ) rounds in the LOCAL model. Fix an edge e ∈ E(G). Any message that traverses e during the search substage is of the form τsearch = (f, x, z, α, β), where f ∈ U , x, z ∈ V (G) with ψ(x) = c, and α, β ∈ [∆ + 1]. Each such message can be encoded using O(log n) bits, and no such message traverses the same edge more than once. Hence, it suffices to bound the number of such messages that traverse e. A message τsearch can traverse e only if one of the following holds: e is incident to x, where ψ(x) = c, or e lies on a maximal (α, β)-bichromatic path under χ, and x is adjacent to an endpoint of this path, with ψ(x) = c.

43

44

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

There are at most O(∆2 ) choices for such a vertex x. Therefore, at most O(∆2 ) search messages traverse e. The substage also sends the messages τreturn , but a message τreturn = (f, x) traverses e only if e is incident to x; since ψ is a proper coloring of G2 , at most one endpoint of e is colored c, and that vertex serves a single edge f in the subphase, so at most one such message traverses e. By Observation 3, the search substage can be simulated in O(∆2 ℓ) rounds in the CONGEST model. Consider next the notification substage. This substage also clearly runs in O(ℓ) rounds in the LOCAL model. Fix an edge e ∈ E(G). Any message that traverses e during the notification substage is of the form τnotify = (f, x, y, ¬, α)

or

τnotify = (f, x, y, α, β),

where f ∈ U , x, y ∈ V (G), ψ(x) = c, and α, β ∈ [∆ + 1]. Each such message can be encoded using O(log n) bits, and no such message traverses the same edge more than once. Hence, it suffices to bound the number of notification messages that traverse e. A message τnotify can traverse e only if one of the following holds: e is incident to x, where ψ(x) = c, or e lies on a maximal (α, β)-bichromatic path under χ, and x is adjacent to an endpoint of this path, with ψ(x) = c. Again, there are at most O(∆2 ) choices for such a vertex x. Therefore, at most O(∆2 ) notification messages traverse e. By Observation 3, the notification substage can be simulated in O(∆2 ℓ) rounds in the CONGEST model. Now consider the confirmation substage. Any message that traverses an edge e during this substage is of the form τreply = (f, x, y, ¬, α, success = 1), τreply = (f, x, y, α, β, success = 0)

or

τreply = (f, x, y, α, β, success = 1), where f ∈ U , x, y ∈ V (G), ψ(x) = c, and α, β ∈ [∆ + 1]. Each such message can be encoded using O(log n) bits, and no such message traverses the same edge more than once. Hence, it suffices to bound the number of reply messages that traverse e. A message τreply can traverse e only if one of the following holds: e is incident to x, where ψ(x) = c, or e lies on a maximal (α, β)-bichromatic path under χ, and x is adjacent to an endpoint of this path, with ψ(x) = c. As above, there are at most O(∆2 ) choices for such a vertex x. Therefore, at most O(∆2 ) reply messages traverse e. Since the confirmation substage runs in O(ℓ) rounds in the LOCAL model, Observation 3 implies that it can be simulated in O(∆2 ℓ) rounds in the CONGEST model. Finally, consider the set construction stage. All additions to the sets D0 (e, ℓ), Q0 (e, ℓ), R1 (e, ℓ), S1 (e, ℓ), and M1 (v) are decided locally from information received during the chain construction stage; the only messages sent are of the form (v, e) for some v ∈ V (G) and e ∈ U , sent when a vertex v notifies its 2-hop neighborhood that it added itself to R1 (e, ℓ). Hence, if (v, e) passes through an edge e′ , then v is adjacent to an endpoint of e′ and v ∈ R1 (e, ℓ). By Lemma 40, v adds itself to R1 (e, ℓ) in this subphase for at most O(∆2 ) edges e. Since there are O(∆) vertices adjacent to an endpoint of e′ , at most O(∆3 ) such messages pass through e′ . Each such message can be described by O(log n) bits, and the stage runs in O(1) rounds in the LOCAL model. Hence, by Observation 3, the set construction stage can be simulated in O(∆3 ) rounds in the CONGEST model.

S. Brandt, A. Narayanan and A. Nolin

45

Therefore, each subphase in construction phase 1 runs in O(∆3 + ∆2 ℓ) rounds in CONGEST, which is O(∆3 ℓ). ◀ Summing over the subphases of construction phase 1 now gives Lemma 16. ▶ Lemma 16. Construction phase 1 runs in O(∆6 ℓ) rounds in CONGEST. Proof. Since there are O(∆3 ) subphases in construction phase 1 and each subphase runs in O(∆3 ℓ) rounds in CONGEST by Lemma 44, construction phase 1 runs in O(∆6 ℓ) rounds in CONGEST. ◀

5.4

Properties of the Chain Construction Stage in Construction Phase j for 2 ≤ j ≤ T

We first record properties of the candidate chains built in the chain construction stage of construction phase j for 2 ≤ j ≤ T , including the proofs deferred from Section 4.3.1. Throughout this subsection we use the variables of Section 4.3.1: vertex x holds a tuple (e, x′ , α, β, xy) ∈ Mj−1 (x), the chain C = F1 + P1 + · · · + Fj−1 + Pj−1 is the (j − 1)-step self-avoiding Vizing chain on e given by Fact 27, and F + P is the candidate chain that x constructs on xy under Shift(χ, C). The first observation identifies which vertices construct candidate chains in construction phase j: exactly the vertices of Sj−1 (e, ℓ), each constructing one chain per uncolored edge. As in construction phase 1, we use it to pass between a candidate chain and the vertex that built it. ▶ Observation 45. Any candidate chain for e constructed in construction phase j is constructed by some x in Sj−1 (e, ℓ). Conversely, any x ∈ Sj−1 (e, ℓ) constructs a unique candidate chain for e in construction phase j. Proof. By the description of subphase (c, r) in construction phase j, a vertex x constructs a candidate chain for e if and only if ψ(x) = c and there is a tuple (e, x′ , α, β, xy) ∈ Mj−1 (x) with λx,j−1 ((e, x′ , α, β, xy)) = r. By statement Π3 (j − 1), such a tuple exists (for some x′ , α, β, y) if and only if x ∈ Sj−1 (e, ℓ). Since |Mj−1 (x; e)| ≤ 1 at the start of construction phase j by Observations 38 and 52 and λx,j−1 is injective, x constructs at most one candidate chain for e across all subphases, and constructs exactly one when x ∈ Sj−1 (e, ℓ). ◀ We will also use the following consequence of Fact 27 repeatedly. ▶ Observation 46. Let (e, x′ , α, β, xy) ∈ Mj−1 (x) and let C = F1 + P1 + · · · + Fj−1 + Pj−1 be the chain guaranteed by Fact 27. Then "j−2 # [ V (F1 + P1 + · · · + Fj−2 + Pj−2 + Fj−1 ) ⊆ N Rk (e, ℓ) . k=0

Proof. For 1 ≤ k ≤ j − 1, the vertex cen(Fk ) constructed the candidate chain Fk∗ + Pk∗ for e in construction phase k by Fact 27. Hence cen(Fk ) ∈ Sk−1 (e, ℓ) by Observations 35 and 45, and Sk−1 (e, ℓ) ⊆ Rk−1 (e, ℓ) by the set construction stages. Therefore V (Fk ) ⊆ N [cen(Fk )] ⊆ N [Rk−1 (e, ℓ)]. Moreover, for 1 ≤ k ≤ j − 2, we have V (Pk ) ⊆ V (Fk ) ∪ V (tail(Pk )) ⊆ V (Fk ) ∪ Rk (e, ℓ), where the first containment holds since eStart(Pk ) = eEnd(Fk ) and the second by Fact 27. Combining these containments yields the claim. ◀ We next record that the vertices of F + P keep their distance from the sets built in the earlier construction phases.

46

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

▶ Observation 47. If x finished the construction of F + P , then Sj−2 V (F ) ∩ N [ i=0 Ri (e, ℓ)] = ∅, and Sj−2 V (P ) ∩ N 2 [ i=0 Ri (e, ℓ)] = ∅. Sj−2 Proof. By Fact 28, x ∈ / N 2 [ i=0 Ri (e, ℓ)]. Since x is the center of F , this gives V (F ) ∩ Sj−2 N [ i=0 Ri (e, ℓ)] = ∅ in all three cases. Sj−2 It remains to show that V (P ) ∩ N 2 [ i=0 Ri (e, ℓ)] = ∅. Suppose first that x finished the Sj−2 construction of F + P by the Common-Color Case. Then zp ∈ / N 2 [ i=0 Ri (e, ℓ)], since otherwise τreply would have carried success = −1 and x would have abandoned the construction; as V (P ) = {x, zp }, the claim follows. Suppose instead that x finished the construction of F + P by the Repeated-Color Case or the Inherited-Color Case. By construction in the Sj−2 notification substage, τnotify stops as soon as it reaches any vertex in N 2 [ i=0 Ri (e, ℓ)], so Sj−2 Sj−2 V (P ) \ {x} is disjoint from N 2 [ i=0 Ri (e, ℓ)]. Combined with x ∈ / N 2 [ i=0 Ri (e, ℓ)], the claim follows. ◀ We can now prove the lemma deferred from Section 4.3.1: shifting C changes the available colors only at x and y, so x can compute A(z, Shift(χ, C)) for every z ∈ N [x] without communication. ▶ Lemma 29. Let z ∈ N [x]. Then A(z, χ) = A(z, Shift(χ, C)) if z ∈ / {x, y} A(y, Shift(χ, C)) = A(y, χ) ∪ {β}, and A(x, Shift(χ, C)) = A(x, χ) ∪ {α}. Proof. We will first show that A(z, χ) = A(z, Shift(χ, C)) unless z ∈ {x, y}. If z ∈ / V (C), A(z, χ) = A(z, Shift(χ, C)) by Observation 13. Hence assume z ∈ V (C). Note that since x∈ /   Sj−2  Sj−2 R (e, ℓ) N 2 k=0 Rk (e, ℓ) (by Fact 28) and V (F1 +P1 +. . . Fj−2 +Pj−2 +Fj−1 ) ⊆ N i i=0 (by Observation 46), we have that z ∈ / V (F1 + P1 + . . . Fj−2 + Pj−2 + Fj−1 ). Hence z ∈ V (Pj−1 ) \ V (eStart(Pj−1 )), since eStart(Pj−1 ) = eEnd(Fj−1 ) by the  definition of a (j − 1)-step Vizing chain. If z ∈ V (Pj−1 ) \ V (eStart Pj−1 ) ∪ {x, y} , we would have A(z, χ) = A(z, Shift(χ, C)) by Observation 13, and we are done. Hence, assume z ∈ {x, y}. Since we have that Shift(χ, F1 + P1 + · · · + Fj−1 )(xy) = α and Pj−1 is either a (β, α)-bichromatic path chain or an (α, β)-bichromatic path chain of length greater than 2 with eEnd(Pj−1 ) = xy (by Fact 27), we have that A(y, Shift(χ, C)) = A(y, Shift(χ, F1 + P1 + · · · + Fj−1 )) ∪ {β}, and A(x, Shift(χ, C)) = A(x, Shift(χ, F1 + P1 + · · · + Fj−1 )) ∪ {α}. We are done if we now show that A(y, χ) = A(y, Shift(χ, F1 + P1 + · · · + Fj−1 )) and A(x, χ) = A(x, Shift(χ, F1 + P1 + · · · + Fj−1 )). This is true since x, y ∈ / V (F1 + P1 + Sj−2 . . . Fj−2 + Pj−2 + Fj−1 ): indeed x ∈ / N 2 i=0 Ri (e, ℓ) by Fact 28 and y ∈ N (x), while  Sj−2  V (F1 + P1 + . . . Fj−2 + Pj−2 + Fj−1 ) ⊆ N i=0 Ri (e, ℓ) by Observation 46. ◀ We next show that appending F and P to C again yields a Vizing chain. ▶ Lemma 48. If x finished the construction of F + P , then F + P is a 1-step Vizing chain of step length ℓ on xy under Shift(χ, C) and C + F + P is a j-step Vizing chain of step length ℓ on e under χ. Proof. We treat the three cases of the chain construction stage in turn.

S. Brandt, A. Narayanan and A. Nolin

Case 1. Suppose x finished the construction of F + P by the Common-Color Case. Then F is a fan under Shift(χ, C) by construction and P is a path chain of length 1 under Shift(χ, C + F ). Hence F + P is a 1-step Vizing chain of step length ℓ on xy under Shift(χ, C) and C + F + P is a j-step Vizing chain of step length ℓ on e under χ. Case 2. Suppose x finished the construction of F + P by the Repeated-Color Case, and adopt the variables of that case. Note that F is an initial segment of F ′ , and hence a fan chain on xy under Shift(χ, C), since F ′ is a fan chain on xy under Shift(χ, C). To show that F + P is a 1-step Vizing chain under Shift(χ, C), we now have to show that P is a (γ, δ)-bichromatic path chain under Shift(χ, C + F ). We have that γ ∈ A(x, Shift(χ, C)) and δ ∈ A(vEnd(F ), Shift(χ, C)). By Observation 6, γ ∈ A(x, Shift(χ, C + F )) and δ ∈ A(vEnd(F ), Shift(χ, C + F )) as well. Since F is a fan under Shift(χ, C), Shift(χ, C + F )(xvEnd(F )) = ¬. Since Shift(χ, C+F )(eStart(P )) = ¬, γ ∈ A(x, Shift(χ, C+F )) and δ ∈ A(vEnd(F ), Shift(χ, C+ F )), P is a (γ, δ)-bichromatic path chain under Shift(χ, C + F ) if tail(P ) is (γ, δ)-bichromatic path starting at vEnd(F ) in Shift(χ, C + F ). We already have that tail(P ) is a (γ, δ)bichromatic path under χ by Observation 31. Hence, we only have to show that E(tail(P )) ∩ E(C + F ) = ∅. We will first show that E(tail(P )) ∩ E(C) = ∅. We have that E(tail(P )) ∩ E(F1 + Sj−2 P1 + . . . Fj−1 ) = ∅ since V (F + P ) ∩ N [ i=0 Ri (e, ℓ)] = ∅ by Observation 47 and V (F1 + Sj−2 P1 + · · · + Fj−1 ) ⊆ N [ i=0 Ri (e, ℓ)] by Observation 46. In particular, this also implies E(tail(P )) ∩ E(eStart(Pj−1 )) = ∅. If we now show that E(tail(P )) ∩ E(tail(Pj−1 )) = ∅, we will have that E(tail(P )) ∩ E(C) = ∅. Note that tail(P ) is a (γ, δ)-bichromatic path under χ by Observation 31. On the other hand tail(Pj−1 ) is an (α, β)-bichromatic path under χ by Fact 27. Since {γ, δ} ∩ {α, β} = ∅, we then have that E(tail(P )) ∩ E(tail(Pj−1 )) = ∅. Hence we have E(tail(P )) ∩ E(C) = ∅. It remains to show that E(F ) ∩ E(tail(P )) = ∅. To show this, it is sufficient to prove x and vEnd(F ) are not tail(P )-related. By Observation 30, either x ∈ / V (Q′ ) or x and ′ vEnd(F ) are at distance greater than ℓ along Q . Since tail(P ) is a subpath of Q′ starting at vEnd(F ) and of length at most ℓ, in either case x and vEnd(F ) are not tail(P )-related. Hence E(tail(P )) ∩ E(F ) = ∅. Hence F + P is a 1-step Vizing chain of step-length ℓ on xy under Shift(χ, C). Since C is already a (j − 1)-step Vizing chain of step length ℓ on e under χ, C + F + P is a j-step Vizing chain of step length ℓ on e under χ. Case 3. Suppose x finished the construction of F + P by the Inherited-Color Case, and adopt the variables of that case. F = F ′ is a fan chain on xy under Shift(χ, C) since F ′ is a fan chain on xy under Shift(χ, C). To show that F + P is a 1-step Vizing chain under Shift(χ, C), we have to now show that P is an (α, β)-bichromatic path chain under Shift(χ, C + F ). We have that α ∈ A(x, Shift(χ, C)) and β ∈ A(vEnd(F ), Shift(χ, C)). By Observation 6, α ∈ A(x, Shift(χ, C + F )) and β ∈ A(vEnd(F ), Shift(χ, C + F )) as well. Also, Shift(χ, C + F )(xvEnd(F )) = ¬. Hence, to show that P is an (α, β)-bichromatic path chain under Shift(χ, C + F ), we just need to show that tail(P ) is a vEnd(F )-maximal (α, β)-bichromatic path under Shift(χ, C + F ). We already have that tail(P ) is a (α, β)-bichromatic path under χ by Observation 32. Hence we only have to show that E(tail(P )) ∩ E(C + F ) = ∅ to show that tail(P ) is a

47

48

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

vEnd(F )-maximal (α, β)-bichromatic path under Shift(χ, C + F ). We have E(tail(P )) ∩ E(F1 + P1 + · · · + Fj−1 ) = ∅ by Observation 47 since V (F + P ) ∩ Sj−2 N 2 [ i=0 Ri (e, ℓ)] = ∅. In particular, we also have E(tail(P )) ∩ E(eStart(Pj−1 )) = ∅. We proceed to show that E(tail(P )) ∩ E(tail(Pj−1 )) = ∅. Note that tail(P ) is a vEnd(F )maximal (α, β)-bichromatic path starting at vEnd(F ) under χ by Observation 32. By Fact 27, tail(Pj−1 ) is a vEnd(Fj−1 )-maximal (α, β)-bichromatic path under χ whose endpoints are vEnd(Fj−1 ) and x. Suppose, for contradiction, that E(tail(P )) ∩ E(tail(Pj−1 )) ̸= ∅. Since two (α, β)-bichromatic paths under χ that share an edge are subpaths of a common maximal (α, β)-bichromatic path under χ, the paths tail(P ) and tail(Pj−1 ) are subpaths of a common maximal (α, β)-bichromatic path M under χ. Moreover, vEnd(F ) ̸= vEnd(Fj−1 ), since Sj−2 vEnd(F ) = vEnd(Fj−1 ) would imply x ∈ N 2 [ i=0 Ri (e, ℓ)], contradicting Fact 28. As tail(P ) and tail(Pj−1 ) are maximal at the distinct vertices vEnd(F ) and vEnd(Fj−1 ) respectively, these two vertices are the two endpoints of M . Since tail(Pj−1 ) is the subpath of M from vEnd(Fj−1 ) to x, and tail(P ) is the subpath of M starting at vEnd(F ), any edge shared by tail(P ) and tail(Pj−1 ) forces tail(P ) to reach x along M , so x ∈ V (tail(P )). This however implies x and vEnd(F ) are tail(P )-related, contradicting Observation 32. (It would also have caused x to abandon the construction of F + P , since τnotify would reach x again.) Hence E(tail(P )) ∩ E(tail(Pj−1 )) = ∅. Hence we already have E(tail(P ))∩E(C) = ∅. We will now show that E(F )∩E(tail(P )) = ∅ or equivalently that x and vEnd(F ) are not tail(P )-related. If x and vEnd(F ) are tail(P )related, x would abandon the construction of F + P since τnotify would reach back x. Hence E(tail(P )) ∩ E(F ) = ∅. Hence E(tail(P )) ∩ E(C + F ) = ∅. This implies tail(P ) is a (α, β)-bichromatic path under Shift(χ, C + F ) as well since the colors of Shift(χ, C + F ) and χ differs only at edges in C + F . Hence we have that P = (xvEnd(F )) + tail(P ) is a path such that Shift(χ, C + F )(xvEnd(F )) = ¬, α ∈ A(x, Shift(χ, C + F )) and β ∈ A(vEnd(F ), Shift(χ, C + F )), tail(P ) is a (α, β) bichromatic path under Shift(χ, C + F ), and length of tail(P ) is at most ℓ. Hence P is a (α, β)-bichromatic path chain of length at most ℓ + 1 on (xvEnd(F ), vEnd(F )) under Shift(χ, C + F ). Hence F + P is a 1-step Vizing chain of step-length ℓ on xy under Shift(χ, C). Since C is already a (j − 1)-step Vizing chain of step length ℓ on e under χ, C + F + P is a j-step Vizing chain of step length ℓ on e under χ. ◀ The chain moreover remains self-avoiding, which is the lemma deferred from Section 4.3.1. ▶ Lemma 33. Assume some vertex x finishes the construction of candidate chain F + P under Shift(χ, C) where C = F1 + P1 + . . . Fj−1 + Pj−1 is the unique (j − 1)-step Vizing chain guaranteed by Fact 27. Let v ∈ V (P ) \ {x}. Then, C + F + P |dP (x, v) is a self-avoiding j-step Vizing chain of step length ℓ on e under χ. Proof. First of all, note that C + F + P |dP (x, v) is indeed a j-step Vizing chain of step length ℓ on e under χ since C + F + P is a j-step Vizing chain of step length ℓ on e under χ by Lemma 48. Moreover, if C + F + P is self-avoiding, C + F + P |dP (x, v) is also self-avoiding. Hence we only have to show that C + F + P is self-avoiding. Since C is already a (j − 1)-step self-avoiding Vizing chain of step ℓ on e under χ, we have that

S. Brandt, A. Narayanan and A. Nolin

for all 1 ≤ k ≤ j − 2, we have E(Pk ) ∩ E(Fk+1 + Pk+1 ) = {eEnd(Pk )}, for all m, k satisfying 3 ≤ m + 2 ≤ k ≤ j − 1, we have V (Fm + Pm ) ∩ V (Fk + Pk ) = ∅, for all 1 ≤ k ≤ j − 2, we have V (Fk ) ∩ V (Fk+1 ) = ∅, and for all 1 ≤ k ≤ j − 1, we have that cen(Fk ) and vEnd(Fk ) are not tail(Pk )-related. Hence, to show that C + F + P is self-avoiding, we only need to show the following statements: (S1) E(Pj−1 ) ∩ E(F + P ) = {eEnd(Pj−1 )}, (S2) For 1 ≤ k ≤ j − 2, V (Fk + Pk ) ∩ V (F + P ) = ∅, (S3) V (F ) ∩ V (Fj−1 ) = ∅, and (S4) cen(F ) = x and vEnd(F ) are not tail(P )-related. We prove these statements below. We prove (S3) before (S1), since the proof of (S1) uses it. Proof of (S2). We show here that, for 1 ≤ k ≤ j − 2, V (Fk + Pk ) ∩ V (F + P ) = ∅. Suppose Sj−2 w ∈ V (F +P )∩V (Fk +Pk ) for some 1 ≤ k ≤ j −2. We have x ∈ / N 2 [ i=0 Ri (e, ℓ)] by Fact 28 Sj−2 and V (F1 + P1 + · · · + Fj−1 ) ⊆ N [ i=0 Ri (e, ℓ)] by Observation 46. Hence w ∈ / N [x] which Sj−2 implies w ∈ / V (F ). Since x finishes the construction of F + P , V (P ) ∩ N 2 [ i=0 Ri (e, ℓ)] = ∅ by Observation 47. Hence w ∈ / V (P ). Hence w ∈ / V (F + P ) a contradiction. Hence for 1 ≤ k ≤ j − 2, V (F + P ) ∩ V (Fk + Pk ) = ∅. Proof of (S3). We show here that V (F ) ∩ V (Fj−1 ) = ∅. If z ∈ V (F ) ∩ V (Fj−1 ) for some Sj−2 z, we have x ∈ N 2 [cen(Fj−1 )] since cen(F ) = x. Note that cen(Fj−1 ) ∈ i=0 Ri (e, ℓ): for ∗ ∗ j ≥ 3, the vertex cen(Fj−1 ) constructed the candidate chain Fj−1 + Pj−1 for e in construction phase j − 1 by Fact 27, so cen(Fj−1 ) ∈ Sj−2 (e, ℓ) ⊆ Rj−2 (e, ℓ) by Observation 45, and for Sj−2 j = 2, we have cen(F1 ) ∈ S0 (e, ℓ) = R0 (e, ℓ) by Observation 35. Hence x ∈ N 2 [ i=0 Ri (e, ℓ)], contradicting Fact 28. Hence V (F ) ∩ V (Fj−1 ) = ∅. Proof of (S1). We show here that E(F + P ) ∩ E(Pj−1 ) = {eEnd(Pj−1 )}. Let F be written as (xz1 = xy, . . . , xzs ). Let xy = eEnd(Pj−1 ). We first show that E(F ) ∩ E(Pj−1 ) = {xy}. Since F is a fan chain constructed on xy under Shift(χ, C), xy ∈ E(F ). Hence xy ∈ E(F ) ∩ E(Pj−1 ). Suppose the reverse inclusion is not true. This would imply that for some 2 ≤ k ≤ s, xzk ∈ E(Pj−1 ) \ {xy}. Note that xzk ̸= eStart(Pj−1 ), since eStart(Pj−1 ) = eEnd(Fj−1 ) and V (F )∩V (Fj−1 ) = ∅ as we already saw. Hence xzk ∈ E(Pj−1 ) \ {eStart(Pj−1 ), xy}. Since Pj−1 = eStart(Pj−1 ) + tail(Pj−1 ), this implies xzk ∈ E(tail(Pj−1 )) \ {xy}. Hence xzk ∈ E(tail(Pj−1 )) and xy ∈ E(tail(Pj−1 )) with zk ̸= y. This implies that x is not an endpoint of tail(Pj−1 ) because tail(Pj−1 ) is a bichromatic path under χ by Fact 27. This contradicts the fact that x is indeed an endpoint of tail(Pj−1 ). Hence we have that E(F ) ∩ E(Pj−1 ) = {xy}. It remains to show that show E(P ) ∩ E(Pj−1 ) ⊆ {xy}. Consider the following exhaustive cases. Assume x finished the construction of F + P by the Common-Color Case. Then, length of P is 1 and hence E(P ) = {xzp } ⊆ E(F ). Since we saw just above that E(F ) ∩ E(Pj−1 ) = {xy}, we have that E(P ) ∩ E(Pj−1 ) ⊆ {xy} as well. Assume x finished the construction of F + P by the Repeated-Color Case. Then P is a Sj−2 (γ, δ)-bichromatic path chain for {γ, δ}∩{α, β} = ∅. We have V (P )∩N 2 [ i=0 Ri (e, ℓ)] = ∅ Sj−2 by Observation 47. Since V (F1 + P1 + · · · + Fj−1 ) ⊆ N [ i=0 Ri (e, ℓ)] by Observation 46,

49

50

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

we have V (P ) ∩ V (F1 + P1 + · · · + Fj−1 ) = ∅. This in particular implies E(P ) ∩ E(eStart(Pj−1 )) = ∅ since eStart(Pj−1 ) = eEnd(Fj−1 ). Note that tail(P ) is a (γ, δ)-bichromatic path under χ by Observation 31. Since tail(Pj−1 ) is an (α, β)-bichromatic path under χ by Fact 27, E(tail(P )) ∩ E(tail(Pj−1 )) = ∅. Combining E(P ) ∩ E(eStart(Pj−1 )) = ∅ and E(tail(P )) ∩ E(tail(Pj−1 )) = ∅ gives E(tail(P )) ∩ E(Pj−1 ) = ∅. Since E(P ) ⊆ E(F ) ∪ E(tail(P )), we have that E(P ) ∩ E(Pj−1 ) ⊆ E(F ) ∩ E(Pj−1 ) = {eEnd(Pj−1 )} = {xy}. Assume x finished the construction of F + P by the Inherited-Color Case. We have that tail(Pj−1 ) is a vEnd(Fj−1 )-maximal (α, β)-bichromatic path under χ by Fact 27, and its endpoints are vEnd(Fj−1 ) and x. We also have that tail(P ) is a vEnd(F )maximal (α, β)-bichromatic path under χ by Observation 32. Suppose, for contradiction, that E(tail(P ))∩E(tail(Pj−1 )) ̸= ∅. Since two (α, β)-bichromatic paths under χ that share an edge are subpaths of a common maximal (α, β)-bichromatic path under χ, the paths tail(P ) and tail(Pj−1 ) are subpaths of a common maximal (α, β)-bichromatic path M under χ. Moreover, vEnd(F ) ̸= vEnd(Fj−1 ) since vEnd(F ) = vEnd(Fj−1 ) would imply Sj−2 x ∈ N 2 [ i=0 Ri (e, ℓ)], contradicting Fact 28. As tail(P ) and tail(Pj−1 ) are maximal at the distinct vertices vEnd(F ) and vEnd(Fj−1 ) respectively, these two vertices are the two endpoints of M . Since tail(Pj−1 ) is the subpath of M from vEnd(Fj−1 ) to x, and tail(P ) is the subpath of M starting at vEnd(F ), any edge shared by tail(P ) and tail(Pj−1 ) forces tail(P ) to reach x along M , so x ∈ V (tail(P )). This contradicts the fact that x and vEnd(F ) are not tail(P )-related by Observation 32. Hence E(tail(P ))∩E(tail(Pj−1 )) = ∅. Since x finished the construction of F + P by the Inherited-Color Case, we have V (P ) ∩ Sj−2 Sj−2 N 2 [ i=0 Ri (e, ℓ)] = ∅ by Observation 47. Since V (F1 +P1 +· · ·+Fj−1 ) ⊆ N [ i=0 Ri (e, ℓ)] by Observation 46, we have E(P )∩E(eStart(Pj−1 )) = ∅ since eStart(Pj−1 ) = eEnd(Fj−1 ). Combining this with E(tail(P )) ∩ E(tail(Pj−1 )) = ∅ gives E(tail(P )) ∩ E(Pj−1 ) = ∅. Since E(P ) ⊆ E(F ) ∪ E(tail(P )), we have that E(P ) ∩ E(Pj−1 ) ⊆ E(F ) ∩ E(Pj−1 ) = {eEnd(Pj−1 )} = {xy}. Hence, we have that E(F + P ) ∩ E(Pj−1 ) = {xy}. Proof of (S4). We show here that cen(F ) = x and vEnd(F ) are not tail(P )-related. If x finished the construction of F + P by the Common-Color Case, P has length 1. Then x and vEnd(F ) are not tail(P )-related since tail(P ) = ∅. If x finished the construction of F + P by the Repeated-Color Case, vEnd(F ) and x are not tail(P )-related by Observation 31. If x finished the construction of F + P by the Inherited-Color Case, vEnd(F ) and x are not tail(P )-related by Observation 32. This proves all the required properties for C + F + P . ◀ As in construction phase 1, a candidate chain is hopeful precisely when its path chain stopped at the step length rather than at an endpoint of Q or at a vertex near the sets of the earlier phases. The next observation makes this quantitative. ▶ Observation 49. Let F + P be a hopeful candidate chain constructed in construction phase j. Then length of P is ℓ + 1. Proof. A hopeful candidate chain receives τreply with success = 0, which (by the confirmation substages of the Repeated-Color Case and the Inherited-Color Case) occurs only when Sj−2 vEnd(P ) is neither an endpoint of Q nor in N 2 [ i=0 Ri (e, ℓ)]. By the notification substage, this means τnotify stopped because it traversed ℓ + 1 edges along Q. Hence P = Q|(ℓ + 1) has length ℓ + 1. ◀ We again record the shape of the bichromatic part of a candidate chain.

S. Brandt, A. Narayanan and A. Nolin

▶ Observation 50. Let F + P be a candidate chain constructed in construction phase j. Then either tail(P ) = ∅ or tail(P ) is a vEnd(F )-maximal bichromatic path under χ. Proof. Let F + P be a candidate chain constructed for e in construction phase j. By Observation 45, there exists an x ∈ Sj−1 (e, ℓ) that constructs F + P . Suppose x constructed F + P by the Common-Color Case. Then tail(P ) = ∅ by construction. Suppose x constructed F + P by the Repeated-Color Case or the Inherited-Color Case. Then tail(P ) is a vEnd(F )-maximal bichromatic path under χ by Observation 31 and Observation 32. ◀ Finally, we isolate the single case in which cen(F ) and vEnd(F ) can be tail(P )-related. ▶ Observation 51. Let F + P be any candidate chain constructed in construction phase j. Then cen(F ) and vEnd(F ) are tail(P )-related only if F + P was constructed by the Inherited-Color Case. Proof. If F + P was constructed by the Common-Color Case, then tail(P ) = ∅, so cen(F ) and vEnd(F ) are not tail(P )-related. If F + P was constructed by the Repeated-Color Case, then cen(F ) and vEnd(F ) are not tail(P )-related by Observation 31. Hence cen(F ) and vEnd(F ) can be tail(P )-related only if F + P was constructed by the Inherited-Color Case. ◀ We close this subsection with the phase-j counterpart of Lemma 26: appending a successful candidate chain to C yields a terminating Vizing chain. ▶ Lemma 34. Assume some vertex x finishes the construction of a successful candidate chain F + P for e in construction phase j, and let C = F1 + P1 + . . . Fj−1 + Pj−1 be the unique (j − 1)-step Vizing chain guaranteed by Fact 27. Then C + F + P is a terminating self-avoiding j-step Vizing chain of step length ℓ on e under χ. Proof. For ease of writing, we use the same variables as in the Common-Color Case, the Repeated-Color Case and the Inherited-Color Case; in addition, for 1 ≤ i ≤ p − 1 we write ηi for the representative available color at zi in F ′ , and we let {σ, σ ′ } denote (γ, δ) in the Repeated-Color Case and {α, β} in the Inherited-Color Case, so that in either case Q′ is a maximal {σ, σ ′ }-bichromatic path under χ with vEnd(F ) as an endpoint. We first observe that vEnd(P ) ∈ V (P ) \ {x}. In the Common-Color Case this holds because vEnd(P ) = zp ̸= x. In the Repeated-Color Case it holds by Observation 30, and in the Inherited-Color Case the propagation of τnotify stops at x, so vEnd(P ) = x would give success = −1, contradicting that F + P is successful. Taking v = vEnd(P ) in Lemma 33 therefore shows that C + F + P is a self-avoiding j-step Vizing chain of step length ℓ on e under χ. By Observation 10, it suffices to prove that P is maximal under Shift(χ, C + F ). If x constructed F +P by the Common-Color Case, then P = (xzp ) and η ∈ A(x, Shift(χ, C+ F )) ∩ A(zp , Shift(χ, C + F )), so P is maximal under Shift(χ, C + F ). Assume therefore that x constructed F + P by the Repeated-Color Case or the Inherited-Color Case. Since F + P is a successful candidate chain, τreply carries success = 1, so vEnd(P ) is an Sj−2 endpoint of Q and vEnd(P ) ∈ / N 2 [ i=0 Ri (e, ℓ)]. Also vEnd(P ) ̸= vEnd(F ): exactly one of σ and σ ′ is available at vEnd(F ) under Shift(χ, C), so vEnd(F ) is incident to an edge colored with the other one, and hence Q′ has length at least 1. Thus vEnd(P ) is the endpoint of Q′ other than vEnd(F ), and there is a color ζ ∈ A(vEnd(P ), χ) ∩ {σ, σ ′ }. We first show ζ ∈ A(vEnd(P ), Shift(χ, C)). For 1 ≤ k ≤ j − 1 we have cen(Fk ) ∈ Sj−1 Sj−2 Sk−1 (e, ℓ) ⊆ Rk−1 (e, ℓ) and V (Fk ) ⊆ N [cen(Fk )], so k=1 V (Fk ) ⊆ N 2 [ i=0 Ri (e, ℓ)] and

51

52

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

Sj−1 therefore vEnd(P ) ∈ / k=1 V (Fk ). Moreover V (eEnd(Pj−1 )) = {x, y} and vEnd(P ) ̸= x. If vEnd(P ) ̸= y, then A(vEnd(P ), χ) = A(vEnd(P ), Shift(χ, C)) by Observation 13; and if vEnd(P ) = y, then A(y, χ) ⊆ A(y, Shift(χ, C)) by Lemma 29. In both cases ζ ∈ A(vEnd(P ), Shift(χ, C)). It remains to show ζ ∈ A(vEnd(P ), Shift(χ, C + F )). By Observation 6, applied to F under Shift(χ, C), we only have to show that ζ ̸= ηi whenever vEnd(P ) = zi for some zi ∈ V (F ) \ {x, vEnd(F )}. By the construction of F ′ in Lemma 15 we have ηi ∈ / {α, β} for every i, which settles the Inherited-Color Case. In the Repeated-Color Case we have ηi ̸= γ for every i, since ηi ∈ A(zi , Shift(χ, C)), γ ∈ A(x, Shift(χ, C)) and A(x, Shift(χ, C)) ∩ A(zi , Shift(χ, C)) = ∅; and the colors η1 , . . . , ηp−1 are pairwise distinct with ηq = δ, so ηi = δ forces i = q. It therefore remains to rule out vEnd(P ) = zq with vEnd(F ) = zp . In that case x received no τreturn , so τsearch stopped neither at x nor at zq ; as τsearch and τnotify traverse the same trail (xzp ) + K ′ = (xzp ) + Q′ and both stop after at most ℓ + 1 hops, and τnotify reached the endpoint vEnd(P ) of Q′ , so did τsearch , and it stopped there. Since it did not stop at zq , we conclude vEnd(P ) ̸= zq . ◀

5.5

Properties of the Set Construction Stage in Construction Phase j for 2 ≤ j ≤ T

We now record properties of the sets updated in the set construction stage of construction phase j for 2 ≤ j ≤ T . We begin with the phase-j counterpart of Observation 38: every fiber of Mj (·) holds at most one tuple. ▶ Observation 52. Let 2 ≤ j ≤ T and x ∈ V (G). Then |Mj (x; e)| ≤ 1 for every edge e ∈ U after construction phase j. Proof. By the deduplication step at the end of construction phase j, vertex x replaces every nonempty fiber Mj (x; e) by a singleton subset of it. ◀ As in construction phase 1, a vertex joins Rj (e, ℓ) exactly when it lies on the path chain of a finished candidate chain for e, other than the vertex that built that chain. ▶ Observation 53. Let v ∈ V (G). Then v is added to Rj (e, ℓ) in construction phase j if and only if some x ∈ Sj−1 (e, ℓ) finished the construction of a candidate chain F + P for e in construction phase j such that v ∈ V (P ) \ {x}. Proof. By the set construction stage in construction phase j, v is added to Rj (e, ℓ) if and only if v ∈ V (P ) \ {x} for some candidate chain F + P for e that was finished by some vertex x. By Observation 45, x ∈ Sj−1 (e, ℓ). ◀ A vertex can moreover join Rj (·, ℓ) for only O(∆2 ) uncolored edges within a single subphase, exactly as in construction phase 1. ▶ Lemma 54. Fix c ∈ [∆2 + 1] and r ∈ [2∆2 ]. Let Uvj be the set of edges e ∈ U such that v adds itself to Rj (e, ℓ) in subphase (c, r) of construction phase j. Then |Uvj | ≤ O(∆2 ). Proof. Note that a vertex v adds itself to Rj (e, ℓ) for an edge e ∈ U only if there exists a vertex x ∈ Sj−1 (e, ℓ) that finishes the construction of a candidate chain F + P for e such that v ∈ V (P ) \ {x} by Observation 45. Since λx,j−1 is an injective function for any vertex x, x can construct at most one candidate chain in subphase (c, r). Hence, we only need to show that there are at most O(∆2 ) different vertices that can construct some candidate chain F + P in subphase (c, r) so that v ∈ V (P ).

S. Brandt, A. Narayanan and A. Nolin

We start by counting how many vertices in the neighborhood of v can construct F + P such that v ∈ V (F + P ). Suppose v ∈ N (x). Since ψ is a proper coloring of G2 , at most one vertex in N [v] constructs a candidate chain F + P in subphase (c, r) so that v may potentially add itself to Rj (e, ℓ) for some e. We now count how many vertices outside the neighborhood of v can construct F + P such that v ∈ V (F + P ). If v ∈ / N (x), then v ∈ V (P ) \ {x, vEnd(F )} and hence P is of length greater than 1. This implies x finished constructing F + P by the Repeated-Color Case or the Inherited-Color Case. Then vEnd(F ) is an endpoint of a maximal bichromatic path under χ that contains v (by Observation 31 and Observation 32), and x is the unique neighbor of vEnd(F ) with ψ(x) = c. Since there are O(∆2 ) different maximal bichromatic paths under χ that contain v, vEnd(F ) has to be one among one of the endpoints of these O(∆2 ) maximal bichromatic paths and hence x has to be the unique neighbor colored c of one of these endpoints. Hence there are at most O(∆2 ) vertices that construct a candidate chain so that v adds itself to Rj (e, ℓ). ◀ The vertex that constructs a candidate chain again records the outcome of its chain instead of joining Rj (e, ℓ). There are now three possible outcomes rather than two, since a candidate chain can also be unsuccessful, and it joins exactly one of the corresponding sets. ▶ Observation 55. Let x ∈ Sj−1 (e, ℓ). Then x is added to exactly one of Dj−1 (e, ℓ), Qj−1 (e, ℓ) or Bj−1 (e, ℓ) in construction phase j. Proof. Since x ∈ Sj−1 (e, ℓ), x constructs a candidate chain for e in construction phase j by Observation 45, and by the same observation it constructs only this one candidate chain for e. By the set construction stage for x in construction phase j, x is added to exactly one of Dj−1 (e, ℓ), Qj−1 (e, ℓ) or Bj−1 (e, ℓ), according to whether this candidate chain is successful, hopeful or unsuccessful, respectively. ◀ The remaining two observations concern the vertices that carry the construction into the next phase. Such a vertex lies in Sj (e, ℓ) and holds a tuple in Mj (·); these two conditions are again equivalent, and the tuple is then unique. ▶ Observation 56. Suppose construction phase j is over. Consider any vertex v ∈ V (G). Then v ∈ Sj (e, ℓ) ⇐⇒ (e, x, α′ , β ′ , vw) ∈ Mj (v) for unique x ∈ Sj−1 (e, ℓ), α′ , β ′ ∈ [∆ + 1] and w ∈ N (v). Proof. Suppose (e, x, α′ , β ′ , vw) ∈ Mj (v). Then v ∈ Sj (e, ℓ) from the description of the set construction stage. We will prove the other direction now. Suppose v ∈ Sj (e, ℓ). We just have to show that there exists an element of the form (e, x, α′ , β ′ , vw) that was added to Mj (v); it will be unique since Mj (v) has no duplicates of e after construction phase j. Note that v is added to Sj (e, ℓ) only if some x constructed a hopeful candidate chain F + P such that v ∈ V (P ) \ N 2 [x] and tail(P ) is some (α′ , β ′ )-bichromatic path under χ. Let w be the predecessor of v along P . Note that vw ∈ E(tail(P )) since v ∈ V (P ) \ N 2 [x]. Also, either χ(vw) = α′ or χ(vw) = β ′ , since tail(P ) is (α′ , β ′ )-bichromatic under χ. Depending on which of the two holds, the tuple (e, x, α′ , β ′ , vw) or (e, x, β ′ , α′ , vw) is added to Mj (v) respectively. Hence done. ◀

53

54

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

A tuple in Mj (v) in turn determines the chain that produced it, together with the properties of that chain that the later phases rely on. ▶ Observation 57. Let (e, x, α′ , β ′ , vw) be added to Mj (v) in subphase (c, r) in construction phase j. Then x ∈ Sj−1 (e, ℓ) finished the construction of a unique candidate chain F + P for e in construction phase j, where C = F1 + P1 + · · · + Fj−1 + Pj−1 is the (j − 1)-step Vizing chain on e under χ that Fact 27 attaches to the tuple in Mj−1 (x) served by x, such that 1. C + F + P is a self-avoiding j-step Vizing chain of step length ℓ on e under χ, 2. for 1 ≤ k ≤ j − 1, Fk = Fk′ and Pk is a subpath of Pk′ where Fk′ + Pk′ is a candidate chain constructed by cen(Fk ) for e during construction phase k, 3. V (tail(P )) ⊆ Rj (e, ℓ) and V (tail(Pk )) ⊆ Rk (e, ℓ) for 1 ≤ k ≤ j − 1, 4. tail(P ) is a vEnd(F )-maximal bichromatic path under χ, 5. P is either an (α′ , β ′ )-bichromatic path chain or a (β ′ , α′ )-bichromatic path chain under Shift(χ, C + F ), and 6. vw = eEnd(P |dP (x, v)), Shift(χ, C + F )(vw) = α′ . Proof. By the description of the set construction stage in construction phase j, the tuple (e, x, α′ , β ′ , vw) is added to Mj (v) only when vertex x finishes the construction of a candidate chain, say F + P , under Shift(χ, C), where C = F1 + P1 + · · · + Fj−1 + Pj−1 is the (j − 1)-step Vizing chain of step length ℓ on e under χ given by Fact 27 for the tuple in Mj−1 (x) served by x. The set construction stage moreover gives that v ∈ V (P ) \ N 2 [x], vw = eEnd(P |dP (x, v)) and χ(vw) = α′ , and V (tail(P )) ⊆ Rj (e, ℓ), while Fact 27 gives that for 1 ≤ k ≤ j − 1, Fk = Fk′ and Pk is a subpath of Pk′ where Fk′ + Pk′ is a candidate chain constructed by cen(Fk ) for e during construction phase k, and V (tail(Pk )) ⊆ Rk (e, ℓ) for 1 ≤ k ≤ j − 1. The candidate chain F + P is unique since x constructs only one candidate chain for e in construction phase j (as Mj−1 (x) has no duplicates of e). By Observation 45, x ∈ Sj−1 (e, ℓ). This establishes Properties 2 and 3 and the first equality of Property 6. Since v ∈ V (P ) \ N 2 [x], we have tail(P ) ̸= ∅, and hence x constructed F + P by the Repeated-Color Case or the Inherited-Color Case in construction phase j. Then C + F + P is a self-avoiding j-step Vizing chain of step length ℓ on e under χ, by Lemma 33 applied to the vertex vEnd(P ), establishing Property 1. By Observation 31 and Observation 32, tail(P ) is a vEnd(F )-maximal bichromatic path under χ, establishing Property 4. It remains to establish Property 5. Since F + P is a 1-step Vizing chain, P is a path chain under Shift(χ, C + F ). Also, tail(P ) is (α′ , β ′ )-bichromatic under χ, and this remains true under Shift(χ, C + F ) because E(C + F ) ∩ E(tail(P )) = ∅ (which holds since C + F + P is a self-avoiding j-step Vizing chain). Hence tail(P ) is an (α′ , β ′ )-bichromatic path under Shift(χ, C + F ), and therefore P is either an (α′ , β ′ )- or a (β ′ , α′ )-bichromatic path chain under Shift(χ, C + F ). Finally, E(C + F ) ∩ E(tail(P )) = ∅ also gives Shift(χ, C + F )(vw) = χ(vw) = α′ , since vw ∈ E(tail(P )) by the set construction stage. This establishes the second equality of Property 6. Hence, all the required properties are true and we are done. ◀

5.6

Runtime of Construction Phase j

We are now ready to deduce the runtime of a subphase in construction phase j for 2 ≤ j ≤ T .

S. Brandt, A. Narayanan and A. Nolin

▶ Lemma 58. For j with 2 ≤ j ≤ T , each subphase in construction phase j runs in O(∆3 ℓ) rounds in CONGEST. Proof. Consider a subphase (c, r) in construction phase j. Consider the preparation substage in the subphase. Since no messages are passed between vertices in the preparation substage by construction, vertices can run this substage internally. Hence the preparation substage runs in O(1) rounds in CONGEST. Consider the search substage in the subphase. By construction in the Common-Color Case, the Repeated-Color Case, and the Inherited-Color Case, any message passing through an edge e′ is of the form τsearch = (f, x, y, α, β) for some f ∈ U , x, y ∈ V (G) with ψ(x) = c, and α, β ∈ [∆ + 1]. Such a message can be described by O(log n) bits, and no such message passes across the same edge more than once. Again by construction, τsearch passes across e′ only if either 1) e′ is incident to x, where ψ(x) = c, or 2) e′ is an edge in a maximal (α, β)-bichromatic path, say K ′ , under χ such that x is a neighbor of an endpoint of K ′ . Under χ, there are at most O(∆2 ) maximal bichromatic paths that e′ is an edge of, and for each such path, at most one vertex in the neighborhood of each of its endpoints is colored c under ψ. Since, moreover, at most one endpoint of e′ is colored c, there are at most O(∆2 ) choices for such a vertex x; as each such vertex serves a single tuple in the subphase, at most one message of this form with second entry x is sent in the substage, so there are at most O(∆2 ) messages that pass through e′ in the search substage. The substage also sends the messages τreturn , but a message τreturn = (f, x) passes across e′ only if e′ is incident to x, and the vertex colored c incident to e′ , if any, serves a single tuple in the subphase; hence at most one such message passes across e′ . Hence algorithm A has a message size of O(∆2 log n) bits in the search substage. Clearly, the search substage runs in O(ℓ) rounds in the LOCAL model. Hence the search substage can be simulated in O(∆2 ℓ) rounds in the CONGEST model by Observation 3. Consider the notification substage in the subphase. By construction in the Common-Color Case, the Repeated-Color Case, and the Inherited-Color Case, note that any message passing through an edge e′ is of the form τnotify = (f, x, y, ¬, α) or τnotify = (f, x, y, α, β) for some f ∈ U , x, y ∈ V (G) with ψ(x) = c, and α, β ∈ [∆ + 1]. Such a message can be described by O(log n) bits, and no such message passes across the same edge more than once. We also have that τnotify passes across e′ only if either 1) e′ is incident to x, where ψ(x) = c, or 2) e′ is an edge in a maximal bichromatic path, say Q′ , under χ such that x is a neighbor of an endpoint of Q′ . Since there are at most O(∆2 ) maximal bichromatic paths that e′ is an edge of under χ, for each such path at most one vertex in the neighborhood of each of its endpoints is colored c under ψ, and at most one endpoint of e′ is colored c, there are at most O(∆2 ) choices for such a vertex x; as each such vertex serves a single tuple in the subphase, at most one message of this form with second entry x is sent in the substage, so there are at most O(∆2 ) messages that pass through e′ in the notification substage. Hence algorithm A has a message size of O(∆2 log n) bits in the notification substage. Clearly, the notification substage runs in O(ℓ) rounds in the LOCAL model. Hence the notification substage can be simulated in O(∆2 ℓ) rounds in the CONGEST model by Observation 3. Consider the confirmation substage in the subphase. By construction in the CommonColor Case, the Repeated-Color Case, and the Inherited-Color Case, note that any message passing through an edge e′ is of the form τreply = (f, x, y, ¬, α, success) or τreply = (f, x, y, α, β, success), for some f ∈ U , x, y ∈ V (G) with ψ(x) = c, α, β ∈ [∆ + 1], and success ∈ {−1, 0, 1}. Such a message can be described by O(log n) bits, and no such message passes across the same edge more than once. Note that τreply passes through e′ only if either 1) e′ is incident to x, where ψ(x) = c, or 2) e′ is an edge in a maximal (α, β)-bichromatic

55

56

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

path, say Q′ , under χ such that x is a neighbor of an endpoint of Q′ . Since there are at most O(∆2 ) maximal bichromatic paths that e′ is an edge of under χ, for each such path at most one vertex in the neighborhood of each of its endpoints is colored c under ψ, and at most one endpoint of e′ is colored c, there are at most O(∆2 ) choices for such a vertex x; as each such vertex serves a single tuple in the subphase, at most one message of this form with second entry x is sent in the substage, so there are at most O(∆2 ) messages that pass through e′ in the confirmation substage. Hence algorithm A has a message size of O(∆2 · log n) bits in the confirmation substage. Clearly, the confirmation substage runs in O(ℓ) rounds in the LOCAL model. Hence the confirmation substage can be simulated in O(∆2 · ℓ) rounds in the CONGEST model by Observation 3. Consider the set construction stage in the subphase. All additions to the sets Dj−1 (e, ℓ), Qj−1 (e, ℓ), Bj−1 (e, ℓ), Rj (e, ℓ), Sj (e, ℓ) and Mj (v) are decided locally from information received during the chain construction stage, so any message sent across any edge e′ is of the form (v, e) for some v ∈ V (G) and e ∈ U . Any message (v, e) is only sent between vertices in a 2-hop neighborhood of v when v wants to notify vertices in its 2-hop neighborhood that v has added itself to Rj (e, ℓ). Hence if (v, e) passes through e′ , v is adjacent to one of the endpoints of e′ and v ∈ Rj (e, ℓ). By Lemma 54, vertex v adds itself to Rj (e, ℓ) in this subphase for at most O(∆2 ) edges e. Since there are O(∆) vertices that are adjacent to either endpoint of e′ , we then have that at most O(∆3 ) messages of the form (v, e) for some v ∈ V (G) and e ∈ E(G) pass through e′ . Since each such message can be described by O(log n) bits, algorithm A has a message size of O(∆3 log n) in the set construction stage. Clearly, the set construction stage runs in O(1) rounds in the LOCAL model. Hence the set construction stage can be simulated in O(∆3 ) rounds in the CONGEST model by Observation 3. Hence, each subphase in construction phase j runs in O(∆3 + ∆2 ℓ) = O(∆3 ℓ) rounds in CONGEST. ◀ We now bound the runtime of construction phase j for 2 ≤ j ≤ T . ▶ Lemma 17. For 2 ≤ j ≤ T , construction phase j runs in O(∆7 ℓ) rounds in CONGEST. Proof. Since there are O(∆4 ) subphases in construction phase j and each subphase runs in O(∆3 ℓ) rounds in CONGEST by Lemma 58, construction phase j runs in O(∆7 ℓ) rounds in CONGEST. ◀

5.7

Establishing the Statements Π1 , Π2 and Π3

For i ≥ 2, we assumed statements Π1 (i − 1), Π2 (i − 1) and Π3 (i − 1) to hold at the start of construction phase i. Here we prove that those assumptions are valid. We rewrite the statements once more. Statement Π1 (i) for 1 ≤ i ≤ T . Assume construction phase i is over. Consider any vertex x ∈ V (G) and any (e, z, α, β, xy) ∈ Mi (x). Then there is a unique i-step self-avoiding Vizing chain C = F1 + P1 + · · · + Fi + Pi of step length ℓ on e under χ such that for 1 ≤ k ≤ i, Fk = Fk∗ and Pk is a subpath of Pk∗ where Fk∗ + Pk∗ is the unique candidate chain constructed for e by cen(Fk ) during construction phase k, for 1 ≤ k ≤ i, the set Mk (vEnd(Pk )) contains a tuple with first entry e and second entry cen(Fk ), and xy = eEnd(Pi ) and x = vEnd(Pi ). Moreover, this chain C has the additional properties that cen(Fi ) = z,

S. Brandt, A. Narayanan and A. Nolin

for 1 ≤ k ≤ i, V (tail(Pk )) ⊆ Rk (e, ℓ), tail(Pi ) is a vEnd(Fi )-maximal (α, β)-bichromatic path under χ, Pi is either a (β, α)-bichromatic path chain or an (α, β)-bichromatic path chain under Shift(χ, F1 + P1 + · · · + Fi−1 + Pi−1 + Fi ) and length of Pi is greater than 2, α ∈ A(x, Shift(χ, C)), β ∈ A(y, Shift(χ, C)) and Shift(χ, F1 + P1 + · · · + Fi )(xy) = α. Statement Π2 (i). Assume construction phase i is over. Then, |Mi (x)| ≤ 2∆2 for x ∈ V (G). Statement Π3 (i). Assume construction phase i is finished. Consider any x ∈ V (G), e ∈ U . Si−1 If x ∈ Si (e, ℓ), then x ∈ / N 2 [ k=0 Rk (e, ℓ)]. x ∈ Si (e, ℓ) ⇐⇒ (e, z, α, β, xy) ∈ Mi (x) for unique z ∈ Si−1 (e, ℓ), α, β ∈ [∆ + 1] and y ∈ N (x). We prove these statements by induction on the phase index, across the following two lemmas. ▶ Lemma 59. Statements Π1 (1), Π2 (1) and Π3 (1) are true. Proof. We will prove Π3 (1), Π1 (1) and Π2 (1) in that order. Proof of Π3 (1). Assume construction phase 1 is finished. Consider a vertex x being added to S1 (e, ℓ) in some subphase in construction phase 1. By the description of the set construction stage in construction phase 1, x ∈ / N 2 [x′ ], where x′ is the vertex of S0 (e, ℓ) that constructed the candidate chain on account of which x was added. Since R0 (e, ℓ) = S0 (e, ℓ) = {x′ } by the preprocessing steps, x ∈ / N 2 [R0 (e, ℓ)]. By Observation 42, x ∈ S1 (e, ℓ) ⇐⇒ (e, z, α, β, xy) ∈ M1 (x) for unique z ∈ S0 (e, ℓ), α, β ∈ [∆ + 1] and y ∈ N (x). Hence Π3 (1) is true. Proof of Π1 (1). Assume that construction phase 1 has finished. Let x ∈ V (G) and let (e, z, α, β, xy) ∈ M1 (x). By Observation 43, the vertex z ∈ S0 (e, ℓ) finishes the construction of a unique candidate chain F + P for e in construction phase 1 such that F + P is a self-avoiding 1-step Vizing chain of step length ℓ on e under χ, V (tail(P )) ⊆ R1 (e, ℓ), cen(F ) = z, tail(P ) is a vEnd(F )-maximal bichromatic path under χ, P is either an (α, β)-bichromatic path chain or a (β, α)-bichromatic path chain under Shift(χ, F ), and xy = eEnd(P |dP (z, x)) and Shift(χ, F )(xy) = α. Now let F1 := F and let P1 := P |dP (z, x). We show that F1 + P1 has the required properties. First, F1 + P1 is a self-avoiding 1-step Vizing chain of step length ℓ on e under χ, since it is an initial segment of the self-avoiding 1-step Vizing chain F + P . Also, by Observation 35, the chain F + P is exactly the candidate chain constructed for e by cen(F ) = z during construction phase 1. Thus, F1 + P1 is a self-avoiding 1-step Vizing chain of step length ℓ on e under χ such that F1 = F and P1 is a subpath of P , where F + P is the unique candidate chain constructed for e by cen(F ) during construction phase 1,

57

58

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

M1 (vEnd(P1 )) contains a tuple with first entry e and second entry cen(F1 ), namely (e, z, α, β, xy), and xy = eEnd(P1 ) and x = vEnd(P1 ). It is the only such chain. Indeed, suppose F1′ + P1′ also satisfies these conditions. Since vEnd(P1′ ) = x and |M1 (x; e)| ≤ 1 by Observation 38, the second condition forces cen(F1′ ) = z. Hence F1′ + P1′ is an initial segment of the unique candidate chain F + P that z constructs for e in construction phase 1, and vEnd(P1′ ) = x then gives F1′ + P1′ = F1 + P1 . It remains to verify the additional properties. We have V (tail(P1 )) ⊆ R1 (e, ℓ), since P1 is a subpath of P and V (tail(P )) ⊆ R1 (e, ℓ). The path tail(P1 ) is a vEnd(F1 )-maximal (α, β)-bichromatic path under χ. Indeed, tail(P ) is a vEnd(F )-maximal bichromatic path under χ, its color pair is {α, β} since P is an (α, β)- or a (β, α)-bichromatic path chain under Shift(χ, F ), and P1 is an initial segment of P ending at x. The path P1 is either an (α, β)-bichromatic path chain or a (β, α)-bichromatic path chain under Shift(χ, F1 ), since the same is true for P under Shift(χ, F ). The length of P1 is greater than 2. Indeed, x ∈ S1 (e, ℓ) by Observation 42, the set S1 (e, ℓ) is disjoint from N 2 [R0 (e, ℓ)] by Π3 (1), and z ∈ S0 (e, ℓ) = R0 (e, ℓ). By the definition of P1 , we have Shift(χ, F1 )(eEnd(P1 )) = α. It follows that α ∈ A(x, Shift(χ, F1 + P1 )). We also have β ∈ A(y, Shift(χ, F1 + P1 )). Let f be the edge preceding xy in P1 . Since the length of P1 is greater than 2, the edge f lies in tail(P1 ). Moreover, because P1 is either an (α, β)-bichromatic path chain or a (β, α)-bichromatic path chain under Shift(χ, F1 ), the edge f is colored β under Shift(χ, F1 ). Hence, after shifting along P1 , the color β becomes available at y. Therefore, F1 + P1 is the unique chain with all the required properties. Proof of Π2 (1). Assume, if possible, that two distinct elements (ea , xa , α, β, xy) and (eb , xb , α, β, xy) are elements of M1 (x) after construction phase 1. There is no loss of generality in giving the two tuples the same last entry: if (e, x′ , α, β, xy) ∈ M1 (x) then χ(xy) = α by the set construction stage, so xy is the unique α-colored edge at x, and is therefore determined by α. By Observation 38, the set M1 (x) contains at most one tuple with first entry e for every e ∈ U . As the two tuples are distinct, we conclude ea ̸= eb . By the description of the set construction stage in construction phase 1, the tuple (ea , xa , α, β, xy) is added to M1 (x) only because xa finished the construction of a candidate chain Fa + Pa for ea in construction phase 1 with x ∈ V (tail(Pa )) \ N 2 [xa ] and xy = eEnd(Pa |dPa (xa , x)). By the description of subphase (c, r) in construction phase 1, this construction happened in subphase (ψ(xa ), λxa ,0 (ea )), since ea ∈ M0 (xa ) is the edge that forced the construction. Analogously, xb finished the construction of a candidate chain Fb + Pb for eb in subphase (ψ(xb ), λxb ,0 (eb )). Note that the lengths of Pa |dPa (xa , x) and Pb |dPb (xb , x) are greater than 2 by statement Π1 (1). Observation 43 also implies that tail(Pa ) and tail(Pb ) are both (α, β)-bichromatic paths under χ, and that vEnd(Fa ) and vEnd(Fb ) are endpoints of the maximal (α, β)-bichromatic path under χ containing x. We now claim that vEnd(Fa ) = vEnd(Fb ). Suppose not. Since x is at distance at least 3 from xa and xb along Pa and Pb respectively, x is at distance at least 2 from vEnd(Fa ) and vEnd(Fb ) along tail(Pa ) and tail(Pb ) respectively. As vEnd(Fa ) and vEnd(Fb ) are distinct endpoints of the same maximal (α, β)-bichromatic path containing x, the paths

S. Brandt, A. Narayanan and A. Nolin

59

Pa and Pb then enter x through different edges of that maximal path. This contradicts eEnd(Pa |dPa (xa , x)) = xy = eEnd(Pb |dPb (xb , x)). Hence vEnd(Fa ) = vEnd(Fb ). Since tail(Pa ) and tail(Pb ) are subpaths of the same maximal (α, β)-bichromatic path under χ, both starting at vEnd(Fa ) = vEnd(Fb ) and both ending at x, they traverse the same segment of that path from vEnd(Fa ) to x. This implies dPa (xa , x) = dPb (xb , x). On the other hand, by the description of the set construction stage in construction phase 1, the tuples being added to M1 (x) implies ℓ ℓ 3 3 10∆4 ·(∆ ·µvEnd(Fa ) (xa )+λxa ,0 (ea )) ≤ dPa (xa , x) < 10∆4 ·(∆ ·µvEnd(Fa ) (xa )+λxa ,0 (ea )+ 1), and ℓ ℓ 3 3 10∆4 ·(∆ ·µvEnd(Fb ) (xb )+λxb ,0 (eb )) ≤ dPb (xb , x) < 10∆4 ·(∆ ·µvEnd(Fb ) (xb )+λxb ,0 (eb )+1). Since dPa (xa , x) = dPb (xb , x) and these half-open intervals are pairwise disjoint for distinct values of the index ∆3 · µ + λ, we must have ∆3 · µvEnd(Fa ) (xa ) + λxa ,0 (ea ) = ∆3 · µvEnd(Fb ) (xb ) + λxb ,0 (eb ).

(1)

We derive a contradiction in each of the following exhaustive cases. Suppose xa = xb . Then ea , eb ∈ M0 (xa ) and ea ̸= eb . As λxa ,0 is injective, λxa ,0 (ea ) ̸= λxa ,0 (eb ). Since additionally µvEnd(Fa ) (xa ) = µvEnd(Fb ) (xb ) (as xa = xb and vEnd(Fa ) = vEnd(Fb )), the two sides of Equation (1) differ, a contradiction. Suppose xa ̸= xb . Since vEnd(Fa ) = vEnd(Fb ) and µvEnd(Fa ) is injective, we have µvEnd(Fa ) (xa ) ̸= µvEnd(Fb ) (xb ), and hence the two multiples of ∆3 in Equation (1) differ by at least ∆3 . As λxa ,0 (ea ), λxb ,0 (eb ) ∈ [∆], their difference is at most ∆ − 1 < ∆3 . Hence Equation (1) cannot hold, a contradiction. Hence there do not exist distinct elements (ea , xa , α, β, xy), (eb , xb , α, β, xy) in M1 (x). That is, for every ordered pair (α, β) of distinct colors in [∆ + 1], there exists at most one element of the form (e, x′ , α, β, xy) in M1 (x). Since there are at most (∆ + 1)∆ ≤ 2∆2 ordered pairs of distinct colors, we conclude |M1 (x)| ≤ 2∆2 . Hence Π2 (1) is true. ◀ The second lemma is the inductive step: it establishes the three statements for construction phase i, assuming they hold for all earlier phases. ▶ Lemma 60. For 2 ≤ i ≤ T , statements Π1 (i), Π2 (i) and Π3 (i) hold. Proof. Let 2 ≤ i ≤ T . We will inductively assume that Π1 (k), Π2 (k) and Π3 (k) are true for 1 ≤ k ≤ i − 1. Then F act 27 and F act 28 hold at the start of construction phase i and hence construction phase i is well defined. Proof for Π3 (i). Assume construction phase i is finished. Consider a vertex x being added to Si (e, ℓ) in some subphase in construction phase i. By the description of the set construction Si−1 stage in construction phase i, x ∈ / N 2 [ k=0 Rk (e, ℓ)]. Then, by Observation 56, we have x ∈ Si (e, ℓ) ⇐⇒ (e, z, α, β, xy) ∈ Mi (x) for unique z ∈ Si−1 (e, ℓ), α, β ∈ [∆ + 1] and y ∈ N (x). Hence Π3 (i) is true. Proof for Π1 (i). Let x ∈ V (G) and let (e, z, α, β, xy) ∈ Mi (x). We apply Observation 57 to this tuple, i.e., with the roles of the observation’s variables v, x, α′ , β ′ , vw played by x, z, α, β, xy respectively. It follows that z ∈ Si−1 (e, ℓ) finishes the construction of a candidate chain Fi′ + Pi′ under Shift(χ, C), where C = F1 + P1 + · · · + Fi−1 + Pi−1

60

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

is an (i − 1)-step Vizing chain on e under χ. Note that throughout this proof the letter C denotes this (i − 1)-step prefix, whereas in the statement of Π1 (i) it stands for the full i-step chain. Moreover, this chain satisfies the following properties: C + Fi′ + Pi′ is a self-avoiding i-step Vizing chain of step length ℓ on e under χ (by Property 1), for each 1 ≤ k ≤ i − 1, we have Fk = Fk′ and Pk is a subpath of Pk′ , where Fk′ + Pk′ is the unique candidate chain constructed for e by cen(Fk ) during construction phase k (by Property 2), for each 1 ≤ k ≤ i − 1, the set Mk (vEnd(Pk )) contains a tuple with first entry e and second entry cen(Fk ) (since C is the chain that statement Π1 (i − 1) gives for the tuple of Mi−1 (z) served by z), V (tail(Pi′ )) ⊆ Ri (e, ℓ) and V (tail(Pk )) ⊆ Rk (e, ℓ) for each 1 ≤ k ≤ i − 1 (by Property 3), cen(Fi′ ) = z, tail(Pi′ ) is a vEnd(Fi′ )-maximal bichromatic path under χ (by Property 4), Pi′ is either an (α, β)-bichromatic path chain or a (β, α)-bichromatic path chain under Shift(χ, C + Fi′ ) (by Property 5), xy = eEnd(Pi′ |dPi′ (z, x)) and Shift(χ, C + Fi′ )(xy) = α (by Property 6). Also, by Observation 56, we have x ∈ Si (e, ℓ). Now let Fi := Fi′ and let Pi be the initial segment of Pi′ ending at x. Then, by construction, xy = eEnd(Pi ),

x = vEnd(Pi ),

and Shift(χ, C + Fi )(xy) = α. We claim that C + Fi + Pi satisfies all the remaining required properties. Since Pi is an initial segment of Pi′ , we immediately get V (tail(Pi )) ⊆ Ri (e, ℓ). Similarly, because tail(Pi′ ) is a vEnd(Fi′ )-maximal (α, β)-bichromatic path under χ, it follows that tail(Pi ) is a vEnd(Fi )-maximal (α, β)-bichromatic path under χ. Moreover, since Pi′ is either an (α, β)-bichromatic path chain or a (β, α)-bichromatic path chain under Shift(χ, C + Fi′ ), the same is true for Pi under Shift(χ, C + Fi ). The length of Pi is greater than 2. Indeed, we have x ∈ Si (e, ℓ), the set Si (e, ℓ) is disjoint from " i−1 # [ 2 N Rk (e, ℓ) k=0

by Π3 (i), and z ∈ Ri−1 (e, ℓ). Next we verify the availability conditions. We already know that Shift(χ, C + Fi )(xy) = α. Let f be the edge preceding xy in Pi . Since Pi has length greater than 2 and is either an (α, β)- or a (β, α)-bichromatic path chain under Shift(χ, C + Fi ), we have Shift(χ, C + Fi )(f ) = β. Therefore, after shifting along Pi , the color α is available at x and the color β is available at y. That is, α ∈ A(x, Shift(χ, C + Fi + Pi ))

and

β ∈ A(y, Shift(χ, C + Fi + Pi )).

S. Brandt, A. Narayanan and A. Nolin

Furthermore, C + Fi + Pi is a self-avoiding i-step Vizing chain of step length ℓ on e under χ, because it is an initial segment of the self-avoiding i-step Vizing chain C + Fi′ + Pi′ . Finally, the chain F1 + P1 + · · · + Fi + Pi satisfies the conditions of Π1 (i), namely for each 1 ≤ k ≤ i, we have Fk = Fk′ and Pk is a subpath of Pk′ , where Fk′ + Pk′ is the unique candidate chain constructed by cen(Fk ) in construction phase k, for each 1 ≤ k ≤ i, the set Mk (vEnd(Pk )) contains a tuple with first entry e and second entry cen(Fk ), and xy = eEnd(Pi ) and x = vEnd(Pi ). The second condition holds for k ≤ i−1 as recorded above, and for k = i because vEnd(Pi ) = x and (e, z, α, β, xy) ∈ Mi (x) with cen(Fi ) = z. No other chain satisfies these conditions. Indeed, let F̃1 + P̃1 + · · · + F̃i + P̃i be a chain that does. Fix 1 ≤ k ≤ i and suppose vEnd(P̃k ) = vEnd(Pk ), which holds for k = i since both are equal to x. Writing v := vEnd(P̃k ), the fiber Mk (v; e) contains at most one tuple by Observations 38 and 52, and the second condition places in it a tuple with second entry cen(F̃k ) and a tuple with second entry cen(Fk ); hence cen(F̃k ) = cen(Fk ). By Observations 35 and 45, this vertex constructs exactly one candidate chain for e in construction phase k, so the first condition makes F̃k + P̃k an initial segment of that chain, and vEnd(P̃k ) = v then gives F̃k + P̃k = Fk + Pk . In particular vEnd(P̃k−1 ) = cen(F̃k ) = cen(Fk ) = vEnd(Pk−1 ), so the same argument applies at index k − 1. Descending from k = i to k = 1 therefore gives F̃k + P̃k = Fk + Pk for every k. In particular, this chain satisfies the following additional properties: cen(Fi ) = z, for each 1 ≤ k ≤ i, we have V (tail(Pk )) ⊆ Rk (e, ℓ), tail(Pi ) is a vEnd(Fi )-maximal (α, β)-bichromatic path under χ, Pi is either a (β, α)-bichromatic path chain or an (α, β)-bichromatic path chain under Shift(χ, F1 + P1 + · · · + Fi−1 + Pi−1 + Fi ), and the length of Pi is greater than 2, α ∈ A(x, Shift(χ, C + Fi + Pi )), β ∈ A(y, Shift(χ, C + Fi + Pi )), and Shift(χ, F1 + P1 + · · · + Fi )(xy) = α. Hence F1 + P1 + · · · + Fi + Pi is the unique i-step Vizing chain with the required properties. Therefore, Π1 (i) holds. Proof for Π2 (i). Assume, if possible, that two distinct elements (ea , xa , α, β, xy) and (eb , xb , α, β, xy) are elements of Mi (x) after construction phase i. There is no loss of generality in giving the two tuples the same last entry: if (e, x′ , α, β, xy) ∈ Mi (x) then χ(xy) = α by the set construction stage, so xy is the unique α-colored edge at x, and is therefore determined by α. By Observation 52 (applied at index i), we have |Mi (x; e)| ≤ 1 for every e ∈ U . As the two tuples are distinct, we conclude ea ̸= eb . By the description of the set construction stage in construction phase i, the tuple (ea , xa , α, β, xy) is added to Mi (x) only because xa finished the construction of a candidate chain Fa + Pa for ea in construction phase i with x ∈ V (tail(Pa )) \ N 2 [xa ] and xy = eEnd(Pa |dPa (xa , x)). By the description of subphase (c, r) in construction phase i, this construction happened in subphase (ψ(xa ), λxa ,i−1 (ta )), where ta ∈ Mi−1 (xa ) is the unique tuple with first entry ea that forced the construction; uniqueness holds by Observation 38 when i − 1 = 1, and otherwise by Observation 52 applied at index i − 1. Analogously, xb

61

62

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

finished the construction of a candidate chain Fb + Pb for eb in subphase (ψ(xb ), λxb ,i−1 (tb )), where tb ∈ Mi−1 (xb ) is the unique tuple with first entry eb . Note that the lengths of Pa |dPa (xa , x) and Pb |dPb (xb , x) are greater than 2 by statement Π1 (i). Properties 4 and 5 of Observation 57 also imply that tail(Pa ) and tail(Pb ) are both (α, β)-bichromatic paths under χ, and that vEnd(Fa ) and vEnd(Fb ) are endpoints of the maximal (α, β)-bichromatic path under χ containing x. We now claim that vEnd(Fa ) = vEnd(Fb ). Suppose not. Since x is at distance at least 3 from xa and xb along Pa and Pb respectively, x is at distance at least 2 from vEnd(Fa ) and vEnd(Fb ) along tail(Pa ) and tail(Pb ) respectively. As vEnd(Fa ) and vEnd(Fb ) are distinct endpoints of the same maximal (α, β)-bichromatic path containing x, the paths Pa and Pb then enter x through different edges of that maximal path. This contradicts eEnd(Pa |dPa (xa , x)) = xy = eEnd(Pb |dPb (xb , x)). Hence vEnd(Fa ) = vEnd(Fb ). Since tail(Pa ) and tail(Pb ) are subpaths of the same maximal (α, β)-bichromatic path under χ, both starting at vEnd(Fa ) = vEnd(Fb ) and both ending at x, they traverse the same segment of that path from vEnd(Fa ) to x. This implies dPa (xa , x) = dPb (xb , x). On the other hand, by the description of the set construction stage in construction phase i, the tuples being added to Mi (x) implies ℓ ℓ 3 3 10∆4 · (∆ · µvEnd(Fa ) (xa ) + λxa ,i−1 (ta )) ≤ dPa (xa , x) < 10∆4 · (∆ · µvEnd(Fa ) (xa ) + λxa ,i−1 (ta ) + 1), and ℓ ℓ 3 3 10∆4 · (∆ · µvEnd(Fb ) (xb ) + λxb ,i−1 (tb )) ≤ dPb (xb , x) < 10∆4 · (∆ · µvEnd(Fb ) (xb ) + λxb ,i−1 (tb ) + 1). Since dPa (xa , x) = dPb (xb , x) and these half-open intervals are pairwise disjoint for distinct values of the index ∆3 · µ + λ, we must have ∆3 · µvEnd(Fa ) (xa ) + λxa ,i−1 (ta ) = ∆3 · µvEnd(Fb ) (xb ) + λxb ,i−1 (tb ).

(2)

We derive a contradiction in each of the following exhaustive cases. Suppose xa = xb . Then ta , tb ∈ Mi−1 (xa ) and ta = ̸ tb , since their first entries ea and eb differ. As λxa ,i−1 is injective, λxa ,i−1 (ta ) ̸= λxa ,i−1 (tb ). Since additionally µvEnd(Fa ) (xa ) = µvEnd(Fb ) (xb ) (as xa = xb and vEnd(Fa ) = vEnd(Fb )), the two sides of Equation (2) differ, a contradiction. Suppose xa ̸= xb . Since vEnd(Fa ) = vEnd(Fb ) and µvEnd(Fa ) is injective, we have µvEnd(Fa ) (xa ) ̸= µvEnd(Fb ) (xb ), and hence the two multiples of ∆3 in Equation (2) differ by at least ∆3 . As λxa ,i−1 (ta ), λxb ,i−1 (tb ) ∈ [2∆2 ], their difference is at most 2∆2 −1 < ∆3 for ∆ ≥ 2. Hence Equation (2) cannot hold, a contradiction. Hence there do not exist distinct elements (ea , xa , α, β, xy), (eb , xb , α, β, xy) in Mi (x). That is, for every ordered pair (α, β) of distinct colors in [∆ + 1], there exists at most one element of the form (e, x′ , α, β, xy) in Mi (x). Since there are at most (∆ + 1)∆ ≤ 2∆2 ordered pairs of distinct colors, we conclude |Mi (x)| ≤ 2∆2 . Hence Π2 (i) is true. ◀

6

Existence of a Multi-Step Vizing Chain

We will see that algorithm A gives a terminating self-avoiding multi-step Vizing chain for any uncolored edge e. The proof follows along similarly as in [16]. We observe that the set Si (e, ℓ) can be partitioned into Di (e, ℓ), Qi (e, ℓ), and Bi (e, ℓ) for any 0 ≤ i < T . ▶ Observation 61. Let e ∈ U and 0 ≤ i < T . Then S0 (e, ℓ) = D0 (e, ℓ) ⊔ Q0 (e, ℓ) and Si (e, ℓ) = Di (e, ℓ) ⊔ Qi (e, ℓ) ⊔ Bi (e, ℓ).

S. Brandt, A. Narayanan and A. Nolin

63

Proof. We will consider cases i = 0 and i > 0 separately. Suppose i = 0. Consider any x ∈ S0 (e, ℓ). By Observation 41, x ∈ D0 (e, ℓ) ⊔ Q0 (e, ℓ). Suppose i > 0. Consider any x ∈ Si (e, ℓ). By Observation 55, x ∈ Di (e, ℓ) ⊔ Qi (e, ℓ) ⊔ Bi (e, ℓ). ◀ We now determine the conditions under which Ri (e, ℓ) and Sj (e, ℓ) can intersect. ▶ Observation 62. Let e ∈ U and 0 ≤ i, j ≤ T − 1 with i < j. Then Ri (e, ℓ) ∩ Sj (e, ℓ) = ∅. In particular Si (e, ℓ) ∩ Sj (e, ℓ) = ∅ Proof. This follows from Lemmas 59 and 60.

◀

We state some results that help us to analyze the construction. ▶ Observation 63. Let G be a graph of maximum degree ∆. Then, we have that for any H ⊆ G, |E(H)| ∆ ≤ . |V (H)| 2 For any edge e, we count the number of candidate chains for e that pass through a vertex or an edge in a construction phase i. This will later help us to bound Bi (e, ℓ), the set of bad vertices. ▶ Lemma 64. Let v ∈ V (G), f ∈ E(G), e ∈ U and 1 ≤ i ≤ T . Then, at most (∆ + 1)3 candidate chains for e are constructed in construction phase i such that v is contained in the bichromatic part of the candidate chain, at most 2∆2 candidate chains for e are constructed in construction phase i such that f is contained in the bichromatic part of the candidate chain, and at most ∆ + 1 candidate chains for e are constructed in construction phase i such that v is contained in the fan chain of the candidate chain. Proof. Note that for any candidate chain F + P constructed for e in construction phase i, tail(P ) is a bichromatic path under χ by Observation 37 and Observation 50. Now, let x be a vertex that constructs a candidate chain F +P such that v ∈ V (tail(P )) in construction phase i. Then x is the neighbor of vEnd(F ) where vEnd(F ) is the endpoint of a  ∆(∆+1) maximal bichromatic path under χ in which v is contained. There are at most ∆+1 = 2 2 maximal bichromatic paths under χ that contain v, since such a path is determined by its pair of colors, and each of them has two endpoints; hence vEnd(F ) must come from a set of ∆(∆ + 1) vertices in G and consequently, x must come from a set of ∆2 (∆ + 1) ≤ (∆ + 1)3 vertices. Moreover, x constructs at most one candidate chain for e in construction phase i since Mi−1 (x) does not have duplicates at the end of construction phase i − 1. Hence at most (∆ + 1)3 candidate chains for e are constructed in construction phase i such that v is contained in the bichromatic part of the candidate chain. By an analogous argument, we also have that at most 2∆2 candidate chains for e are constructed in construction phase i such that f is contained in the bichromatic part of the candidate chain. By construction, v is contained in the fan of a candidate chain F + P if it is constructed by a vertex in N [v]. Note that any vertex v ′ ∈ N [x] can construct at most one candidate chain on e in construction phase i since Mi−1 (x) does not have duplicates at the start of construction phase i. Hence at most ∆ + 1 candidate chains for e are constructed in construction phase i such that v is contained in the fan chain of the candidate chain. ◀

64

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

We show that the algorithm “reaches” a large number of previously “unreached” vertices from an uncolored edge e if a terminating multi-step Vizing chain from e is already not found. ▶ Lemma 65. Let e ∈ U and 1 ≤ i < T . Then |Ri (e, ℓ)| ≥

ℓ · |Qi−1 (e, ℓ)|. ∆3

Proof. For each x ∈ Qi−1 (e, ℓ), let Fx + Px be the unique candidate chain that x constructed for e in construction phase i, and let Pe = (tail(Px ))x∈Qi−1 (e,ℓ) be the family of paths indexed by these vertices, so that |Pe | = |Qi−1 (e, ℓ)| even if two indices yield the same path. Note that the members of Pe are bichromatic paths under χ. Let H be the graph induced by their edges. Since x ∈ Qi−1 (e, ℓ), the path tail(Px ) is not maximal under χ and hence has length ℓ. So the pairs (x, f ) with f ∈ E(tail(Px )) number exactly ℓ · |Qi−1 (e, ℓ)|. As distinct indices give distinct candidate chains, Lemma 64 lets each edge f occur in at most 2∆2 of these pairs. (e,ℓ)| Hence there are at least ℓ·|Qi−1 edges in H. The number of vertices is at most 2∆2 |Ri (e, ℓ)| since V (P ) ⊆ Ri (e, ℓ) if F + P was finished constructing in construction phase i by the description of set construction stage. Hence by Observation 63, ℓ · |Qi−1 (e, ℓ)| ∆ ≤ 2 2∆ · |Ri (e, ℓ)| 2 We get the required inequality by reordering the terms.

◀

Having bounded how many new vertices a construction phase reaches, we now bound from below how many of them carry the construction into the next phase, provided no terminating chain has appeared so far. Si−1 ▶ Lemma 66. Let e ∈ U and 1 ≤ i ≤ T . Suppose k=0 Dk (e, ℓ) = ∅, and if i ≥ 2, suppose additionally that |Ri−1 (e, ℓ)| ≤ 22(∆ + 1)7 · |Qi−1 (e, ℓ)|. Then |Si (e, ℓ)| ≥

|Ri (e, ℓ)| . 11(∆ + 1)7

Proof. Let v ∈ Ri (e, ℓ). By Observations 39 and 53, a vertex v is added to Ri (e, ℓ) if and only if some vertex x ∈ Si−1 (e, ℓ) finishes the construction of a candidate chain F + P for e in construction phase i such that v ∈ V (P ) \ {x}. Moreover, as we argue below, every candidate chain for e whose construction is finished in construction phase i is hopeful, so P has length ℓ + 1 and V (P ) \ {x} = V (tail(P )). Hence, [ Ri (e, ℓ) = V (P ), P ∈Pe

where Pe = (tail(Px ))x is the family indexed by the vertices x that finished the construction of a candidate chain Fx + Px on e in construction phase i.

S. Brandt, A. Narayanan and A. Nolin

65

Consider a candidate chain F + P on e constructed by some vertex x in construction phase i. By Observations 35 and 45, we have x ∈ Si−1 (e, ℓ). Since x finished the construction of F + P , the chain F + P is not unsuccessful. Hence x ∈ / Bi−1 (e, ℓ). By assumption, we also have x ∈ / Di−1 (e, ℓ). Moreover, by Observations 41 and 55, every vertex in Si−1 (e, ℓ) belongs to Qi−1 (e, ℓ) ⊔ Di−1 (e, ℓ) ⊔ Bi−1 (e, ℓ). Therefore, x ∈ Qi−1 (e, ℓ). By the set construction stage for x, this implies that F + P is a hopeful candidate chain. Hence, by Observations 36 and 49, the path P has length ℓ + 1. Let Si′ (e, ℓ) denote the set of vertices that would be added to Si (e, ℓ) if the condition v∈ /N

2

" i−1 [

# Rk (e, ℓ)

k=0

were removed from the set construction stage. By the set construction stage for x, the vertices added to Si′ (e, ℓ) are those v ∈ V (tail(P )) \ N 2 [x] whose distance dP (v, x) lies in a half-open ℓ 3 interval of length 10∆ 4 ; this interval is contained in [0, ℓ], since ∆ µvEnd(F ) (x) + r + 1 ≤ ℓ 4 3 4 ∆ + ∆ + 1 ≤ 10∆ . It therefore contains at least ⌊ 10∆4 ⌋ vertices of tail(P ), of which at most |N 2 [x]| ≤ ∆2 + 1 are discarded. Since ℓ = 1584(∆ + 1)22 and ∆ ≥ 2, each member of Pe thus contributes at least   ℓ ℓ+1 − (∆2 + 1) ≥ 10∆4 10(∆ + 1)4 1 vertices to Si′ (e, ℓ), that is, at least a 10(∆+1) 4 -fraction of its ℓ + 1 vertices. On the other hand, distinct indices give distinct candidate chains, so by Lemma 64 every vertex v ∈ Si′ (e, ℓ) is contained in at most (∆ + 1)3 members of Pe . Therefore, at least a 1 ′ 10(∆+1)7 -fraction of the vertices in Ri (e, ℓ) belong to Si (e, ℓ), which gives

|Si′ (e, ℓ)| ≥

|Ri (e, ℓ)| . 10(∆ + 1)7

We now account for the condition v∈ /N

2

" i−1 [

# Rk (e, ℓ) .

k=0

By Observation 47, every candidate chain F + P whose construction is finished by x in construction phase i satisfies V (P ) ∩ N

2

" i−2 [

# Rk (e, ℓ) = ∅

k=0

(vacuously if i = 1). Hence the only vertices of Si′ (e, ℓ) that may fail to belong to Si (e, ℓ) are those in N 2 [Ri−1 (e, ℓ)]. Therefore, Si (e, ℓ) ⊇ Si′ (e, ℓ) \ N 2 [Ri−1 (e, ℓ)]. First consider the case i = 1. Then |R0 (e, ℓ)| = 1, and so |N 2 [R0 (e, ℓ)]| ≤ 2∆2 .

66

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

Since |R1 (e, ℓ)| ≥ ℓ (as S0 (e, ℓ) is a singleton and D0 (e, ℓ) = ∅, the unique vertex of S0 (e, ℓ) lies in Q0 (e, ℓ), so its candidate chain is hopeful and R1 (e, ℓ) = V (tail(P )) with | tail(P )| = ℓ), |S1′ (e, ℓ)| ≥

|R1 (e, ℓ)| ℓ ≥ = 158.4(∆ + 1)15 , 10(∆ + 1)7 10(∆ + 1)7

it follows that |S1 (e, ℓ)| ≥ |S1′ (e, ℓ)| − 2∆2 ≥

|R1 (e, ℓ)| . 11(∆ + 1)7

Now consider the case i ≥ 2. Then |N 2 [Ri−1 (e, ℓ)]| ≤ 2∆2 |Ri−1 (e, ℓ)|. By the additional hypothesis, |Ri−1 (e, ℓ)| ≤ 22(∆ + 1)7 |Qi−1 (e, ℓ)|, and hence |N 2 [Ri−1 (e, ℓ)]| ≤ 44(∆ + 1)9 |Qi−1 (e, ℓ)|. By Lemma 65, |Qi−1 (e, ℓ)| ≤

∆3 |Ri (e, ℓ)|. ℓ

Therefore, |Si (e, ℓ)| ≥

44∆3 (∆ + 1)9 |Ri (e, ℓ)| − |Ri (e, ℓ)|. 7 10(∆ + 1) ℓ

Since ℓ = 1584(∆ + 1)22 , we obtain   1 1 |Ri (e, ℓ)| |Si (e, ℓ)| ≥ |Ri (e, ℓ)| − ≥ . 10(∆ + 1)7 30(∆ + 1)10 11(∆ + 1)7 ◀ We now show a bound for the growth rate of “bad vertices” Bi (e, ℓ). ▶ Lemma 67. Let e ∈ U and 1 ≤ i < T . Then |Bi (e, ℓ)| ≤ 3(∆ + 1)5 ·

i−1 X

|Rj (e, ℓ)|.

j=0

Proof. Consider a vertex x ∈ Si (e, ℓ). By Observations 42 and 56, there exists a tuple (e, x′ , α, β, xy) ∈ Mi (x) for some α, β ∈ [∆ + 1]. By construction, in construction phase i + 1, the vertex x constructs a 1-step Vizing chain F + P under Shift(χ, C), where C = F1 + P1 + · · · + Fi + Pi is an i-step self-avoiding Vizing chain on e with vEnd(Pi ) = x and eEnd(Pi ) = xy. By the description of the set construction stage in construction phase i + 1, the vertex x belongs to Bi (e, ℓ) only if F + P is an unsuccessful candidate chain. By definition, this happens only if at least one of the following holds:   i−1 [ V (P ) ∩ N 2  Rj (e, ℓ) ̸= ∅, j=0

S. Brandt, A. Narayanan and A. Nolin

67

x and vEnd(F ) are tail(P )-related. We first bound the number of vertices x ∈ Si (e, ℓ) for which   i−1 [ V (P ) ∩ N 2  Rj (e, ℓ) ̸= ∅. j=0

A vertex in

i−1 [

N 2 [Rj (e, ℓ)]

j=0

can be reached through path chains of candidate chains starting from at most (∆ + 1)5 different vertices in Si (e, ℓ) by Lemma 64. Similarly, a vertex in i−1 [

N 2 [Rj (e, ℓ)]

j=0

can be reached through fans of candidate chains starting from at most (∆ + 1)3 different vertices in Si (e, ℓ) by Lemma 64. Hence the number of vertices x ∈ Si (e, ℓ) for which   i−1 [ V (P ) ∩ N 2  Rj (e, ℓ) ̸= ∅ j=0

holds is at most (∆ + 1)

5

i−1 X j=0

|Rj (e, ℓ)| + (∆ + 1)

3

i−1 X

|Rj (e, ℓ)|.

j=0

We now bound the number of vertices x ∈ Si (e, ℓ) for which x and vEnd(F ) are tail(P )related. Since i ≥ 1, the chain F + P is constructed in construction phase i + 1 ≥ 2. Hence x constructs F + P by the Inherited-Color Case by Observation 51. Since tail(Pi ) and tail(P ) are respectively vEnd(Fi )-maximal and vEnd(F )-maximal bichromatic paths under χ, by Observations 37 and 50, tail(Pi ) and tail(P ) use the same pair of colors, by construction in the Inherited-Color Case, x ∈ V (tail(Pi )) ∩ V (tail(P )), it follows that tail(Pi ) and tail(P ) are subpaths of the same maximal bichromatic path M in χ, with vEnd(Fi ) and vEnd(F ) as the two endpoints of M . We now count the number of such vertices x. First, vEnd(Fi ) is one of the endpoints of M ; since vEnd(Fi ) ∈ N (cen(Fi )) ⊆ N (Si−1 (e, ℓ)), there are at most ∆ · |Si−1 (e, ℓ)| choices for vEnd(Fi ). The pair of colors of M can be chosen in at most ∆2 ways, and these choices determine M and hence its other endpoint vEnd(F ). Finally, x ∈ N (vEnd(F )), giving at most ∆ further choices. Since x constructs at most one candidate chain for e in construction phase i + 1, there are at most ∆ · ∆2 · ∆ · |Si−1 (e, ℓ)| = ∆4 · |Si−1 (e, ℓ)| vertices x ∈ Si (e, ℓ) for which x and vEnd(F ) are tail(P )-related.

68

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

Summing the two contributions, we obtain |Bi (e, ℓ)| ≤ (∆ + 1)5

i−1 X

|Rj (e, ℓ)| + (∆ + 1)3

j=0

i−1 X

|Rj (e, ℓ)| + ∆4 |Si−1 (e, ℓ)|.

j=0

Since

i−1 [

Si−1 (e, ℓ) ⊆ Ri−1 (e, ℓ) ⊆

Rj (e, ℓ),

j=0

we have ∆4 |Si−1 (e, ℓ)| ≤ (∆ + 1)5

i−1 X

|Rj (e, ℓ)|.

j=0

Therefore, |Bi (e, ℓ)| ≤ 3(∆ + 1)5

i−1 X

|Rj (e, ℓ)|.

j=0

◀ The last two lemmas bound |Si (e, ℓ)| from below and |Bi (e, ℓ)| from above. Since Si (e, ℓ) is the disjoint union of Di (e, ℓ), Qi (e, ℓ) and Bi (e, ℓ), together they bound |Qi (e, ℓ)| from below. This is the growth statement we now prove. ▶ Lemma 68. Statement Π(i) is true where Π(i) is stated as follows: Let 1 ≤ i < T . Suppose Si 22 j=0 Dj (e, ℓ) = ∅. Let ℓ = 1584(∆ + 1) . Then the following properties hold at the end of algorithm A. Pi−1 1. |Qi (e, ℓ)| ≥ 66(∆ + 1)12 k=0 |Qk (e, ℓ)| |Ri (e,ℓ)| 2. |Qi (e, ℓ)| ≥ 22(∆+1) 7 Si Proof. By Observation 61 and the given fact that k=0 Dk (e, ℓ) = ∅, we have that Si (e, ℓ) = Qi (e, ℓ) ⊔ Bi (e, ℓ). We will proceed by strong induction on i. S1 Case i = 1. By Observation 41, and the given fact that k=0 Dk (e, ℓ) = ∅, we have that S0 (e, ℓ) = Q0 (e, ℓ). Let F + P be a candidate chain constructed for e in construction phase 1. By Observation 35, there exists an x ∈ S0 (e, ℓ) that constructs this candidate chain. Since S0 (e, ℓ) is a singleton by definition, x is the unique vertex that constructs a candidate chain for e in construction phase 1. Since M0 (x) does not have any duplicates, F + P is the only candidate chain x constructs for e in construction phase 1. Hence R1 (e, ℓ) = V (P ) \ {x} by Observation 39. Since S0 (e, ℓ) = Q0 (e, ℓ), we have x ∈ Q0 (e, ℓ). By the set construction stage for x in construction phase 1, this implies that F + P is hopeful. Hence the length of tail(P ) is ℓ by Observation 36, and R1 (e, ℓ) = V (P ) \ {x} = V (tail(P )). In particular, |R1 (e, ℓ)| ≥ ℓ. By Lemma 66, |S1 (e, ℓ)| ≥

|R1 (e, ℓ)| . 11(∆ + 1)7

S. Brandt, A. Narayanan and A. Nolin

69

By Lemma 67, |B1 (e, ℓ)| ≤ 3(∆ + 1)5

0 X

|Rj (e, ℓ)| = 3(∆ + 1)5 |R0 (e, ℓ)|.

j=0

Since |R0 (e, ℓ)| = 1, we obtain |B1 (e, ℓ)| ≤ 3(∆ + 1)5 . Therefore, |Q1 (e, ℓ)| = |S1 (e, ℓ)| − |B1 (e, ℓ)| ≥

|R1 (e, ℓ)| − 3(∆ + 1)5 . 11(∆ + 1)7

Since |R1 (e, ℓ)| ≥ ℓ = 1584(∆ + 1)22 , we have |R1 (e, ℓ)| ≥ 72(∆ + 1)15 ≥ 3(∆ + 1)5 . 22(∆ + 1)7 Hence |Q1 (e, ℓ)| ≥

|R1 (e, ℓ)| . 22(∆ + 1)7

Thus Property 2 in Π(1) is true. Also, |Q1 (e, ℓ)| ≥

ℓ − 3(∆ + 1)5 = 144(∆ + 1)15 − 3(∆ + 1)5 ≥ 66(∆ + 1)12 |Q0 (e, ℓ)|, 11(∆ + 1)7

since |Q0 (e, ℓ)| = 1. Hence Property 1 in Π(1) is true. Hence Π(1) is true. Case 2 ≤ i < T : Assume inductively that Π(k) is true for 1 ≤ k ≤ i − 1. By the inductive hypothesis, |Ri−1 (e, ℓ)| ≤ 22(∆ + 1)7 · |Qi−1 (e, ℓ)|, satisfying the hypothesis of Lemma 66. By Lemma 66, |Ri (e, ℓ)| |Si (e, ℓ)| ≥ . 11(∆ + 1)7 By Lemma 67, |Bi (e, ℓ)| ≤ 3(∆ + 1)5

i−1 X

|Rj (e, ℓ)|.

j=0

Now |R0 (e, ℓ)| = 1 = |Q0 (e, ℓ)|, and for every 1 ≤ j ≤ i − 1, by Property 2 in Π(j), |Rj (e, ℓ)| ≤ 22(∆ + 1)7 |Qj (e, ℓ)|. Therefore,  |Bi (e, ℓ)| ≤ 3(∆ + 1)5 |R0 (e, ℓ)| +

i−1 X

 |Rj (e, ℓ)|

j=1

 ≤ 3(∆ + 1)5 |Q0 (e, ℓ)| + 22(∆ + 1)7

i−1 X

 |Qj (e, ℓ)|

j=1

≤ 66(∆ + 1)12

i−1 X j=0

|Qj (e, ℓ)|.

(3)

70

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

We have by Property 1 that i−1 X

|Qk (e, ℓ)| ≤ (1 +

k=0

12 1 )|Qi−1 (e, ℓ)| ≤ |Qi−1 (e, ℓ)| 66(∆ + 1)12 11

(4)

Combining Lemma 65 and Equation (4), we get |Si (e, ℓ)| ≥

|Qi−1 (e, ℓ)| ℓ |Ri (e, ℓ)| ≥ · 11(∆ + 1)7 11(∆ + 1)7 ∆3 i−1

≥

X ℓ |Qk (e, ℓ)| 10 12(∆ + 1) k=0

≥ 132(∆ + 1)12

i−1 X

|Qk (e, ℓ)|

(5)

k=0

Hence from Equation (3) and Equation (5), we have that |Qi (e, ℓ)| = |Si (e, ℓ)| − |Bi (e, ℓ)| ≥ 66(∆ + 1)12

i−1 X

|Qk (e, ℓ)|

(6)

k=0

Hence, Property 1 is true in Π(i). From Equation (6) and Equation (3), |Qi (e, ℓ)| ≥ |Bi (e, ℓ)|. Hence 2|Qi (e, ℓ)| ≥ |Qi (e, ℓ)| + |Bi (e, ℓ)| = |Si (e, ℓ)|. |Ri (e,ℓ)| Since |Si (e, ℓ)| ≥ 11(∆+1) 7 by Lemma 66, we have

|Qi (e, ℓ)| ≥

|Si (e, ℓ)| |Ri (e, ℓ)| ≥ . 2 22(∆ + 1)7

Hence Property 2 is true in Π(i). Hence Π(i) is true.

◀

This growth cannot be sustained for T phases, since the sets Qi (e, ℓ) would outgrow the graph. Hence some construction phase must produce a terminating chain. ST −1 ▶ Lemma 69. Let e ∈ U . Then j=0 Dj (e, ℓ) ̸= ∅ at the end of algorithm A. ST −1 Proof. Suppose j=0 Dj (e, ℓ) = ∅. Then, Lemma 68 along with the fact that |Q0 (e, ℓ)| = 1 implies that |QT −1 (e, ℓ)| ≥ (66(∆ + 1)12 )T −1 > n, using 66(∆ + 1)12 ≥ 225 and T − 1 ≥ log2 n − 1 > log252 n (as ∆ ≥ 2 forces n ≥ 3). This is not possible since there are at most n vertices. Hence, we are done. ◀ Hence we have the following result at the end of A. ▶ Lemma 70. Algorithm A has constructed a self-avoiding terminating multi-step Vizing chain of step length ℓ on every uncolored edge e under χ. Proof. We have that there exists an i with 0 ≤ i < T such that Di (e, ℓ) ̸= ∅ for any uncolored edge e by Lemma 69. If i = 0, then let x ∈ D0 (e, ℓ). By the set construction stage in construction phase 1, this implies that x finished the construction of a successful candidate chain F + P for e. By

S. Brandt, A. Narayanan and A. Nolin

Lemma 26, F + P is a terminating self-avoiding 1-step Vizing chain of step length ℓ on e under χ. If 1 ≤ i < T , then let x ∈ Di (e, ℓ). By the set construction stage in construction phase i + 1, this implies that x finished the construction of a successful candidate chain F + P for e in construction phase i + 1. By Lemma 34, C + F + P is a terminating self-avoiding (i + 1)-step Vizing chain of step length ℓ on e under χ, where C is the i-step Vizing chain of Fact 27. Hence done. ◀

7

Analysis of Selection

We now analyze Section 4.4. We bound the runtime of a marking phase, show that the selection of Ce is well defined and that Ce is a terminating self-avoiding multi-step Vizing chain, bound the runtime of a relay phase, and finally bound the number of chains that a single chain can intersect.

7.1

Properties of Marking Phase i for 0 ≤ i ≤ T − 2

We begin by analyzing the runtime of a marking phase. ▶ Lemma 18. Any marking phase runs in O(∆6 ℓ) rounds in CONGEST. Proof. Consider a marking phase i and a subphase (c, r) in marking phase i. Consider the check stage. By construction, any message passing through an edge e′ is of the form τcheck = (f, x, y, α, β) for some f ∈ E(G), x, y ∈ V (G) and α, β ∈ [∆ + 1]. Note that τcheck passes through e′ only if either 1) e′ is incident to x with ψ(x) = c, or 2) e′ is an edge in a maximal (α, β)-bichromatic path, say Q, under χ such that x is a neighbor of an endpoint of Q. Indeed, by the description of the check stage, the message τcheck = (f, x, y, α, β) is propagated by the vertex x, with ψ(x) = c, along the candidate chain F + P that x constructed for f in subphase (c, r) of construction phase i + 1, where y = vEnd(F ): the first hop of the propagation uses an edge incident to x, and every subsequent hop uses an edge of tail(P ). By Observations 37 and 50, tail(P ) is a vEnd(F )-maximal (α, β)-bichromatic path under χ, so every edge of tail(P ) lies on the maximal (α, β)-bichromatic path Q under χ that has y = vEnd(F ) ∈ N (x) as an endpoint. Since there are at most O(∆2 ) vertices that are colored c and are a neighbor of an endpoint of a maximal bichromatic path under χ in which e′ is contained, at most O(∆2 ) messages pass through e′ in the check stage. Hence, there are at most O(∆2 log n) bits passing through an edge e′ in the check stage. Clearly, the check stage runs in O(ℓ) rounds in the LOCAL model. Hence the check stage can be simulated in CONGEST in O(∆2 ℓ) rounds by Observation 3. An analogous argument works for the status stage and gives that the status stage can be simulated in CONGEST in O(∆2 ℓ) rounds. Since there are at most O(∆4 ) subphases in marking phase i, marking phase i then runs in O(∆6 ℓ) rounds. ◀ We turn to the sets ζi (e, ℓ) that the marking phases produce. The next observation collects three facts about them: they consist of vertices of Si (e, ℓ), they are pairwise disjoint, and they are nonempty for every index up to some k. We use it in Section 7.2 to show that the selection of Section 4.4.2 is well defined; in particular ζ0 (e, ℓ) ̸= ∅, so the selection has a vertex to start from.

71

72

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

▶ Observation 71. Let e ∈ U . Then, there exists a k such that 0 ≤ k ≤ T − 1 and ζi (e, ℓ) ̸= ∅ for any index i with 0 ≤ i ≤ k. Moreover, for any indices i, j with 0 ≤ i, j ≤ T − 1 and i = ̸ j, ζi (e, ℓ) ⊆ Si (e, ℓ), and ζi (e, ℓ) ∩ ζj (e, ℓ) = ∅. Proof. We will first show that ζi (e, ℓ) ⊆ Si (e, ℓ) for 0 ≤ i ≤ T − 1. Consider x ∈ ζi (e, ℓ). If x was in ζi (e, ℓ) before the marking phases, x ∈ Di (e, ℓ) and hence x ∈ Si (e, ℓ) by Observation 61. If not, x was added to ζi (e, ℓ) during marking phase i. Any vertex that is added to ζi (e, ℓ) is in Si (e, ℓ) by description of marking phase i. Hence ζi (e, ℓ) ⊆ Si (e, ℓ) for any index i with 0 ≤ i ≤ T − 1. We now proceed to show that ζi (e, ℓ) ∩ ζj (e, ℓ) = ∅ for any i ̸= j. By Observation 62, Si (e, ℓ) ∩ Sj (e, ℓ) = ∅ for any i = ̸ j. Since ζi (e, ℓ) ⊆ Si (e, ℓ) and ζj (e, ℓ) ⊆ Sj (e, ℓ), it follows that ζi (e, ℓ) ∩ ζj (e, ℓ) = ∅ for any i ̸= j. We now proceed to show that there exists a k with 0 ≤ k ≤ T − 1 such that ζi (e, ℓ) ̸= ∅ for 0 ≤ i ≤ k. By Lemma 69, there exists an index with Di (e, ℓ) ̸= ∅; let k be the largest index with 0 ≤ k ≤ T − 1 and Dk (e, ℓ) ̸= ∅. Since ζk (e, ℓ) is initialized to Dk (e, ℓ) and vertices are only ever added to it during the marking phases, we have ζk (e, ℓ) ⊇ Dk (e, ℓ) ̸= ∅. We now show by downward induction on i that ζi (e, ℓ) ̸= ∅ for all 0 ≤ i ≤ k. The base case i = k holds since ζk (e, ℓ) = Dk (e, ℓ) ̸= ∅. For the inductive step, fix 0 ≤ i ≤ k − 1 and assume ζi+1 (e, ℓ) ̸= ∅. We show ζi (e, ℓ) ̸= ∅. Let v ∈ ζi+1 (e, ℓ). Then v ∈ Si+1 (e, ℓ). By Observation 56, there exists a unique element (e, x, α, β, vw) in Mi+1 (v) for some x ∈ Si (e, ℓ). By the set construction stage in construction phase i + 1, (e, x, α, β, vw) ∈ Mi+1 (v) implies that x constructs a unique candidate chain F + P for e in construction phase i + 1 such that v ∈ V (P ) \ N 2 [x]. Hence x constructs a unique candidate chain F + P for e in construction phase i + 1 with v ∈ V (tail(P )), v ∈ ζi+1 (e, ℓ) and (e, x, α, β, vw) ∈ Mi+1 (v). In particular, v meets the first stopping condition of the check stage of marking phase i. Since v ∈ V (P ) and the propagation of τcheck stops at the first vertex of P meeting one of the two stopping conditions, it stops at v or at an earlier vertex of P that also meets the first condition; in either case vEnd(P ′ ) meets the first condition. By the status stage for x in marking phase i, the vertex vEnd(P ′ ) therefore sends τstatus to x, so x gets added to ζi (e, ℓ) and hence ζi (e, ℓ) ̸= ∅. This completes the induction. ◀

7.2

Correctness of the Selected Chain

Recall from Section 4.4.2 the vertex sequence x0 , . . . , xke , the stopping index ke , and the chains Fi+1 , Pi+1 . We first check that the process defining this sequence is well defined: it has a unique vertex to start from, and it stops at an index at most T − 1, at a vertex whose own candidate chain is successful. ▷ Claim 72. ζ0 (e, ℓ) is a singleton, ke ≤ T − 1, and xke ∈ Dke (e, ℓ). Proof. The set ζ0 (e, ℓ) is nonempty by Observation 71, and it contains at most one vertex since ζ0 (e, ℓ) ⊆ S0 (e, ℓ) and S0 (e, ℓ) is a singleton. Hence ζ0 (e, ℓ) is a singleton and x0 is well defined. Each xi lies in ζi (e, ℓ), so the process can run for at most T steps. Moreover, if the process reaches xT −1 , then xT −1 ∈ ζT −1 (e, ℓ) = DT −1 (e, ℓ), since no marking phase has index T − 1 and hence ζT −1 (e, ℓ) retains its initial value. Therefore the process stops at some ke ≤ T − 1 with xke ∈ Dke (e, ℓ). ◀

S. Brandt, A. Narayanan and A. Nolin

The candidate chain of each chosen vertex is truncated at the next chosen vertex before the chains are concatenated, so it is not immediate that the result is a Vizing chain at all. We show that every prefix of the concatenation is one, which is what the induction needs, and that the full concatenation Ce is moreover terminating. ▶ Lemma 73. For each 0 ≤ i ≤ ke , the chain F1 +P1 +· · ·+Fi+1 +Pi+1 is a self-avoiding (i+1)step Vizing chain of step length ℓ on e under χ. Moreover, Ce = F1 + P1 + · · · + Fke +1 + Pke +1 is a terminating self-avoiding (ke + 1)-step Vizing chain of step length ℓ on e under χ. Proof. We proceed by induction on i. Case i = 0. By Lemma 25, F1′ + P1′ is a self-avoiding 1-step Vizing chain of step length ℓ on e under χ. Since F1 = F1′ and P1 is a subpath of P1′ , it follows that F1 + P1 is also a self-avoiding 1-step Vizing chain of step length ℓ on e under χ. Case 1 ≤ i ≤ ke . Assume inductively that F1 + P1 + · · · + Fi + Pi is a self-avoiding i-step Vizing chain of step length ℓ on e under χ. By the definitions above, this chain satisfies for each 1 ≤ k ≤ i, we have Fk = Fk′ and Pk is a subpath of Pk′ , where Fk′ + Pk′ is the unique candidate chain constructed by cen(Fk ) for e during construction phase k, for each 1 ≤ k ≤ i, the set Mk (vEnd(Pk )) contains a tuple with first entry e and second entry cen(Fk ), and vEnd(Pi ) = xi , where xi = cen(Fi+1 ), and eEnd(Pi ) is the edge by which Pi′ reaches xi , since Pi = Pi′ |dPi′ (xi−1 , xi ). The second of these conditions holds for every 1 ≤ k ≤ i: the vertex xk−1 was added to ζk−1 (e, ℓ) because of xk in marking phase k − 1, so by the check stage of that phase, Mk (xk ) contains a tuple with first entry e and second entry xk−1 = cen(Fk ), and vEnd(Pk ) = xk since Pk = Pk′ |dPk′ (xk−1 , xk ). Since xi ∈ ζi (e, ℓ) ⊆ Si (e, ℓ) by Observation 71, statement Π3 (i) from Lemmas 59 and 60 yields a unique tuple t ∈ Mi (xi ) with first entry e; by the previous paragraph its second entry is xi−1 . Hence t was added to Mi (xi ) on account of the candidate chain Fi′ + Pi′ constructed by xi−1 in construction phase i, and  so, by the set construction stage of that phase, the last entry of t is eEnd Pi′ |dPi′ (xi−1 , xi ) = eEnd(Pi ). Applying statement Π1 (i) from Lemmas 59 and 60 to t, the chain F1 + P1 + · · · + Fi + Pi is the unique i-step Vizing chain with these properties. Moreover, t is the tuple that xi serves when it constructs a candidate chain for e in construction phase i + 1, since it is the only tuple in Mi (xi ) with first entry e. Hence F1 + P1 + · · · + Fi + Pi is exactly the chain C such that xi constructed the ′ ′ candidate chain Fi+1 + Pi+1 under Shift(χ, C), by Fact 27. Therefore, by Lemma 33, the ′ ′ chain F1 + P1 + · · · + Fi + Pi + Fi+1 + Pi+1 is a self-avoiding (i + 1)-step Vizing chain of ′ ′ step length ℓ on e under χ. Since Fi+1 = Fi+1 and Pi+1 is a subpath of Pi+1 , it follows that F1 + P1 + · · · + Fi + Pi + Fi+1 + Pi+1 is also a self-avoiding (i + 1)-step Vizing chain of step length ℓ on e under χ. For the moreover part, recall that Fke +1 + Pke +1 is the candidate chain that xke constructed for e in construction phase ke + 1, untruncated, and that it is successful since xke ∈ Dke (e, ℓ). If ke = 0, then Ce = F1 + P1 is a terminating self-avoiding 1-step Vizing chain of step length ℓ on e under χ by Lemma 26. If ke ≥ 1, then the case i = ke above identifies F1 + P1 + · · · + Fke + Pke with the chain C of Fact 27 for the tuple that xke serves, so Lemma 34 applied to xke shows that Ce = C + Fke +1 + Pke +1 is a terminating self-avoiding (ke + 1)-step Vizing chain of step length ℓ on e under χ. ◀

73

74

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

7.3

Runtime for Learning the Terminating Chain

By Observation 3, the runtime of a relay phase again comes down to how many messages cross a single edge. In relay phase i, a message travels only within the i-th segment of a selected chain, so it suffices to bound how many selected chains have their i-th segment passing through a fixed vertex. ▶ Lemma 74. Let x ∈ V (G) and i ∈ [T ]. Let Exi := {e ∈ U | x ∈ V (Fie + Pie ) where Ce = F1e + P1e + · · · + Fkee +1 + Pkee +1 }. Then |Exi | ≤ O(∆6 ) for any 1 ≤ i ≤ T . Proof. Note that for any e ∈ U , we have x ∈ V (Fie + Pie ) only if x ∈ V (F + P ) where F + P is the candidate chain constructed for e such that Fie = F and Pie is a subpath of P . By the set construction stage in construction phase i, x ∈ V (tail(Pie )) implies that x adds itself to Ri (e, ℓ). By Lemma 40 (if i = 1) and Lemma 54 (if i ≥ 2), and the fact that there are at most O(∆4 ) subphases in construction phase i, any edge e such that x adds itself to Ri (e, ℓ) must come from a set that is at most O(∆6 ) large. Hence any edge e such that x ∈ V (tail(Pie )) must come from a set that has O(∆6 ) elements. If x ∈ V (Fie ) \ V (tail(Pie )), there is at most one vertex in N [x] that can potentially construct F in a fixed subphase (c, r) of construction phase i (since ψ is a proper coloring of G2 and only vertices colored c construct a candidate chain in subphase (c, r)). Moreover, each vertex constructs at most one candidate chain per subphase. Hence there is only one candidate chain constructed in subphase (c, r) whose fan x is contained in. Since there are O(∆4 ) subphases in construction phase i, any edge such that x ∈ V (Fie ) must come from a set that is at most O(∆4 ) large. Hence, any edge e such that x ∈ V (Fie + Pie ) must come from a set that has O(∆6 ) elements. Hence we have that |Exi | ≤ O(∆6 ). ◀ The runtime of a relay phase now follows. ▶ Lemma 19. Each relay phase runs in O(∆6 ℓ) rounds in CONGEST. Proof. We analyze the runtime of a fixed relay phase i. Clearly, relay phase i runs in O(ℓ) rounds in LOCAL. Fix an edge f ∈ E(G). Any message that traverses f = vw during relay phase i is of the form (e, chosen = 1) or (e, x, y, α, β, chosen = 1) where e ∈ U , x, y ∈ V (G), α, β ∈ [∆ + 1]. Each such message can be encoded by O(log n) bits. Moreover, no such message passes through an edge twice. Hence it suffices to bound the number of messages of these forms that pass through f . Note a message of the form (e, chosen = 1) or (e, x, y, α, β, chosen = 1) passes through f only if f ∈ E(Fie + Pie ). This implies e ∈ Evi and i e ∈ Ew . Hence by Lemma 74, there are O(∆6 ) messages that pass through f in relay phase i. Hence relay phase i runs in O(∆6 ℓ) rounds in the CONGEST model. ◀

S. Brandt, A. Narayanan and A. Nolin

7.4

The Conflict Graph and Its Maximum Degree

Let C be the multi-graph where V (C) = {Ce | e ∈ U }. Two nodes Ce and Cf in C share an edge in C for each vertex of G at which Ce and Cf intersect; that is, if Ce and Cf intersect at k distinct vertices, then there are k parallel edges between Ce and Cf in C. We may refer to C as the conflict graph of the terminating Vizing chains. The maximum degree of C gives an upper bound on how many selected chains a single chain can conflict with, and it is the quantity that the independent set computation of Section 8 depends on. It follows from Lemma 74 together with the bound on the number of vertices of a selected chain. e of C is at most O(∆6 ℓ · log2 n). ▶ Lemma 75. The maximum degree ∆ Proof. Fix e ∈ U . By the definition of C, the edges of C incident to Ce are in bijection with the pairs (v, Cf ) such that v ∈ V (Ce ), Cf ̸= Ce and v ∈ V (Cf ). Counting these pairs by their first coordinate, the degree of Ce in C, taken with multiplicity, is X degC (Ce ) = |{Cf ̸= Ce | v ∈ V (Cf )}|. v∈V (Ce )

Consider any vertex v ∈ V (Ce ). By Lemma 74 applied to each of the T = O(log n) relay indices, at most O(∆6 log n) terminating multi-step Vizing chains pass through v, so each summand above is O(∆6 log n). Since the size of V (Ce ) is O(ℓ log n), the sum has O(ℓ log n) terms, and hence degC (Ce ) is at most O(∆6 ℓ · log2 n). ◀

8

Computing Independent Chains

While we constructed a set of terminating self-avoiding chains in previous sections, one for each uncolored edge e ∈ U , these chains are only self-avoiding in the sense that any given chain does not intersect itself. In contrast, chains associated with distinct uncolored edges e = O(∆6 ℓ · log2 n) might overlap. As shown in Lemma 75, each chain can overlap with up to ∆ other chains. While two chains that pass through the same vertices can sometimes be shifted simultaneously, this is often not the case. Consider, for instance two chains C and C ′ whose first bichromatic path chains respectively use edges colored (α, β) and (α, δ). If the bichromatic path chains overlap on an edge e colored α somewhere in the middle of both path chains, then shifting chain C involves recoloring e with color β, while shifting chain C ′ involves recoloring e with color δ. This means that not all chains in the set we computed can be shifted simultaneously. Our goal in this section is to extract a large set of chains that can be shifted simultaneously, which corresponds to finding a large independent set in the graph C. We show the following lemma. ▶ Lemma 21. There is an algorithm of complexity O(∆12 ℓ2 log2 n(log3 log n + log3 ∆)) that computes a subset I ⊆ U of size Ω( ∆6 ℓ|Ulog| 2 n ) of uncolored edges s.t. for any two edges e, f ∈ I, their chains Ce and Cf are independent. The size of the independent set we compute is a direct consequence of the maximum e ∈ O(∆6 ℓ · log2 n) of the graph C. A graph of |U | nodes with maximum degree ∆ e degree ∆ e We aim for a slightly necessarily contains an independent set of size at least |U |/(1 + ∆). e smaller set of size Ω(|U |/∆)

75

76

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

Notation Recall that U is the set of uncolored edges in the graph, for each e ∈ U , Ce is the self-avoiding terminating multi-step Vizing chain, C = (VC , EC ) is the chains’ conflict (multi-)graph. Its set of nodes consists of the chains of uncolored edges, VC = {Ce | e ∈ U }. For each vertex w ∈ V such that w ∈ V (Ce )∩V (Cf ), there exists an edge in C between Ce and Cf , two chains Ce , Cf are independent iff they do not overlap on any vertex, i.e., V (Ce ) ∩ V (Cf ) = ∅, meaning they are not connected in C. A set of chains is independent if any two pairs in the set are independent e = maxe∈E deg (Ce ) is an upper bound on the maximum Throughout the section ∆ C degree of C, with edges counted with multiplicity. That is, when two chains Ce and Cf overlap on k distinct vertices, there are k edges between Ce and Cf in C. In Section 8.1, we explain how adjacent chains in C can communicate with one another. More precisely, we give and analyze several communication primitives for the chains to execute. These include chains broadcasting information within themselves (Lemma 76, aggregating values within themselves (Lemma 77, and simulating message passing over the conflict graph (Lemma 79). In Section 8.2, we put these primitives to use to break symmetry over the conflict graph C, and prove Lemma 21.

8.1

Communicating over the Conflict Graph

A difficulty in our setting is that edges of C are not direct communication links unlike in CONGEST. Nodes in C cannot send a O(log n) message to each of their neighbors in a single round. In fact, nodes do not even have easy access to their incident edges. Our setting corresponds to that of embedded virtual graphs as defined in [20, Definitions 3 and 4]. An embedded virtual graph H = (VH , EH ) on a communication graph G = (VG , EG ) is a multi-graph s.t. 1. each virtual node v ∈ VH is mapped to a set of vertices V (v) ⊆ VG that is the support of v, 2. each vertex w ∈ VG of the communication graph knows the supports {v ∈ VH | w ∈ V (v)} it is a part of, 3. for each virtual node v ∈ VH , its support V (v) ⊆ VG contains a spanning tree T (v), called support tree, such that each vertex in the support V (v) knows which of its incident edges in G belong to T (v), 4. for each virtual edge e = uv ∈ EH , there is exactly one vertex w ∈ V (u) ∩ V (v) in the intersection of the two endpoints’ handling the edge e. That is, the virtual edges incident to a virtual node v ∈ VH are known distributedly by a subset of the vertices in v’s support V (v). Our graph C = (VC , EC ) is an embedded virtual graph over the original graph G = (VG , EG ). For each chain C ∈ VC , its support V (C) ⊆ VG is simply the set of vertices in the multi-step Vizing chain C. The multi-step Vizing chains are made of paths and fans, and are self-avoiding: this makes the union of all paths and fans of a chain C a natural support tree T (C) for C. We additionally root this tree at one of the endpoints of the edge e, which we denote re . Two chains Ce and Cf are adjacent in C if they overlap on some vertex: this vertex is part of the chains’ supports, and is in charge of handling that virtual edge in C.

S. Brandt, A. Narayanan and A. Nolin

From Lemma 74 we know that every vertex in the graph belongs to the ith step of at most O(∆6 ) distinct terminating chains. This implies the same bound for edges, that is, for any given edge of the graph G at most O(∆6 ) distinct terminating chains go through that edge. This bounds the congestion in the algorithms we present. The remainder of this section is devoted to describing and analyzing communication primitives for communicating over C. These communication primitives are used in the next section to compute a large independent set of chains. ▶ Lemma 76 (Broadcast within a chain). Let B ≥ log n be a positive integer. For each edge e ∈ U , let the root re of its support tree have a B-bit message Me . There is an algorithm of complexity O(∆6 ℓB) that delivers each message Me to all vertices in the chain Ce . Proof. The message delivery follows a similar pattern as the construction of the multi-step Vizing chains. Our chains are T -step Vizing chains of length ℓ with T = O(log n) and ℓ ∈ O(∆22 ). We perform T phases such that during phase i, the vertices in the ith fan Fi and path Pi of a chain Ce learn the message Me . Each phase runs in O(∆6 ℓB/ log n) rounds, so the overall process takes O(T · ∆6 ℓB/ log n) = O(∆6 ℓB) rounds. First, each message Me is tagged with a unique O(log n)-bit identifier: that of its edge e. This allows to easily distinguish the messages and know how to forward them in the graph. For each i ∈ [T ] and chain Ce , let Ti (Ce ) ⊆ T (Ce ) be the subtree of Ce ’s support tree that consists of the ith fan Fi and path Pi of Ce . During phase i, each vertex in G forwards each message Me it knows about to its uninformed neighbors in the subtrees Ti (Ce ) in an arbitrary greedy fashion. As a vertex w ∈ VG belongs to at most O(∆6 ) distinct ith-step subtrees (Lemma 74), it never has more than this many messages to send over an incident edge ww′ ∈ EG during a phase. As such, a message never takes more than O(∆6 B/ log n) rounds to cross an edge, and as each message has ℓ edges to cross, the runtime of each phase is O(∆6 ℓB/ log n). As each phase of broadcast is completed in O(∆6 ℓB/ log n) rounds, performing all T = O(log n) phases takes no more than O(∆6 ℓBT / log n) = O(∆6 ℓB) rounds. ◀ ▶ Lemma 77 (Aggregation within a chain). Let B ≥ log n be a positive integer and X a set L equipped with an associative and commutative operation . For each edge e ∈ U , suppose that each vertex w ∈ V (Ce ) in its chains’ support holds some value xw,e ∈ X . Suppose that L for any subset S ⊆ V (Ce ) of the vertices of a chain Ce , w∈S xw,e can be represented on B bits. There exists an O(∆6 ℓB)-round CONGEST algorithm that has the root re of the L support tree of each edge e ∈ U learn the value w∈V (Ce ) . Proof. This is implemented following the opposite communication pattern as broadcast. Perform a broadcast operation as in Lemma 76 where each message Me simply contains the identifier of the uncolored edge e ∈ U . Each vertex w in the support of Ce remembers tw,e ∈ O(∆6 ℓ log n), the round in which it received the message Me . Since broadcast is performed in trees, each vertex in V (Ce ) has exactly one neighbor w′ with a lower value tw′ ,e < tw,e , except the root which has none. Let tmax ∈ O(∆6 ℓ log n) be an upper bound on the maximum value of all tw,e s. Aggregation is performed in reverse order of the values tw,e . For each vertex w and uncolored edge e such that w is in the support of e’s chain, w has a variable Yw,e , initialized to Yw,e ← xw,e . Between rounds i · Θ(B/ log n) and (i + 1) · Θ(B/ log n), a vertex w with tw,e = tmax − i sends Yw,e to its neighbor w′ such that tw′ ,e = tw,e − 1 = tmax − (i + 1). Upon receiving a message Yw′ ,e from one of its neighbors, a vertex w updates its value Yw,e with it: Yw,e ← Yw,e ⊕ Yw′ ,e . At the end of the algorithm, the root re of Ce has learned L ◀ w∈V (Ce ) xw,e .

77

78

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

Lemmas 76 and 77 allow to perform operations of the form where each chain Ce broadcasts some value xe to all of its vertices, each vertex w where Ce intersects with another chain Cf computes some function ge (xe , xf ) on the values xe and xf it received from the two chains, and an aggregation of the values ge (xe , xf ) over Ce allows the chain to learn some information about its neighborhood. The next lemma is an application of this idea. ▶ Lemma 78 (Naming ports of a chain). There is an algorithm of complexity O(∆6 ℓ log n) for each chain Ce to count its degree degC (Ce ) in the multi-graph C, and give each vertex handling an edge in C a unique port number between 1 and degC (Ce ). Proof. Computation of the degree follows from the procedure for aggregation (Lemma 77): for each vertex w ∈ V (Ce ), let xw,e be the number of edges handled by w in C, i.e., the P number of chains other than Ce going through w. The sum w∈V (Ce ) xw,e of all the values xw,e within the chain Ce is exactly the degree of Ce in the multi-graph C. For port assignments, note that during the aggregation procedure, each vertex in Ce learns the number of edges handled by the subtrees rooted at each of its descendants in the support tree T (Ce ) rooted at re . Thus, if given an adequately sized interval [a, b] ⊆ [1, degC (Ce )] of ports to split between the subtrees rooted at its direct descendants, a vertex can split the interval such that each subtree receives an interval with exactly the number of edges handled within that subtree. The algorithm proceeds as follows: initially, the root builds a message with the interval [1, degC (Ce )] tagged with the identifier of e, all fitting on O(log n) bits. Then, for O(∆6 ℓ log n) rounds, each support tree performs a form of broadcast where upon receiving an interval [a, b] tagged with the edge e, a vertex w first takes the ports a to a + x − 1 for itself where x is the number of edges w handles for Ce . If w has k direct descendants in T (Ce ), it then partitions the remaining ports [a + x, b] into intervals [a1 , b1 ], . . . , [ak , bk ], such that for each i ∈ [k] the subtree rooted at the ith descendant of w in T (Ce ) handles a total of bi − ai + 1 edges in C for Ce . The procedure is as fast as a standard O(log n)-bit broadcast. ◀ The next lemma shows how to perform a round of CONGEST(B) on the graph C. ▶ Lemma 79 (Message passing in the conflict graph). Let B ≥ 1 be a positive integer. There is e for each chain Ce to send an individual B-bit message an algorithm of complexity O(∆6 ℓB ∆) to each of its neighbors in C. More precisely, the algorithm simulates a round of CONGEST(B): each chain Ce sends a B-bit message me,i to the chain Cf that it is connected to through port number i, and each chain can identify the messages it receives by the ports from which it received them. Proof. Consider that we previously ran Lemma 78 for each chain Ce to know its degree in the multigraph and have ports named 1 to degC (Ce ). The complexity of that procedure is e and only needs to be run once. much lower than our target complexity of O(∆6 ℓB ∆) Consider all the B-bit messages (me,i )i∈[degC (Ce )] that a chain Ce wants to send to its neighbors. The root re of Ce ’s support tree T (Ce ) crafts a (B · degC (Ce ))-bit message Me e rounds by Lemma 76. that it broadcasts to its support tree. This takes O(∆6 ℓ · B ∆) e e rounds by Next, each Ce performs the aggregation of a O(B ∆)-bit value, in O(∆6 ℓ · B ∆) e ∆ B Lemma 77. The values we aggregate are from the set X = ({0, 1} ∪ {⊥}) , and represent a e ∆-tuple of B-bit messages, with a special character ⊥ to denote the absence of a message. At a vertex w ∈ V (Ce ), that handles the edge of port i for Ce , the ith element in its tuple xw,e ∈ X is the message that w received from that edge. All other elements are set to L ⊥. The output (zi ) of a operation between two tuples (xi ) and (yi ) is simply to have zi = max(xi , yi ) for each i, where max(⊥, x) = x for any value x and an arbitrary order is

S. Brandt, A. Narayanan and A. Nolin

fixed for other values. After this aggregation, the root re knows about the message received by Ce on each port. ◀

8.2

Computing the Independent Set

To compute our (sufficiently large) independent set of C, we use an algorithm by Faour et al. [19] for computing independent sets in CONGEST, which we now recall. ▶ Theorem 80 (Lemma 4.8 in [19] (simplified)). Let G = (V, E) be an n-(multi-)graph of maximum degree ∆. Assume that G is equipped with a proper ζ-coloring. Then, there is a deterministic CONGEST(log ζ) algorithm to compute an independent set I of size at least n/(4∆) in O(log2 ∆ + log∗ ζ) rounds. The theorem is only stated for standard CONGEST in [19]. However, when looking at the details of its proof, its rounding step (see [19, Lemma 4.2 and Lemma 2.5]) uses messages of size O(log ζ). By starting from a ζ-coloring with ζ ∈ ∆O(1) , the algorithm only uses O(log ∆)-bit messages. That is, Θ(log n)-bit messages are only needed in the case where the maximum degree ∆ is of order nΘ(1) . e 2 )-coloring of C. To apply Theorem 80 on our multi-graph C, we first compute an O(∆ We do so using an adaptation of Linial’s classic algorithm to our setting, very similar to a recent adaptation by Barenboim and Goldenberg to the distance-2 setting [6]. ▶ Lemma 81 (Linial’s algorithm on C). There exists an O(∆6 ℓ log n(log ∆ + log log n))-round e 2 )-coloring of C. deterministic CONGEST algorithm for computing an O(∆ Proof. Recall the basic operation in Linial’s algorithm [29]: to go from a C-coloring to a C ′ -coloring where C ′ < C, the colors 1 . . . C are interpreted as sets S1 , . . . , SC ⊆ [C ′ ] such S∆ that for any color i ∈ [C] and colors j1 , . . . , j∆ ∈ [C] \ {i}, Si \ ( k=1 Sjk ) ̸= ∅. Such a family of sets is said to be ∆-cover free. Each node v updates its color cv ∈ [C] to a new color c′v ∈ [C ′ ] by taking its new color inside its set Scv , but outside all the sets Scu of all its neighbors. A classic construction for such cover-free families based on polynomials is one where the intersection |Si ∩ Si′ | of any two distinct sets Si , Si′ by some value d, while each set Si has size |Si | > ∆ · d. The key insight of [6] is to use the fact that with such a cover-free family, nodes no longer need full access to their neighbors’ sets: a node v can instead perform some S binary search to find an element c′v ∈ Scv \ u∈N (v) Scu . The search operates as follows: the node v learns whether its neighbors’ sets have more intersection in the first half or the second half of its set Scv . For one of the halves, it should be the case that it contains more elements than it has intersections with the sets of v’s neighbors. This allows to recurse within that half. Eventually, after at most log(Scv ) iterations, v should have found a subset of Scv that has no intersection with its neighbors’ sets. With some additional optimizations this yields a O(log ∆ + log∗ n) CONGEST algorithm for computing a distance-2 O(∆4 )-coloring. See [6] for more details. e 2 )-coloring of the graph C with the same techniques, using our We compute an O(∆ communication primitives for broadcast and aggregation (Lemmas 76 and 77) to perform the binary search. The broadcast primitive is used for the root re of the support tree of a chain Ce to inform the whole support of Ce of its current color, or to indicate in which half of a set of colors it is continuing with the binary search. The aggregation primitive is used to count the number of intersections between a chain’s set of potential colors and the colors that its neighbors could possibly take. This can be performed by aggregation as every vertex w handling an edge of Ce in C knows both the color of Ce and of the other endpoint

79

80

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

of the edge, allowing it to count the intersections of the sets associated with these colors. The aggregation simply consists of summing all the intersections detected by all the vertices handling an edge for the chain Ce . Each step of the binary search takes O(∆6 ℓ log n) rounds for doing both a broadcast and an aggregation by Lemmas 76 and 77. The sets in which the binary search is performed are of size poly(∆, log n), so the binary search finishes in O(log ∆ + log log n) iterations. e 2 ) is relatively large with respect to n (|log∗ n−log∗ (∆)| e ∈ As the target space of colors O(∆ Ω(1) e ∈ [log n, nO(1) ]), only a constant number of iterations of Linial’s color O(1) since ∆ reduction step are needed to reduce an original nO(1) -coloring based on the identifiers to the final coloring. This makes for a total round complexity of O(∆6 ℓ log n(log ∆ + log log n)). ◀ We now prove Lemma 21, which we restate for convenience. ▶ Lemma 21. There is an algorithm of complexity O(∆12 ℓ2 log2 n(log3 log n + log3 ∆)) that computes a subset I ⊆ U of size Ω( ∆6 ℓ|Ulog| 2 n ) of uncolored edges s.t. for any two edges e, f ∈ I, their chains Ce and Cf are independent. e ∈ O(∆6 ℓ·log2 n) = O(poly(∆) log2 n) (Lemma 75). First, we compute a Proof. Recall that ∆ e 2 ) = poly(∆, log n). Next, we ζ-coloring of the multi-graph C using Lemma 81, where ζ ∈ O(∆ use Lemma 79 to simulate the algorithm of Faour et al. on C. By Theorem 80, this algorithm e rounds of direct communication over C using O(log ∆)-bit e would take O(log2 ∆) messages, and 6 e it computes an independent set of size at least |U |/(2∆) ∈ Ω(|U |/(∆ ℓ log2 n)). By Lemma 79, e e log ∆) e rounds every round of O(log ∆)-bit message passing on C can be simulated in O(∆6 ℓ∆ e rounds. It remains to e log3 ∆) of CONGEST on G, so the whole simulation takes O(∆6 ℓ∆ e by its value. Since ℓ ∈ O(∆22 ), we have ∆ e ∈ O(∆6 ℓ log2 n) ⊆ O(∆28 log2 n) and replace ∆ 3 e e hence log ∆ ∈ O(log ∆ + log log n), so that log ∆ ∈ O(log3 ∆ + log3 log n). Therefore e log3 ∆) e = O ∆12 ℓ2 log2 n log3 log n + log3 ∆ O(∆6 ℓ∆ rounds suffice, which is the claimed bound.

 ◀

AI Disclosure We used ChatGPT-5.5 and Claude Opus 4.8 to assist with polishing grammar and phrasing throughout Sections 4–8. The authors verified the correctness and originality of all content. References 1

2

3

4

Sepehr Assadi. Faster Vizing and near-Vizing edge coloring algorithms. In Proceedings of the 2025 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 4861–4898. SIAM, 2025. Sepehr Assadi, Soheil Behnezhad, Sayan Bhattacharya, Martín Costa, Shay Solomon, and Tianyi Zhang. Vizing’s theorem in near-linear time. In Proceedings of the 57th Annual ACM Symposium on Theory of Computing, pages 24–35, 2025. Sepehr Assadi, Soheil Behnezhad, Sayan Bhattacharya, Martín Costa, Shay Solomon, and Tianyi Zhang. Vizing’s theorem in deterministic almost-linear time. In Proceedings of the 2026 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 5558–5585. SIAM, 2026. Alkida Balliu, Sebastian Brandt, Fabian Kuhn, and Dennis Olivetti. Distributed edge coloring in time polylogarithmic in ∆. In Proceedings of the 2022 ACM Symposium on Principles of Distributed Computing, pages 15–25, 2022.

S. Brandt, A. Narayanan and A. Nolin

5

6

7 8

9

10

11

12 13

14

15

16 17

18

19

20

Leonid Barenboim, Michael Elkin, and Uri Goldenberg. Locally-iterative distributed (∆ + 1)coloring below Szegedy-Vishwanathan barrier, and applications to self-stabilization and to restricted-bandwidth models. In Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing, pages 437–446, 2018. Leonid Barenboim and Uri Goldenberg. Speedup of distributed algorithms for power graphs in the CONGEST model. In Dan Alistarh, editor, 38th International Symposium on Distributed Computing, DISC 2024, Madrid, Spain, October 28 - November 1, 2024, volume 319 of LIPIcs, pages 6:1–6:23. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2024. URL: https://doi.org/10.4230/LIPIcs.DISC.2024.6, doi:10.4230/LIPICS.DISC.2024.6. Anton Bernshteyn. A fast distributed algorithm for (∆ + 1)-edge-coloring. Journal of Combinatorial Theory, Series B, 152:319–352, 2022. Anton Bernshteyn and Abhishek Dhawan. Fast algorithms for Vizing’s theorem on bounded degree graphs. J. Comb. Theory B, 175:69–125, 2025. URL: https://doi.org/10.1016/j. jctb.2025.07.002, doi:10.1016/J.JCTB.2025.07.002. Sayan Bhattacharya, Din Carmon, Martín Costa, Shay Solomon, and Tianyi Zhang. Faster √ (∆ + 1)-edge coloring: Breaking the m n time barrier. In 2024 IEEE 65th Annual Symposium on Foundations of Computer Science (FOCS), pages 2186–2201. IEEE, 2024. Sayan Bhattacharya, Martín Costa, Nadav Panski, and Shay Solomon. Nibbling at long cycles: Dynamic (and static) edge coloring in optimal time. In Proceedings of the 2024 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 3393–3440. SIAM, 2024. Sayan Bhattacharya, Martín Costa, Shay Solomon, and Tianyi Zhang. Even faster (∆ + 1)-edge coloring via shorter multi-step Vizing chains. In Proceedings of the 2025 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 4914–4947. SIAM, 2025. Joakim Blikstad, Yannic Maus, and Tijn de Vos. Deterministic edge coloring with few colors in CONGEST. arXiv preprint arXiv:2603.02689, 2026. Sebastian Brandt, Yannic Maus, Ananth Narayanan, Florian Schager, and Jara Uitto. On the locality of Hall’s theorem. In Proceedings of the 2025 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 4198–4226. SIAM, 2025. Yi-Jun Chang, Qizheng He, Wenzheng Li, Seth Pettie, and Jara Uitto. Distributed edge coloring and a special case of the constructive Lovász local lemma. ACM Transactions on Algorithms (TALG), 16(1):1–51, 2019. Aleksander BG Christiansen. Deterministic dynamic edge colouring. In Proceedings of the 2026 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 1047–1096. SIAM, 2026. Aleksander Bjørn Grodt Christiansen. The power of multi-step Vizing chains. In Proceedings of the 55th Annual ACM Symposium on Theory of Computing, pages 1013–1026, 2023. Peter Davies. Improved distributed algorithms for the Lovász local lemma and edge coloring. In Proceedings of the 2023 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 4273–4295. SIAM, 2023. Michael Elkin, Seth Pettie, and Hsin-Hao Su. (2∆ - l)-edge-coloring is much easier than maximal matching in the distributed setting. In Piotr Indyk, editor, Proceedings of the TwentySixth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2015, San Diego, CA, USA, January 4-6, 2015, pages 355–370. SIAM, 2015. doi:10.1137/1.9781611973730.26. Salwa Faour, Mohsen Ghaffari, Christoph Grunau, Fabian Kuhn, and Václav Rozhon. Local distributed rounding: Generalized to MIS, matching, set cover, and beyond. ACM Trans. Algorithms, 21(4):42:1–42:48, 2025. doi:10.1145/3742476. Maxime Flin, Magnús M. Halldórsson, and Alexandre Nolin. Decentralized distributed graph coloring II: degree+1-coloring virtual graphs. In Dan Alistarh, editor, 38th International Symposium on Distributed Computing, DISC 2024, Madrid, Spain, October 28 - November 1, 2024, volume 319 of LIPIcs, pages 24:1–24:22. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2024. URL: https://doi.org/10.4230/LIPIcs.DISC.2024.24, doi:10.4230/ LIPICS.DISC.2024.24.

81

82

A Fast Deterministic Algorithm for (∆ + 1)-Edge Coloring in CONGEST

21

22

23

24

25 26

27 28

29 30

31 32 33

Mohsen Ghaffari and Christoph Grunau. Near-optimal deterministic network decomposition and ruling set, and improved MIS. In 65th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2024, Chicago, IL, USA, October 27-30, 2024, pages 2148–2179. IEEE, 2024. doi:10.1109/FOCS61266.2024.00007. Mohsen Ghaffari, David G. Harris, and Fabian Kuhn. On derandomizing local distributed algorithms. In 59th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2018, Paris, France, October 7-9, 2018, pages 662–673. IEEE Computer Society, 2018. doi: 10.1109/FOCS.2018.00069. Mohsen Ghaffari and Fabian Kuhn. Deterministic distributed vertex coloring: Simpler, faster, and without network decomposition. In 62nd IEEE Annual Symposium on Foundations of Computer Science, FOCS 2021, Denver, CO, USA, February 7-10, 2022, pages 1009–1020. IEEE, 2021. doi:10.1109/FOCS52979.2021.00101. Andrew Goldberg, Serge Plotkin, and Gregory Shannon. Parallel symmetry-breaking in sparse graphs. In Proceedings of the nineteenth annual ACM symposium on Theory of computing, pages 315–324, 1987. Jan Grebík and Oleg Pikhurko. Measurable versions of Vizing’s theorem. Advances in Mathematics, 374:107378, 2020. Magnús M. Halldórsson, Yannic Maus, and Alexandre Nolin. Fast distributed vertex splitting with applications. In 36th International Symposium on Distributed Computing, DISC 2022, Augusta, Georgia, USA, October 25-27, 2022, LIPIcs, pages 26:1–26:24. Schloss Dagstuhl Leibniz-Zentrum für Informatik, 2022. URL: https://doi.org/10.4230/LIPIcs.DISC.2022. 26, doi:10.4230/LIPICS.DISC.2022.26. Magnús M Halldórsson and Alexandre Nolin. Superfast coloring in CONGEST via efficient color sampling. Theoretical Computer Science, 948:113711, 2023. Manuel Jakob, Yannic Maus, and Florian Schager. Towards optimal distributed edge coloring with fewer colors. In Dariusz R. Kowalski, editor, 39th International Symposium on Distributed Computing, DISC 2025, Berlin, Germany, October 27-31, 2025, LIPIcs, pages 37:1–37:26. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2025. URL: https://doi.org/10.4230/ LIPIcs.DISC.2025.37, doi:10.4230/LIPICS.DISC.2025.37. Nathan Linial. Distributive graph algorithms global solutions from local data. In 28th Annual Symposium on Foundations of Computer Science (FOCS), pages 331–335. IEEE, 1987. Yannic Maus, Alexandre Nolin, and Florian Schager. Fast deterministic distributed degree splitting. In 40th International Symposium on Distributed Computing, DISC 2026, Rome, Italy, November 9-13, 2026, LIPIcs. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2026. Alessandro Panconesi and Romeo Rizzi. Some simple distributed algorithms for sparse networks. Distributed computing, 14(2):97–100, 2001. David Peleg. Distributed computing: a locality-sensitive approach. SIAM, 2000. V. G. Vizing. On an estimate of the chromatic class of a p-graph. Diskret analiz, 3:25–30, 1964.

Related documents

Record · ID 467095 · SHA-256 d88651448f81c32d
Retrieved via Conceptio: every document is proof-bundled with source, license, and retrieval metadata.
Bring this data into your agent: Connect via MCP or API · 20 free credits to start · no card required
Read the Docs → · View CLI source on GitHub · Conceptio Open Knowledge Archive