Citation

## Material Information

Title:
Computational methods for graph choosability and applications to list coloring problems
Creator:
Nelsen, Luke L.
Place of Publication:
Denver, CO
Publisher:
Publication Date:
Language:
English

## Thesis/Dissertation Information

Degree:
Doctorate ( Doctor of philosophy)
Degree Grantor:
Degree Divisions:
Department of Mathematical and Statistical Sciences, CU Denver
Degree Disciplines:
Applied mathematics
Committee Chair:
Ferrara, Michael
Committee Members:
Hartke, Stephen
DeBiasio, Louis
Jacobson, Michael
Pfender, Florian

## Record Information

Source Institution:
Holding Location:
Auraria Library
Rights Management:
Copyright Luke L Nelsen. Permission granted to University of Colorado Denver to digitize and display this item for non-profit research and educational purposes. Any reuse of this item in excess of fair use or other copyright exemptions requires permission of the copyright holder.

Full Text
COMPUTATIONAL METHODS FOR GRAPH CHOOSABILITY AND APPLICATIONS
TO LIST COLORING PROBLEMS by
LUKE L. NELSEN
B.S., Indiana Wesleyan University, 2012 M.A., Miami University, 2014
A thesis submitted to the Faculty of the Graduate School of the University of Colorado in partial fulfillment of the requirements for the degree of Doctor of Philosophy Applied Mathematics Program
2019

This thesis for the Doctor of Philosophy degree by Luke L. Nelsen has been approved for the Applied Mathematics Program by
Michael Ferrara, Chair Stephen Hartke, Advisor Louis DeBiasio Michael Jacobson Florian Pfender
Date: August 3, 2019

Nelsen, Luke L. (Ph.D., Applied Mathematics)
Computational Methods for Graph Choosability and Applications to List Coloring Problems
Thesis directed by Associate Professor Stephen Hartke
ABSTRACT
A subcubic planar graph is a graph such that every vertex has degree at most 3 and which can be drawn in the plane without any edge crossings. The square of a graph G is the graph obtained from G by adding edges between pairs of vertices which have distance 2 in G. Wegner (1977) conjectured that the square of any subcubic planar graph has chromatic number at most 7, and Cranston and Kim (2008) asked if this conjecture could be extended to list coloring. We prove this stronger result, that the square of any subcubic planar graph has list chromatic number at most 7.
Our proof of the above result uses the discharging method and shows the /-choosability of many reducible configurations. A graph G is /-choosable for a function / : V(G) â€”> N if G admits an L-coloring for every list assignment L with the property \L(v)\ > f(v) for each v G V(G). However, /-choosability is a n^-complete problem, which is higher than NP-complete in the polynomial complexity hierarchy. Therefore, using computational methods to show /-choosability is a challenge. To successfully show /-choosability in our list coloring result, we develop and apply new methods, including the Combinatorial Nullstellensatz. Since showing /-choosability is applicable to proof techniques in a variety of graph coloring problems, our programâ€™s practicality is of independent interest.
The form and content of this abstract are approved. I recommend its publication.
Approved: Stephen Hartke
IV

To my Lord and Savior Jesus Christ, who proves himself to me time and time again.
v

ACKNOWLEDGEMENTS
I am grateful to Stephen Hartke for many reasons. Not only have our projects been interesting to think about and exciting to complete, but he also modeled other important values of being a mathematician. I appreciate all his advice on career matters beyond the Ph.D., and his understanding during my difficult times helped me to not give up.
I would also like to extend my gratitude to the rest of my advisory committee for their efforts in guiding me through the program: Michael Ferrara, Louis DeBiasio, Michael Jacobson, and Florian Pfender. In addition to his support on my committee, I thank Michael Ferrara for always taking the time to give the best advice he can in all the matters that arise for a graduate studentâ€™s experience. I also thank Louis DeBiasio for introducing me to graph theory and starting me on a successful path to a doctorate degree in my first and very formative years as a graduate student.
I am grateful also to the Department of Mathematical and Statistical Sciences at the University of Colorado Denver for the financial support of the graduate assistantship. I appreciate all the faculty, staff, and peers who made the department a positive place to work for five years. In particular, Nathan Graber, Eric Sullivan, and Cat Graber deserve thanks for their endless patience while sharing an office with me.
Thank you also to my parents, whose encouragement and support allowed me to pursue academics full-time from an early age.
Most of all, I am indebted to my wife Lauren. As a mathematician, she is outstanding. As a person, she is inspiring. As my dearest friend, she gives me the strength to keep going. She is the reason I made it here.
vi

CHAPTER
I. INTRODUCTION........................................................... 1
II. BACKGROUND............................................................. 7
2.1 Background: The Discharging Method............................. 7
2.2 Background: List Coloring..................................... 10
2.3 Other Graph Coloring Results Using Computational Methods ... 13
III. COMPUTING F-CHOOSABILITY........................................... 15
3.1 Introduction ................................................. 15
3.2 Tools for Determining /-Choosability.......................... 16
3.2.1 Degeneracy and Greediness .............................. 16
3.2.2 The Combinatorial Nullstellensatz....................... 18
3.2.3 Searching All List Assignments.......................... 22
3.2.4 Other Tools for /-Choosability ......................... 26
3.3 A New Tool for Determining /-Choosability..................... 27
3.3.1 Preprocessing........................................... 27
3.3.2 Vetting the Colorability Classes........................ 30
3.3.3 Pruning during the Backtrack-and-Search ............... 33
3.3.4 Ordering the Colorability Classes and Vertices.......... 35
3.4 Applying the Combinatorial Nullstellensatz.................... 37
3.5 Example Applications.......................................... 40
3.5.1 Small Non-Chromatic-Choosable Graphs.................... 40
3.5.2 List Coloring Conjecture for Cubic Graphs............... 41
3.5.3 Non-4-Choosability of Planar Graphs..................... 42
3.6 Concluding Remarks............................................ 44
IV. SUBCUBIC PLANAR GRAPHS ARE 7-SQUARE-CHOOSABLE........................ 48
4.1 Introduction ................................................. 48
vii

4.2 Properties of a Minimal Counterexample........................ 51
4.3 What It Means for a Configuration To Be Reducible............. 52
4.4 Showing Reducibility.......................................... 55
4.5 Generating Realizations for Configurations.................... 60
4.6 Discussion of the Target Set.................................. 67
4.7 Discharging................................................... 68
4.8 Concluding Remarks............................................ 80
REFERENCES.................................................................. 84
APPENDIX
A. Source Code for choosability .py................................... 88
B. Source Code for Lemma 4.17.......................................... 108
C. Source Code for Lemma 4.25.......................................... Ill
D. Source Code for Lemma 4.33.......................................... 113
E. Source Code for Lemma 4.34.......................................... 125
F. Source Code for checking_realizations.py........................... 129
G. Discussion of Code Implementation for Chapter IV................... 150
H. Reducible Configurations for Theorem 4.9........................... 157
viii

LIST OF TABLES
TABLE
3.1 Connected Non-Chromatic-Choosable Graphs for Each Order up to 8 ... . 40
3.2 Cubic Graphs for Each Even Order up to 16............................ 42
3.3 Plane Triangulations with Minimum Degree at Least 4 for Each Order up to 24 43
4.1 Description of Appendices............................................ 50
4.2 The 76 reducible configurations used to prove Theorem 4.9. Each configu-
ration is hyperlinked to a corresponding entry in the Appendix with more details......................................................... 61
4.3 Descriptions of Equivalent Configurations ................................. 68
4.4 The Discharging Rules................................................ 69
4.5 Possible Sublists of Small Faces around a Central Face............... 75
4.6 Blocks of Small Faces around a Central (15+)-Face, with Charge Bounds . . 76
4.7 Summary of Cases Lemma 4.34.......................................... 80
IX

LIST OF FIGURES
FIGURE
3.1 An Example: The Paw Graph.................................................... 17
3.2 An Example: K%y3 with Small /-Values......................................... 20
4.1 A Subcubic Planar Graph Which is Not 6-Square-Colorable...................... 49
4.2 Examples of Configurations Contained in a Subcubic Plane Graph............... 53
4.3 Examples of How the Configuration 8:48485458 Might Be Contained in a
Graph in Different Ways...................................................... 54
4.4 Three Different Realizations of 3:45 with the Same Core Subgraph ............ 56
4.5 A Realization of 3:57 with Stems of Different Degrees........................ 57
4.6 Two Realizations of 3:57, One of Which Has Close Stems....................... 58
4.7 A General Illustration of Lemma 4.17......................................... 59
4.8 Specific Illustrations of Lemma 4.17 60
4.9 Obtaining the Natural Core Subgraph for the Configuration 535 ............... 62
4.10 Obtaining Another Core Subgraph from the Natural Core Subgraph for the
Configuration 8:4* 5 *4* 4................................................... 63
4.11 Examples Showing that the Conditions in Observation 4.23 Are Necessary . 65
4.12 Example of Pulling Charge by Counting Multiplicity........................... 70
4.13 The Layout of Faces Considered in Lemma 4.30................................. 73
4.14 The Layout of Faces Considered in Case 3 of Lemma 4.30....................... 74
4.15 The Two Realizations of the Configuration 7:4*5*5 Which Are Not Core-
Choosable.................................................................... 79
4.16 The Face Labeling Used in Lemma 4.34, and an Illustration of a Specific Case 79
x

CHAPTER I
INTRODUCTION
There are two main results of this dissertation. First, we develop a practical method for determining the /-choosability of a concrete graph, along with an implementation programmed in Sage. Second, we prove the list coloring generalization of the subcubic case of Wegnerâ€™s Conjecture. Both of these results are contributions to the held of graph theory. In this introductory chapter, we contextualize these two results and then conclude with a brief description of the remaining contents.
A graph (or simple graph) is a nonempty set of vertices V together with a set E of pairs of vertices (edges). Graphs are useful combinatorial objects for modeling networks and other settings in which a set of objects has pairwise relationships. The held of graph theory, which studies these objects and their properties, is diverse in its questions and methods. Some of these proofs incorporate computational methods, as demonstrated by one of the most famous problems in graph theory: the Four Color Theorem.
The Four Color Theorem is, as the name suggests, a result regarding coloring graphs.
A proper coloring of a graph G is an assignment of colors to the vertices of G such that no edge of G is monochromatic. If there exists a proper coloring of G which uses a total of k colors, then we say that G is k-colorable. The chromatic number of a graph G is the minimum number of colors k such that G is fc-colorable. Determining tight bounds on the chromatic number over classes of graphs is the focus of graph coloring problems. An example of such a class of graphs is the set of planar graphsâ€”graphs which can be drawn in the plane without any edges intersecting outside of vertex points. The Four Color Theorem states that every planar graph is 4-colorable.
All existing proofs of the Four Color Theorem (see [6, 8, 7, 29, 49, 52]) use reducibility and discharging (colloquially referred to as the discharging method) and use computation to check numerous reducible configurations. Made especially well known by the Four Color Theoremâ€™s proof, these methods have been adopted to other coloring problems. As with
1

the Four Color Theorem, some of these proofs also utilize computation for verifying reducible configurations or discharging rules.
Verifying that a configuration is reducible is a matter of demonstrating that any precoloring from outside the configuration can be extended to the configuration itself. One direct method for doing so (appropriately called precoloring extension) is to generate all possible precolorings on the boundary outside the configuration and for each boundary precoloring find a compatible coloring on the configuration.
Another method is to appeal to a generalization of coloring called list coloring. For a function L which maps vertices to lists of colors, we say that a graph admits an L-coloring if there is a proper coloring c such that c(v) E L(v) for each vertex v. A graph G is f-choosable for a function / : V(G) â€”> N if G admits an L-coloring for every list assignment L with the property \L(v)\ > f(v) for each v E V(G). By counting for each vertex in a configuration the constraints that an arbitrary precoloring might impose on the vertex, a list size function / can be obtained from the problem in question. If the configuration is /-choosable for this function /, then any precoloring can be extended.
Using the /-choosable method has the additional benefit of applying to configurations for list coloring results. If a configuration is /-choosable for the / obtained for a coloring statement, then the same extension argument shows that the configuration is reducible in the list version of the coloring statement. Unlike the coloring statement appealing to a more complex coloring variation, a list coloring statement can use the /-choosable method of showing reducibility.
However, /-choosability is a computationally complex problem. Graph coloring is an NP-complete problem (see [42]), which means that there is no polynomial time algorithm unless P = NP. On the other hand, determining if a graph is /-choosable is n^-complete (see [26]), which is is strictly more difficult than NP-complete unless the entire polynomial hierarchy above P collapses into NP. At first glance, it is not necessarily clear that /-choosability is even a finite problem at all. To appreciate the complexity of the
2

/-choosability problem, consider what the definition of â€œ/-choosableâ€ requires: showing the existence of an L-coloring for any list assignment L satisfying the list size condition. Hence showing /-choosability requires solving very many distinct graph coloring problems. Therefore, using computational methods to show /-choosability is a challenge, since the task to be completed grows very fast with the size of the graph and the values of /.
There are several tools for showing /-choosability of graphs, but some are better suited for abstract applications to classes of graphs with specified structure. When targeting concrete graphs to hopefully become reducible configurations, the structure of these graphs and the list size functions needed for the problem might not fall into these categories. Additionally, most tools for showing /-choosability provide only sufficient conditions and offer no further insight if the graph and list size function in question do not satisfy the conditions.
First Result. We develop and implement a practical tool for determining f-choosability. This tool (i) always definitively provides an answer of â€œyesâ€ or â€œnoâ€, and (ii) executes within a reasonable amount of time for graphs which arise in practice.
To successfully employ computation for showing /-choosability in graph coloring problems, we develop and apply new computational methods. By using insights about list assignments and connected subgraphs, and by applying the Combinatorial Nullstellensatz not only to the entire graph but also to every connected subgraph of the original graph, we are able to greatly prune the search space. However, applying the Combinatorial Nullstellensatz requires searching over monomials whose variable powers majorize a fixed list to fold a monomial with nonzero coefficients. So applying the Combinatorial Nullstellensatz itself potentially requires searching an exponential number of objects. By finding a way to effectively apply the Combinatorial Nullstellensatz in situations which result in large search spaces, we are able to use our observations to show /-choosability for many graphs in a tractable time frame.
Because of the relevance of /-choosability, our methods are of independent interest. We
3

also use this tool to obtain the other major result of this dissertation, the list version of Wegnerâ€™s Conjecture.
Second Result. We prove that the square of every subcubic planar graph has list chromatic number at most 7. This bound is sharp.
A graph is subcubic if every vertex has degree at most 3. The square of a graph G is the graph obtained from G by adding edges between pairs of vertices which have distance 2 in G. In 1977, Wegner [61] conjectured that the square of any subcubic planar graph has chromatic number at most 7. After several decades, this conjecture was proved independently by Thomassen [58] and by Hartke, Jahanbekam, and Thomas [33]. In 2008, Cranston and Kim [19] proved that the square of every subcubic non-Petersen graph is 8-choosable and asked if Wegnerâ€™s Conjecture can be extended to list coloring.
Although the list analog of Wegnerâ€™s Conjecture is a natural question, it is a difficult one. There has been recent work bounding the list chromatic number of squares of subcubic planar graphs which also have girth conditions, but no papers concerning this topic pose the unrestricted list version of the statement as a conjecture. A proof of the statement brings some challenges. With list coloring, standard coloring arguments which show that a minimal counterexample is 2- or 3-connected do not apply since colors assigned to vertices cannot simply be permuted. Additionally, configurations in the standard coloring setting are sometimes shown to be reducible by precoloring extension with the assistance of placeholder structures (called reducers). These structures constrain the possible precolorings on the boundary of the configuration. However, such structures have no effect on the constraints imposed by arbitrary precolorings when using the /-choosable method in the list coloring setting.
One might look to the two proofs of Wegnerâ€™s Conjecture to see if they can be adapted to the list version. The proof of Hartke, Jahanbekam, and Thomas [33] uses the discharging method and uses precoloring extension to verify the reducibility of 31 configurations. Some of these configurations require reducers, which means they cannot be
4

shown to be reducible in the list setting. Hence even if the remaining configurations can be shown to be /-choosable for the appropriate /, there will need to be many more reducible configurations to compensate for the others. Due to the tendency of reducible configurations to be as small as possible while maintaining reducibility, these new configurations would be larger than the ones they replace. In the list setting, finding and showing these configurations to be reducible is significantly more difficult.
On the other hand, the proof of Thomassen [58] does not use the discharging method. Instead, the method relies on decomposing a cubic planar graph into two subgraphs. The decomposition guarantees that one of the subgraphs is (almost) 3-colorable in the square of the original graph. The other subgraph is guaranteed to be (almost) planar in the square and thus is (almost) 4-colorable in the square. Then, more arguments help attain a proper 7-coloring in the square. However, the proof for the decomposition relies on permuting colors and on connectedness conditions, which are not available in the list setting. In the event that the argument could be patched with the removal of these components from an already tedious decomposition proof containing 24 terminal subcases, the result would not necessarily be tractable for human writing or reading.1
Despite the challenges of this problem, we answer the question in the affirmative by proving that the square of any subcubic planar graph is 7-choosable. Our proof uses the discharging method and shows the /-choosability of many reducible configurations using our program.
In Chapter II, we discuss more about the discharging method, list coloring, and graph coloring results using computation. In Chapter III, we describe some existing tools for determining /-choosability. We then discuss our algorithm for determining /-choosability and demonstrate our program with a few applications. Having developed our program, in Chapter IV we present our proof that all subcubic planar graphs are 7-square-choosable.
We also include several Appendices to supplement the Chapters. In addition to the
1 However, Thomassen made a decomposition conjecture which, if true, would be a significant step toward proving the list version of Wegnerâ€™s Conjecture.
5

commented source code for all related programs, we also include a table with details for all the reducible configurations for Theorem 4.9. We also include discussion of our practical implementation for some of the mathematical observations in Chapter IV.
For standard graph theory notation or terminology used in this dissertation not explicitly defined, we follow that of West [62],
6

CHAPTER II
BACKGROUND
2.1 Background: The Discharging Method
We provide a description of the discharging method using the Four Color Theorem as an illustration. Consider the following sketch of a proof of the Four Color Theorem: Suppose toward contradiction that not all planar graphs are four colorable (that is, have chromatic number at most four). If this is the case, then of all those counterexamples which are planar yet not four colorable, let G be one which is minimal with respect to subgraphs. That is, no proper subgraph of G is a counterexample. If we can prove the nonexistence of G, then this would imply that there are in fact no counterexamples at all, allowing us to conclude that the theorem is true.
We show that there is a set U of subgraphs which a minimal counterexample G cannot contain because they extend four colorings. If G contains such a subgraph U, then by the minimality of G we know that G â€” U is four colorable and thus that G is actually four colorableâ€”and therefore G is not a counterexample. We also show that G must contain some subgraph from U due to structural propertiesâ€”and therefore G cannot exist.
Such an approach, developed by mathematicians such as Birkhoff [10] and Heesch [36, 37], was ultimately the strategy used by Appel, Haken and Koch [6, 8] in the 1970s to prove the Four Color Theorem. Their proof, as sketched above, is an example of the discharging method. As it is an incredibly involved and tedious one1, the details of their proof do not serve as a particularly illuminating introduction to the discharging method. However, the outline of the Four Color Theoremâ€™s proof illustrates the general idea of reducibility and discharging quite well:
Let G be a minimal counterexample to the claim.
1. (Reducibility) Determine a set U of reducible configurationsâ€”substructures shown to not be contained by G due to its minimality.
1The revised publication [7] is 741 pages including the lists of reducible configurations and class check lists.
7

2. (Discharging) Show that U is a collection of unavoidable configurationsâ€”that in fact G must contain some element of U.
Considering a minimal counterexample (rather than any arbitrary counterexample) leverages information that we may not have otherwise had at our disposal. Taking the Four Color Theorem as an example, we immediately see that any proper subgraph of G must be four colorable. In this sense, G must itself be very close to being four colorable. For example, we can observe that every vertex of G must have degree at least four: otherwise, a vertex with three or fewer neighbors could be deleted from G, resulting in a four coloring of the smaller graph. But then the deleted vertex can be put back into the graph, and the four coloring can be properly extended to include the vertex. So a vertex with degree three or less is a reducible configuration, as its presence shows that G cannot be a minimal counterexample. Observations such as this show that the minimality of G can be valuable in obtaining reducible configurations. Showing such configurations are reducible is the â€œDeducibilityâ€ portion of the discharging method.
As demonstrated by the low-degree vertex above, the minimality of our purported counterexample G often helps us find reducible configurations which are local in nature. However, concluding that G can nowhere contain any such configuration is a global statement about the graph. For example, knowing that a low-degree vertex is a reducible configuration allows us to conclude globally that the minimum degree of G is at least four. If one could prove that planar graphs cannot have minimum degree at least four2, then a low-degree vertex would be an unavoidable configuration and we would have proved the Four Color Theorem. In general, the discharging method shows that reducible configurations are unavoidable by doing the following:
1. Assign charges (real numbers) to objects in G in a way that guarantees a certain fixed total charge. When working with planar graphs, it is typical to apply Eulerâ€™s Formula to determine the fixed total charge. For example, by assigning a charge of 2 Hypothetically, since planar graphs can have minimum degree at least 4.
8

deg(u) â€” 6 to each vertex v and a charge of 2Â£(f) â€” 6 to each face / in a connected planar graph, the total charge is â€”12.
2. Apply a set of rules to the graph so that the charged objects give or take charge from each other (preserving the total charge). In the context of the Four Color Theorem, such rules would give positive charges from vertices of degree greater than six (â€œlargeâ€ vertices) or from faces of length greater than three (â€™â€™largeâ€ faces) to vertices of degree less than six (â€œsmallâ€ vertices).
3. After applying the rules, observe that the absence of configurations from U implies that the current total charge on the graph is different than what we had to begin withâ€”a contradiction. Again regarding our example, we conclude that having no configurations from U means that every vertex and face has charge at least zero, and thus that the total charge is nonnegative.
And so it must be the case that the set U is unavoidable. Developing appropriate rules for this process is the â€œDischargingâ€ portion of the discharging method.
As Appel and Haken discuss in [6], the discharging proof for the Four Color Theorem has a long history of refining the set of reducible configurations, of refining the discharging argument for the unavoidable configurations, and the interplay between these two parts of the argument. This refinement is often necessary when developing discharging proofs, and one sometimes finds that the set of reducible configurations grows in the process. In the case of Appel, Haken, and Kochâ€™s proof of the Four Color Theorem [8], the set of reducible configurations numbered 1482 and needed computational techniques to analyze.3 When Robertson, Sanders, Seymour, and Thomas [49] developed a more streamlined proof of the Four Color Theorem in 1995, they still had a set of 633 reducible configurations which needed to be verified by computer. Steinberger [52] presented a proof using a set of 2822 reducible configurations which included only the â€œmost basic type of reducible configurationâ€ and in doing so exchanged more computer time for simplicity of the
3 Originally, the set they checked contained 1936 members, but were able to to reduce the size down to 1834 and subsequently 1482 without losing unavoidability by the time of publication.
9

reducibility verification.
Despite initial hesitation to accept Appel and Hakenâ€™s proof of the Four Color Theoremâ€”especially prior to their follow-up publication [7]â€”their work has since become regarded as a valid mathematical proof, even with the necessary computer-checked portion. Gonthier [29] has gone as far as giving a formal program proof of the Four Color Theorem by verifying Robertson, Sanders, Seymour, and Thomasâ€™s proof with the Coq Proof Assistant.
For a more thorough introduction to the discharging method, we refer the reader to
[20]. For surveys on discharging results, we refer the reader to [14, 38].
2.2 Background: List Coloring
The chromatic number of a graph is the minimum k such that each vertex v can be assigned a color c(v) from the list {1,..., k} to obtain a proper coloring. In this sense, each vertex has a choice from a list of colorsâ€”and each vertex can choose from the same list,
{1,..., k}. This notion of coloring can be generalized by allowing the vertices to choose from different lists. Let L be a function which maps vertices to lists of size k. Is there a proper coloring c such that c(v) E L(v) for each vertex vl When vertices represent committees and edges represent two committees having a common member, this question is a formulation of a scheduling problem. Given each committeeâ€™s list of available meeting times, can meeting times be assigned to each committee such that no committee member is double-booked? The list chromatic number concerns itself with the following version of the scheduling problem: what is the smallest number k such that if each committee gives at least k available meeting times, then meeting times can be assigned to each committee such that no committee member is double-booked?
We say that a graph admits an L-coloring for a list assignment L if there is a proper coloring c such that c(v) E L(v) for each vertex v. (For a specified L, we call such a coloring admissible.) We say that a graph is k-choosable if it admits an L-coloring for every list assignment L with the property \L(v)\ > k for each vertex v. The list chromatic number
10

of a graph is the least k such that the graph is fc-choosable. Whereas the chromatic number of a graph G is denoted by x(G), the list chromatic number is denoted by xr(G). Finally, we say that a graph is /-choosable for a function / : V(G) â€”^ M if it admits an L-coloring for every list assignment L with the property \L(v)\ > f(v) for each vertex v.
Even in non-list coloring problems, list coloring is relevant if some vertices are given pre-assigned colors. This is often the case when a strengthened induction hypothesis is used. It is also how configurations are shown to be reducible in induction proofs of coloring results. Upon deleting a configuration from a minimal counterexample, by minimality the remaining subgraph can be colored. If the coloring of the remaining subgraph can be extended to the deleted configuration, then the configuration is reducible. A graph G can be extended from a partial coloring on vertices A C V(G) to a fc-coloring of the entire graph G if and only if G admits an L-coloring when the lists of vertices in A are the pre-assigned colors (size 1) and L(v) = {1,..., k} for each remaining vertex v. Hence proving that a configuration is /-choosable for a certain / is sufficient for showing that the configuration is reducible for a coloring problem.
There is a long history of generalizing coloring results to list coloring analogs. Planar graphs, for example, have a bounded behavior for both of these two graph parameters. Theorem 2.1 (Appel-Haken-Koch 1977 [6, 8]). Planar graphs are 4-colorable.
Theorem 2.2 (Thomassen 1994 [55]). Planar graphs are 5-choosable.
Theorem 2.3 (Grotzsch 1959 [30]). Planar graphs with no cycles of length 3 are
3-colorable.
Theorem 2.4 (Thomassen 1995, 2003 [56, 57]). Planar graphs with no cycles of length 3 or f are 3-choosable.
Theorem 2.5 (Alon-Tarsi 1992 [5]). Bipartite planar graphs are 3-choosable.
It is also worth noting that both x(G) and xr(G) are always bounded above by A(G) + 1. The class of graphs which attain this bound are the same in both cases. Theorem 2.6 (Brooks 1941 [18]). If G is a connected graph with maximum degree A, then
11

x(G) < A if G is neither complete nor an odd cycle.
Theorem 2.7 (Erdos-Rubin-Taylor 1979 [26]). If G is a connected graph with maximum degree A, then Xe(G) < A if G is neither complete nor an odd cycle.
As can be seen above, there are aspects in which coloring and list coloring seem to behave similarly. However, there are also aspects in which these two parameters differ. Theorem 2.8. The 2-colorable graphs are those without any odd cycles.
Theorem 2.9 (Erdos-Rubin-Taylor 1979 [26]). The 2-choosable graphs are trees and the graphs which, when vertices of degree 1 have been successively deleted, have remaining as connected components even cycles and/or 02,2,2m-graphs.
Theorem 2.9 means that not all bipartite graphs are 2-choosable. In fact, in the same paper it is also shown that the bipartite graph Km,m with m = (2fcAT1) is not fc-choosable. Hence the class of bipartite graphs has unbounded list chromatic number. This shows that in some cases, the list chromatic number captures a very different aspect of graphs than the chromatic number does.
There is one final and critical distinction we must make from a complexity standpoint. For a review of the terminology regarding the polynomial hierarchy, see Garey and Johnson [28].
Theorem 2.10 (Karp 1972 [42]). CHROMATIC NUMBER is NP-complete. Theorem 2.11 (Erdos-Rubin-Taylor 1979 [26]). /-CHOOSABILITY is Hff-complete.
The choosability problem remains n^-complete even under significant restrictions. For example, it follows from Theorems 2.9 and 2.5 that the list chromatic number of a bipartite planar graph can be determined in polynomial time. Yet Gutner4 [31] showed that the problem of deciding whether a bipartite planar graph G is /-choosable given / : V(G) â€”> {2, 3} is still n^-complete. (Note that /-CHOOSABILITY is a different problem from LIST CHROMATIC NUMBER.)
Despite that list coloring is an algorithmically difficult problem, in the context of 4Later, Gutner and Tarsi [32] attribute this result to Erdos, Rubin, and Taylor [26].
12

reducible configurations it often does not require an even more difficult problem for assistance. Reducible configurations for non-list coloring problems are often shown to be /-choosable for some /, which is using a more difficult type of coloring problem. However, showing this /-choosability for the configuration is often sufficient to prove reducibility in the list coloring version of the problem as well, since the coloring extension argument is the same. Hence in the context of discharging proofs, fist coloring results may be as accessible as their non-list counterparts if the difficulty barrier can be broken for the reducible configurations.
Sections 3.2.1 and 3.2.2 discuss common methods for proving /-choosability for graphs.
There has been much more work in list coloring than has been mentioned here, as well as further generalizations of list coloring. We refer the reader to [2, 14, 20, 48] for surveys on these topics and to books [23, 62, 63] that contain sections on list coloring.
2.3 Other Graph Coloring Results Using Computational Methods
Proofs of some theorems other than the Four Color Theorem also have many reducible configurations. Sometimes, these may be able to be inspected in cases together by hand. For example, Borodin [13] verified â€œsome 450 reducible configurationsâ€5 to prove Griinbaumâ€™s conjecture on acyclic colorings of planar graphs. A major piece of this achievement is that one lemma (Lemma 9) simultaneously proves the reducibility of 400 configurations. In such cases when there are shared and easily recognizable properties of configurations, use of computers is not necessary. More recently, several projects have used configurations which are difficult to verify by hand, and we have collected them here. Some proofs do not use discharging but still make use of reducible configurations. In addition, these results span a range of coloring variants.
For example, Diemunsch, et al. [22] used computation to verify reducibility for their 4 configurations when bounding the color-blind index of a class of cubic graphs. They also used computation to verify a coloring extension property of a variable gadget in a separate 5 Quote from [20].
13

complexity result.
To obtain results for the strong chromatic index of graphs, DeOrsey, et al. [21] used a computer to verify reducibility for 38 of their configurations. Interestingly, they also used a computer to verify the reducibility of an additional configuration via the Combinatorial Nullstellensatz (see Section 3.2.2) by determining the coefficient of a certain monomial in the expansion of the graph polynomial.
Brimkov, et al. [17] used discharging to improve an injective choosability result on subcubic planar graphs. Their proof used computational techniques to verify reducibility for 25 families of reducible configurations by finding Alon-Tarsi orientations (see Section 3.2.2).
Hartke, Jahanbekam, and Thomas [33] proved the subcubic case of Wegnerâ€™s Theorem using a discharging argument for which the precoloring extension of the 31 reducible configurations was verified by computer using 100 days of total CPU running time.
Dvorak, et al. [24] used discharging to prove a cyclic coloring result towards a conjecture of Plummer and Toft. Their proof used computational methods to verify reducibility via precoloring extension for 33 of their 40 configurations, and also to verify the discharging rules for vertices and faces. In addition, the authors used a linear program to optimize the amounts of charge moved in the discharging rules [43].
Toward the Cyclic Coloring Conjecture, Hebdige and Kraiâ€™ [35] used a discharging argument with 193 reducible configurations and 103 discharging rules. They were able to verify the reducibility of all the configurations with six lemmas, but checked their proofs with computational methods. Additionally, they required computational resources to verify the final charges for 5- and 6-faces.
In Chapter IV, we use a discharging argument in which we use computation to generate and verify 88 reducible configuration and to verify the final charge of faces with length between 7 and 14.
14

CHAPTER III
COMPUTING F-CHOOSABILITY
3.1 Introduction
In this chapter, we present our program for determining if a graph is /-choosable. We review other methods and discuss the aspects of our program which make it effective in practice despite the complexity barrier.
A coloring of a graph G is a function c on V(G). We say that c is proper if c(u) ^ c(v) for every edge uv in G. The chromatic number of a graph is the minimum k such that each vertex v can be assigned a color c(v) from the list {1,,k} to obtain a proper coloring. For a coloring c of a graph G, a color class is the set of all vertices receiving a given color. If i is a color, then the i-color class is {v G V(G) : c(v) = *}, the set of vertices receiving color i. If range(c) = {1,..., k} for some k G N, then c can be represented by the list Ai,..., Ak where each A* is the z-color class. A proper coloring c on a proper subset of vertices is a partial coloring.
A list assignment L on a graph G is a function on V(G) which maps each vertex to a set of colors. We say that a graph admits an L-coloring for a list assignment L if there is a proper coloring c of G such that c(v) G L(v) for each vertex v. When L is understood, we call such a coloring admissible. For a list assignment L on a graph G, a colorability class is the set of all vertices which have a given color in their list. If i is a color, then the i-colorability class is {v G V(G) : i G L(v)}, the set of vertices with i in their list. If U L(v) = {1,..., k} for some k G N, then the list assignment L can be represented by the list Ai,..., Ak where each Ai is the z-colorability class. The multiplicity of a colorability class A in a list assignment L = A1;..., Ak is the number of indices i G {1,,k} such that Aj = A. We say that a list assignment L' = A[,, A'k, contains another list assignment L = A\,..., Ak if {Ai,..., A*,} C {A(,..., A'k,} (as multisets). A list assignment L = A\,..., Ak on a graph G is connected if the induced graph G[A*] is connected for each i e {1,... ,k}.
15

A list size function f on a graph G is a function / : V(G) â€”> N. Given a list size function /, we say that a list assignment L is f-full (or simply full, if / is understood) if \L(v) \ = f(v) for each vertex v. We say that L is an /-partial (or simply partial) list assignment if \L(v)\ < f(v) for each vertex v and if L is not full. When / and the graph are understood, we say that a list assignment L is bad if it is full and the graph admits no L-coloring. We say that a graph G is f-choosable if there exists an L-coloring for every /-full list assignment L of G. We say that a graph is k-choosable if it is /-choosable for the constant list size function f{v) = k. The list chromatic number of a graph is the least k such that the graph is fc-choosable.
In Section 3.2, we discuss some of the tools used for showing /-choosability. In Section 3.3, we describe our tool for determining /-choosability. In Section 3.4, we describe our implementation for applying the Combinatorial Nullstellensatz so many times in our program. We conclude with some thoughts and questions in Section 3.6. The code for our program can be found in Appendix A. Our implementation uses SageMath [54],
3.2 Tools for Determining /-Choosability
Our focus in this section will be on three methods for showing /-choosability which we will incorporate into our own algorithm. After discussing these in Sections 3.2.1, 3.2.2 and 3.2.3, we will also mention other approaches to list coloring which have their own merits in Section 3.2.4.
3.2.1 Degeneracy and Greediness
When trying to prove that a specific graph is /-choosable for a particular list size function /, the most common approach used in the literature is to choose an ordering of the vertices and observe the worst-case scenario under a greedy coloring which respects this ordering. For example, consider the paw graph G on vertices {w,x,y,z} and edges {wx,xy,xz,yz}. See Figure 3.1.
16

2
Figure 3.1: The paw graph. The list size of each vertex is given as a boxed number.
Let the function / be defined by f(w) = f(y) = 2, f(x) = 3, and f(z) = 1, and also consider the vertex ordering z,y,x,w. Upon coloring z, at most one color becomes unavailable from the lists of x and y; so y still has an available color and we choose that color. Then, x still has at least one available color, which we choose. Until coloring x, both colors in the list of w were available; after coloring x, at least one remains available to assign to w. Hence G is /-choosable.
We say a graph G is h-degenerate for a function h : V(G) â€”> N if there exists a vertex ordering such that each vertex v has at most h(v) previous neighbors in the ordering.
When h is a constant function mapping to a value k, we write that G is k-degenerate.
From the above greedy coloring method, we make an observation.
Observation 3.1. Consider a graph G and a list size function f. If G is (/ â€” l)-degenerate, then G is f-choosable.
It is often the case that a graph is /-choosable but not (/ â€” 1)-degenerate. However, greedy coloring can be strengthened with case analysis. For example, even cycles are not
1- degenerate but are close to being 1-degenerate in the sense that every proper subgraph has minimum degree at most 1. Now consider the following proof that even cycles are
2- choosable. Let L be a list assignment on C2k such that \L(v) \ = 2 for each vertex v. If L is constant, then L has an admissible coloring since C2k is 2-colorable. So suppose there exist adjacent vertices u,v such that L{u) \ L(v) yt 0, and assign u a color from
L{u) \L(v). By greedily coloring the remaining vertices cyclically about C2k from u to u, we obtain an L-coloring.
17

Sometimes, greedy approaches with case analysis are not tractable for proving that a graph is /-choosable for a given /. However, it is always worthwhile to use partial information about greedy coloring.
Observation 3.2. Consider a graph G and a list size function f such that f(v) > deg(w) for some uertex v. Then G is f-choosable if and only if G â€” v is f\G~v-choo.sable.
Observation 3.2 implies Observation 3.1, but more importantly it allows for preprocessing an input graph G and list size function /. If there are any vertices with large list sizes, we need only consider the graph remaining without them.
In light of the above observation, a natural question to ask is whether a graph is /-choosable for the list size function defined by f(v) := degG(u). We call such a graph degree-choosable. A block of G is a maximal 2-connected subgraph, and a Gallai tree is a connected graph for which every block is an odd cycle or a complete graph. The following theorem characterizes degree-choosable graphs.
Theorem 3.3 (Erdos-Rubin-Taylor 1979 [26]). A connected graph is degree-choosable if and only if it is not a Gallai tree.
3.2.2 The Combinatorial Nullstellensatz
One of our primary tools, the Combinatorial Nullstellsatz, is derived from polynomial methods.
Theorem 3.4 (Combinatorial Nullstellensatz, see [3]). If Y\a=i a monomial with nonzero coefficient in a polynomial p hauing degree Ym=i A over a fie^ ^ ant^ > â€¢ â€¢ â€¢ > Sn
are sets with |S)| > A for 1 < i < n, then p(x) yt o for some x e S\ x â€¢ â€¢ â€¢ x Sn.
Let G be a graph with vertices V = {?q,..., vn} and edges E. The graph polynomial of G is defined by
Pg(x) = (xi-xj).
ViVjÂ£E
i Given a list size function / on vertices v\,..., vn, we say that a monomial Y\a=i is f-appropriate if U < f(vf) â€” 1 for all i.
18

Given a list assignment L and setting Si := L{vf) for each i, we have that x = (x\,..., xn) induces a L-coloring (dehned by c{vf) = Xi for each 1 < i < n) if and only if Pg(x) yt 0. Hence the following is corollary to Theorem 3.4 (the Combinatorial Nullstellensatz).
Corollary 3.5 (Alon-Tarsi 1992 [5]). IfYlâ„¢= ^xf is a monomial of pc with nonzero coefficient and f is a function with f{vf) > U for 1 < i < n, then G is f-choosable.
To illustrate this we return to the example of the paw graph G in Figure 3.1. Letting x, w, y, z also be the variables for their respective vertices in the graph polynomial, we have
pG(^(w,x,y,z)^ = (w - x)(x - y)(x - z)(y - z)
= wx2y â€” wxy2 â€” x3y + x2y2 + wy2z + x2yz â€” xy2z
â€” wx2z + x3z â€” x2yz + wxz2 â€” wyz2 â€” x2z2 + xyz2.
Since the coefficient of the monomial w1x2y1zÂ° = wy2z is nonzero, we have that G is /-choosable for any / with f(w) > 2, f{x) > 3, f(y) > 2, and f(z) > 1.
Corollary 3.5 is stated as an application to list coloring on vertices, but it is just as relevant to other coloring variants. By applying Corollary 3.5 to the appropriate conflict graph, the same method can be applied in other list coloring settings such as edge coloring, total coloring, or distance coloring. In all these cases, the respective polynomial is a product of factors corresponding to conflicts in the graph. DeOrsey, et al. [21] employed this method to a specific graph in the context of the strong chromatic index, using the computer algebra systems Magma and Sage to identify the coefficient of a monomial in a polynomial of degree 60.
While the Combinatorial Nullstellensatz is a useful tool, it also has shortcomings when applied to specific graphs we might encounter in our reducible configurations. For example, Corollary 3.5 provides a sufficient condition, but not a necessary one. If the coefficients of all /-appropriate monomials in the polynomial expansion are zero, then we are given no
19

information regarding the /-choosability of our graph. In the case of Corollary 3.5, this might occur when (J2veV f(v)) â€” n is at least the degree of the polynomial, but it is guaranteed to occur when the value is less. For example, consider the graph K3y3 and the function / defined by assigning 3 to one vertex of K3y3 and 2 to the remaining five vertices. See Figure 3.2. To apply Corollary 3.5, we need to identify a monomial nlLi xt such that U < fivi) â€” 1 for each i. However, our choice of / implies that any such monomial has degree at most 7, whereas Pk3,3 has degree 9. So the Combinatorial Nullstellensatz tells us nothing in this case, even though K3>3 is in fact /-choosable. (This is shown by the method in Section 3.2.3.)
Figure 3.2: The complete balanced bipartite graph on 6 vertices. The list size of each vertex is given as a boxed number.
Although Corollary 3.5 provides only a sufficient condition, it is compatible with greedy coloring.
Lemma 3.6. Let G be a graph, let f be a list size function on G, and let v be a vertex of G. If all f\G-v-appropriate monomials of pc-v have coefficient 0, then all f-appropriate monomials of pc have coefficient 0.
Proof. We denote by p [J([ xf~\ the coefficient of a monomial xf in a polynomial p. Label the vertices of G as v3,..., vn such that v = vn, and let S be the set of indices of the neighbors of vn. Observe that pG = Pg-v â€¢ Ps, where ps := rites'^ â€” Xn)~
Now let niLi be an /-appropriate monomial. Since rpc [rail xii] = Â°when ti > degG(ry) for some i, we assume that L < degG(ry) for all i. Define rn := tn, and let R be the set of (n â€” l)-tuples (ri,..., rra_i) of nonnegative integers majorized by (t\,..., fâ€ž_i)
20

which sum to degG(ura) â€” tn. Observe that R represents the exponent lists in the expansion of ps [Xn1]-) So we have
Pg l i = vg~v nâ€” 1 n*râ€˜ â– Ps 1 â€¢w Â£ ^ - 1
j=i (ji,...,rnâ€”i)(zR _i= 1 . \i=1 /
If all /|G-t;-appropriate monomials have coefficient 0 in pG~v, then pG [nr=i^]=o. â–¡
Hence if there is a greedy ordering of the vertices which shows that a graph is /-choosable, then Corollary 3.5 will also show that the graph is /-choosable. More importantly, using Observation 3.2 does not change the outcome of applying the Combinatorial Nullstellensatz.
A second shortcoming of Corollary 3.5 is that it does not apply to certain aspects of reducibility. Sometimes, an additional placeholder structure called a reducer is used in the induction step which gives the precoloring some additional constraints. The presence of reducers means that there are fewer precolorings to extend to the configuration, and thus the full measure of /-choosability is not necessary to check reducibility in the standard coloring setting. However, the Combinatorial Nullstellensatz does not guarantee the existence of a point in a restricted domain, so it is unclear if polynomial methods can be effective with reducers.
A third shortcoming of the Combinatorial Nullstellensatz is the number of /-appropriate monomials may be large. When (J2veV f(v)) â€” n is much larger than the degree of the graph polynomial, there are many /-appropriate monomials that could feasibly appear in the expansion of the graph polynomial. Searching for an /-appropriate monomial with nonzero coefficient in this case is computationally expensive. Our approach to this situation is described in Section 3.4.
Another tool, the Alon-Tarsi Theorem, is a restatement of Corollary 3.5 which observes that the monomial coefficient has a combinatorial interpretation for the graph G. A directed graph (or digraph) D is a circulation if dp(v) = dp(v) for every vertex v. A
21

circulation is even if its number of edges is even, likewise odd if the number of edges is odd. We denote by diff(D) the absolute difference between the number or even circulations and odd circulations spanning a digraph D. We say that a digraph D is /-choosable if its underlying graph is /-choosable.
Theorem 3.7 (Alon-Tarsi 1992 [5]). Let f(v) = 1 + df(v) for each vertex v in a digraph D. If diff(D) yt o, then D is f-choosable.
In [5], Theorem 3.7 is used to prove the noteworthy result that bipartite planar graphs are
3-choosable. In such proofs, properties of graphs (such as being bipartite) can give insight into the circulations of classes of graphs.
Interestingly, Theorem 3.7 can also be implemented for concrete graphs. Brimkov, et al. [17] used computation to prove reducibility in an injective list coloring setting. They show some configurations to be reducible by a greedy coloring, and others by an Alon-Tarsi orientation. For the latter, the computer program searches for orientations D of the configuration which have diff(D) yt 0 and give the correct / for their purposes.
However, in our program we selectively expand the graph polynomial to find an appropriate monomial of nonzero coefficient. This approach seems more effective than an exhaustive search for orientations.
3.2.3 Searching All List Assignments
Another approach to /-choosability is to fold L-colorings for all /-full list assignments L. First, it is worth pointing out that this is a finite problem (for finite graphs). Given an /-full list assignment L, we have | (J L(v) \ < K, where K = f(v). So for any such list
assignment L, the universe of colors [J L(v) can be permuted to be from the set {1,..., K}. Hence the number of such list assignments up to relabeling is at most [Q < KK. So it is possible to generate each list assignment L using colors from {1,,K} and check to see if the graph admits an L-coloring. However, the number of list assignments can be so enormously large that an exhaustive search is not feasible.
To prune the search space, we want to make observations during the search that can
22

help reduce the effort. The first way to do this is to consider only one list assignment among all equivalent list assignments. For example, permutating the colors of a list assignment is simply another form of relabeling, and so we want to prevent the generation of permuted list assignments.
Observation 3.8. Let L = A1}..., Ak be a list assignment of a graph G, and let tp : {1,..., k} â€”> {1,..., k} be a permutation. For each i G {1,..., k}, define A[ := A^, and consider the list assignment L1 = A\,..., A'k. Then G admits an L-coloring if and only if it admits Lâ€™-coloring.
So if we put a total ordering on all the possible colorability classes, then there is a canonical representative list assignment for all list assignments which are equivalent up to permuting colors.
Our notation expresses list assignments in terms of colorability classes rather than as lists defined at each vertex. Generating list assignments via vertex lists is possible, but does not help much for pruning the search space. As we will see, there are many benefits of generating list assignments by colorability classes. Next, we observe that only connected list assignments need to be searched.
Observation 3.9 (Stolee 2015 [53]). Let L = A1}..., Ak be a list assignment of a graph G, and suppose that G[Afc] is disconnected. Let A1 be the vertex set of one of the components of G[Ak\, and let A" := Ak \ A1. Consider the list assignment L' = A1}..., Ak_i, A', A". Then G admits an L-coloring if and only if it admits and Lâ€™-coloring. Hence for any list assignment of G, there is an equivalent connected list assignment vrith the same list sizes.
Thus we need consider only the list assignments which can be built out of colorability classes which induce connected subgraphs. By restricting the number of candidates for colorability classes, we restrict the number of list assignments generated. The search space described above can be explored via backtrack-and-search by building a list assignment as a stack of colorability classes. See Algorithm 1.
The backtrack-and-search described in Algorithm 1 can be modified in two ways to
23

Algorithm 1 Generate connected /-full list assignments
1 procedure list_assignment_generator(G, /)
2 Â£<-[] > the empty list
3 Let Ai,..., At be an ordered list of the (nonempty) subsets of G which induce con-
nected subgraphs.
4 subgraph-pointerstack [1] t> the list of length 1 containing the element 1
5 not-full V(G)
6 color 0
7 while True do
8 if not-full is nonempty and there is a subset Aj such that Aj C not-full and j >
subgraph-pointerstack[color\ then
9 Define k to be the least value of j satisfying the â€œifâ€ condition above.
10 Append Ak to L.
11 Append k to subgraph-pointerstack.
12 not-full the set of vertices v of G which appear in fewer than f{v) elements
of L
13 color color+1
14 else
15 if not-full = 0 then
16 yield L
17 end if
18 do while there is no subset Aj such that Aj C not-full and j > sub-
graph-pointerstack[color]
19 Pop the last element of L.
20 Pop the last element of subgraph-pointerstack.
21 not-full the set of vertices v of G which appear in fewer than f(v)
elements of L
22 color colorâ€” 1
23 if color < 0 then
24 return > End generator.
25 end if
26 end while
27 subgraph-pointerstack[color\ subgraph-pointerstack[color} +1
28 end if
29 end while
30 end procedure
further prune the search space. First, we can change the generator to also yield partial list assignments. By adding a â€œyieldâ€ statement at the end of the â€œifâ€ block in Lines 8-13, the generator will yield partial list assignments. This is helpful because of the following observation.
24

Observation 3.10. If L and L' are list assignments such that L' contains L, then any L-coloring is also an L'-coloring.
In practice, many full list assignments have admissible colorings which do not use all the colors of the list assignment. By checking partial list assignments in the search process, if we encounter an admissible coloring before the list assignment is full then we know that every full list assignment containing the current partial list assignment has an admissible coloring. Therefore, we can tell the generator to go directly to Line 18.
The first modification leads to the second. Some partial list assignments are very similar and each vertex might have a large intersection between the lists prescribed by two list assignments. So it is likely that a coloring admissible for one partial list assignment is also admissible for another similar partial list assignment. By feeding information about our search to the generator when prompting it for another list assignment, we can leverage the closeness of each step of the list assignment generator. When the generator is told to backtrack from a partial list assignment because of an admissible coloring, the next partial list assignment yielded is likely to be identical to the previous one except at the last colorability class. With so much similarity between the two partial list assignments, there is a significant likelihood that the admissible coloring from the first is also an admissible coloring for the second. To check this, the â€œifâ€ statement at Line 8 can be modified to check (in the setting described by our search) that Aj does not contain the last color class of the previous admissible coloring.
With these modifications, small graphs with small list sizes can be tested for /-choosability. For the example from Figure 3.2 in Section 3.2.2, the search process we have described can prove that K\$y3 is /-choosable where / is 3 on one vertex and 2 elsewhere.
By inspecting 9330 partial connected list assignments, the algorithm verifies that every /-full list assignment has an admissible coloring on K\$y3. Implemented on a 2.3 GHz Intel Core i5 processor, this search took 3.1 seconds. As mentioned earlier, it is impossible for the Combinatorial Nullstellensatz to tell us anything about this conclusion. A written
25

argument is possible, but the number of cases to consider is tedious for such a small graph.
So our computational tool fills a gap left by other methods for proving or determining /-choosablility. However, even for slightly larger graphs or list sizes the approach described in this section quickly becomes intractable. As discussed in Section 3.3, we use this method as the basis for our new tool, but combine the usefulness of the Combinatorial Nullstellensatz to make it effective for practically relevant graphs.
3.2.4 Other Tools for /-Choosability
There are other methods for proving choosability which we will not incorporate into our tool but are worth mentioning here. For example, the probabilistic method has many applications in graph coloring. Molloy and Reed [46] use the Lovasz Local Lemma to prove that fc-list assignments which have the following property have admissible colorings: each color is seen by at most k/8 neighbors of any one vertex. Alon [4] used this technique to prove that the list chromatic number of graphs with average degree d is bounded below by (A â€” o(l)) lnd as d tends to infinity. However, it is not clear how to leverage probabilistic tools to improve our own method for graphs with low degree.
Another technique is the kernel method, which shows /-choosability in terms of outdegree in orientations of the graph. Alon and Tarsi [5] use this method to prove that bipartite planar graphs are 3-choosable. Galvin [27] also used the kernel method to prove that the list chromatic index of a bipartite graph is equal to its maximum degree. This result is the most significant progress made toward the List Coloring Conjecture (see Section 3.5.2) for a concrete class of graphs. We do not implement the kernel method as it seems to require more effort to find an orientation with kernel-perfect subdigraphs than our method of directly inspecting the coefficients of monomials in the graph polynomial.
In more recent years, a Quantitative Combinatorial Nullstellensatz has been developed and applied as well (see [44, 50]). We originally considered using this tool, as it allows us to compute the coefficient of any desired monomial in the graph polynomial without directly expanding the polynomial. However, it is not clear if these methods can be adapted to
26

quickly search all /-appropriate monomials instead of starting from scratch for each monomial. In the end, our methods for applying Corollary 3.5 worked best for our applications.
The following is a lemma which has been used in the literature to restrict the analysis of possible bad list assignments.
Lemma 3.11 (Small Pot Lemma (see [63])). If G is not k-choosable, then there is a bad k-list assignment L such that | |JL(u)| < n- Furthermore, the colors of\jL(v) can be represented by the lists of distinct uertices.
The Small Pot Lemma says that if there are bad list assignments, then there is one which uses a small pot of colors in its lists. As we discuss in our concluding remarks (Section 3.6), we wanted to incorporate a suitable version of the Small Pot Lemma but could not. The benefit of such a statement would be the corollary that a subsetâ€™s multiplicity in our search space would be bounded above by its size.
3.3 A New Tool for Determining /-Choosability
We combine the methods in Sections 3.2.1, 3.2.2 and 3.2.3 to develop an effective tool for determining the /-choosability of a concrete graph G for a specified list size function /. Algorithm 1 (with the modifications discussed in Section 3.2.3) will be the basis for our method. We make several changes to improve the efficacy of the search process.
3.3.1 Preprocessing
As a first step, we see if the input graph G\ and list size function / can be reduced according to Observation 3.2 and Lemma 3.6. We remove any vertex v which has f(v) > degGl(u) to obtain the graph G2. We repeat this process by removing any vertex v of G2 which has f(v) > degGa(u) until there are no such vertices remaining. Call our final graph after this process terminates G^. Then G is /-choosable if and only if G^ is /|Goo-choosable. If G^ is the empty graph, then the ordering in which we removed the vertices of G is a greedy ordering.
As a second step, we check to see if G^ has any vertices v such that = 1. If so,
27

such a vertex v must be assigned the only color in its list in any admissible coloring. Although some list assignments will not assign vâ€™s color to the lists of all vâ€™s neighbors, some list assignments will.
Observation 3.12. Let G be a graph and f a list size function such that f(v) = 1 for some uertex v. Then G is f-choosable if and only if G â€” v is f-choosable, where
I /(rc) â€” 1 ifxeNG{v)
fix) = <
f{x) otherwise.
So if there is any vertex of G^ with an /-value of 1, we delete it to obtain a graph G2 and a list size function /2 as described in Observation 3.12. We repeat this process by removing any vertex v of G2 which has /2(A) = 1 until there are no such vertices remaining. Call our final graph after this process terminates G, and the corresponding list assignment /. If / maps any vertex of G to a nonpositive integer, then the structure of the deleted vertices have shown that G^ is not /G^-choosable. If G is empty, then the structure of the deleted vertices have shown that the worst-case list assignment has only one admissible coloring.
In this second step, Observation 3.12 can be generalized. For example, if a graph G has two adjacent twin vertices u and v such that f(u) = f(v) = 2, then some list assignments will assign the same two colors to the lists of u and v and to the list of all neighbors of u and v. So G is /-choosable if and only if G â€” u â€” v is /-choosable, where / is obtained from / by subtracting 2 for all neighbors of u and v. We do not check for any such structures, but such a check could be implemented.
As a third preprocessing step, we apply the Combinatorial Nullstellensatz (that is, Corollary 3.5) to G and /. We use the method described in Section 3.4 for our implementation. If there exists a monomial xlf with nonzero coefficient in pp. such that f(vi) > U for all vertices Vi of G, then G is /-choosable and hence G is /-choosable. Otherwise, we move on to our programâ€™s primary purpose, the backtrack-and-search.
28

It is worthwhile to remark that the first two preprocessing steps should take place before applying the Combinatorial Nullstellensatz. First we prove another lemma to demonstrate this. The reverse direction is true and proven similarly, but unnecessary for our purposes.
Lemma 3.13. Let G be a graph, let f be a list size function on G, and let v be a vertex of G such that f(v) = 1. Let f be as defined in Observation 3.12. If all f-appropriate monomials of Pg-v have coefficient 0, then all f-appropriate monomials of pc have coefficient 0.
Proof. Label the vertices of G as V\,..., vn such that v = vn, and let S be the set of indices of the neighbors of vn. Using the notation from the proof of Lemma 3.6, observe that
PG â€”PGâ€”v ' â– En) â–
Let niLi^ be an /-appropriate monomial. We assume that U < degG(?y) for all i. Since f(vn) = 1, we have tn = 0. Hence pc [a/f] = Pg-v â€¢ (rites' x0 â€¢ Then we have Pg [nT=i xt\ = Pg-v nr/ r â–  (ntesr) > Where xs is the indicator function for the
set S. So niLi r has nonzero coefficient in pc if and only if YIi=i xi has nonzero coefficient in pc-v â–¡
By Lemma 3.6 and Lemma 3.13, we know that if Corollary 3.5 shows that G is /-choosable, then it also shows that G is /-choosable. So if we fold no appropriate monomial with nonzero coefficient in pG, then we would not have found one in pG. Since any reductions from the first two preprocessing steps make the problem simpler, it is always desirable to apply them first.
For ease of notation, we refer to G and / as G and / in the following sections. The remaining search process assumes that any graph and list size function it is given has been preprocessed.
29

3.3.2 Vetting the Colorability Classes
We now describe the aspect of our implementation that most significantly prunes the search space of partial list assignments. Suppose we know that a nonempty set of vertices A is not a colorability class in any bad list assignment. Then we need not generate and check any list assignments for which A is a colorability class. In this case, Algorithm 1 can be modified in Line 3 so that A is removed from the list A\,..., At. Then the partial list assignment generator would not spend any time building partial list assignments which contain A and hence are not contained by any bad list list assignments. This observation demonstrates the usefulness of the following lemma.
Lemma 3.14. Consider some graph G and list size function f. Let A C V(G) and let I C A be an independent set of G, and define the list size function f on G â€” I as follows:
. ^ f f(v), v(Â£A f{v) = <
[/W-l, v e A\I.
If G â€” I is f-choosable, then euery f-full list assignment which has A as a colorability class has an admissible coloring.
Proof. Suppose G â€” I is /-choosable and let L = A\,..., At, A be an /-full list assignment. Consider the list assignment L' := A[,, A't where A' := Ai\ I for each i E {1,... , t}. Since L' is a /-full list assignment on G â€” I, there is an L'-coloring P = I\,..., It on G â€” I. Since / is an independent set in G, we can extend the coloring to c = I\,..., It, I to be an L-coloring on G. â–¡
In our program, we check every nonempty subset of vertices which induces a connected subgraph of G to see if it contains an independent set / as described in Lemma 3.14. We remove any subsets containing such an independent set from the list Ai,... ,At in Line 3 of Algorithm 1, so that any remaining colorability classes are those which might possibly be
30

contained in a bad list assignment.
There are two remarks about this vetting process worth making here. First, to use Lemma 3.14 in our algorithm for determining if G is /-choosable, we do not recursively call our program for the smaller problem of determining if G â€” I is /-choosable. In the interest of a relatively fast check for Lemma 3.14, we only apply the Combinatorial Nullstellensatz via Corollary 3.5 using the implementation described in Section 3.4. If this application does not conclude that G â€” I is /-choosable, then we move on. It is not clear whether any further efforts would be worthwhile.
Second, when looking for such an independent set in A we do not check every single independent set. Instead, we check only the independent sets which are maximal in A due to the following observation.
Observation 3.15. Let I and A be given for a graph G as in Lemma 3.If. Let I' be an independent set of G such that I C I' C A, and let f be defined similarly to f in Lemma 3.If. Since f = f\G-r, we have that if G â€” I is f-choosable, then G\ is f -choosable.
Since we only use the Combinatorial Nullstellensatz to check for choosability in this setting, it is worth remarking that we can apply the Combinatorial Nullstellensatz to only the graphs G â€” I such that / is maximal as an independent set. The following corollary follows from Lemma 3.6 by successively deleting any vertices in I' \ I from G â€” I to obtain G â€” I'. Corollary 3.16. Consider some graph G and list size function f. Let A C V(G) and let I and I' be independent sets of G such that I C I' C A. Define f := f â€” xa on G â€” I and define f := f â€” xa on G â€” V. If all f'-appropriate monomials of 'Pc-r have coefficient 0, then all f-appropriate monomials of pc-i have coefficient 0.
In practice, is is typical that a minority of the subsets remain in the list. Thus the number of list assignments to check is reduced to a small fraction of what it would be otherwise. Recalling the example of Figure 3.2, with the vetting process described our search encounters only 35 partial list assignments (compared to the original 9330).
31

Implemented on a 2.3 GHz Intel Core i5 processor, the search took 0.1 seconds. In fact, there are other cases in which there is no nonzero coefficient for an appropriate monomial in the graph polynomial, but every single subset is ruled out from the search process.
This vetting process is theoretically prohibitive because we store the remaining subsets in memory. However, if the number of subgraphs remaining after the vetting process is too large to store, then the search space will almost certainly also be too large to examine.
As the input graphs grow larger and denser, the number of connected induced subgraphs to vet grows quickly as well. Even though the vetting process makes such a significant difference in the search time, the overhead for applying Lemma 3.14 via the Combinatorial Nullstellensatz to each subset can be a significant task on its own. The following observation is useful for speeding up this initial vetting process.
Observation 3.17. Suppose there exists such an independent set I C A such that G â€” I is f-choosable for the f defined in Lemma 3.1 f. For any set A1 such that I C A1 C A, consider the list function f defined for A' in the same way as f. Since f(v) > f(v) for all vertices v of Gi, we have that G â€” I is f-choosable. Hence A' is not a colorability class in any bad list assignment, either.
Our program reduces the overhead of the vetting process by storing each pair (/, A) that yields a successful application of Lemma 3.14. Then, before applying the lemma to a new subset A1, it checks to see if / C A1 C A for any stored pair (I, A). If so, then by Observation 3.17 we can remove A1 from the list of subsets. In this case, there is no need to store (/, A1) since it provides no new information. If A1 is not sandwiched between any stored pair, then we proceed with Lemma 3.14 as usual.
The effectiveness of Observation 3.17 is heavily dependent on the ordering in which the subsets are considered. For this reason, we generate the subsets in the reverse of colexicographic order. Thus, for any two sets A and B such that A D B, the set A comes before B. This maximizes the possible benefit of Observation 3.17.
The resulting reduction in overhead can be seen in an example from Chapter IV. For
32

this graph G on 15 vertices and 44 edges and the list size function / with outputs [5, 6, 6, 6, 6, 5, 5, 3, 4, 3, 2, 3, 3, 2, 3], we found that G is not /-choosable. The running time for vetting all the nonempty subsets which induce connected subgraphs of G by applying the Combinatorial Nullstellensatz to each was 6 minutes, 58 seconds on a 2.3 GHz Intel Core i5 processor. However, the running time when using Observation 3.17 was 42 seconds. Of the 22,749 nonempty subsets which induce connected subgraphs of G, only 339 (I, A) pairs were stored and 22,344 subsets were skipped because of a stored pair. This left only 66 subsets which could be part of a bad list assignment, and then finding a bad list assignment took 11 seconds.
Regardless of using Observation 3.17 to reduce the overhead, the examples above show that examining the search space would be hopeless without vetting all subsets which induce connected subgraphs. In fact, we also use the Combinatorial Nullstellensatz during the search as well.
3.3.3 Pruning during the Backtrack-and-Search
The enormous savings gained by vetting the subsets before feeding them to the partial list assignment generator can be extended to dynamic pruning during the backtrack-and-search. We use the following lemma, which is a generalization of Lemma 3.14.
Lemma 3.18. Consider some graph G and list size function f. Let L = A1}..., At be an f -partial list assignment, and let c = fi,..., It be an L-coloring on the set I := (J fi. Define the list size function f on G â€” I by f(v) = f(v) â€” |{z : v E Ai\I}\. If G â€” I is f-choosable, then euery f-full list assignment containing L has an admissible coloring. Proof. Suppose G â€” I is /-choosable and let L' = A\,..., At, At+1,..., As be an /-full list assignment on G containing L. Consider the list assignment L := At+1,... ,AS where Ai := Ai\I for each i E {t + 1,..., s}. Since L is a /-full list assignment on G â€” I, there is an L-coloring c = fi+i, ...,/onG-/. Then c U c = h,..., Is is an L-coloring on G. â–¡
Suppose the search for a bad list assignment has arrived at a partial list assignment
33

L = Ai,..., At and that there exists a partial L-coloring c such that G â€” I is /-choosable as in Lemma 3.18. Then we can backtrack immediately, since there is no full list assignment containing our current partial list assignment. In our program, we apply a measure of how full the current partial list assignment is and set a threshold which can be changed by the user (â€œinprocessâ€). If the measure falls above the given threshold, then we do not check any colorings for Lemma 3.18. Our heuristic reasoning is the following: Since L is fairly full, it is more likely to have an admissible coloring on the entire graph, which is faster to check directly. Using Lemma 3.18 for list assignments which are more full will be more time-consuming since the number of partial L-colorings grows quickly with the â€œfullnessâ€ of a list assignment, and we would apply the Combinatorial Nullstellensatz for each one.
If the measure falls below our given threshold, we search for a coloring that satisfies Lemma 3.18. As with vetting the colorability classes, we apply the Combinatorial Nullstellensatz to each candidate coloring because we can do so relatively quickly. We also do not check every single partial coloring, but only those for which each successive color class is maximal with respect to the available vertices. If we find no satisfactory partial L-coloring, then we continue with the check for an L-coloring of the entire graph. This follow-up check is not always redundant. If there does exist an L-coloring of the entire graph, then it will likely be found by our previous search to satisfy Lemma 3.18. However, the search for the full coloring might find a coloring not found by the search for colorings satisfying Lemma 3.18 since there exist graphs the only proper colorings of which have no maximal color classes.
So by applying the Combinatorial Nullstellensatz quickly for list assignment which are not so full, we can prune large parts of the search while still in the low levels of the search space. Our measure of list assignment â€œfullnessâ€ is arbitrary and tuned to our purposes for Chapter IV, but it can be easily changed. The current measure of fullness is the number of colorability classes in partial list assignment.
Recalling the example of Figure 3.2, we applied the in-process pruning described above
34

at every step. Our search encountered only 3 partial list assignments, compared to the original 9330 without the subset vetting and the 35 with the subset vetting. Implemented on a 2.3 GHz Intel Core i5 processor, the search took 0.1 seconds.
3.3.4 Ordering the Colorability Classes and Vertices
Next to the significant pruning via the Combinatorial Nullstellensatz before and during the dynamic backtrack-and-search, the next most influential aspect to the performance of our program is the order in which we explore the search space. Based on the modifications to Algorithm 1 we have discussed so far, the single item that affects the order of the search space is the order of the colorability classes in Line 3. For a subset of vertices A, the maximum multiplicity of A is the greatest k such that the program does not find a coloring when applying Lemma 3.18 to the list assignment A, A, ...,A using the Combinatorial
k times
Nullstellensatz. For each subset remaining after the initial vetting, the program applies Lemma 3.18 until it determines the maximum multiplicity.
We found the following ordering to be the most effective in our tests: Order the subsets from least to greatest in terms of maximum multiplicity, and then from least to greatest in terms of size. Our heuristic reasoning for this order is as follows: We want to order the subsets from least to greatest in terms of â€œlikelihood of being in a bad list assignment.â€ In other words, we want to place the subsets which are likeliest to contribute to pruning the search space earlier in the ordering. Since subsets with lesser maximum multiplicity have already demonstrated that they are likely to prune the search space when put into a list assignment with themselves, we assume that they are likely to prune the search space when placed in a list assignment with other colorability classes as well. Since smaller subsets result in higher values of the list size function / defined in Lemma 3.18, we assume that they are more likely to result in a successful application of the lemma. Our program has an option (â€œrevâ€) to reverse this ordering in the event the user wishes to find a bad list assignment quickly instead of move through the entire search space quickly. Since it is not clear that this reverse method is effective even when there does exist a bad list assignment,
35

the program defaults to the ordering described above.
The above ordering seems to be optimal, but it does prevent a certain modification to the dynamic search. Just as we use the top color class when we find a coloring on the entire graph to save time when considering the next partial list assignment, a similar observation about the top colorability class could be applied during the search process to possibly save time from applying Lemma 3.18. However, such an observation would rarely be applicable in our case. During the initial vetting process, we use Observation 3.17 and colexicographic order on the subsets to reduce the number of times we apply the Combinatorial Nullstellensatz. Unlike the colexicographic order during the initial vetting, however, our ordering on the potential colorability classes during the search process limits the helpfulness of this observation. If A appears in the colorability class ordering described in this section, then there are very few, if any, subsets of A which follow A in the ordering. Hence with this ordering it is unlikely that the top colorability class of the next partial list assignment is a subset of the current list asignmentâ€™s top colorability class. In our program, we do not make any effort to save information about an application of the Combinatorial Nullstellensatz.
We also make an additional modification to Algorithm 1 that affects the ordering of the search space. Instead of always choosing the earliest subset Aj satisfying the â€œifâ€ statement in Line 8, we choose the earliest subset which satisfies the â€œifâ€ statement and an additional condition. Because this selection changes the ordering in which the next colorability class is chosen at each step of the generation, we store copies of the list Ai,... ,At which are trimmed at each forward step. The additional condition we use in our selection of a colorability class is the containment of a certain vertex. At each step, we choose this vertex based on how many colorability classes it is in currently. We have two methods for vertex prioritization, â€œEâ€ and â€œLâ€, which can be chosen by the user via the option â€œLAschemeâ€. The â€œEâ€ rule always selects the least-indexed vertex which is in not-full. The â€œLâ€ rule considers the vertices in not-full which are in the fewest number of
36

current colorability classes and selects the least-indexed of these. Whichever vertex is chosen by the rule, the program insists that it be in the next colorability class; if there are no available subsets containing that vertex, then we backtrack since there are no full list assignments containing our current one.
The two rules have different heuristics in mind. The â€œEâ€ rule tries to fill up the lists of earlier-indexed vertices as soon as possible, because (as we mention in the following paragraph) these vertices are contained in the fewest number of subsets A1}... ,At. Hence filling up these vertices first results in less branching in our space earlier in the search, which should optimize the pruning of our space. The â€œLâ€ rule tries to fill up the lists of vertices evenly so that all vertices have as few colors in their lists as soon as possible. The idea is that this will help find a coloring of the entire graph more quickly and help keep the search from spending too much time in the deeper levels of the space. In practice, we found that the â€œEâ€ rule was more effective for our purposes in Chapter IV, and so it is the default rule.
Since our two selection rules described above depend on the indexing of vertices, our vertex ordering also affects the effectiveness of the search. To minimize the branching of the search space in the earlier stages of the search, we want as few options as possible for colorability classes containing earlier-indexed vertices. So we order the vertices accordingly after the subsets have been vetted as described in Section 3.3.2. The first vertex is one which is in the least number of subsets remaining after the vetting, and the second vertex is one which is in the least number of remaining subsets not already containing the first vertex. Each successive vertex is one which is in the fewest subsets of those not containing the previous vertices.
3.4 Applying the Combinatorial Nullstellensatz
The practicality of our program is contingent on the repeated application of the Combinatorial Nullstellensatz. When applying Corollary 3.5 to a graph G with n vertices and e edges, the graph polynomial pc is a homogeneous polynomial of degree e of n
37

variables. If / is a list size function such that f(v) < e + n, then there is no monomial n xf in pc with nonzero coefficient such that U < fi for all i. If f(v) = e + n, then there is only one possible monomial in pc we need to check, the monomial In either of
these cases, we are either finished immediately or can quickly expand the polynomial to fold one coefficient. However, as f(v) grows larger than e + n, the number of monomials in pG to check grows exponentially. On the one hand, the relatively large /-values heuristically mean a higher likelihood of being /-choosable, and the large number of monomials with exponent lists majorized by / heuristically means a higher chance of at least one such monomial with nonzero coefficient. On the other hand, checking the coefficients of all the possible monomials is a large task when e is large and ^ f(v) is larger than e + n, and there is no guarantee of a nonzero coefficient existing even if G is /-choosable.
When e is large (larger than 30, for example), expanding the entire graph polynomial is out of the question for our applications simply because of memory constraints. Since we do not need the entire polynomial to determine the coefficients of some monomials, this expansion is avoidable. If we need to fold the coefficient of only one monomial [jxf, then we can selectively expand the polynomial variable-by-variable. In this case, expand all the factors containing aq and extract the coefficient of a/1, which will itself be a polynomial of the variables aq,..., xn. Then expand all the remaining factors of pc containing aq (multiplying by the previously extracted coefficient of a/1) and extract the coefficient of x22. Continuing in this fashion, the final scalar coefficient of xwill in fact be the coefficient of Wx1?. So long as the expansion at each step is not too large, memory will not be an issue.
Once the variables which have been expanded correspond to a vertex cover in the graph, then the entire graph polynomial has been expanded. Hence the ordering of vertices directly influences the memory required for expansion at each step. The number of factors expanded for the next variable ay is the number of edges incident with the vertex ay which are not incident to any vertex Vj with j < i. Then, some of this information is discarded
38

according to the coefficient extraction. Generally, some information is kept in storage for future vertex variables. The graph parameter which most directly corresponds to the maximum memory required during any expansion step is called the cutwidth. The cutwidth of an ordering v\,..., vn is the maximum number of edges between v\,Vi and vi+i,... ,vn over all i, and the cutwidth of the graph is the minimum cutwidth of any vertex ordering. Although determining the cutwidth of a graph is NP-complete [47], there are linear-time algorithms for the fixed-parameter version of the problem (see [11]).
However, memory is not the only consideration for the steps described above. We also desire that the time for the polynomial expansion itself be minimized over the entire search. Toward this goal, we want the vertices to be ordered in a way that minimizes the expansion work for the earlier variables. So not only do we want the cutwidth to be bounded for the ordering, but we also want the edge cuts to be even smaller than the cutwidth for the first stages of the expansion if possible. For our purposes, we order the vertices in a greedy way. We choose the first vertex to be one of minimum degree, and then we choose the next vertex to be one of minimum degree to the rest of the graph, and so forth.
Following the steps above for each monomial of degree e which is a factor of [Q 1
is tractable when f(v)) â€” n â€” e is small, but becomes an exponential problem as (S f(v)) â€” n â€” e grows. Instead of expanding for each monomial independently, we use a dynamic backtrack-and-search to prune the space of monomials. We start with the least monomial ordered by lexicographic ordering on the list of exponents H,..., tn, and begin expanding as described above. If at any point the extracted coefficient of a partial monomial â–  â–  â–  xls is 0, we immediately backtrack. If ts < f(vs) â€” 1, we go back only one step. Instead of extracting the coefficient of we extract the coefficient of x*s+1 to arrive at the partial monomial â–  â–  â–  x*s+1. If ts = f(vs) â€” 1 (or if a larger power of xs results in too large a degree for the partial monomial), we go back as many steps as necessary to fall into the above case before moving forward.
The approach described above helps keep each application of Corollary 3.5 relatively
39

quick for situations in which f(v)) â€” n â€” e is not too large.
3.5 Example Applications
To demonstrate the effectiveness of our program on moderately-sized graphs, we present three example applications. In each application, we generate and test all graphs from the class in question up to a certain order.
3.5.1 Small Non-Chromatic-Choosable Graphs
A graph is chromatic-choosable if its chromatic number and list chromatic number are equal. Trees and cycles are chromatic-choosable, but not all bipartite graphs are. To demonstrate the difference between the chromatic number and the list chromatic number, the first canonical example most often provided in the literature in fd33. This graph is bipartite (and therefore 2-colorable) but it is not 2-choosable. It is not, however, the smallest non-chromatic-choosable graph with respect to the number of edges. There are proper subgraphs of fd3;3 which are also not 2-choosable.
We found these graphs by generating all connected graphs on up to six vertices and using our tool to check if each graph is /-choosable for the constant / defined by the chromatic number. Interestingly, the smallest graph is planar and thus is the smallest graph attaining the maximum list chromatic number for planar bipartite graphs (which is 3).
This graph can be shown to not be 2-choosable with the same bad list assignment as fd33.
We also check the chromatic-choosability of all connected graphs of order up to 8. The number of connected non-chromatic-choosable graphs for each order are listed in Table 3.1.
Table 3.1: The number of (nonisomorphic) connected non-chromatic-choosable graphs for each order up to 8.
Order 2 3 4 5 6 7 8
# Non-Chromatic-Choosable 0 0 0 0 4 15 102
# Connected 1 2 6 21 112 853 11117
Each of the non-chromatic-choosable graphs in Table 3.1 is bipartite and 3-choosable.
40

One can see that iO,27 is not 3-choosable by assigning the three vertices x, y, z in one part disjoint lists and by injectively assigning the 27 lists in L(x) x L(y) x L(z) to the vertices in the other part. In general, one can generalize the bad list assignment on iL3,27 1Â° show that Kn,nn is not n-choosable. On the other hand, degeneracy and case analysis with greedy arguments shows that any proper subgraph of Kn>nn is n-choosable.
This leads us to the following question.
Question 3.19. What is the smallest graph with chromatic number 3 which is not 3-choosable?
3.5.2 List Coloring Conjecture for Cubic Graphs
The line graph of a graph G is the graph which has E(G) as its vertex set and {eie2 : e\ and e2 are incident edges of G} as its edge set. The following conjecture is famous.
Conjecture 3.20 (List Coloring Conjecture (see [12])). If a graph is a line graph, then it is chromatic-choosable.
The List Coloring Conjecture has been proved for bipartite graphs [27]. It has also been proven asymptotically in terms of the maximum degree of the original graph [40]. The conjecture has also been verified for most line graphs of original graphs which have order up to 10 [51].
The chromatic number of the line graph of a graph (called the chromatic index) is known to be at most one more than the maximum degree of the original graph [59]. Such graphs are called Class 2. However, it is still not known if this bound also holds for the list chromatic number of the line graph (called the list chromatic index). However, it is known that the list chromatic index is at most 4 for subcubic graphs [39]. Since the chromatic index of graphs with maximum degree 3 is in {3,4}, this means that the List Coloring Conjecture holds for Class 2 subcubic graphs.
Using our program, we verified the List Coloring Conjecture for all cubic graphs on up to 16 vertices. The line graphs of cubic graphs of order 16 have 24 vertices and 48 edges.
41

The number of cubic graphs for each order are listed in Table 3.2.
Table 3.2: The number of (nonisomorphic) cubic graphs for each even order up to 16.
Order 4 6 8 10 12 14 16
Number 1 2 5 19 85 509 4060
3.5.3 Non-4-Choosability of Planar Graphs
Thomassen [55] proved that planar graphs are 5-choosable. Voigt [60] showed that this bound is tight with an example of a planar graph on 238 vertices which is not 4-choosable. Mirzakhani [45] gave an example of a smaller planar graph on 63 vertices which is not
4-choosable and is also not 3-colorable. We ask the following question.
Question 3.21. Is Mirzakhaniâ€™s graph the smallest planar graph which is not 4-choosable?
We check all plane triangulations with minimum degree at least 4 of order up to 24, and all are 4-choosable. Hence the smallest planar non-4-choosable graph has order at least 25. Table 3.3 shows the number of plane triangulations checked for each order.
42

Table 3.3: The number of (nonisomorphic) plane triangulations with minimum degree at least 4 for each order up to 24.
Order Number
6 1
7 1
8 2
9 5
10 12
11 34
12 130
13 525
14 2,472
15 12,400
16 65,619
17 357,504
18 1,992,985
19 11,284,042
20 64,719,885
21 375,126,827
22 2,194,439,398
23 12,941,995,397
24 76,890,024,027
In fact, each of the graphs counted in Table 3.3 were verified using Corollary 3.5. We
Question 3.22. What is the smallest planar graph G such that pc has no /-appropriate monomial with nonzero coefficient, where / is the constant list size function equal to 4?
43

3.6 Concluding Remarks
Our algorithm can easily be parallelized to take advantage of mutiple processors. The largest obstacle to effective parallelization is the vetting of all nonempty subsets which induce connected subgraphs. If the number of such subsets is large, then it would be advisable to run the vetting process separately once and store the list of remaining subsets in a commonly accessed hie. Then, running the backtrack-and-search on residue classes of the first several levels of the search space is easy to implement.
In the application of our tool to Chapter IV, the value f(v)) â€” n â€” e is an interesting parameter. Call this value the disparity of a G, f pair. The smallest disparity we encountered for a choosable G, / pair was â€”1, which is only 1 less than what is necessary for the Combinatorial Nullstellensatz to possibly be conclusive. The largest disparity we encountered for a non-choosable G, / pair was 3. Perhaps disparity is a useful measure of the likelihood of choosability in other applications.
However, in some situations the disparity can tend to infinities without guaranteeing choosability or non-choosability. For example, the complete graph Kn is not (n â€” l)-choosable for any n, but the disparity of this pair is n â–  (n â€” 1) â€” n â€” (â„¢) ~ \n2. On the other hand, the complete bipartite graph Kn,n is (log2(n) + l)-choosable for all n, but the disparity of this pair is 2n â–  (log2(n) + 1) â€” 2n â€” n2 ~ â€” \{2n)2. It would be interesting to know if there are families of graphs for which the disparity for these phenomena is subquadratic in the number of vertices.
The Small Pot Lemma is easily generalized to /-choosability from fc-choosability, and we originally planned to incorporate this result in our search by bounding the maximum multiplicity of subsets. However, this was rarely relevant. Additionally, it is not obvious if it applies to our restricted search of connected list assignments. We include some variations on the Small Pot Lemma here.
44

Lemma 3.23 (Small Pot Lemma for /-Choosability). If G is a graph on n vertices which is not f-choosable, then there is a bad list assignment L such that | |jL(w)| < n-Furthermore, the colors of (J L(v) can be represented by the lists of distinct vertices.
Proof. The second statement implies the first, since a set of distinct representatives for all n vertices is a proper coloring. It suffices to prove the lemma when G is assumed to be connected.
Suppose for contradiction that the colors (J L(v) cannot be represented by | (J L(v) \ distinct vertices in any bad list assignment L. Let L be a bad list assignment such that | ljL(u)| is minimum. We write L_1 to be the function which maps colors in (J L(v) to their colorability classes under L. By Hallâ€™s Theorem, there is a set of colors T C (J L(v) such that |L_1(T)| < \T\; let T have minimum size and define A := L~l(T). Then \T\ > 2 and \A\ = \T\ - 1.
Let c G T. By the minimality of T, we have | > \T'\ for any T' CT \ {c}. So
by Hallâ€™s Theorem, the vertices in A can be represented by the |H| distinct colors in T \ {c}. Thus G[A] can be properly colored from colors in T \ {c}, and thus G â€” A is not L-colorable.
Now we change the list assignment on A. Note that for all u G V(G) we assume fiu) < n < | (J L(v) | and thus (J L(v) \ L{u) is nonempty. For each u G L-1(c), dehne L'{u) = L{u) U {c!} \ {c} where c! is a color from (J L(v) \ L{u). For all other vertices u, dehne L'(u) = L{u). Then L' is a bad list assignment since G â€” A is not L'-colorable. However, L' uses fewer colors than L, a contradiction. â–¡
Lemma 3.24 (Minimal Connected Small Pot Lemma for /-Choosability). If G is a graph on n vertices which is not f-choosable but every proper induced subgraph G[A] is f\A-choo.sable, then for every bad list assignment L we have \ U-^(T)I < n- Furthermore, the colors of\jL(v) can be represented by the lists of distinct vertices.
Proof. This proof is porism to the previous one. Again, it suffices to prove the second statement. Let L be a bad list assignment and suppose that the colors (J L(v) cannot be
45

represented by | |jL(w)| distinct vertices By Hallâ€™s Theorem, there is a set of colors T C (J L(v) such that |L_1(T)| < |Tj; let T have minimum size and define A = L~l{T). Then \T\ > 2 and |A| = \T\ â€” 1.
Let c eT. By the minimality of T, we have IT-1^)! > \T'\ for any T C T \ {c}. So by Hallâ€™s Theorem, the vertices in A can be represented by the |H| distinct colors in T \ {c}. Thus G[A] can be properly colored from colors in T \ {c}, and thus G â€” A is not L-colorable. This contradicts the assumption that G â€” A is /|G-n-choosable. â–¡
Conjecture 3.25 (Connected Small Pot Lemma for /-Choosability). If G is a graph on n vertices which is not f-choosable, then there is a connected bad list assignment L such that \um\ < n. Furthermore, the colors of\jL(v) can be represented by the lists of distinct vertices.
Observation 3.26. If L is a bad list assignment such that the colors of\jL(v) can be represented by lists of distinct vertices, then every colorability class A of L has multiplicity at most |A|.
In the development of our tool, we wanted to leverage graph information to help us prune the search space. In particular, if there are any subgraphs which inform the choosability of the entire graph, it could be worthwhile to search for these substructures in a preprocessing step. This led us to the following question.
Question 3.27. Let G be a graph and let / be a list size function on G. For an edge uv not in G, let fuv be defined by fuv{x) := f{x) + 1 for x E {u,v} and by fuv{x) := f{x) otherwise. Can we characterize the G, /, and uv for which G being /-choosable implies that G + uv is /â€œ'-choosable? Can we characterize the G, /, and uv for which G not being /-choosable implies that G + uv is not /â€œ'-choosable?
An example on four vertices shows that neither implication always holds. Let Gi be the paw graph (a triangle uvw with a pendant edge ut) and define f(x) = degGl(x). Let G2 â– = G1 + tv and let G3 := G2 + tw = K4. Since G1 and G3 are Gallai trees, this means that G1 is not /-choosable and G3 is not (/to)tw-choosable. However, G2 is not a Gallai
46

tree and thus is /to-choosable.
Before understanding the usefulness of the Combinatorial Nullstellensatz, we intended to use a connected induced subgraph generator to avoid storing very many subsets in memory and to quickly go between partial list assignments. There are bit-level algorithms for generating all subsets (not just connected ones) in lexicographic order as discussed by Arndt [9] in Sections 1.26 and 8.1, and Karakashian, Choueiry, and Hartke [41] give an algorithm for generating all induced connected subgraphs for a fixed number of vertices. Such techniques can be modified to generate all connected induced subgraphs, which is of independent interest. However, in our tool the impact of vetting the connected induced subgraphs is well worth storing all the remaining subsets.
We also tried to adapt the Quantitative Combinatorial Nullstellensatz [50] for fast application of Corollary 3.5, but in our applications using our backtrack-and-search for the Combinatorial Nullstellensatz was faster.
47

CHAPTER IV
SUBCUBIC PLANAR GRAPHS ARE 7-SQUARE-CHOOSABLE
4.1 Introduction
We begin with the necessary definitions. A proper coloring of a graph G is a function c on V(G) such that c(u) yt c(v) for every edge uv of G. The chromatic number of a graph is the minimum k such that each vertex v can be assigned a color c(v) from the list {1,... ,k} to obtain a proper coloring. A list assignment L on a graph G is a function on V(G) which maps each vertex to a set of colors. Given a function / : V(G) â€”> N, we say that the graph G is f-choosable if for every list assignment L such that \L(v)\ > f(v) for all v G V(G), there exists a proper coloring c of G such that c(v) G L(v) for each v G V(G). We say that a graph is k-choosable if it is /-choosable for the constant list size function f{v) = k. The list chromatic number of a graph is the least k such that the graph is fc-choosable.
The square of a graph G, denoted by G2, is the graph obtained from G by adding edges between pairs of vertices which have distance 2 in G. A graph is called k-square-colorable if its square is fc-colorable and k-square-choosable if its square is fc-choosable. We say that a graph is subcubic if every vertex has degree at most 3, and cubic if every vertex has degree equal to 3. A graph is planar if it can be drawn in the plane without any edge crossings. The girth of a graph is its minimum cycle length.
The focus of this chapter is proving a tight bound for the list chromatic number for squares of subcubic planar graphs. For a survey of coloring planar graphs, including coloring the squares of planar graphs, we refer the reader to [14]. Here we present results related to the squares of subcubic planar graphs.
In [61], Wegner proved that subcubic planar graphs are 8-square-colorable. He also made the following conjecture, which was proved independently by Thomassen [58] and Hartke, Jahanbekam, and Thomas [33].
Theorem 4.1 (Thomassen [58]; Hartke-Jahanbekam-Thomas [33]). Subcubic planar graphs are 7-square-colorable.
48

The graph in Figure 4.1 shows that this bound is tight.
Figure 4.1: An example of a subcubic planar graph which is not 6-square-colorable. The square of the graph is K7.
Without any planarity conditions, Cranston and Kim established an upper bound for the list chromatic number of squares of subcubic graphs.
Theorem 4.2 (Cranston-Kim 2008 [19]). If G is a subcubic connected graph other than the Petersen graph, then G is 8-square-choosable.
Since the square of the Petersen graph is Kw, there is a gap in the list chromatic numbers of squares of subcubic graphs. No subcubic graph has a square for which the list chromatic number is equal to 9. Since the Petersen graph is not planar, we also have the following corollary.
Corollary 4.3. Subcubic planar graphs are 8-square-choosable.
With additional girth conditions, upper bounds for values less than 8 have been shown for the list chromatic number of squares of subcubic graphs.
Theorem 4.4 (Cranston-Kim 2008 [19]). Subcubic planar graphs with girth at least 7 are 7-square-choosable.
Theorem 4.5 (Cranston-Kim 2008 [19]; Flavet 2009 [34]). Subcubic planar graphs with girth at least 9 are 6-square-choosable.
Theorem 4.6 (Borodin-Ivanova 2012 [16]). Subcubic planar graphs with girth at least 12 are 5-square-choosable.
Theorem 4.7 (see Borodin-Ivanova 2012 [15]; Dvorak, et al. 2008 [25]). Subcubic planar graphs with girth at least 2f are f-square-choosable.
49

If a graph contains a 3-vertex, then its square contains a copy of K4. Hence no girth condition can guarantee that subcubic planar graphs are 3-square-choosable. Despite the work in this area, no conjecture was stated about the lowest possible upper bound for subcubic planar graphs with no girth condition. Cranston and Kim did, however, pose the question and point out that it need be asked only for cubic graphs.
Question 4.8 (Cranston-Kim 2008 [19]). Is it true that every subcubic planar graphs is 7-square-choosable?
In this paper, we answer this question in the affirmative. Our result extends the truth of Wegnerâ€™s conjecture to list coloring, improving Corollary 4.3 and Theorem 4.4. Our proof uses discharging with computational methods to verify the reducibility of configurations and the nonnegative final charge.
We have included several appendices to supplement our proof, where the reader can fold the code we used as well. In addition, we have included some discussion to mediate between some of our observations and our programmed implementation. We have also included an expanded list of the reducible configurations from our proof. However, in the interest of space we have omitted any output from our code. For ease of reference, we have listed each of these in Table 4.1.
Table 4.1: Locations of supplemental materials in the appendices.
Source Code for Lemma 4.17 Appendix B
Source Code for Lemma 4.25 Appendix C
Source Code for Lemma 4.33 Appendix D
Source Code for Lemma 4.34 Appendix E
Source Code for checking_realizations .py Appendix F
Discussion of Code Implementation Appendix G
Reducible Configurations for Theorem 4.9 Appendix H
We mention some final notation before beginning our proof. In a plane graph, the length of a face F is the length of its boundary walk, denoted by Â£(F). A face of length k is called a k-face, and a vertex of degree t is called an l-vertex. A (fc+)-face is a face of length at least k, and a (fc_)-face is a face of length at most k. A 7-list-assignment is a list
50

assignment which assigns to each vertex a list of size 7, and a 7-square-coloring of a graph is a proper coloring of the square using colors from {1,..., 7}. For a graph G and a subset of vertices A, we denote by G[A] the subgraph of G induced by A. A subgraph induced by a set of faces and a walk is the graph on the vertices from any of the faces or the walk with the edges from the walk or the boundary walks of any of the faces. For any other standard notation not defined here, we refer the reader to [62],
4.2 Properties of a Minimal Counterexample We prove the following statement via discharging:
Theorem 4.9. Subcubic planar graphs are 7-square-choosable.
When we say that a graph is a minimal counterexample to Theorem 4.9, we mean that it is minimal with respect to the number of vertices.
Observation 4.10. If G is a minimal counterexample to Theorem f.9, then G is cubic and connected.
Proof. If G is disconnected, each component of G can be 7-square-colored from any 7-list-assignment on G, which forms a 7-square-coloring of the entire graph. If v is a 1-vertex of G, then G â€” v can be 7-square-colored from any 7-list-assignment on G â€” v and v can be added back with a color not assigned to any of its neighbors or second neighbors. Since (G â€” v)2 = G2 â€” v, this yields a proper coloring of G2. If v is a 2-vertex of G, then let u and w be the two neighbors of v. Let G' = G + uw â€” v, the graph obtained from G by adding the edge uw if it is not already in G and deleting v. Then G2 â€” v C (G')2. Then G' can be 7-square-colored from any 7-list-assignment on G â€” v and v can be added back with a color not assigned to any of its neighbors or second neighbors in G. This yields a proper coloring of G2. â–¡
Our proof would be greatly simplified if we could show that a minimal counterexample to Theorem 4.9 is 3-connected. However, because color assignments cannot be permuted for an arbitrary list assignment, we are unable to show that a minimal counterexample is even bridgeless. As a result, there are many possibilities for how faces of prescribed lengths
51

might be adjacent to each other in a minimal counterexample.
4.3 What It Means for a Configuration To Be Reducible
As our discharging rules will only exchange charge across edges between adjacent faces, our discharging argument will consider only the lengths of faces adjacent to a specified central face. For our purposes, a configuration describes an adjacency structure among faces in a plane graph, where the facial length list s gives the lengths of faces adjacent to some central face in a cyclic order.
Definition 4.11 (Configuration). A configuration is a set of faces adjacent to a central face such that the lengths of these faces fit a prescribed pattern in cyclic order about the central faceâ€™s boundary walk. We write a configuration as â€œb:sâ€, where b is the central face length and s is an ordering of face lengths (called the facial length list). Characters for b or s come from N U {*}. Characters in s from N correspond to faces in the configuration of that length, while b E N specifies a fixed length for the central face. We will call such faces of specified length specified faces. The wild card character * in s indicates that some face of unspecified length is present in the graph at that point around the central face. If b = *, we call the configuration open and write it simply as â€œsâ€. For our purposes, any facial length list s will begin and end with non-* characters in this paper.1 See Figure 4.2 for examples.
A subcubic plane graph contains a configuration b:s\... st if:
1. there is a face F of length b (or any length when b = *), and
2. there is a walk B = v\... vt+i (where V\,..., vt+\ are vertices, possibly not all distinct) on the boundary of F such that for each i E {1,..., t} the face Si across the edge ViVi+i from F (possibly F itself) has length s* (or any length if s* = *), and
3. no edge of G is traversed twice by B in the same direction. That is, for any distinct i,j E {1,..., t} we have either Vi Vj or ty+i Vj+
The walk B is called the spine of the configuration.
1For configurations with a specified central face length, additional * entries have no effect. However, additional * entries might affect open configurations. The configuration 47*44 is not technically equivalent to 47*44* since the latter excludes the possibility that the central face has length 5. We have no need for using this type of restriction in this paper.
52

Since we will not prescribe any specified face lengths greater than 9 in our configurations, we do not need delimiters to separate the entries of a facial length list and we simply write it as a string.
Figure 4.2: Examples of configurations contained in a subcubic plane graph. The central face is cross-hatched (red), any other specified faces of the configuration are shaded (blue), and the edges of the spine are thicker than the other edges. Top Left: 3:45. Top Right: 6:3*54. Bottom Left: 345. Bottom Right: 4**4.
A configuration can be contained in a cubic plane graph in nonobvious ways. For example, the four subgraphs shown in Figure 4.3 each contain the configuration 8:48485458. In the figure, the facial length list has been indicated around the boundary walk of the central 8-face. The subgraph at the top-left demonstrates the minimal adjacencies among the faces, whereas the other three subgraphs on the right demonstrate how some edges or faces of the configuration might be identified with each other. The other three subgraphs can be obtained from the subgraph at the top-left by identifying vertices. Definition 4.12 (Reducible). A configuration is reducible if it is not contained in any minimal counterexample to Theorem 4.9.
Given that a cubic plane graph can contain a configuration in many different ways,
53

Figure 4.3: Some examples of how the same configuration (8:48485458) might be contained in a graph. The central face is cross-hatched (red), any other specified faces of the configuration are shaded (blue), and the edges of the spine are thicker than the other edges.
showing a configuration to be reducible requires substantial work in some cases. In the next two sections we describe how we show configurations are reducible.
54

4.4 Showing Reducibility
If for any 7-list-assignment, any 7-square-coloring on the vertices outside a configuration can be extended to the vertices in the configuration, then the configuration is reducible. Before presenting some definitions to formalize our approach, we outline a few more details of this idea: Suppose the configuration is contained in a minimal counterexample G, and let A be the set of vertices on the specified faces or spine of the configuration. There are many possibilities for the size and structure of the edges incident to A but not contained in the specified faces or spine of the configuration. For any such possible structure of these edges, the graph G2[A] contains (G[A])2 but might also contain additional edges. For any such structure, there is a natural list size function which accounts for the number of color restrictions imposed on each vertex from outside of A, defined by f(v) := 7 â€” \NG2(v) \ A| for each v E A. If G2[A] is /-choosable, then any 7-square-coloring of G â€” A extends to A under any 7-list-assignment. So if G2[A] is /-choosable for each possible structure of edges incident to A, then the configuration is reducible. These ideas are formalized in Lemma 4.16.
We use the term realization to describe a possibility for the structure of A and its incident edges as described above. In other words, a realization is some possible embedding of the configuration along with some possible neighborhood structure.
Definition 4.13 (Realization, Core Subgraph, Stem Structure). Suppose G is a subcubic plane graph containing a given configuration, and let J be the subgraph of G induced by the specified faces and spine of the configuration. Then the subgraph H of G induced by the edges incident to any vertices of J is a realization of the configuration, and the subgraph J itself is called the core subgraph of the realization H. The set of edges of H not in J is called the stem structure of the realization H. The vertices of H in J are called core vertices, and the vertices of H not in J are called stems. A core vertex which has degree 2
55

in J is called a root. See Figure 4.4 for examples.
Figure 4.4: Three realizations of 3:45 with the same core subgraph. The central face is cross-hatched (red), any other specified faces of the configuration are shaded (blue), the edges of the spine are thicker than the other edges, the core vertices are filled circles, the stems are hollow circles, and the edges of the stem structure are dotted. Since each realization has the same core subgraph, each has three roots (despite the realization on the right having only one stem adjacent to one core vertex).
Observation 4.14. If a configuration is contained in a minimal counterexample to Theorem f.9, then the core subgraph of the configuration in the graph has minimum degree at least 2.
Proof. Because configurations require vertices to be connected via the faces and spine of the configuration, the core subgraph has no isolated vertices. Because the specified faces of the core subgraph are faces of a cubic plane graph by Observation 4.10, there is no 1-vertex in the interior of the specified faces. For the same reason, if the configuration is open then the internal vertices of the spine cannot be 1-vertices. By definition of a configuration, the first and last faces of an open configuration are specified and thus the endpoints of the spine are also not 1-vertices. â–¡
As we have described above, the /-choosability of all realizations (where / depends on each realization) is a sufficient condition for reducibility of a configuration. For each realization, an appropriate list size function on the core vertices can be calculated by counting the possible restrictions from outside the core vertices.
Definition 4.15 (Restriction Index, Core-Choosable). Consider a realization H with core
56

vertices A. For each core vertex v and i G {1, 2, 3}, let 7i(v) be the number of steins adjacent to v which have degree i in H. Also let r(f) be the number of stems at distance 2 from v in H. Then for each core vertex v, the restriction index of v is defined by restf(u) := 371(f) + 272(1â€™) + 73(f) + r(f). See Figure 4.5 for an example. If the graph H2[A] is (7 â€” resjj)-choosable, then we say that the realization is core-choosable.
1
Figure 4.5: A realization H of 3:57 which includes a stem of degree 1 in H, a stem of
degree 2 in H, and a stem of degree 3 in H. The value of resjj(f) is placed next to each core vertex v. The central face is cross-hatched (red), any other specified faces of the configuration are shaded (blue), the cores are filled circles, and the stems are hollow circles. Parts of any potential remaining edges from the stems not to core vertices are also shown.
The function 7 â€” res# maps each core vertex to the minimum number of eligible colors remaining after the rest of the graph outside the core vertices A is precolored. The function restf(f) counts the maximum number of vertices which are not in A within distance 2 of v in G over all cubic graphs G containing the realization H. By Observation 4.14, a core vertex is adjacent to at most one stem, so 71(f) + 72(f) + 73(f) A 1 for any core vertex v.
If a root is adjacent to a stem of degree 1 in H, then the stem may have two additional neighbors outside H within distance 2 of the root. If a root is adjacent to a stem of degree 2 in H, then the stem may have one additional neighbor outside H within distance 2 of the root. If a root is adjacent to a stem of degree 3 in H, then the stem has no neighbors outside H. In addition to any second-neighbors through stems, any core vertex could also
57

have second-neighbors which are steins in the realization.
Lemma 4.16. Given a configuration, if every realization which can appear in a minimal counterexample to Theorem f.9 is core-choosable, then the configuration is reducible.
Proof. Suppose a configuration occurs in a minimal counterexample to Theorem 4.9, say G. Then G contains a realization H of the configuration, with core vertices A. Now consider any 7-list-assignment L on G such that G2 is not L-colorable. By the minimality of G, there is a proper L|G_^-coloring c on (G â€” A)2. Since G[A] contains the core subgraph of H, by Observation 4.14 G[A] has minimum degree at least 2. Hence, we have G2 â€” A = (G â€” A)2. Thus, c is a proper L|G_^-coloring on G2 â€” A.
Define L' on A by removing any colors received by first- and second-neighbors in G. That is, define L'{v) := L{v) \ c(^NG^{v) \ A^j for each v E A. Since c(Ng2(v) \ Aj < restf(u), we have \L'(v)\ > 7 â€” res#(i') for each v E A. Since H is core-choosable, we have that G2[A] = H2[A] is L'-colorable. Therefore c extends to a proper L-coloring of G2, contradicting our choice of G and L. â–¡
Some realizations are redundant to check for core-choosability. In particular, consider realizations with stems whose roots are within distance 2 of each other through the core subgraph. Such a realization must be core-choosable if a corresponding realization without such stems is core-choosable. See Figure 4.6 for an example. However, our computations are tractable without this observation and we omit it for the sake of simplicity.
Figure 4.6: Two realizations of 3:57. The realization on the left has a stem whose roots are close in the core subgraph (either the middle stem or the right stem has roots which are all within distance 2 through the core subgraph). If the realization on the right is core-choosable, then the realization on the left is also core-choosable.
58

Next, we observe some information about small faces which will be useful for our computations.
Lemma 4.17. If F is a face in a minimal counterexample to Theorem f.9 such that Â£(F) < 9, then the boundary walk of F is a cycle.
Proof. Let v0, ip,..., vt be the closed boundary walk of F with v0 = vtl and suppose it is not a cycle. So let Vi = iy be a repeated vertex on the walk with 0 < i < j. Since v has degree 3, either i\_i = Vj+\ or vi+i = Vj_i (with indices considered modulo t). Without loss of generality, let vi+i = Vj_Let Ai = {vk : k < i or j < k} and A2 = {vk â–  i < k < j}. See Figure 4.7 for an illustration. Observe that Â£(F) > 2 + + \ A2\.
Figure 4.7: In this drawing, the face F is cross-hatched (red). The vertices in A\ are indicated with open diamonds, and those in A2 with solid triangles.
Since the graph is cubic and simple, we have \Af > 3 for each i e {1,2}. If Â£(F) = 8, then |Ail = \A2\ = 3 and the boundary walk forms two 3-cycles connected by an edge. If Â£(F) = 9, then \Af = 3 and |A3_j| = 4 for some i G {1, 2} and the boundary walk forms a 3-cycle and a 4-cycle connected by an edge. See Figure 4.8 for drawings of these cases. Because we have such specific structure for the face F in these cases, we may apply the reasoning in this section and calculate a restriction index function on the vertices of F for each possible stem structure outside of F. If each resulting realization is core-choosable, then these structures contradict the minimality of the graph. Although these 13
59

realizations could be shown core-choosable by hand, we omit these proofs for ease of reading and verify them by computer.2 â–¡
Figure 4.8: Left: The structure of F in the cases Â£(F) = 8 (left) and Â£(F) = 9 (right). The stems are shown as hollow circles with dashed edges, and could possibly be identified with each other or be replaced by root-to-root edges in the non-F regions to obtain different realizations.
Finally, we present the list of configurations which we will show to be reducible and use in our discharging argument.
Definition 4.18. We refer to the 76 configurations listed in Table 4.2 as the target set, denoted by C.
As we show via discharging, Theorem 4.9 is true if all configurations in C are reducible.
4.5 Generating Realizations for Configurations
We generate all the possible realizations for a configuration in two stages: first the core subgraphs, and then for each core subgraph among the 2-vertices we generate any edges and stems outside of the specified faces. For each configuration, there is a core subgraph which minimizes the shared edges among the specified faces and the spine. We call this graph the natural core subgraph of the configuration.
Definition 4.19 (Natural Core Subgraph). Consider a configuration b:s\... st. For each s* not equal to *, let C* = v\ ... vf be a cycle of length s*. If b = *, let C0 = Vq ... if+1 be a path of length t; otherwise, let Co = Vq â–  â–  â–  tâ€™o be a cycle of length b. We consider each Ci as
2Coincidentally, each of these realizations are later checked when showing the reducibility of the configurations 3*3 and 3*4. However, we check the realizations for Lemma 4.17 separately so that we can apply the lemma to our computations for configurations later.
60

33 3*555 4*5555 5:555 5:6*66 8:35****5
3*3 36 456 5:556 7:3**4 8:3*55*55
3**3 356 535 5:565 7:3**5 8:45**4
3***3 44 555555 5:566 7:4**4 8:455*5
3**5*3 454 546 5:575 7:4*55 8:4*5*4*4
34 464 3:57 5:656 7:4**55 9:3**4
3*4 474 4:55 5:666 7:4*5**5 9:3***4
35*4 4*54 4:56 5:4*55 7:55*5 9:35*5
3*54 4*55*4 4:57 5:5*65 8:3**4 9:455*4
3**54 4*555*4 4:66 5:5585 8:3***4 9:455*5
3***54 4*4*4*4 4:585 5:5*66 8:35*5 9:545*5
355 4*45 4:676 5:55*6 8:35**5
375 4555 4:686 5:56*6 8:35***5
Table 4.2: The 76 reducible configurations used to prove Theorem 4.9. Each configuration is hyperlinked to a corresponding entry in the Appendix with more details.
a plane graph such that the vertices are in clockwise order. See Figure 4.9 (left) for an example. The natural core subgraph of the configuration b:si... st is the graph obtained from the following identifications:3
1. For each s* not equal to *, the two vertices vl0)v] are identified with each other and the two vertices Vq+1,v^ are identified with each other. So Ci and C0 share an edge.
2. For each i such that both si} si+i yt the two vertices vp_1,vf+1 are identified with each other. So the cycles C) and Ci+\ which are adjacent around the central face share an edge with one endpoint on the spine.
3. For each 2 < i < t such that Si = 3 and both Sj_i, Sj+i yt the two vertices vsiCiâ€˜, vf+l are identified with each other. So two cycles Ci-\ and Ci+1 which are adjacent to a common 3-cycle Ci around the central face share an edge with one endpoint on Ci.
Although the natural core subgraph of a configuration is not the only possible core subgraph which can appear in a cubic plane graph, it is the starting point for Ending any unexpected ways the configuration can appear. See Figure 4.10 for an example.
3Using modular arithmetic if necessary for configurations with specified central face lengths: if i = t = b, then let i + 1 := 1.
61

Figure 4.9: Left: For the configuration 535, we can initially think of disjoint pieces Co, Ci, C-2, C3.
Right: The natural core subgraph for the configuration 535 is obtained by the identification classes
^i1}, v\ > {b
r'.
}> {bn *h}, TO, TO bW TO vl {^31-
Observation 4.20 (Core subgraphs are obtained from the natural core subgraph). The natural core subgraph enforces only the necessary conditions for a configuration to be contained in a subcubic plane graph. Thus any core subgraph for a configuration can be obtained from the configuration s natural core subgraph via identification of vertices.
So core subgraphs of a configuration can be generated from vertex identifications of the natural core subgraph. Flowever, not all identifications yield core subgraphs. Some identifications result in (i) vertex degree greater than 3, (ii) vertex degree less than 3, (in) loss of specified faces, (iv) loss of planarity, or (v) structures that do not appear in a minimal counterexample to Theorem 4.9. Additionally, the number of identifications grows quickly with the number of vertices in the natural core subgraph. To more efficiently generate core subgraphs via identification for the configurations in the target set C, we make some further observations. First we observe which vertex identifications result in subgraphs which cannot appear in a minimal counterexample to Theorem 4.9. Observation 4.21 (We can forbid the identification of vertices on the same specified face). Consider a configuration in the target set C and suppose it appears in a minimal
62

Figure 4.10: Left: The natural core subgraph of the configuration 8:4*5*4*4. Right: An â€œunnaturalâ€ core subgraph for 8:4*5*4*4 obtained from the natural core subgraph by identifying some vertices.
counterexample to Theorem 4.9. By Observation 4-20, the core subgraph of the realization can be obtained from the natural core subgraph of the configuration by identification of vertices. By Lemma 4-U, no two vertices of a specified face of the natural core subgraph are in the same identification class.
We use Observation 4.21 in our computation to reduce the number of identifications generated. Some open configurations have lengthy spines, and we benefit from forbidding a few identifications among these vertices as well.
Observation 4.22 (We can forbid some vertex identifications on an open spine). Consider an open configuration S\... st in the target set C and suppose it appears in a minimal counterexample to Theorem 4-9 with a spine Uq, ..., tâ€™o+1. Then v3q Vq for any j, k E {1,..., t + 1} such that 1 < |A: â€” j\ < 2 because the graph has no loops or 1-vertices. Furthermore, if 2 < j 63

If some configurations in the target set are known to be reducible, then a closer inspection of the open configurations in the target set shows that Observation 4.21 can be extended to open spines in C as well. This would be stronger than Observation 4.22. However, our computations are tractable with only Observation 4.22 and we omit our stronger observation for the sake of simplicity.
Having cut down the number of identifications which need to be generated, we now observe further filters which can help sift for core subgraphs of a realization.
Observation 4.23 (Necessary conditions for an identification to yield a core subgraph). Let J be a graph formed by the identification of vertices from the natural core subgraph of a configuration. If the configuration has an open spine v) ... v(+1 and in J the vertices v) and vl+1 are not identified, then let J' := J + vlfiffi1. Otherwise, let J' := J. If J is a core subgraph of the configuration that appears in a minimal counterexample to Theorem f.9, then J and J' have the following properties:
1. The graph J is subcubic.
2. The graph J' has a plane embedding such that for each initial list Ci from the natural core subgraph (including Co), the vertices of Ci appear in order as the boundary walk of some face. Call any such faces of J' the fixed faces. (Different Ciâ€™s might be the boundary walk of the same fixed face.)
3. Any 2-vertex of J' is on at most one fixed face (and is on the boundary walk of that face at most once), since otherwise the host graph would not be cubic or would not have the specified face lengths prescribed by the configuration. In fact, every 2-vertex of J' is on exactly one fixed face since every vertex in the natural core subgraph is on a specified face or the spine.
See Figure 4.11 for examples of identifications which violates the conditions given in Observation 4.23.
64

Figure 4.11: Examples showing that the conditions in Observation 4.23 are necessary.
Top: The natural core subgraph for 3**3, with vertices relabeled v\,..., v-. The spine edges are bold, the specified faces are blude (shaded), and the central face is red (cross-hatched). Across each spine edge is the entry from the facial length list.
Middle-Left: The graph J obtained from the identification classes {t'l}, {Vâ€˜2, ve}, {t's}, {t'4}, {tâ€™5}, {t'7}. This graph fails to be subcubic.
Middle-Right: The graph J' obtained from the identification classes
{i'i, Es}, {Vâ€˜2, v-}, {v%}, {tâ€™4}, {ty}. This graph fails to have the spineâ€™s vertices
appear in order as the boundary walk of a face.
Bottom-Left: The graph Jâ€™ obtained from the identification classes {i'i, V7}, {Vâ€˜2, tâ€™4, ve}, {t',3}, {t'5}. This graph traps two 2-vertices (i'3 and V5) between two faces.
Bottom-Right: The graph J1 obtained from the identification classes {i'i, ty}, {Vâ€˜2, ty}, {}, {U4}, {tâ€™5}. This graph meets the conditions of Observation 4.23 and is a core subgraph of 3**3.
65

The observations made so far will help generate the core subgraphs of a configuration. Given a core subgraph, we can then generate stem structures to obtain the realizations of the configuration which have the desired core subgraph.
Observation 4.24 (Generating stem structures). Let J be a core subgraph of a configuration, and let R be the set of 2-vertices of J. Call the faces of J which are not specified faces of the configuration the open regions of J. Suppose H is a realization of the configuration which has J as its core subgraph and H appears in a minimal counterexample to Theorem 4.9. Then H can be obtained from J by plane embedding the following objects in the open regions of J such that each vertex in R is incident to exactly one of the following objects:
â€¢ an edge with both endpoints in R,
â€¢ a new vertex (stem) adjacent to one vertex in R,
â€¢ a new vertex (stem) adjacent to two vertices in R, or
â€¢ a new vertex (stem) adjacent to three vertices in R.
Our observations allow us to generate all relevant realizations of configurations from the target set C. By inspecting each of these realization, we show that the configurations are reducible.
Lemma 4.25. Each configuration in the target set C is reducible.
Proof. For each configuration from the target set C, we generated all identifications of the vertices from the natural core subgraph except for those described in Observation 4.21 and Observation 4.22. For each of the graphs obtained from these identifications, we checked the conditions of Observation 4.23. For each resulting graph which met these conditions, we generated each possible stem structure as described in Observation 4.24. Call the set of all of the resulting graphs from our generation EL. By our observations, if a configuration from the target set appears in a minimal counterexample to Theorem 4.9 as a realization H, then H E EL.
Using the choosability program discussed in Chapter III, we checked every H E EL
66

by computer and found that each is core-choosable. Therefore, by Lemma 4.16 no
configuration in the target set C can appear in a minimal counterexample to
Theorem 4.9. â–¡
In the introductory section of this chapter, Table 4.1 lists the locations for appendices relating to our computation in Lemma 4.25.
4.6 Discussion of the Target Set
The purpose of the target set is two-fold: to show that small faces in a minimal counterexample (length less than 6) must be adjacent to some bigger faces (length more than 6), and to show that bigger faces are not adjacent to too many small faces. In trying to find a target set that would suit the needs of the discharging argument, there were several original candidates which seemed hopeful but upon inspection could not be shown to be reducible via core-choosability. For example, the configurations 35, 455, 5:56, and 5:66 would have greatly simplified the target set and the discharging proof. However, each of these has at least one realization which is not core-choosable. We replaced these configurations with many more larger configurations which we showed to be reducible and were sufficient for completing the proof. Another hopeful configuration was 7:4*5*5, but this configuration could not be replaced with larger configurations using our discharging rules. Instead, we deal with the occurrence of 7:4*5*5 separately in our argument via Lemma 4.34.
When using reducible configurations to observe the structure of a minimal counterexample, it is helpful to keep in mind that some different ways of writing configurations yield the same structure. For example, the ordering of face lengths around a central face can be reversed, and when there is a small number of specified faces there might be more than one option for the central face. Table 4.3 describes these equivalencies.
67

Table 4.3: Descriptions of equivalent configurations.
Description Equivalent Configurations
Reverse order around a central face b:si...st, b:st...si
Two adjacent faces b:k, bk, k:b
Three faces with a common vertex b:km, k:bm, m:bk
Four faces around an edge b:kmn, rrv.kbn
Two faces adjacent around a triangle b3k, 3 :bk
When referencing a reducible configuration in our arguments, we will always use the expression listed in Table 4.2 instead of any equivalent expressions which can be obtained by the alternative descriptions in Table 4.3.
4.7 Discharging
We now prove Theorem 4.9. Let G be a minimal counterexample with some fixed plane embedding. By Observation 4.10, G is cubic and connected. We assign initial charge to the vertices and faces of G according to the face-charging scheme: assign to each face F a charge of Â£(F) â€” 6 and to each vertex v a charge of 2deg(w) â€” 6. A routine observation of Eulerâ€™s Theorem gives the total initial charge of G.
Observation 4.26. The total charge of any plane embedding of G is â€”12.
Proof. Using Observation 4.10, we have that any plane embedding of G is connected and cubic. Consider a fixed plane embedding of G, and denote by F(G) the faces of G in this embedding. We will use Eulerâ€™s Formula for connected graphs:
|U(G)| â€” \E(G)\ + |-U(G)| = 2. Now, observe that '^2Fe^G'jk(F) = 2|E(G)| since each edge
is counted twice by the boundary walks of faces. Also observe that
3|D(G)| = J2vÂ£V(g) deg(w) = 2\E(G)\ since G is cubic and every edge is counted twice by
68

the degrees of the vertices. Hence
Total Charge = E w-6
feT(G)
= 2\E(G)\ â€” 6\Jr(G)\
= -6\V(G)\+6\E(G)\-6\T(G)\
= -12. â–¡
Since G is cubic, the charge of each vertex is 0. To contradict the existence of G, we move the charge between the small faces and larger faces so that the final charge on every face of G is nonnegative and so that the total charge is retained.
We will have each (5_)-face take whatever charge it needs equally from its neighboring (7+)-faces. We make this rule explicit by listing cases below. As we show in Lemma 4.28, each (5_)-face in G is adjacent to at least two (7+)-faces. Apply the discharging rules in Table 4.4 to G.
Table 4.4: The Discharging Rules.
1. Every 3-face takes
(a) 1 charge from each adjacent (7+)-face if it has exactly three adjacent (7+)-faces.
(b) 3/2 charge from each adjacent (7+)-face if it has exactly two adjacent (7+)-faces.
2. Every 4-face takes
(a) 1/2 charge from each adjacent (7+)-face if it has exactly four adjacent (7+)-faces.
(b) 2/3 charge from each adjacent (7+)-face if it has exactly three adjacent (7+)-faces.
(c) 1 charge from each adjacent (7+)-face if it has exactly two adjacent (7+)-faces.
3. Every 5-face takes
(a) 1/5 charge from each adjacent (7+)-face if it has exactly five adjacent (7+)-faces.
(b) 1/4 charge from each adjacent (7+)-face if it has exactly four adjacent (7+)-faces.
(c) 1/3 charge from each adjacent (7+)-face if it has exactly three adjacent (7+)-faces.
(d) 1/2 charge from each adjacent (7+)-face if it has exactly two adjacent (7+)-faces.
Observation 4.27. Since every vertex and 6-face started with 0 charge and exchanged no charge, every vertex and 6-face has nonnegative final charge.
Before proceeding with structural observations, it is important to discuss what we
69

mean by â€œadjacentâ€ faces in this section so that it is understood precisely how charge is exchanged. If a small face shares more than one edge with a large face, then the small face takes the prescribed amount of charge from the large face across each edge. So a single face of G might be â€œadjacentâ€ to another face more than once. Whenever we count and exchange charge with adjacent faces in this section, we do so with multiplicity. See Figure 4.12 for an example. As another example, the two nonconsecutive (9+)-faces adjacent to a 4-face as described in Lemma 4.28(2) might be the same face. In that case the (9+)-face would share two edges with the 4-face, and these two edges would be nonconsecutive on the boundary walk of the 4-face.
Figure 4.12: The charge pulled by the 4-face is determined by the length of the adjacent faces: A 5-face, an 8-face (twice, counting multiplicity), and a 7-face. The charge pulled by the 4-face falls into Rule 2b because it is adjacent to exactly three (7+)-faces (counting multiplicity).
Lemma 4.28. In the minimal counterexample G, each of the following are true.
1. If a 3-face is adjacent to a (6~)-face, then it is adjacent to exactly two (8+)-face,s.
2. If a f-face is adjacent to two (6~)-faces, then it is adjacent to exactly two nonconsecutive (9+)-face,s.
70

3. If a 5-face is adjacent to three (6~)-faces, then it is adjacent to exactly two (9+)-faces. Proof. In the following cases, suppose si < Si for all i and also that si < 6.
1. Let S1S2S3 be the sequence of face lengths around a 3-face in G. Because 33, 34, and 36 are reducible, we have si = 5. Because 535 and 3:57 are reducible, we have
52, S3 > 8.
2. Let sis2s3s4 be the sequence of face lengths around a 4-face in G, and suppose Si < 6. Because 34 and 44 are reducible, we have s* > 5 for all i G {I, 2, 3,4}. If Si = 5, then we have s2, s4 > 8 because 4:55, 4:56, and 4:57 are reducible. Then if s3 < 6, then we have s3 = 5 because 546 is reducible, and then we may conclude s2, s4 > 9 because 4:585 is reducible. If s4 = 6, then if s3 = 6 we may conclude s2,s4 > 9 because 4:66, 4:676 and 4:686 are reducible.
3. Let S1S2S3SZ1S5 be the sequence of face lengths around a 5-face in G, and suppose
si < 6.
Case 1: si = 3. Since 33, 3*3, 34, and 3*4 are reducible, we have s* > 5 for all i G {2, 3, 4, 5}. Since 535 and 36 are reducible, we have s* > 7 for i G {2, 5}. Since 355 and 356 are reducible, we have s* > 7 for i G {3, 4}. So the 5-face is not adjacent to three (6_)-faces.
Case 2: si = 4. Since 44, 4:55, and 4:56 are reducible, we have s2, s5 > 7. Since 454 and 5:4*55 are reducible, we have s^ > 6 for some k G {3, 4}. Since 456 is reducible, we have s^ > 7. So the 5-face is not adjacent to three (6_)-faces.
Case 3: si = 5. Since 5:555 is reducible, at most three face lengths are 5 (and not three consecutive ones).
Case 3a: Exactly three face lengths are 5. Without loss of generality, suppose si = S3 = s4 = 5 and s2, S5 > 6. Since 5:565 and 5:575 are reducible, we have s2, S5 > 8. Since 5:5585 is reducible, we have s2,S5 > 9.
Case 3b: Exactly two face lengths are 5. First suppose si = s2 = 5 and
53, s4, S5 > 6. Since 5:556 and 5:55*6 are reducible, we have S3, s4, S5 > 7. So the
71

5-face is not adjacent to three (6_)-faces. Now suppose instead that si = S3 = 5 and Â£2, Â£4, Â£5 > 6. Since 5:565 and 5:5*65 are reducible, we have Â£2,34,85 > 7. So the 5-face is not adjacent to three (6_)-faces.
Case 3c: Exactly one face length is 5. So si = 5 and Si > 6 for i E {2, 3, 4, 5}. Since 5:656 is reducible, we may suppose s2 > 7. Since 5:5*66 is reducible, we have that Sk > 7 for some k E {3, 4}. First suppose k = 3; then one of s4, Â£5 is at least 7 since 5:566 is reducible. Now suppose instead that k = 4; then one of s3, Â£5 is at least 7 since 5:56*6 is reducible. So the 5-face is not adjacent to three (6_)-faces.
Case 4: Â£4 = 6. Since 5:666 is reducible, at most three face lengths are 6 (and not three consecutive ones). Since 5:6*66 is reducible, we actually have that at most two face lengths are 6. So the 5-face is not adjacent to three (6_)-faces. â–¡
By Lemma 4.28, each (5_)-face has at least two adjacent (7+)-faces. Therefore, the Discharging Rules show that every (5_)-face pulls exactly the charge it needs from surrounding faces.
Corollary 4.29. In the minimal counterexample G, every (5~)-face has nonnegative final charge.
To show that bigger faces have nonnegative final charge, we first determine how much charge a small face might pull from them.
Lemma 4.30. Let abkcd be five consecutive entries from the facial length list around a (7 +)-face F in the minimal counterexample G, and let F' be the face represented by the entry k. See Figure f.13.
1. Suppose k = 3. If b = 5 or c = 5, then F' pulls 3/2 charge from F. Otherwise, F' pulls 1 charge from F.
2. Suppose k = 4. If a = 4 or d = 4 or Â£(F) < 9, then F' pulls at most 2/3 charge from
F. Otherwise, F' pulls at most 1 charge from F.
3. Suppose k = 5. If b = 3 or c= 3, then F pulls at most 1/4 charge from F'.
Otherwise if b / 5 or c/ 5 or 1(F) < 9, then F' pulls at most 1/3 charge from F.
72

Otherwise, F' pulls at most 1/2 charge from F.
Figure 4.13: The layout of faces considered in Lemma 4.30.
Proof. 1. If b = 5 or c = 5, then by Lemma 4.28.1 and Rule lb the 3-face pulls 3/2 charge. Otherwise, since 33, 34, and 36 are reducible, we have 6,c, 6(F) > 7 and by Rule la the 3-face pulls 1 charge.
2. If a = 4 or d = 4, since 34, 44, 454, and 464 are reducible we have b > 7 or c > 7. Since 6(F) > 7 as well, by Lemma 4.28.2 the 4-face F' is adjacent to at least three (7+)-faces. Similarly, if 6(F) < 9, then by Lemma 4.28.2 the 4-face F' is adjacent to at least three (7+)-faces. In either of these cases, by Rules 2a,2b, the 4-face pulls at most 2/3 charge. Otherwise, by Rules 2a,2b,2c, the 4-face pulls at most 1 charge.
3. Let q, r be the other two facial lengths around F', so that the facial length list of F' is c.,Â£(F),b,q,r. See Figure 4.14. If b = 3 or c = 3, then since 33, 3*3, 34, 3*4, 535, 355, 36, and 356 are reducible, we have that 6(F), q, r and one of b or c are at least 7. So by Rule 3b, the 5-face F' pulls at most 1/4 charge from F.
So suppose 6, c > 4, and also b / 5 or c / 5. If b = 4 or c = 4, then without loss of generality suppose 6 = 4. Since 34, 3*4, 44, 454, 4:55, and 4:56 are reducible, we have q > 7 and r, c > 5. Since 5:4*55 and 456 are reducible, at least one of r, c is at least 7. So by Rules 3b,3c, the 5-face F' pulls at most 1/3 charge from F.
So suppose 6, c > 5, and also 6 / 5 or c / 5. If 6 = 6 or c = 6, then without loss of generality suppose 6 = 6. Since 36, 356, 4:56, and 456 are reducible, we have q,r > 5. Since 5:556, 5:566, 5:656, and 5:666 are reducible, one of q, r is at least 7. Since
73

Figure 4.14: Case 3 of Lemma 4.30.
5:5*65, 5:5*66, 5:56*6, and 5:6*66 are reducible, one of q,c is at least 7. Since 5:55*6, 5:56*6, and 5:6*66 are reducible, one of r, c is at least 7. Since each pair from q, r, c must have at least one member be at least 7, two of q, r, c must be at least 7. So by Rules 3b,3c, the 5-face F' pulls at most 1/3 charge from F.
Also if both b,c > 7, then by Rules 3a,3b,3c, the 5-face F' pulls at most 1/3 charge from F.
So without loss of generality suppose b > 7 and c = 5. Then since 535, 355, and 4:55 are reducible, we have q > 4 and r > 5. If q = 4, then since 4:55 and 4:56 are reducible we have r > 7. If ty > 5, then since 5:555, 5:556, 5:565, 5:566 are reducible we have that one of q, r is at least 7. So in either case, by Rules 3b,3c, the 5-face F' pulls at most 1/3 charge from F.
Now suppose Â£(F) < 9. Then by Lemma 4.28.3, the 5-face F' is adjacent to at least three (7+)-faces. So by Rules 3a,3b,3c, the 5-face F' pulls at most 1/3 charge from F. Otherwise, by Rules 3a,3b,3c,3d, the 5-face F' pulls at most 1/2 charge. â–¡
Having observed what charge can be pulled from larger faces, we now consider the ways in which small faces can appear around faces. With the bounds from Lemma 4.30, we then calculate bounds on the charge pulled from these blocks of (5_)-faces.
Lemma 4.31. Consider any central face in the minimal counterexample G and a nonempty sublist of consecutive face lengths around this central face. If the elements of the sublist are all in {3,4,5}, then the sublist is given in Table f.5.
74

Table 4.5: The 17 possible sublists of small faces around a central face in G.
3 35 4 45 455 5 53 54 545 5455
55 554 5545 55455 555 5555 55555
Proof. Consider any nonempty sublist of consecutive face lengths around the central face such that all entries are in {3,4,5}. We directly inspect all possibilities for this sublist.
Assume the first entry is of the sublist 3. Since 33, 34, and 36 are reducible, either the sublist is 3 or the second entry is 5. Suppose the second entry is 5. Since 3*3, 3*4, and 355 are reducible, the sublist is 35.
Assume the first entry is of the sublist 4. Since 34 and 44 are reducible, either the sublist is 4 or the second entry is 5. Suppose the second entry is 5. Since 3*4 and 454 are reducible, either the sublist is 45 or the third entry is 5. Suppose the third entry is 5. Since 3*54, 4*54, and 4555 are reducible, the sublist is 455.
Assume the first entry is of the sublist 5. Either the sublist is 5, or the second entry is 3, 4, or 5.
Suppose the second entry is 3. Then since 33, 34, and 535 are reducible, the sublist is 53.
Now instead, suppose the second entry is 4. Then since 34 and 44 are reducible, the sublist is 54 or the third entry is 5. Suppose the third entry is 5. Then since 3*4 and 454 are reducible, the sublist is 545 or the fourth entry is 5. Suppose the fourth entry is 5. Then since 3*54, 4*54, and 4555 are reducible, the sublist is 5455.
Now instead, suppose the second entry is 5. Since 355 is reducible, either the sublist is 55, or the third entry is 4 or 5.
First suppose the third entry is 4. Then since 34 and 44 are reducible, the sublist is 554 or the fourth entry is 5. Suppose the fourth entry is 5. Then since 3*4 and 454 are reducible, the sublist is 5545 or the fifth entry is 5. Suppose the fifth entry is 5. The since 3*54, 4*54, and 4555 are reducible, the sublist is 55455.
Second suppose the third entry is 5. Since 355 and 4555 are reducible, any remaining
75

entries in the sublist are 5s. Since 555555 is reducible, the sublist is 555, 5555, or 55555. â–¡
By Lemma 4.31, we can describe a family of facial length lists with sublists from Table 4.5 along with the character â€œ(6+)â€ to represent any entries not in {3,4,5}.
Lemma 4.32. In the minimal counterexample G, every (15+)-/ace has nonnegative final charge.
Proof. Let F be a (15+)-face of G and consider the facial length list around F. The entries of the facial length list from {3,4,5} can be grouped into maximal sublists of consecutive entries called blocks, so that any two blocks are separated by at least one (6+). By Lemma 4.31, any block must appear in the first row of Table 4.6 (reversals are paired together). Listed below each block is an upper bound on the total charge the faces of the block together pull from the central (15+)-face F. For the block 3, the total charge pulled is 1 by Lemma 4.30.1 since the entries preceding and succeeding the 3 in the facial length list are both at least 6. For the block 35, the charge pulled by the 3-face is 3/2 by Lemma 4.30.1 and the charge pulled by the 5-face is 1/4 by Lemma 4.30.3. The remaining upper bounds are calculated by simply adding 1 for each 4 and 1/2 for each 5 (the maximum charge pulled by each according to the discharging rules rather than the bounds given in Lemma 4.30).
Table 4.6: Possible blocks of small faces around a central (15+)-face in G, along with upper bounds on the collective charge pulled by each block and upper bounds on the average charge pulled from the block and the edge following the block.
Block: 3 35 53 4 45 54 455 554 5 545
Total Pulled <: 1 7/4 1 3/2 2 1/2 2
Average Pulled <: 1/2 7/12 1/2 1/2 1/2 1/4 1/2
Block: 5455 5545 55 55455 555 5555 55555
Total Pulled <: 5/2 1 3 3/2 2 5/2
Average Pulled <: 1/2 1/3 1/2 3/8 2/5 5/12
Since the length of F is longer than the length of any block, any block in the facial length list of F is followed by at least one (6+). So the average charge pulled across the
76

edges of a block and the edge following the block is at most the â€œTotal Pulledâ€ bound divided by 1 more than the length of the block. This resulting bound on â€œAverage Pulledâ€ is also listed for each block in Table 4.6. Since each of these averages is at most 7/12, the total charge pulled from F is at most ^ â€¢ Â£(F) = Â£(F) â€” j^Â£(F) < Â£{F) â€” ^ < Â£(F) ~ 6.
Therefore, F has nonnegative final charge. â–¡
To complete our proof of Theorem 4.9, we show that every face of the minimal counterexample G with length between 7 and 14 has nonnegative final charge. Using Lemma 4.31, we inspect all possible families of facial length lists around a central face of length between 7 and 14. Using Lemma 4.30, we are able to show in Lemma 4.33 that the central face has nonnegative final charge for all but one of these families. The bounds provided in Lemma 4.30 are not strong enough for this one exceptional configuration. In Lemma 4.34, we inspect this exceptional configuration more closely by considering faces around the configuration to show that the central face indeed has nonnegative final charge as well.
Lemma 4.33. Suppose F is a face of the minimal counterexample G with length between 7 and If. If F is not a 7-face with facial length list 4(6+)5(6+)5(6+)(6+); then F has nonnegatiue final charge.
Proof. All the possible facial length lists of F can be generated as lists of length Â£(F) composed of sublists from Table 4.5 each followed by at least one â€œ(6+)â€. Each of these families of facial length lists can be checked to see if a reducible configuration from the target set C occurs among the central face and any surrounding (5_)-faces. We used a computer to generate all facial length lists for central faces with length between 7 and 14 and which have no configurations from C. For all the resulting lists, we calculated a lower bound on the central faceâ€™s final charge by summing the upper bounds on charge pulled by the surrounding (5_)-faces as given by Lemma 4.30. With only the one exception of 4(6+)5(6+)5(6+)(6+) around a 7-face, the lower bound on the central faceâ€™s final charge is nonnegative for each facial length list. â–¡
77

Because one configuration not ruled out by the target set has a negative lower bound on the final charge of its central, we need additional reducible configurations beyond the target set. Because some of these configurations do not fit the same description as those in the target set, we deal with them separately here. Using the same program as with Lemma 4.25, we check the configuration 7:4*5*5 for any realizations which are not core-choosable. By expanding the information around the problematic configuration, we show that the small faces around the central 7-face do not pull very much charge.
Lemma 4.34. A 7-face in the minimal counterexample G with facial length list 4(6+)5(6+)5(6+)(6+) has nonnegative final charge.
Proof. Any such 7-face has charged pulled by its neighboring 4-face and two 5-faces. We show that the 4-face is adjacent to four (7+)-faces and that the 5-faces are each adjacent to at least four (7+)-faces. By Rules 2a,3a,3b, the 4-face pulls 1/2 charge and the two 5-faces pull at most 1/4 charge each. This leaves the central 7-face with at least 0 final charge.
Just as we did for each configuration in C, we also generated and checked every realization of 7:4*5*5 for core-choosability. All but two realizations of 7:4*5*5 are core-choosable. These two are shown in Figure 4.15, where it can be seen that the structures of these two realizations are nearly identical. So a 7-face in the minimal counterexample G with facial length list 4(6+)5(6+)5(6+)(6+) occurs as one of these two realizations. To inspect the faces surrounding the 4- and 5-faces, consider the face labeling in the common realization structure given in Figure 4.16(left).
We show that none of A, B, C, D, E, G, H, I, K have length less than 7. There are several cases to consider, and these are summarized in Table 4.7. Since C = D and G = H, we need not consider D and H separately. Since we are assuming the facial length list around the central 7-face is 4(6+)5(6+)5(6+)(6+), we already know that A, C, G, and K have lengths at least 6. Since the two stems on E cannot be the same vertex in either of the two realizations in Figure 4.15, we also know that E has length at least 4. Similarly, the faces B and I have length at least 4 as well. Since 44 is reducible, we also know that B
78

o
Figure 4.15: The only two realizations of the configuration 7:4*5*5 which are not core-choosable. Both share the same core subgraph (the natural core subgraph).
Figure 4.16: Left: A labeling of the faces around the faces around the 4- and 5-faces of the natural core subgraph of 7:4*5*5. Note that C = D and G = H. Right: The plane graph J for the case Â£{A) = 6.
has length at least 5.
For the remaining 12 cases, we extend the notions of realizations and core-choosability in order to show that any subgraphs resulting from these cases are reducible. Each case
79

Table 4.7: Summary of cases for face lengths surrounding the small faces in Lemma 4.34.
Case Reason
Â£{B) = 3 7:4*5*5 realization structure
Case Reason Â£{B) = 4 Contains 44
Â£(A) < 5 Facial length list hypothesis Â£{B) = 5 Verified core-choosability
Â£(A) = 6 Verified core-choosability Â£{B) = 6 Verified core-choosability
Â£{C) < 5 Facial length list hypothesis Â£{E) = 3 7:4*5*5 realization structure
Â£{C) = 6 Verified core-choosability Â£{E) = 4 Verified core-choosability
Â£{G) < 5 Facial length list hypothesis Â£{E) = 5 Verified core-choosability
Â£{G) = 6 Verified core-choosability Â£(E) = 6 Verified core-choosability
Â£{K) < 5 Facial length list hypothesis 7^ CO 7:4*5*5 realization structure
Â£{K) = 6 Verified core-choosability Â£(I) = 4 Verified core-choosability
Â£(I) = 5 Verified core-choosability
Â£{I) = 6 Verified core-choosability
prescribes one additional face length which may or may not be adjacent to the central 7-face. In each case, we began with the plane subgraph J obtained from the natural core subgraph J by adding the new face of specified length. For an example, see Figure 4.16(right). Then, we generated all possible graphs which result from identifications of vertices of J while enforcing that no two vertices of J are identified. For each resulting graph that met the conditions of Observation 4.23, we generated each possible stem structure described by Observation 4.24 and then verified by computer that the resulting graph is core-choosable. (For the sake of simplicity, we did not enforce any information from the stem structures of the two realizations in our generation.) Hence, we conclude that in each case the prescribed face length cannot be present in the designated location in a minimal counterexample to Theorem 4.9. â–¡
This concludes the proof of Theorem 4.9.
4.8 Concluding Remarks
While the target set is minimal in the sense that our proof as written makes use of every configuration in C, we do not know if there is a smaller set of configurations which would provide the grounds for a similar proof. The argument in Lemma 4.32 can be modified for faces of length smaller than 15 by observing that certain blocks must be
80

separated by more than one (6+)-faces result in reducible configuration from the target set. (For example, the block 3 cannot be followed by the block 54 after at most three (6+)-faces, since the configurations 3*54, 3**54 and 3***54 are all reducible.) However, we feel that the current argument strikes an optimal balance between the size and analysis of the target set and the simplicity and verification of the discharging rules.
When trying to establish a list of reducible configurations, we first tried to build a list of â€œhopefulâ€ configurations which would work with our discharging rules. Heuristically, the realization of a configuration which is least likely to be core-choosable is the natural core subgraph with a stem structure consisting entirely of stems which have degree 1 to the core vertices. For any core subgraph, this stem structure minimizes the values of the list size function used for core-choosability. The configurations we deemed â€œhopefulâ€ were those for which this realization was core-choosable. We checked over 250 configurations and found 171 of them to be hopeful. From these we formed a discharging argument and then simmered the list needed for our argument to fewer than 70 hopeful configurations which were each used in the argument. At this point, we developed the tools to check all other realizations as discussed in Section 4.5. We found that 35, 455, and 7:4*5*5 each have at least one realization that is not core-choosable. We were able to replace 35 and 455 with 11 larger reducible configurations to maintain our discharging argument, but replacing 7:4*5*5 requires configurations which do not fit our technical definition of â€œconfiguration.â€ The 12 structures we verified to be reducible in Lemma 4.34 can be defined and added to the target set, which would perhaps make Lemma 4.34 clearer.
The exploratory process just described would not have been possible without the choosability program. Almost all of the configurations we considered are simply too large and have too small list size values to check by hand. Developing this tool was a critical step to our proof.
Perhaps the most tedious aspect of our proof is generating all core subgraphs of a configuration. Since there are many ways in which configurations can wrap back in on
81

themselves that we did not see at first, we feel that generating all possible partitions and then applying appropriate filters as discussed in Section 4.5 is the best way to confidently find all core subgraphs. If we knew that minimal counterexample must be 3-connected, then the number of non-natural core subgraphs is reduced greatly. However, a thorough search for all core subgraphs would still be necessary.
The number of stem structures for each core subgraph would also be greatly reduced under the promise of 3-connectedness. A reduction in these structures would not have merely shortened computation but also shortened our target set. This restriction in stem structures would mean that the configuration 35 is reducible, since the only non-core-choosable realization of 35 guarantees a bridge in the graph.
In addition to a lack of connectivity bounds, a difference between our problem and the non-list setting is that reducer edges cannot help show configurations to be reducible. Since a precoloring might be rainbow on the stems of a realization, if the realization is not core-choosable then no placement of reducer edges can prevent a bad precoloring. We considered both a loaded induction hypothesis and DP-coloring, but neither of these techniques seemed to resolve our complications.
The fact that 35 has a non-core-choosable realization may be surprising, as all the realizations of 33, 34, and 36 are core-choosable. The square induced on the core subgraph by the non-core-choosable realization of 35 is K6, and the list size function values are all at most 5. The square induced on the core subgraph by the stem structure in which each root is adjacent to a distinct stem is K6 â€” e, and the list size function can be obtained from the previous list size function by substracting 1 for each of the two endpoints of e. However, this latter square is choosable for the given list size function. This is related to Question 3.27.
While the situation for the configuration 35 seems to be rather specific, there are other structures which are local obstructions to core-choosability. For example, if a core subgraph has a (5+)-thread (an induced path with at least 5 consecutive 2-vertices), then
82

the realization of that core subgraph with all stems of degree 1 is not core-choosable. This is due to the fact that the (5+)-thread causes a triangle with /-values equal to 2 in the square of the core. We found other similar structures which helped us know which configurations were not worth investigating. For example, the configurations 37 and 8:45 both have a 5-thread in their natural core subgraph.
Having removed the girth condition from Theorem 4.4, we ask about the stronger girth conditions which lower the list chromatic number for the squares of subcubic planar graphs. Question 4.35. What is the lowest bound on the girth of a subcubic planar graph which guarantees that it is 6-square-choosable? 5-square-choosable? 4-square-choosable?
The last question was asked about coloring (as opposed to list coloring) by Borodin and Ivanova [15]. As shown by the example in Figure 4.1, none of these girth lower bounds can be less than 6.
83

REFERENCES
[1] The on-line encyclopedia of integer sequences. Published electronically at https://oeis.org/A000110, 2010.
[2] N. Alon. Surveys in combinatorics, chapter Restricted Colorings of Graphs, pages 1-33. Cambridge University Press, New York, NY, USA, 1993.
[3] N. Alon. Combinatorial Nullstellensatz. Combinatorics, Probability and Computing,
8(1-2):7â€”29, 1999. Recent trends in combinatorics (Matrahaza, 1995).
[4] N. Alon. Degrees and choice numbers. Random Structures Algorithms, 16(4):364-368, 2000.
[5] N. Alon and M. Tarsi. Colorings and orientations of graphs. Combinatorica,
12(2): 125â€”134, Jun 1992.
[6] K. Appel and W. Haken. Every planar map is four colorable Part I: Discharging. Illinois Journal of Mathematics, 21 (3) :429 490, 1977.
[7] K. Appel and W. Haken. Every Planar Map Is Four Colorable (Contemporary Mathematics). American Mathematical Society, 1989.
[8] K. Appel, W. Haken, and J. Koch. Every planar map is four colorable Part II: Deducibility. Illinois Journal of Mathematics, 21 (3) :491â€”567, 1977.
[9] J. Arndt. Matters Computational: Ideas, Algorithms, Source Code. Springer Berlin Heidelberg, 2011.
[10] G. D. Birkhoff. The reducibility of maps. American Journal of Mathematics,
35(2): 115, Apr 1913.
[11] H. L. Bodlaender, M. R. Fellows, and D. M. Thilikos. Derivation of algorithms for cutwidth and related graph layout parameters. J. Comput. System Sci.,
75(4):231-244, 2009.
[12] B. Bollobas and A. J. Harris. List-colourings of graphs. Graphs and Combinatorics,
1 (1): 115â€”127, Dec 1985.
[13] O. V. Borodin. On acyclic colorings of planar graphs. Discrete Mathematics,
25(3):211â€”236, 1979.
[14] O. V. Borodin. Colorings of plane graphs: A survey. Discrete Mathematics, 313(4):517-539, Feb 2013.
[15] O. V. Borodin and A. O. Ivanova. 2-distance 4-colorability of planar subcubic graphs with girth at least 22. Discussiones Mathematicae Graph Theory, 32(1):141â€”151, 2012.
[16] O. V. Borodin and A. O. Ivanova. List 2-facial 5-colorability of plane graphs with girth at least 12. Discrete Mathematics, 312(2):306-314, 2012.
84

[17] B. Brimkov, J. Edmond, R. Lazar, B. Lidicky, K. Messerschmidt, and S. Walker. Injective choosability of subcubic planar graphs with girth 6. Discrete Mathematics, 340(10): 2538-2549, 2017.
[18] R. L. Brooks. On colouring the nodes of a network. Mathematical Proceedings of the Cambridge Philosophical Society, 37(2):194â€”-197, 1941.
[19] D. W. Cranston and S.-J. Kim. List-coloring the square of a subcubic graph. Journal of Graph Theory, 57(l):65-87, 2008.
[20] D. W. Cranston and D. B. West. An introduction to the discharging method via graph coloring. Discrete Mathematics, 340(4):766-793, Apr 2017.
[21] P. DeOrsey, J. Diemunsch, M. Ferrara, N. Graber, S. G. Hartke, S. Jahanbekam,
B. Lidicky, L. L. Nelsen, D. Stolee, and E. Sullivan. On the strong chromatic index of sparse graphs. arXiv:1508.03515 [math. CO], 2015.
[22] J. Diemunsch, N. Graber, L. Kramer, V. Larsen, L. M. Nelsen, L. L. Nelsen, D. Sigler, D. Stolee, and C. Suer. Color-blind index in graphs of very low degree. Discrete Appl. Math., 225:122-129, 2017.
[23] R. Diestel. Graph Theory. Number 173 in Graduate Texts in Mathematics. Springer, 1997.
[24] Z. Dvorak, M. Hebdige, F. Hlasek, D. Kraiâ€™, and J. Noel. Cyclic coloring of plane graphs with maximum face size 16 and 17. arXiv:1603.06722 [math. CO], 2016.
[25] Z. Dvorak, R. Skrekovski, and M. Tancer. List-coloring squares of sparse subcubic graphs. SIAM J. Discrete Math., 22(1): 139â€”159, 2008.
[26] P. Erdos, A. L. Rubin, and H. Taylor. Choosability in graphs. Congressus Numerantium, 26:125-127, 1979.
[27] F. Galvin. The list chromatic index of a bipartite multigraph. J. Cornbin. Theory Ser. B, 63(1): 153 158, 1995.
[28] M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Cornpleteness. W. H. Freeman & Co., New York, NY, USA, 1979.
[29] G. Gonthier. Formal proofâ€”the four-color theorem. Notices of the American Mathematical Society, 55( 11): 1382â€”1393, 2008.
[30] H. Grotzsch. Zur theorie der diskreten gebilde. vii. ein dreifarbensatz fur dreikreisfreie netze auf der kugel. Wissenschaftliche Zeitschrift Martin-Luther-Universitat
Halle-Wittenberg Mathematik-Naturwissenschaft Reihe, 8:109-120, 1959.
[31] S. Gutner. The complexity of planar graph choosability. Discrete Mathematics,
159(1): 119â€”130, 1996.
85

[32] S. Gutner and M. Tarsi. Some results on (a:b)-choosability. Discrete Mathematics, 309(8):2260-2270, 2009.
[33] S. G. Hartke, S. Jahanbekam, and B. Thomas. The chromatic number of the square of subcubic planar graphs. arXiv:1604-06504 [math.CO], 2016.
[34] F. Havet. Choosability of the square of planar subcubic graphs with large girth. Discrete Math., 309(ll):3553-3563, 2009.
[35] M. Hebdige and D. Kraiâ€™. Third case of the cyclic coloring conjecture. SIAM J. Discrete Math., 30(l):525-548, 2016.
[36] H. Heesch. Untersuchungen zum Vierfarbenproblem. B.I.-Hochschulskripten, 810/810a/810b. Mannheim, Bibliographisches Institut, 1969.
[37] H. Heesch. Chromatic reduction of the triangulations Te, e = e5 + e7. Journal of Combinatorial Theory, Series B, 13(l):46-55, Aug 1972.
[38] S. Jendrolâ€™ and H. J. Voss. Light subgraphs of graphs embedded in the plane - A survey. Discrete Mathematics, 313(4):406-421, 2013.
[39] M. Juvan, B. Mohar, and R. Skrekovski. On list edge-colorings of subcubic graphs. Discrete Math., 187(1-3):137 149, 1998.
[40] J. Kahn. Asymptotics of the list-chromatic index for multigraphs. Random Structures Algorithms, 17(2): 117-156, 2000.
[41] S. Karakashian, B. Y. Choueiry, and S. G. Hartke. An algorithm for generating all connected subgraphs with k vertices of a graph. 2013.
[42] R. M. Karp. Reducibility among Combinatorial Problems, pages 85-103. Springer US, Boston, MA, 1972.
[43] D. Kraiâ€™. Colorings of plane graphs. Presentation, 2016 SIAM Conference on Discrete Mathematics, June 2016.
[44] M. Lason. A generalization of Combinatorial Nullstellensatz. Electron. J. Cornbin., 17(l):Note 32, 6, 2010.
[45] M. Mirzakhani. A small non-4-choosable planar graph. Bull. Inst. Cornbin. Appl., 17:15-18, 1996.
[46] M. Molloy and B. Reed. Graph colouring and the probabilistic method, volume 23 of Algorithms and Combinatorics. Springer-Verlag, Berlin, 2002.
[47] B. Monien and I. H. Sudborough. Min cut is NP-complete for edge weighted trees. Theoret. Comput. Set, 58(l-3):209-229, 1988. Thirteenth International Colloquium on Automata, Languages and Programming (Rennes, 1986).
86

[48] D. Paulusma. Open problems on graph coloring for special graph classes. In E. W. Mayr, editor, Graph-Theoretic Concepts in Computer Science: fist International Workshop, WG 2015, Garching, Germany, June 17-19, 2015, Reuised Papers, pages 16-30. 2016.
[49] N. Robertson, D. Sanders, P. Seymour, and R. Thomas. The four-colour theorem. Journal of Combinatorial Theory, Series B, 70(l):2-44, 1997.
[50] U. Schauz. Quantitative Combinatorial Nullstellensatz. arXiu:1212.569f [math. CO], 2012.
[51] U. Schauz. Computing the list chromatic index of graphs. J. Discrete Algorithms, 52/53:182-191, 2018.
[52] J. P. Steinberger. An unavoidable set of D-reducible configurations. Trans. Amer. Math. Soc., 362(12):6633-6661, 2010.
[53] D. Stolee. Personal communication, October 2015.
[54] The Sage Developers. SageMath, the Sage Mathematics Software System (Version 8.1), 2017. https://www.sagemath.org.
[55] C. Thomassen. Every planar graph is 5-choosable. Journal of Combinatorial Theory, Senes B, 62(1):180 181, 1994.
[56] C. Thomassen. 3-list-coloring planar graphs of girth 5. Journal of Combinatorial Theory, Series B, 64(1): 101-107, 1995.
[57] C. Thomassen. A short list color proof of Grotzschâ€™s theorem. Journal of Combinatorial Theory, Series B, 88(1): 189â€”192, 2003.
[58] C. Thomassen. The square of a planar cubic graph is 7-colorable. J. Cornbin. Theory Ser. B, 128:192-218, 2018.
[59] V. G. Vizing. On an estimate of the chromatic class of a p-graph. Diskret. Analiz No., 3:25-30, 1964.
[60] M. Voigt. List colourings of planar graphs. Discrete Math., 120(1-3):215â€”219, 1993.
[61] G. Wegner. Graphs with given diameter and a colouring problem. Preprint, 1977.
[62] D. B. West. Introduction to Graph Theory. Prentice Hall, second edition, 2001.
[63] D. B. West. The Art of Combinatorics, Volume I: Extremal Graph Theory. Unpublished manuscript, 2015.
87

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
APPENDIX A
Source Code for choosability .py
#----------------------------------
# Contents
# ---------------------------------
# rev_powerset
# Sub graphsDealer
# CNS
# IndSets
# restriction_list_single_check
# set2tup
# reduce
# timestring
# subsetstring
# fChoosable
# restrictedListAssignments
# assignmentCheck
#---------------------------------------------------------
# Libraries, Comments , Global Variables
# -------------------------------------------------------
# These scripts were written with the intent of using Python 2. 7 before the switch
to Python 3. There should not be many differences to ^ implement our code in Python 3 once this change is made.
import copy
from sage.graphs.graph import Graph import time
from sage.rings.polynomial.polynomialsing_constructor import *
from sage.rings.finite_rings.finite_field_constructor import *
ZZ = sage.rings.integer_ring.IntegerRing()
from sage.graphs.independent_sets import IndependentSets
from itertools import combinations
from numpy import prod
#--------------
# The Routines
# ------------
def rev.powerset(n): # reverse ordering of colex on sets.
if n > 0:
for subset in rev.powerset(n-1): subset.append(n-l) yield subset
for subset in rev.powerset(n-1): yield subset
else :
yield [] return
88

57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
class SubgraphsDealer:
del __init__(self,subgraphs_list,LAscheme="E"):
sell.subgraphs_list = copy.copy(subgraphs_list) sell.LAscheme = LAscheme
# subgraph is the current connected subgraph (set of vertices). sell.subgraph = None
sell.required.vertex = None
del copy(sell) :
clone = SubgraphsDealer(copy.copy(sell.subgraphs.list),sell.LAscheme) clone.subgraph = copy.copy(sell.subgraph) return clone
del prune.subgraphs.list_with_E(sell,E): i = 0
while i < 1en(sell.subgraphs.list):
A = sell.subgraphs.list[i]
# if A not subset E, then toss A from the list il not A <= set(E) :
del sell.subgraphs.list [i] c ont inue else :
i += 1
# call if small condition met
del prune.subgraphs.list_with.CNS(sell ,G.copy , ordering, 1, CA) : i = 0
while i < 1en(sell.subgraphs.list):
A = sell.subgraphs.list[i]
# if A can be be shown to be unnecessary via CNS, then toss A from the list il restriction_list_single.check(G.copy, ordering, 1, CA, A): del sell.subgraphs.list[i] c ont inue else :
i += 1
# E should be nonempty to call this del choose_required_vertex(sell,L,E):
il sell.LAscheme == "E":
sell.required.vertex = E[0]
elil sell.LAscheme == "L":
m = min ( [ (L [y ] , y) lor y in E]) sell.required.vertex = m[l]
89

119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
# before calling this, call choose root.
# before calling this for the first time, call prune by E (and possibly by CNS) del next_with_required_vertex(sell):
# go through list to find A containing required_vertex i = 0
while i < 1en(sell.subgraphs_list):
# if required_vertex not in A, then keep A in the list A = sell.subgraphs_list[i]
il not sell.required_vertex in A: i += 1 c ont inue
# if A works, then set .subgraph to A, remove A, and return True else :
sell.subgraph = A
del sell.subgraphs_list[i]
return True
# if no such A, then return False (v canâ€™t be filled) else:
return False
# before calling this, call choose root
del next_with_required_vertex_not_containing_set(sell,D): while sell.next _with_required_vert ex() : il D <= sell . subgraph :
continue # try again -- we can toss that subgraph else :
return True
else:
return False # no subgraph remaining
CNS(G, 1, verbosity=0):
il verbosity > 7:
print_llag = True else :
print_llag = False
90

Full Text

PAGE 1

COMPUTATIONALMETHODSFORGRAPHCHOOSABILITYANDAPPLICATIONS TOLISTCOLORINGPROBLEMS by LUKEL.NELSEN B.S.,IndianaWesleyanUniversity,2012 M.A.,MiamiUniversity,2014 Athesissubmittedtothe FacultyoftheGraduateSchoolofthe UniversityofColoradoinpartialfulllment oftherequirementsforthedegreeof DoctorofPhilosophy AppliedMathematicsProgram 2019

PAGE 2

c LukeNelsen2019 ii

PAGE 3

ThisthesisfortheDoctorofPhilosophydegreeby LukeL.Nelsen hasbeenapprovedforthe AppliedMathematicsProgram by MichaelFerrara,Chair StephenHartke,Advisor LouisDeBiasio MichaelJacobson FlorianPfender Date:August3,2019 iii

PAGE 4

Nelsen,LukeL.Ph.D.,AppliedMathematics ComputationalMethodsforGraphChoosabilityandApplicationstoListColoring Problems ThesisdirectedbyAssociateProfessorStephenHartke ABSTRACT Asubcubicplanargraphisagraphsuchthateveryvertexhasdegreeatmost3and whichcanbedrawnintheplanewithoutanyedgecrossings.Thesquareofagraph G is thegraphobtainedfrom G byaddingedgesbetweenpairsofverticeswhichhavedistance2 in G .Wegnerconjecturedthatthesquareofanysubcubicplanargraphhas chromaticnumberatmost7,andCranstonandKimaskedifthisconjecturecould beextendedtolistcoloring.Weprovethisstrongerresult,thatthesquareofanysubcubic planargraphhaslistchromaticnumberatmost7. Ourproofoftheaboveresultusesthedischargingmethodandshowsthe f -choosability ofmanyreduciblecongurations.Agraph G is f -choosableforafunction f : V G ! N if G admitsan L -coloringforeverylistassignment L withtheproperty j L v j f v for each v 2 V G .However, f -choosabilityisa P 2 -completeproblem,whichishigherthan NP-completeinthepolynomialcomplexityhierarchy.Therefore,usingcomputational methodstoshow f -choosabilityisachallenge.Tosuccessfullyshow f -choosabilityinour listcoloringresult,wedevelopandapplynewmethods,includingtheCombinatorial Nullstellensatz.Sinceshowing f -choosabilityisapplicabletoprooftechniquesinavariety ofgraphcoloringproblems,ourprogram'spracticalityisofindependentinterest. Theformandcontentofthisabstractareapproved.Irecommenditspublication. Approved:StephenHartke iv

PAGE 5

TomyLordandSaviorJesusChrist,whoproveshimselftometimeandtimeagain. v

PAGE 6

PAGE 7

TABLEOFCONTENTS CHAPTER I.INTRODUCTION................................1 II.BACKGROUND.................................7 2.1Background:TheDischargingMethod................7 2.2Background:ListColoring.......................10 2.3OtherGraphColoringResultsUsingComputationalMethods...13 III.COMPUTINGF-CHOOSABILITY.......................15 3.1Introduction..............................15 3.2ToolsforDetermining f -Choosability.................16 3.2.1DegeneracyandGreediness..................16 3.2.2TheCombinatorialNullstellensatz...............18 3.2.3SearchingAllListAssignments................22 3.2.4OtherToolsfor f -Choosability................26 3.3ANewToolforDetermining f -Choosability.............27 3.3.1Preprocessing..........................27 3.3.2VettingtheColorabilityClasses................30 3.3.3PruningduringtheBacktrack-and-Search..........33 3.3.4OrderingtheColorabilityClassesandVertices........35 3.4ApplyingtheCombinatorialNullstellensatz.............37 3.5ExampleApplications.........................40 3.5.1SmallNon-Chromatic-ChoosableGraphs...........40 3.5.2ListColoringConjectureforCubicGraphs..........41 3.5.3Non-4-ChoosabilityofPlanarGraphs.............42 3.6ConcludingRemarks..........................44 IV.SUBCUBICPLANARGRAPHSARE7-SQUARE-CHOOSABLE......48 4.1Introduction..............................48 vii

PAGE 8

4.2PropertiesofaMinimalCounterexample...............51 4.3WhatItMeansforaCongurationToBeReducible........52 4.4ShowingReducibility..........................55 4.5GeneratingRealizationsforCongurations..............60 4.6DiscussionoftheTargetSet......................67 4.7Discharging...............................68 4.8ConcludingRemarks..........................80 REFERENCES.......................................84 APPENDIX A.SourceCodefor choosability.py .......................88 B.SourceCodeforLemma4.17..........................108 C.SourceCodeforLemma4.25..........................111 D.SourceCodeforLemma4.33..........................113 E.SourceCodeforLemma4.34..........................125 F.SourceCodefor checking realizations.py .................129 G.DiscussionofCodeImplementationforChapterIV..............150 H.ReducibleCongurationsforTheorem4.9...................157 viii

PAGE 9

LISTOFTABLES TABLE 3.1ConnectedNon-Chromatic-ChoosableGraphsforEachOrderupto8....40 3.2CubicGraphsforEachEvenOrderupto16..................42 3.3PlaneTriangulationswithMinimumDegreeatLeast4forEachOrderupto2443 4.1DescriptionofAppendices............................50 4.2The76reduciblecongurationsusedtoproveTheorem4.9.EachcongurationishyperlinkedtoacorrespondingentryintheAppendixwithmore details.......................................61 4.3DescriptionsofEquivalentCongurations...................68 4.4TheDischargingRules..............................69 4.5PossibleSublistsofSmallFacesaroundaCentralFace............75 4.6BlocksofSmallFacesaroundaCentral + -Face,withChargeBounds..76 4.7SummaryofCasesLemma4.34.........................80 ix

PAGE 10

LISTOFFIGURES FIGURE 3.1AnExample:ThePawGraph..........................17 3.2AnExample: K 3 ; 3 withSmall f -Values.....................20 4.1ASubcubicPlanarGraphWhichisNot6-Square-Colorable.........49 4.2ExamplesofCongurationsContainedinaSubcubicPlaneGraph......53 4.3ExamplesofHowtheConguration8:48485458MightBeContainedina GraphinDierentWays.............................54 4.4ThreeDierentRealizationsof3:45withtheSameCoreSubgraph.....56 4.5ARealizationof3:57withStemsofDierentDegrees.............57 4.6TwoRealizationsof3:57,OneofWhichHasCloseStems...........58 4.7AGeneralIllustrationofLemma4.17......................59 4.8SpecicIllustrationsofLemma4.17......................60 4.9ObtainingtheNaturalCoreSubgraphfortheConguration535.......62 4.10ObtainingAnotherCoreSubgraphfromtheNaturalCoreSubgraphforthe Conguration8:4 5 4 4.............................63 4.11ExamplesShowingthattheConditionsinObservation4.23AreNecessary.65 4.12ExampleofPullingChargebyCountingMultiplicity.............70 4.13TheLayoutofFacesConsideredinLemma4.30................73 4.14TheLayoutofFacesConsideredinCase3ofLemma4.30..........74 4.15TheTwoRealizationsoftheConguration7:4 5 5WhichAreNotCoreChoosable.....................................79 4.16TheFaceLabelingUsedinLemma4.34,andanIllustrationofaSpecicCase79 x

PAGE 11

CHAPTERI INTRODUCTION Therearetwomainresultsofthisdissertation.First,wedevelopapracticalmethod fordeterminingthe f -choosabilityofaconcretegraph,alongwithanimplementation programmedinSage.Second,weprovethelistcoloringgeneralizationofthesubcubiccase ofWegner'sConjecture.Bothoftheseresultsarecontributionstotheeldofgraphtheory. Inthisintroductorychapter,wecontextualizethesetworesultsandthenconcludewitha briefdescriptionoftheremainingcontents. A graph or simplegraph isanonemptysetof vertices V togetherwithaset E of pairsofvertices edges .Graphsareusefulcombinatorialobjectsformodelingnetworks andothersettingsinwhichasetofobjectshaspairwiserelationships.Theeldofgraph theory,whichstudiestheseobjectsandtheirproperties,isdiverseinitsquestionsand methods.Someoftheseproofsincorporatecomputationalmethods,asdemonstratedby oneofthemostfamousproblemsingraphtheory:theFourColorTheorem. TheFourColorTheoremis,asthenamesuggests,aresultregarding coloringgraphs . A propercoloring ofagraph G isanassignmentofcolorstotheverticesof G suchthatno edgeof G ismonochromatic.Ifthereexistsapropercoloringof G whichusesatotalof k colors,thenwesaythat G is k -colorable .The chromaticnumber ofagraph G isthe minimumnumberofcolors k suchthat G is k -colorable.Determiningtightboundsonthe chromaticnumberoverclassesofgraphsisthefocusofgraphcoloringproblems.An exampleofsuchaclassofgraphsisthesetof planar graphs|graphswhichcanbedrawn intheplanewithoutanyedgesintersectingoutsideofvertexpoints.TheFourColor Theoremstatesthateveryplanargraphis4-colorable. AllexistingproofsoftheFourColorTheoremsee[6,8,7,29,49,52]use reducibility anddischarging colloquiallyreferredtoas thedischargingmethod andusecomputation tochecknumerousreduciblecongurations.MadeespeciallywellknownbytheFourColor Theorem'sproof,thesemethodshavebeenadoptedtoothercoloringproblems.Aswith 1

PAGE 12

theFourColorTheorem,someoftheseproofsalsoutilizecomputationforverifying reduciblecongurationsordischargingrules. Verifyingthatacongurationisreducibleisamatterofdemonstratingthatany precoloringfromoutsidethecongurationcanbeextendedtothecongurationitself.One directmethodfordoingsoappropriatelycalled precoloringextension istogenerateall possibleprecoloringsontheboundaryoutsidethecongurationandforeachboundary precoloringndacompatiblecoloringontheconguration. Anothermethodistoappealtoageneralizationofcoloringcalled listcoloring .Fora function L whichmapsverticestolistsofcolors,wesaythatagraphadmitsan L -coloring ifthereisapropercoloring c suchthat c v 2 L v foreachvertex v .Agraph G is f -choosable forafunction f : V G ! N if G admitsan L -coloringforeverylist assignment L withtheproperty j L v j f v foreach v 2 V G .Bycountingforeach vertexinacongurationtheconstraintsthatanarbitraryprecoloringmightimposeonthe vertex,alistsizefunction f canbeobtainedfromtheprobleminquestion.Ifthe congurationis f -choosableforthisfunction f ,thenanyprecoloringcanbeextended. Usingthe f -choosablemethodhastheadditionalbenetofapplyingtocongurations forlistcoloringresults.Ifacongurationis f -choosableforthe f obtainedforacoloring statement,thenthesameextensionargumentshowsthatthecongurationisreduciblein thelistversionofthecoloringstatement.Unlikethecoloringstatementappealingtoa morecomplexcoloringvariation,alistcoloringstatementcanusethe f -choosablemethod ofshowingreducibility. However, f -choosabilityisacomputationallycomplexproblem.Graphcoloringisan NP-completeproblemsee[42],whichmeansthatthereisnopolynomialtimealgorithm unlessP=NP.Ontheotherhand,determiningifagraphis f -choosableis P 2 -complete see[26],whichisisstrictlymoredicultthanNP-completeunlesstheentirepolynomial hierarchyabovePcollapsesintoNP.Atrstglance,itisnotnecessarilyclearthat f -choosabilityisevenaniteproblematall.Toappreciatethecomplexityofthe 2

PAGE 13

f -choosabilityproblem,considerwhatthedenitionof f -choosable"requires:showingthe existenceofan L -coloringfor any listassignment L satisfyingthelistsizecondition.Hence showing f -choosabilityrequiressolvingverymanydistinctgraphcoloringproblems. Therefore,usingcomputationalmethodstoshow f -choosabilityisachallenge,sincethe tasktobecompletedgrowsveryfastwiththesizeofthegraphandthevaluesof f . Thereareseveraltoolsforshowing f -choosabilityofgraphs,butsomearebettersuited forabstractapplicationstoclassesofgraphswithspeciedstructure.Whentargeting concretegraphstohopefullybecomereduciblecongurations,thestructureofthesegraphs andthelistsizefunctionsneededfortheproblemmightnotfallintothesecategories. Additionally,mosttoolsforshowing f -choosabilityprovideonlysucientconditionsand oernofurtherinsightifthegraphandlistsizefunctioninquestiondonotsatisfythe conditions. FirstResult. Wedevelopandimplementapracticaltoolfordetermining f -choosability. Thistoolialwaysdenitivelyprovidesananswerofyes"orno",andiiexecutes withinareasonableamountoftimeforgraphswhichariseinpractice. Tosuccessfullyemploycomputationforshowing f -choosabilityingraphcoloring problems,wedevelopandapplynewcomputationalmethods.Byusinginsightsaboutlist assignmentsandconnectedsubgraphs,andbyapplyingtheCombinatorialNullstellensatz notonlytotheentiregraphbutalsotoeveryconnectedsubgraphoftheoriginalgraph,we areabletogreatlyprunethesearchspace.However,applyingtheCombinatorial Nullstellensatzrequiressearchingovermonomialswhosevariablepowersmajorizeaxed listtondamonomialwithnonzerocoecients.SoapplyingtheCombinatorial Nullstellensatzitselfpotentiallyrequiressearchinganexponentialnumberofobjects.By ndingawaytoeectivelyapplytheCombinatorialNullstellensatzinsituationswhich resultinlargesearchspaces,weareabletouseourobservationstoshow f -choosabilityfor manygraphsinatractabletimeframe. Becauseoftherelevanceof f -choosability,ourmethodsareofindependentinterest.We 3

PAGE 14

alsousethistooltoobtaintheothermajorresultofthisdissertation,thelistversionof Wegner'sConjecture. SecondResult. Weprovethatthesquareofeverysubcubicplanargraphhaslist chromaticnumberatmost7.Thisboundissharp. Agraphis subcubic ifeveryvertexhasdegreeatmost3.The square ofagraph G is thegraphobtainedfrom G byaddingedgesbetweenpairsofverticeswhichhavedistance2 in G .In1977,Wegner[61]conjecturedthatthesquareofanysubcubicplanargraphhas chromaticnumberatmost7.Afterseveraldecades,thisconjecturewasproved independentlybyThomassen[58]andbyHartke,Jahanbekam,andThomas[33].In2008, CranstonandKim[19]provedthatthesquareofeverysubcubicnon-Petersengraphis 8-choosableandaskedifWegner'sConjecturecanbeextendedtolistcoloring. AlthoughthelistanalogofWegner'sConjectureisanaturalquestion,itisadicult one.Therehasbeenrecentworkboundingthelistchromaticnumberofsquaresof subcubicplanargraphswhichalsohavegirthconditions,butnopapersconcerningthis topicposetheunrestrictedlistversionofthestatementasaconjecture.Aproofofthe statementbringssomechallenges.Withlistcoloring,standardcoloringargumentswhich showthataminimalcounterexampleis2-or3-connecteddonotapplysincecolors assignedtoverticescannotsimplybepermuted.Additionally,congurationsinthe standardcoloringsettingaresometimesshowntobereduciblebyprecoloringextension withtheassistanceofplaceholderstructurescalled reducers .Thesestructuresconstrain thepossibleprecoloringsontheboundaryoftheconguration.However,suchstructures havenoeectontheconstraintsimposedbyarbitraryprecoloringswhenusingthe f -choosablemethodinthelistcoloringsetting. OnemightlooktothetwoproofsofWegner'sConjecturetoseeiftheycanbeadapted tothelistversion.TheproofofHartke,Jahanbekam,andThomas[33]usesthe dischargingmethodandusesprecoloringextensiontoverifythereducibilityof31 congurations.Someofthesecongurationsrequirereducers,whichmeanstheycannotbe 4

PAGE 15

PAGE 16

commentedsourcecodeforallrelatedprograms,wealsoincludeatablewithdetailsforall thereduciblecongurationsforTheorem4.9.Wealsoincludediscussionofourpractical implementationforsomeofthemathematicalobservationsinChapterIV. Forstandardgraphtheorynotationorterminologyusedinthisdissertationnot explicitlydened,wefollowthatofWest[62]. 6

PAGE 17

CHAPTERII BACKGROUND 2.1Background:TheDischargingMethod WeprovideadescriptionofthedischargingmethodusingtheFourColorTheoremas anillustration.ConsiderthefollowingsketchofaproofoftheFourColorTheorem: Supposetowardcontradictionthatnotallplanargraphsarefourcolorablethatis,have chromaticnumberatmostfour.Ifthisisthecase,thenofallthosecounterexamples whichareplanaryetnotfourcolorable,let G beonewhichisminimalwithrespectto subgraphs.Thatis,nopropersubgraphof G isacounterexample.Ifwecanprovethe nonexistenceof G ,thenthiswouldimplythatthereareinfactnocounterexamplesatall, allowingustoconcludethatthetheoremistrue. Weshowthatthereisaset U ofsubgraphswhichaminimalcounterexample G cannot containbecausetheyextendfourcolorings.If G containssuchasubgraph U ,thenbythe minimalityof G weknowthat G )]TJ/F20 11.9552 Tf 11.955 0 Td [(U isfourcolorableandthusthat G isactuallyfour colorable|andtherefore G isnotacounterexample.Wealsoshowthat G must contain somesubgraphfrom U duetostructuralproperties|andtherefore G cannotexist. Suchanapproach,developedbymathematicianssuchasBirkho[10]andHeesch [36,37],wasultimatelythestrategyusedbyAppel,HakenandKoch[6,8]inthe1970sto provetheFourColorTheorem.Theirproof,assketchedabove,isanexampleofthe dischargingmethod.Asitisanincrediblyinvolvedandtediousone 1 ,thedetailsoftheir proofdonotserveasaparticularlyilluminatingintroductiontothedischargingmethod. However,theoutlineoftheFourColorTheorem'sproofillustratesthegeneralideaof reducibilityanddischargingquitewell: Let G beaminimalcounterexampletotheclaim. 1.ReducibilityDetermineaset U of reduciblecongurations |substructuresshownto notbecontainedby G duetoitsminimality. 1 Therevisedpublication[7]is741pagesincludingthelistsofreduciblecongurationsandclasscheck lists. 7

PAGE 18

2.DischargingShowthat U isacollectionof unavoidablecongurations |thatinfact G mustcontainsomeelementof U . Consideringaminimalcounterexampleratherthananyarbitrarycounterexample leveragesinformationthatwemaynothaveotherwisehadatourdisposal.TakingtheFour ColorTheoremasanexample,weimmediatelyseethatanypropersubgraphof G mustbe fourcolorable.Inthissense, G mustitselfbeveryclosetobeingfourcolorable.For example,wecanobservethateveryvertexof G musthavedegreeatleastfour:otherwise, avertexwiththreeorfewerneighborscouldbedeletedfrom G ,resultinginafourcoloring ofthesmallergraph.Butthenthedeletedvertexcanbeputbackintothegraph,andthe fourcoloringcanbeproperlyextendedtoincludethevertex.Soavertexwithdegreethree orlessisareducibleconguration,asitspresenceshowsthat G cannotbea minimal counterexample.Observationssuchasthisshowthattheminimalityof G canbevaluable inobtainingreduciblecongurations.Showingsuchcongurationsarereducibleisthe Reducibility"portionofthedischargingmethod. Asdemonstratedbythelow-degreevertexabove,theminimalityofourpurported counterexample G oftenhelpsusndreduciblecongurationswhicharelocalinnature. However,concludingthat G cannowherecontainanysuchcongurationisaglobal statementaboutthegraph.Forexample,knowingthatalow-degreevertexisareducible congurationallowsustoconcludegloballythattheminimumdegreeof G isatleastfour. Ifonecouldprovethatplanargraphscannothaveminimumdegreeatleastfour 2 ,thena low-degreevertexwouldbeanunavoidablecongurationandwewouldhaveprovedthe FourColorTheorem.Ingeneral,thedischargingmethodshowsthatreducible congurationsareunavoidablebydoingthefollowing: 1.Assignchargesrealnumberstoobjectsin G inawaythatguaranteesacertain xedtotalcharge.Whenworkingwithplanargraphs,itistypicaltoapplyEuler's Formulatodeterminethexedtotalcharge.Forexample,byassigningachargeof 2 Hypothetically,sinceplanargraphs can haveminimumdegreeatleast4. 8

PAGE 19

deg v )]TJ/F15 11.9552 Tf 11.955 0 Td [(6toeachvertex v andachargeof2 ` f )]TJ/F15 11.9552 Tf 11.955 0 Td [(6toeachface f inaconnected planargraph,thetotalchargeis )]TJ/F15 11.9552 Tf 9.298 0 Td [(12. 2.Applyasetofrulestothegraphsothatthechargedobjectsgiveortakechargefrom eachotherpreservingthetotalcharge.InthecontextoftheFourColorTheorem, suchruleswouldgivepositivechargesfromverticesofdegreegreaterthansix large"verticesorfromfacesoflengthgreaterthanthree"large"facestovertices ofdegreelessthansixsmall"vertices. 3.Afterapplyingtherules,observethattheabsenceofcongurationsfrom U implies thatthecurrenttotalchargeonthegraphisdierentthanwhatwehadtobegin with|acontradiction.Againregardingourexample,weconcludethathavingno congurationsfrom U meansthateveryvertexandfacehaschargeatleastzero,and thusthatthetotalchargeisnonnegative. Andsoitmustbethecasethattheset U isunavoidable.Developingappropriaterulesfor thisprocessistheDischarging"portionofthedischargingmethod. AsAppelandHakendiscussin[6],thedischargingprooffortheFourColorTheorem hasalonghistoryofreningthesetofreduciblecongurations,ofreningthedischarging argumentfortheunavoidablecongurations,andtheinterplaybetweenthesetwopartsof theargument.Thisrenementisoftennecessarywhendevelopingdischargingproofs,and onesometimesndsthatthesetofreduciblecongurationsgrowsintheprocess.Inthe caseofAppel,Haken,andKoch'sproofoftheFourColorTheorem[8],thesetofreducible congurationsnumbered1482andneededcomputationaltechniquestoanalyze. 3 When Robertson,Sanders,Seymour,andThomas[49]developedamorestreamlinedproofofthe FourColorTheoremin1995,theystillhadasetof633reduciblecongurationswhich neededtobeveriedbycomputer.Steinberger[52]presentedaproofusingasetof2822 reduciblecongurationswhichincludedonlythemostbasictypeofreducible conguration"andindoingsoexchangedmorecomputertimeforsimplicityofthe 3 Originally,thesettheycheckedcontained1936members,butwereabletotoreducethesizedownto 1834andsubsequently1482withoutlosingunavoidabilitybythetimeofpublication. 9

PAGE 20

reducibilityverication. DespiteinitialhesitationtoacceptAppelandHaken'sproofoftheFourColor Theorem|especiallypriortotheirfollow-uppublication[7]|theirworkhassincebecome regardedasavalidmathematicalproof,evenwiththenecessarycomputer-checkedportion. Gonthier[29]hasgoneasfarasgivingaformalprogramproofoftheFourColorTheorem byverifyingRobertson,Sanders,Seymour,andThomas'sproofwiththeCoqProof Assistant. Foramorethoroughintroductiontothedischargingmethod,wereferthereaderto [20].Forsurveysondischargingresults,wereferthereaderto[14,38]. 2.2Background:ListColoring Thechromaticnumberofagraphistheminimum k suchthateachvertex v canbe assignedacolor c v fromthelist f 1 ;:::;k g toobtainapropercoloring.Inthissense,each vertexhasachoicefromalistofcolors|andeachvertexcanchoosefromthesamelist, f 1 ;:::;k g .Thisnotionofcoloringcanbegeneralizedbyallowingtheverticestochoose fromdierentlists.Let L beafunctionwhichmapsverticestolistsofsize k .Istherea propercoloring c suchthat c v 2 L v foreachvertex v ?Whenverticesrepresent committeesandedgesrepresenttwocommitteeshavingacommonmember,thisquestionis aformulationofaschedulingproblem.Giveneachcommittee'slistofavailablemeeting times,canmeetingtimesbeassignedtoeachcommitteesuchthatnocommitteememberis double-booked?Thelistchromaticnumberconcernsitselfwiththefollowingversionofthe schedulingproblem:whatisthesmallestnumber k suchthatifeachcommitteegivesat least k availablemeetingtimes,thenmeetingtimescanbeassignedtoeachcommitteesuch thatnocommitteememberisdouble-booked? Wesaythatagraphadmitsan L -coloring foralistassignment L ifthereisaproper coloring c suchthat c v 2 L v foreachvertex v .Foraspecied L ,wecallsucha coloring admissible .Wesaythatagraphis k -choosable ifitadmitsan L -coloringforevery listassignment L withtheproperty j L v j k foreachvertex v .The listchromaticnumber 10

PAGE 21

ofagraphistheleast k suchthatthegraphis k -choosable.Whereasthechromatic numberofagraph G isdenotedby G ,thelistchromaticnumberisdenotedby ` G . Finally,wesaythatagraphis f -choosable forafunction f : V G ! N ifitadmitsan L -coloringforeverylistassignment L withtheproperty j L v j f v foreachvertex v . Eveninnon-listcoloringproblems,listcoloringisrelevantifsomeverticesaregiven pre-assignedcolors.Thisisoftenthecasewhenastrengthenedinductionhypothesisis used.Itisalsohowcongurationsareshowntobereducibleininductionproofsofcoloring results.Upondeletingacongurationfromaminimalcounterexample,byminimalitythe remainingsubgraphcanbecolored.Ifthecoloringoftheremainingsubgraphcanbe extendedtothedeletedconguration,thenthecongurationisreducible.Agraph G can beextendedfromapartialcoloringonvertices A V G toa k -coloringoftheentire graph G ifandonlyif G admitsan L -coloringwhenthelistsofverticesin A arethe pre-assignedcolorssize1and L v = f 1 ;:::;k g foreachremainingvertex v .Hence provingthatacongurationis f -choosableforacertain f issucientforshowingthatthe congurationisreducibleforacoloringproblem. Thereisalonghistoryofgeneralizingcoloringresultstolistcoloringanalogs.Planar graphs,forexample,haveaboundedbehaviorforbothofthesetwographparameters. Theorem2.1 Appel{Haken{Koch1977[6,8] . Planargraphsare4-colorable. Theorem2.2 Thomassen1994[55] . Planargraphsare5-choosable. Theorem2.3 Grotzsch1959[30] . Planargraphswithnocyclesoflength3are 3-colorable. Theorem2.4 Thomassen1995,2003[56,57] . Planargraphswithnocyclesoflength3 or4are3-choosable. Theorem2.5 Alon{Tarsi1992[5] . Bipartiteplanargraphsare3-choosable. Itisalsoworthnotingthatboth G and ` G arealwaysboundedaboveby G +1.Theclassofgraphswhichattainthisboundarethesameinbothcases. Theorem2.6 Brooks1941[18] . If G isaconnectedgraphwithmaximumdegree ,then 11

PAGE 22

G if G isneithercompletenoranoddcycle. Theorem2.7 Erd}os{Rubin{Taylor1979[26] . If G isaconnectedgraphwithmaximum degree ,then ` G if G isneithercompletenoranoddcycle. Ascanbeseenabove,thereareaspectsinwhichcoloringandlistcoloringseemto behavesimilarly.However,therearealsoaspectsinwhichthesetwoparametersdier. Theorem2.8. The2-colorablegraphsarethosewithoutanyoddcycles. Theorem2.9 Erd}os{Rubin{Taylor1979[26] . The2-choosablegraphsaretreesandthe graphswhich,whenverticesofdegree1havebeensuccessivelydeleted,haveremainingas connectedcomponentsevencyclesand/or 2 ; 2 ; 2 m -graphs. Theorem2.9meansthatnotallbipartitegraphsare2-choosable.Infact,inthesame paperitisalsoshownthatthebipartitegraph K m;m with m = )]TJ/F18 7.9701 Tf 5.479 -4.379 Td [(2 k )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 k isnot k -choosable. Hencetheclassofbipartitegraphshasunboundedlistchromaticnumber.Thisshowsthat insomecases,thelistchromaticnumbercapturesaverydierentaspectofgraphsthan thechromaticnumberdoes. Thereisonenalandcriticaldistinctionwemustmakefromacomplexitystandpoint. Forareviewoftheterminologyregardingthepolynomialhierarchy,seeGareyandJohnson [28]. Theorem2.10 Karp1972[42] .CHROMATICNUMBER isNP-complete. Theorem2.11 Erd}os{Rubin{Taylor1979[26] . f -CHOOSABILITY is P 2 -complete. Thechoosabilityproblemremains P 2 -completeevenundersignicantrestrictions.For example,itfollowsfromTheorems2.9and2.5thatthelistchromaticnumberofabipartite planargraphcanbedeterminedinpolynomialtime.YetGutner 4 [31]showedthatthe problemofdecidingwhetherabipartiteplanargraph G is f -choosablegiven f : V G !f 2 ; 3 g isstill P 2 -complete.Notethat f -CHOOSABILITY isadierent problemfrom LISTCHROMATICNUMBER . Despitethatlistcoloringisanalgorithmicallydicultproblem,inthecontextof 4 Later,GutnerandTarsi[32]attributethisresulttoErd}os,Rubin,andTaylor[26]. 12

PAGE 23

reduciblecongurationsitoftendoesnotrequireanevenmoredicultproblemfor assistance.Reduciblecongurationsfornon-listcoloringproblemsareoftenshowntobe f -choosableforsome f ,whichisusingamorediculttypeofcoloringproblem.However, showingthis f -choosabilityforthecongurationisoftensucienttoprovereducibilityin thelistcoloringversionoftheproblemaswell,sincethecoloringextensionargumentisthe same.Henceinthecontextofdischargingproofs,listcoloringresultsmaybeasaccessible astheirnon-listcounterpartsifthedicultybarriercanbebrokenforthereducible congurations. Sections3.2.1and3.2.2discusscommonmethodsforproving f -choosabilityforgraphs. Therehasbeenmuchmoreworkinlistcoloringthanhasbeenmentionedhere,aswell asfurthergeneralizationsoflistcoloring.Wereferthereaderto[2,14,20,48]forsurveys onthesetopicsandtobooks[23,62,63]thatcontainsectionsonlistcoloring. 2.3OtherGraphColoringResultsUsingComputationalMethods ProofsofsometheoremsotherthantheFourColorTheoremalsohavemanyreducible congurations.Sometimes,thesemaybeabletobeinspectedincasestogetherbyhand. Forexample,Borodin[13]veriedsome450reduciblecongurations" 5 toprove Grunbaum'sconjectureonacycliccoloringsofplanargraphs.Amajorpieceofthis achievementisthatonelemmaLemma9simultaneouslyprovesthereducibilityof400 congurations.Insuchcaseswhentherearesharedandeasilyrecognizablepropertiesof congurations,useofcomputersisnotnecessary.Morerecently,severalprojectshaveused congurationswhicharediculttoverifybyhand,andwehavecollectedthemhere.Some proofsdonotusedischargingbutstillmakeuseofreduciblecongurations.Inaddition, theseresultsspanarangeofcoloringvariants. Forexample,Diemunsch,etal.[22]usedcomputationtoverifyreducibilityfortheir4 congurationswhenboundingthecolor-blindindexofaclassofcubicgraphs.Theyalso usedcomputationtoverifyacoloringextensionpropertyofavariablegadgetinaseparate 5 Quotefrom[20]. 13

PAGE 24

PAGE 25

CHAPTERIII COMPUTINGF-CHOOSABILITY 3.1Introduction Inthischapter,wepresentourprogramfordeterminingifagraphis f -choosable.We reviewothermethodsanddiscusstheaspectsofourprogramwhichmakeiteectivein practicedespitethecomplexitybarrier. A coloring ofagraph G isafunction c on V G .Wesaythat c is proper if c u 6 = c v foreveryedge uv in G .The chromaticnumber ofagraphistheminimum k suchthateach vertex v canbeassignedacolor c v fromthelist f 1 ;:::;k g toobtainapropercoloring. Foracoloring c ofagraph G ,a colorclass isthesetofallverticesreceivingagivencolor. If i isacolor,thenthe i -colorclass is f v 2 V G : c v = i g ,thesetofverticesreceiving color i .Ifrange c = f 1 ;:::;k g forsome k 2 N ,then c canberepresentedbythelist A 1 ;:::;A k whereeach A i isthe i -colorclass.Apropercoloring c onapropersubsetof verticesisa partialcoloring . A listassignment L onagraph G isafunctionon V G whichmapseachvertextoa setofcolors.Wesaythatagraphadmitsan L -coloring foralistassignment L ifthereisa propercoloring c of G suchthat c v 2 L v foreachvertex v .When L isunderstood,we callsuchacoloring admissible .Foralistassignment L onagraph G ,a colorabilityclass is thesetofallverticeswhichhaveagivencolorintheirlist.If i isacolor,thenthe i -colorabilityclass is f v 2 V G : i 2 L v g ,thesetofverticeswith i intheirlist.If S L v = f 1 ;:::;k g forsome k 2 N ,thenthelistassignment L canberepresentedbythe list A 1 ;:::;A k whereeach A i isthe i -colorabilityclass.The multiplicity ofacolorability class A inalistassignment L = A 1 ;:::;A k isthenumberofindices i 2f 1 ;:::;k g such that A i = A .Wesaythatalistassignment L 0 = A 0 1 ;:::;A 0 k 0 contains anotherlist assignment L = A 1 ;:::;A k if f A 1 ;:::;A k gf A 0 1 ;:::;A 0 k 0 g asmultisets.Alist assignment L = A 1 ;:::;A k onagraph G is connected iftheinducedgraph G [ A i ]is connectedforeach i 2f 1 ;:::;k g . 15

PAGE 26

A listsizefunction f onagraph G isafunction f : V G ! N .Givenalistsize function f ,wesaythatalistassignment L is f -full orsimply full ,if f isunderstoodif j L v j = f v foreachvertex v .Wesaythat L isan f -partial orsimply partial list assignmentif j L v j f v foreachvertex v andif L isnotfull.When f andthegraph areunderstood,wesaythatalistassignment L is bad ifitisfullandthegraphadmitsno L -coloring.Wesaythatagraph G is f -choosable ifthereexistsan L -coloringforevery f -fulllistassignment L of G .Wesaythatagraphis k -choosable ifitis f -choosableforthe constantlistsizefunction f v = k .The listchromaticnumber ofagraphistheleast k suchthatthegraphis k -choosable. InSection3.2,wediscusssomeofthetoolsusedforshowing f -choosability.In Section3.3,wedescribeourtoolfordetermining f -choosability.InSection3.4,wedescribe ourimplementationforapplyingtheCombinatorialNullstellensatzsomanytimesinour program.WeconcludewithsomethoughtsandquestionsinSection3.6.Thecodeforour programcanbefoundinAppendixA.OurimplementationusesSageMath[54]. 3.2ToolsforDetermining f -Choosability Ourfocusinthissectionwillbeonthreemethodsforshowing f -choosabilitywhichwe willincorporateintoourownalgorithm.AfterdiscussingtheseinSections3.2.1,3.2.2and 3.2.3,wewillalsomentionotherapproachestolistcoloringwhichhavetheirownmeritsin Section3.2.4. 3.2.1DegeneracyandGreediness Whentryingtoprovethataspecicgraphis f -choosableforaparticularlistsize function f ,themostcommonapproachusedintheliteratureistochooseanorderingof theverticesandobservetheworst-casescenariounderagreedycoloringwhichrespectsthis ordering.Forexample,considerthepawgraph G onvertices f w;x;y;z g andedges f wx;xy;xz;yz g .SeeFigure3.1. 16

PAGE 27

w 2 x 3 y 2 z 1 Figure3.1:Thepawgraph.Thelistsizeofeachvertexisgivenasaboxednumber. Letthefunction f bedenedby f w = f y =2, f x =3,and f z =1,andalso considerthevertexordering z;y;x;w .Uponcoloring z ,atmostonecolorbecomes unavailablefromthelistsof x and y ;so y stillhasanavailablecolorandwechoosethat color.Then, x stillhasatleastoneavailablecolor,whichwechoose.Untilcoloring x ,both colorsinthelistof w wereavailable;aftercoloring x ,atleastoneremainsavailableto assignto w .Hence G is f -choosable. Wesayagraph G is h -degenerate forafunction h : V G ! N ifthereexistsavertex orderingsuchthateachvertex v hasatmost h v previousneighborsintheordering. When h isaconstantfunctionmappingtoavalue k ,wewritethat G is k -degenerate . Fromtheabovegreedycoloringmethod,wemakeanobservation. Observation3.1. Consideragraph G andalistsizefunction f .If G is f )]TJ/F15 11.9552 Tf 11.955 0 Td [(1 -degenerate,then G is f -choosable. Itisoftenthecasethatagraphis f -choosablebutnot f )]TJ/F15 11.9552 Tf 11.955 0 Td [(1-degenerate.However, greedycoloringcanbestrengthenedwithcaseanalysis.Forexample,evencyclesarenot 1-degeneratebutareclosetobeing1-degenerateinthesensethateverypropersubgraph hasminimumdegreeatmost1.Nowconsiderthefollowingproofthatevencyclesare 2-choosable.Let L bealistassignmenton C 2 k suchthat j L v j =2foreachvertex v .If L isconstant,then L hasanadmissiblecoloringsince C 2 k is2-colorable.Sosupposethere existadjacentvertices u;v suchthat L u n L v 6 = ? ,andassign u acolorfrom L u n L v .Bygreedilycoloringtheremainingverticescyclicallyabout C 2 k from u to v , weobtainan L -coloring. 17

PAGE 28

Sometimes,greedyapproacheswithcaseanalysisarenottractableforprovingthata graphis f -choosableforagiven f .However,itisalwaysworthwhiletousepartial informationaboutgreedycoloring. Observation3.2. Consideragraph G andalistsizefunction f suchthat f v > deg v forsomevertex v .Then G is f -choosableifandonlyif G )]TJ/F20 11.9552 Tf 11.955 0 Td [(v is f j G )]TJ/F21 7.9701 Tf 6.587 0 Td [(v -choosable. Observation3.2impliesObservation3.1,butmoreimportantlyitallowsfor preprocessinganinputgraph G andlistsizefunction f .Ifthereareanyverticeswithlarge listsizes,weneedonlyconsiderthegraphremainingwithoutthem. Inlightoftheaboveobservation,anaturalquestiontoaskiswhetheragraphis f -choosableforthelistsizefunctiondenedby f v :=deg G v .Wecallsuchagraph degree-choosable .A block of G isamaximal2-connectedsubgraph,anda Gallaitree isa connectedgraphforwhicheveryblockisanoddcycleoracompletegraph.Thefollowing theoremcharacterizesdegree-choosablegraphs. Theorem3.3 Erd}os{Rubin{Taylor1979[26] . Aconnectedgraphisdegree-choosableif andonlyifitisnotaGallaitree. 3.2.2TheCombinatorialNullstellensatz Oneofourprimarytools,theCombinatorialNullstellsatz,isderivedfrompolynomial methods. Theorem3.4 CombinatorialNullstellensatz,see[3] . If Q n i =1 x t i i isamonomialwith nonzerocoecientinapolynomial p havingdegree P n i =1 t i overaeld F ,and S 1 ;:::;S n aresetswith j S i j >t i for 1 i n ,then p x 6 =0 forsome x 2 S 1 S n . Let G beagraphwithvertices V = f v 1 ;:::;v n g andedges E .The graphpolynomial of G isdenedby p G x = Y v i v j 2 E i
PAGE 29

Givenalistassignment L andsetting S i := L v i foreach i ,wehavethat ^x =^ x 1 ;:::; ^ x n inducesa L -coloringdenedby c v i =^ x i foreach1 i n ifandonly if p G ^x 6 =0.HencethefollowingiscorollarytoTheorem3.4theCombinatorial Nullstellensatz. Corollary3.5 Alon{Tarsi1992[5] . If Q n i =1 x t i i isamonomialof p G withnonzero coecientand f isafunctionwith f v i >t i for 1 i n ,then G is f -choosable. Toillustratethiswereturntotheexampleofthepawgraph G inFigure3.1.Letting x;w;y;z alsobethevariablesfortheirrespectiveverticesinthegraphpolynomial,wehave p G w;x;y;z = w )]TJ/F20 11.9552 Tf 11.955 0 Td [(x x )]TJ/F20 11.9552 Tf 11.955 0 Td [(y x )]TJ/F20 11.9552 Tf 11.956 0 Td [(z y )]TJ/F20 11.9552 Tf 11.955 0 Td [(z = wx 2 y )]TJ/F20 11.9552 Tf 11.955 0 Td [(wxy 2 )]TJ/F20 11.9552 Tf 11.955 0 Td [(x 3 y + x 2 y 2 + wy 2 z + x 2 yz )]TJ/F20 11.9552 Tf 11.955 0 Td [(xy 2 z )]TJ/F20 11.9552 Tf 11.955 0 Td [(wx 2 z + x 3 z )]TJ/F20 11.9552 Tf 11.955 0 Td [(x 2 yz + wxz 2 )]TJ/F20 11.9552 Tf 11.955 0 Td [(wyz 2 )]TJ/F20 11.9552 Tf 11.955 0 Td [(x 2 z 2 + xyz 2 : Sincethecoecientofthemonomial w 1 x 2 y 1 z 0 = wy 2 z isnonzero,wehavethat G is f -choosableforany f with f w 2, f x 3, f y 2,and f z 1. Corollary3.5isstatedasanapplicationtolistcoloringonvertices,butitisjustas relevanttoothercoloringvariants.ByapplyingCorollary3.5totheappropriateconict graph,thesamemethodcanbeappliedinotherlistcoloringsettingssuchasedgecoloring, totalcoloring,ordistancecoloring.Inallthesecases,therespectivepolynomialisa productoffactorscorrespondingtoconictsinthegraph.DeOrsey,etal.[21]employed thismethodtoaspecicgraphinthecontextofthestrongchromaticindex,usingthe computeralgebrasystemsMagmaandSagetoidentifythecoecientofamonomialina polynomialofdegree60. WhiletheCombinatorialNullstellensatzisausefultool,italsohasshortcomingswhen appliedtospecicgraphswemightencounterinourreduciblecongurations.Forexample, Corollary3.5providesasucientcondition,butnotanecessaryone.Ifthecoecientsof all f -appropriatemonomialsinthepolynomialexpansionarezero,thenwearegivenno 19

PAGE 30

informationregardingthe f -choosabilityofourgraph.InthecaseofCorollary3.5,this mightoccurwhen )]TJ 5.479 -0.717 Td [(P v 2 V f v )]TJ/F20 11.9552 Tf 11.955 0 Td [(n isatleastthedegreeofthepolynomial,butitis guaranteedtooccurwhenthevalueisless.Forexample,considerthegraph K 3 ; 3 andthe function f denedbyassigning3toonevertexof K 3 ; 3 and2totheremainingvevertices. SeeFigure3.2.ToapplyCorollary3.5,weneedtoidentifyamonomial Q 6 i =1 x t i i suchthat t i f v i )]TJ/F15 11.9552 Tf 11.955 0 Td [(1foreach i .However,ourchoiceof f impliesthatanysuchmonomialhas degreeatmost7,whereas p K 3 ; 3 hasdegree9.SotheCombinatorialNullstellensatztellsus nothinginthiscase,eventhough K 3 ; 3 isinfact f -choosable.Thisisshownbythemethod inSection3.2.3. 3 2 2 2 2 2 Figure3.2:Thecompletebalancedbipartitegraphon6vertices.Thelistsizeofeach vertexisgivenasaboxednumber. AlthoughCorollary3.5providesonlyasucientcondition,itiscompatiblewith greedycoloring. Lemma3.6. Let G beagraph,let f bealistsizefunctionon G ,andlet v beavertexof G .Ifall f j G )]TJ/F21 7.9701 Tf 6.586 0 Td [(v -appropriatemonomialsof p G )]TJ/F21 7.9701 Tf 6.587 0 Td [(v havecoecient0,thenall f -appropriate monomialsof p G havecoecient0. Proof. Wedenoteby p Q x t i i thecoecientofamonomial Q x t i i inapolynomial p .Label theverticesof G as v 1 ;:::;v n suchthat v = v n ,andlet S bethesetofindicesofthe neighborsof v n .Observethat p G p G )]TJ/F21 7.9701 Tf 6.587 0 Td [(v p S ,where p S := Q i 2 S x i )]TJ/F20 11.9552 Tf 11.955 0 Td [(x n . Nowlet Q n i =1 x t i i bean f -appropriatemonomial.Since p G Q n i =1 x t i i =0when t i > deg G v i forsome i ,weassumethat t i deg G v i forall i .Dene r n := t n ,andlet R bethesetof n )]TJ/F15 11.9552 Tf 11.567 0 Td [(1-tuples r 1 ;:::;r n )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 ofnonnegativeintegersmajorizedby t 1 ;:::;t n )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 20

PAGE 31

whichsumtodeg G v n )]TJ/F20 11.9552 Tf 11.948 0 Td [(t n .Observethat R representstheexponentlistsintheexpansion of p S [ x t n n ].Sowehave p G " n Y i =1 x t i i # = X r 1 ;:::;r n )]TJ/F19 5.9776 Tf 5.756 0 Td [(1 2 R p G )]TJ/F21 7.9701 Tf 6.587 0 Td [(v " n )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 Y i =1 x t i )]TJ/F21 7.9701 Tf 6.586 0 Td [(r i i # p S " n )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 Y i =1 x r i i ! x t n n # : Ifall f j G )]TJ/F21 7.9701 Tf 6.587 0 Td [(v -appropriatemonomialshavecoecient0in p G )]TJ/F21 7.9701 Tf 6.586 0 Td [(v ,then p G Q n i =1 x t i i =0. Henceifthereisagreedyorderingoftheverticeswhichshowsthatagraphis f -choosable, thenCorollary3.5willalsoshowthatthegraphis f -choosable.Moreimportantly,using Observation3.2doesnotchangetheoutcomeofapplyingtheCombinatorial Nullstellensatz. AsecondshortcomingofCorollary3.5isthatitdoesnotapplytocertainaspectsof reducibility.Sometimes,anadditionalplaceholderstructurecalleda reducer isusedinthe inductionstepwhichgivestheprecoloringsomeadditionalconstraints.Thepresenceof reducersmeansthattherearefewerprecoloringstoextendtotheconguration,andthus thefullmeasureof f -choosabilityisnotnecessarytocheckreducibilityinthestandard coloringsetting.However,theCombinatorialNullstellensatzdoesnotguaranteethe existenceofapointinarestricteddomain,soitisunclearifpolynomialmethodscanbe eectivewithreducers. AthirdshortcomingoftheCombinatorialNullstellensatzisthenumberof f -appropriatemonomialsmaybelarge.When )]TJ 5.479 -0.717 Td [(P v 2 V f v )]TJ/F20 11.9552 Tf 11.955 0 Td [(n ismuchlargerthanthe degreeofthegraphpolynomial,therearemany f -appropriatemonomialsthatcould feasiblyappearintheexpansionofthegraphpolynomial.Searchingforan f -appropriate monomialwithnonzerocoecientinthiscaseiscomputationallyexpensive.Ourapproach tothissituationisdescribedinSection3.4. Anothertool,theAlon{TarsiTheorem,isarestatementofCorollary3.5which observesthatthemonomialcoecienthasacombinatorialinterpretationforthegraph G . Adirectedgraphor digraph D isa circulation if d + D v = d )]TJ/F21 7.9701 Tf 0 -8.189 Td [(D v foreveryvertex v .A 21

PAGE 32

circulationis even ifitsnumberofedgesiseven,likewise odd ifthenumberofedgesisodd. Wedenotebydi D theabsolutedierencebetweenthenumberorevencirculationsand oddcirculationsspanningadigraph D .Wesaythatadigraph D is f -choosableifits underlyinggraphis f -choosable. Theorem3.7 Alon{Tarsi1992[5] . Let f v =1+ d + D v foreachvertex v inadigraph D .If di D 6 =0 ,then D is f -choosable. In[5],Theorem3.7isusedtoprovethenoteworthyresultthatbipartiteplanargraphsare 3-choosable.Insuchproofs,propertiesofgraphssuchasbeingbipartitecangiveinsight intothecirculationsofclassesofgraphs. Interestingly,Theorem3.7canalsobeimplementedforconcretegraphs.Brimkov,et al.[17]usedcomputationtoprovereducibilityinaninjectivelistcoloringsetting.They showsomecongurationstobereduciblebyagreedycoloring,andothersbyan Alon{Tarsiorientation.Forthelatter,thecomputerprogramsearchesfororientations D of thecongurationwhichhavedi D 6 =0andgivethecorrect f fortheirpurposes. However,inourprogramweselectivelyexpandthegraphpolynomialtondan appropriatemonomialofnonzerocoecient.Thisapproachseemsmoreeectivethanan exhaustivesearchfororientations. 3.2.3SearchingAllListAssignments Anotherapproachto f -choosabilityistond L -coloringsforall f -fulllistassignments L .First,itisworthpointingoutthatthisisaniteproblemfornitegraphs.Givenan f -fulllistassignment L ,wehave j S L v j K ,where K = P f v .Soforanysuchlist assignment L ,theuniverseofcolors S L v canbepermutedtobefromtheset f 1 ;:::;K g . Hencethenumberofsuchlistassignmentsuptorelabelingisatmost Q )]TJ/F21 7.9701 Tf 9.598 -4.379 Td [(K f v K K .Soit ispossibletogenerateeachlistassignment L usingcolorsfrom f 1 ;:::;K g andchecktosee ifthegraphadmitsan L -coloring.However,thenumberoflistassignmentscanbeso enormouslylargethatanexhaustivesearchisnotfeasible. Toprunethesearchspace,wewanttomakeobservationsduringthesearchthatcan 22

PAGE 33

helpreducetheeort.Therstwaytodothisistoconsideronlyonelistassignment amongallequivalentlistassignments.Forexample,permutatingthecolorsofalist assignmentissimplyanotherformofrelabeling,andsowewanttopreventthegeneration ofpermutedlistassignments. Observation3.8. Let L = A 1 ;:::;A k bealistassignmentofagraph G ,andlet ' : f 1 ;:::;k g!f 1 ;:::;k g beapermutation.Foreach i 2f 1 ;:::;k g ,dene A 0 i := A ' i , andconsiderthelistassignment L 0 = A 0 1 ;:::;A 0 k .Then G admitsan L -coloringifandonly ifitadmits L 0 -coloring. Soifweputatotalorderingonallthepossiblecolorabilityclasses,thenthereisa canonicalrepresentativelistassignmentforalllistassignmentswhichareequivalentupto permutingcolors. Ournotationexpresseslistassignmentsintermsofcolorabilityclassesratherthanas listsdenedateachvertex.Generatinglistassignmentsviavertexlistsispossible,but doesnothelpmuchforpruningthesearchspace.Aswewillsee,therearemanybenetsof generatinglistassignmentsbycolorabilityclasses.Next,weobservethatonlyconnected listassignmentsneedtobesearched. Observation3.9 Stolee2015[53] . Let L = A 1 ;:::;A k bealistassignmentofagraph G , andsupposethat G [ A k ] isdisconnected.Let A 0 bethevertexsetofoneofthecomponents of G [ A k ] ,andlet A 00 := A k n A 0 .Considerthelistassignment L 0 = A 1 ;:::;A k )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 ;A 0 ;A 00 . Then G admitsan L -coloringifandonlyifitadmitsand L 0 -coloring.Henceforanylist assignmentof G ,thereisanequivalentconnectedlistassignmentwiththesamelistsizes. Thusweneedconsideronlythelistassignmentswhichcanbebuiltoutofcolorability classeswhichinduceconnectedsubgraphs.Byrestrictingthenumberofcandidatesfor colorabilityclasses,werestrictthenumberoflistassignmentsgenerated.Thesearchspace describedabovecanbeexploredviabacktrack-and-searchbybuildingalistassignmentas astackofcolorabilityclasses.SeeAlgorithm1. Thebacktrack-and-searchdescribedinAlgorithm1canbemodiedintwowaysto 23

PAGE 34

Algorithm1 Generateconnected f -fulllistassignments 1: procedure list assignment generator G , f 2: L [] . theemptylist 3: Let A 1 ;:::;A t beanorderedlistofthenonemptysubsetsof G whichinduceconnectedsubgraphs. 4: subgraph pointer stack [1] . thelistoflength1containingtheelement1 5: not full V G 6: color 0 7: while True do 8: if not full isnonemptyandthereisasubset A j suchthat A j not full and j subgraph pointer stack [ color ] then 9: Dene k tobetheleastvalueof j satisfyingtheif"conditionabove. 10: Append A k to L . 11: Append k to subgraph pointer stack . 12: not full thesetofvertices v of G whichappearinfewerthan f v elements of L 13: color color +1 14: else 15: if not full = ? then 16: yield L 17: endif 18: dowhile thereisnosubset A j suchthat A j not full and j> subgraph pointer stack [ color ] 19: Popthelastelementof L . 20: Popthelastelementof subgraph pointer stack . 21: not full thesetofvertices v of G whichappearinfewerthan f v elementsof L 22: color color )]TJ/F15 11.9552 Tf 9.299 0 Td [(1 23: if color < 0 then 24: return . Endgenerator. 25: endif 26: endwhile 27: subgraph pointer stack [ color ] subgraph pointer stack [ color ]+1 28: endif 29: endwhile 30: endprocedure furtherprunethesearchspace.First,wecanchangethegeneratortoalsoyieldpartiallist assignments.Byaddingayield"statementattheendoftheif"blockinLines8{13,the generatorwillyieldpartiallistassignments.Thisishelpfulbecauseofthefollowing observation. 24

PAGE 35

PAGE 36

argumentispossible,butthenumberofcasestoconsideristediousforsuchasmallgraph. Soourcomputationaltoolllsagapleftbyothermethodsforprovingordetermining f -choosablility.However,evenforslightlylargergraphsorlistsizestheapproachdescribed inthissectionquicklybecomesintractable.AsdiscussedinSection3.3,weusethismethod asthebasisforournewtool,butcombinetheusefulnessoftheCombinatorial Nullstellensatztomakeiteectiveforpracticallyrelevantgraphs. 3.2.4OtherToolsfor f -Choosability Thereareothermethodsforprovingchoosabilitywhichwewillnotincorporateinto ourtoolbutareworthmentioninghere.Forexample,theprobabilisticmethodhasmany applicationsingraphcoloring.MolloyandReed[46]usetheLovaszLocalLemmatoprove that k -listassignmentswhichhavethefollowingpropertyhaveadmissiblecolorings:each colorisseenbyatmost k= 8neighborsofanyonevertex.Alon[4]usedthistechniqueto provethatthelistchromaticnumberofgraphswithaveragedegree d isboundedbelowby 1 2 )]TJ/F20 11.9552 Tf 11.955 0 Td [(o ln d as d tendstoinnity.However,itisnotclearhowtoleverageprobabilistic toolstoimproveourownmethodforgraphswithlowdegree. Anothertechniqueisthekernelmethod,whichshows f -choosabilityintermsof outdegreeinorientationsofthegraph.AlonandTarsi[5]usethismethodtoprovethat bipartiteplanargraphsare3-choosable.Galvin[27]alsousedthekernelmethodtoprove thatthelistchromaticindexofabipartitegraphisequaltoitsmaximumdegree.This resultisthemostsignicantprogressmadetowardtheListColoringConjecturesee Section3.5.2foraconcreteclassofgraphs.Wedonotimplementthekernelmethodasit seemstorequiremoreeorttondanorientationwithkernel-perfectsubdigraphsthanour methodofdirectlyinspectingthecoecientsofmonomialsinthegraphpolynomial. Inmorerecentyears,aQuantitativeCombinatorialNullstellensatzhasbeendeveloped andappliedaswellsee[44,50].Weoriginallyconsideredusingthistool,asitallowsusto computethecoecientofanydesiredmonomialinthegraphpolynomialwithoutdirectly expandingthepolynomial.However,itisnotclearifthesemethodscanbeadaptedto 26

PAGE 37

quicklysearchall f -appropriatemonomialsinsteadofstartingfromscratchforeach monomial.Intheend,ourmethodsforapplyingCorollary3.5workedbestforour applications. Thefollowingisalemmawhichhasbeenusedintheliteraturetorestricttheanalysis ofpossiblebadlistassignments. Lemma3.11 SmallPotLemmasee[63] . If G isnot k -choosable,thenthereisabad k -listassignment L suchthat j S L v j deg G 1 v toobtainthegraph G 2 .Werepeatthisprocessbyremovinganyvertex v of G 2 whichhas f v > deg G 2 v untiltherearenosuchverticesremaining.Callournal graphafterthisprocessterminates G 1 .Then G is f -choosableifandonlyif G 1 is f j G 1 -choosable.If G 1 istheemptygraph,thentheorderinginwhichweremovedthe verticesof G isagreedyordering. Asasecondstep,wechecktoseeif G 1 hasanyvertices v suchthat f j G 1 v =1.Ifso, 27

PAGE 38

suchavertex v mustbeassignedtheonlycolorinitslistinanyadmissiblecoloring. Althoughsomelistassignmentswillnotassign v 'scolortothelistsofall v 'sneighbors, somelistassignmentswill. Observation3.12. Let G beagraphand f alistsizefunctionsuchthat f v =1 for somevertex v .Then G is f -choosableifandonlyif G )]TJ/F20 11.9552 Tf 11.956 0 Td [(v is ^ f -choosable,where ^ f x = 8 > > < > > : f x )]TJ/F15 11.9552 Tf 11.955 0 Td [(1 if x 2 N G v f x otherwise. Soifthereisanyvertexof G 1 withan f -valueof1,wedeleteittoobtainagraph ^ G 2 and alistsizefunction ^ f 2 asdescribedinObservation3.12.Werepeatthisprocessbyremoving anyvertex v of ^ G 2 whichhas ^ f 2 v =1untiltherearenosuchverticesremaining.Callour nalgraphafterthisprocessterminates ^ G ,andthecorrespondinglistassignment ^ f .If ^ f mapsanyvertexof ^ G toanonpositiveinteger,thenthestructureofthedeletedvertices haveshownthat G 1 isnot f j G 1 -choosable.If ^ G isempty,thenthestructureofthedeleted verticeshaveshownthattheworst-caselistassignmenthasonlyoneadmissiblecoloring. Inthissecondstep,Observation3.12canbegeneralized.Forexample,ifagraph G has twoadjacenttwinvertices u and v suchthat f u = f v =2,thensomelistassignments willassignthesametwocolorstothelistsof u and v andtothelistofallneighborsof u and v .So G is f -choosableifandonlyif G )]TJ/F20 11.9552 Tf 11.956 0 Td [(u )]TJ/F20 11.9552 Tf 11.955 0 Td [(v is ~ f -choosable,where ~ f isobtained from f bysubtracting2forallneighborsof u and v .Wedonotcheckforanysuch structures,butsuchacheckcouldbeimplemented. Asathirdpreprocessingstep,weapplytheCombinatorialNullstellensatzthatis, Corollary3.5to ^ G and ^ f .WeusethemethoddescribedinSection3.4forour implementation.Ifthereexistsamonomial Q x t i i withnonzerocoecientin p ^ G suchthat ^ f v i >t i forallvertices v i of ^ G ,then ^ G is ^ f -choosableandhence G is f -choosable. Otherwise,wemoveontoourprogram'sprimarypurpose,thebacktrack-and-search. 28

PAGE 39

Itisworthwhiletoremarkthatthersttwopreprocessingstepsshouldtakeplace beforeapplyingtheCombinatorialNullstellensatz.Firstweproveanotherlemmato demonstratethis.Thereversedirectionistrueandprovensimilarly,butunnecessaryfor ourpurposes. Lemma3.13. Let G beagraph,let f bealistsizefunctionon G ,andlet v beavertexof G suchthat f v =1 .Let ^ f beasdenedinObservation3.12.Ifall ^ f -appropriate monomialsof p G )]TJ/F21 7.9701 Tf 6.586 0 Td [(v havecoecient0,thenall f -appropriatemonomialsof p G have coecient0. Proof. Labeltheverticesof G as v 1 ;:::;v n suchthat v = v n ,andlet S bethesetofindices oftheneighborsof v n .UsingthenotationfromtheproofofLemma3.6,observethat p G p G )]TJ/F21 7.9701 Tf 6.586 0 Td [(v Q i 2 S x i )]TJ/F20 11.9552 Tf 11.955 0 Td [(x n . Let Q n i =1 x t i i bean f -appropriatemonomial.Weassumethat t i deg G v i forall i . Since f v n =1,wehave t n =0.Hence p G [ x t n n ]= p G )]TJ/F21 7.9701 Tf 6.586 0 Td [(v )]TJ 5.479 -0.717 Td [(Q i 2 S x 1 i : Thenwehave p G Q n i =1 x t i i = p G )]TJ/F21 7.9701 Tf 6.586 0 Td [(v h Q n )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 i =1 x t i )]TJ/F21 7.9701 Tf 6.587 0 Td [( S i i i )]TJ 5.479 -0.717 Td [(Q i 2 S x 1 i ; where S istheindicatorfunctionforthe set S .So Q n i =1 x t i i hasnonzerocoecientin p G ifandonlyif Q n )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 i =1 x t i )]TJ/F21 7.9701 Tf 6.586 0 Td [( S i i hasnonzero coecientin p G )]TJ/F21 7.9701 Tf 6.586 0 Td [(v . ByLemma3.6andLemma3.13,weknowthatifCorollary3.5showsthat G is f -choosable,thenitalsoshowsthat ^ G is ^ f -choosable.Soifwendnoappropriate monomialwithnonzerocoecientin p ^ G ,thenwewouldnothavefoundonein p G .Since anyreductionsfromthersttwopreprocessingstepsmaketheproblemsimpler,itis alwaysdesirabletoapplythemrst. Foreaseofnotation,wereferto ^ G and ^ f as G and f inthefollowingsections.The remainingsearchprocessassumesthatanygraphandlistsizefunctionitisgivenhasbeen preprocessed. 29

PAGE 40

3.3.2VettingtheColorabilityClasses Wenowdescribetheaspectofourimplementationthatmostsignicantlyprunesthe searchspaceofpartiallistassignments.Supposeweknowthatanonemptysetofvertices A isnotacolorabilityclassinanybadlistassignment.Thenweneednotgenerateand checkanylistassignmentsforwhich A isacolorabilityclass.Inthiscase,Algorithm1can bemodiedinLine3sothat A isremovedfromthelist A 1 ;:::;A t .Thenthepartiallist assignmentgeneratorwouldnotspendanytimebuildingpartiallistassignmentswhich contain A andhencearenotcontainedbyanybadlistlistassignments.Thisobservation demonstratestheusefulnessofthefollowinglemma. Lemma3.14. Considersomegraph G andlistsizefunction f .Let A V G andlet I A beanindependentsetof G ,anddenethelistsizefunction ^ f on G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I asfollows: ^ f v = 8 > > < > > : f v ;v= 2 A f v )]TJ/F15 11.9552 Tf 11.955 0 Td [(1 ;v 2 A n I: If G )]TJ/F20 11.9552 Tf 11.819 0 Td [(I is ^ f -choosable,thenevery f -fulllistassignmentwhichhas A asacolorabilityclass hasanadmissiblecoloring. Proof. Suppose G )]TJ/F20 11.9552 Tf 11.945 0 Td [(I is ^ f -choosableandlet L = A 1 ;:::;A t ;A bean f -fulllistassignment. Considerthelistassignment L 0 := A 0 1 ;:::;A 0 t where A 0 i := A i n I foreach i 2f 1 ;:::;t g . Since L 0 isa ^ f -fulllistassignmenton G )]TJ/F20 11.9552 Tf 11.776 0 Td [(I ,thereisan L 0 -coloring c 0 = I 1 ;:::;I t on G )]TJ/F20 11.9552 Tf 11.776 0 Td [(I . Since I isanindependentsetin G ,wecanextendthecoloringto c = I 1 ;:::;I t ;I tobean L -coloringon G . Inourprogram,wecheckeverynonemptysubsetofverticeswhichinducesaconnected subgraphof G toseeifitcontainsanindependentset I asdescribedinLemma3.14.We removeanysubsetscontainingsuchanindependentsetfromthelist A 1 ;:::;A t inLine3of Algorithm1,sothatanyremainingcolorabilityclassesarethosewhichmightpossiblybe 30

PAGE 41

containedinabadlistassignment. Therearetworemarksaboutthisvettingprocessworthmakinghere.First,touse Lemma3.14inouralgorithmfordeterminingif G is f -choosable,wedonotrecursivelycall ourprogramforthesmallerproblemofdeterminingif G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I is ^ f -choosable.Intheinterest ofarelativelyfastcheckforLemma3.14,weonlyapplytheCombinatorialNullstellensatz viaCorollary3.5usingtheimplementationdescribedinSection3.4.Ifthisapplication doesnotconcludethat G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I is ^ f -choosable,thenwemoveon.Itisnotclearwhetherany furthereortswouldbeworthwhile. Second,whenlookingforsuchanindependentsetin A wedonotcheckeverysingle independentset.Instead,wecheckonlytheindependentsetswhicharemaximalin A due tothefollowingobservation. Observation3.15. Let I and A begivenforagraph G asinLemma3.14.Let I 0 bean independentsetof G suchthat I I 0 A ,andlet f 0 bedenedsimilarlyto ^ f in Lemma3.14.Since f 0 = ^ f j G )]TJ/F21 7.9701 Tf 6.586 0 Td [(I 0 ,wehavethatif G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I is ^ f -choosable,then G 0 I is f 0 -choosable. SinceweonlyusetheCombinatorialNullstellensatztocheckforchoosabilityinthissetting, itisworthremarkingthatwecanapplytheCombinatorialNullstellensatztoonlythe graphs G )]TJ/F20 11.9552 Tf 11.811 0 Td [(I suchthat I ismaximalasanindependentset.Thefollowingcorollaryfollows fromLemma3.6bysuccessivelydeletinganyverticesin I 0 n I from G )]TJ/F20 11.9552 Tf 11.887 0 Td [(I toobtain G )]TJ/F20 11.9552 Tf 11.887 0 Td [(I 0 . Corollary3.16. Considersomegraph G andlistsizefunction f .Let A V G andlet I and I 0 beindependentsetsof G suchthat I I 0 A .Dene ^ f := f )]TJ/F20 11.9552 Tf 11.955 0 Td [( A on G )]TJ/F20 11.9552 Tf 11.956 0 Td [(I and dene f 0 := f )]TJ/F20 11.9552 Tf 11.955 0 Td [( A on G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I 0 .Ifall f 0 -appropriatemonomialsof p G )]TJ/F21 7.9701 Tf 6.587 0 Td [(I 0 havecoecient0, thenall ^ f -appropriatemonomialsof p G )]TJ/F21 7.9701 Tf 6.587 0 Td [(I havecoecient0. Inpractice,isistypicalthataminorityofthesubsetsremaininthelist.Thusthe numberoflistassignmentstocheckisreducedtoasmallfractionofwhatitwouldbe otherwise.RecallingtheexampleofFigure3.2,withthevettingprocessdescribedour searchencountersonly35partiallistassignmentscomparedtotheoriginal9330. 31

PAGE 42

Implementedona2.3GHzIntelCorei5processor,thesearchtook0.1seconds.Infact, thereareothercasesinwhichthereisnononzerocoecientforanappropriatemonomial inthegraphpolynomial,buteverysinglesubsetisruledoutfromthesearchprocess. Thisvettingprocessistheoreticallyprohibitivebecausewestoretheremainingsubsets inmemory.However,ifthenumberofsubgraphsremainingafterthevettingprocessistoo largetostore,thenthesearchspacewillalmostcertainlyalsobetoolargetoexamine. Astheinputgraphsgrowlargeranddenser,thenumberofconnectedinduced subgraphstovetgrowsquicklyaswell.Eventhoughthevettingprocessmakessucha signicantdierenceinthesearchtime,theoverheadforapplyingLemma3.14viathe CombinatorialNullstellensatztoeachsubsetcanbeasignicanttaskonitsown.The followingobservationisusefulforspeedingupthisinitialvettingprocess. Observation3.17. Supposethereexistssuchanindependentset I A suchthat G )]TJ/F20 11.9552 Tf 11.853 0 Td [(I is ^ f -choosableforthe ^ f denedinLemma3.14.Foranyset A 0 suchthat I A 0 A , considerthelistfunction ^ f 0 denedfor A 0 inthesamewayas ^ f .Since ^ f 0 v ^ f v forall vertices v of G I ,wehavethat G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I is ^ f 0 -choosable.Hence A 0 isnotacolorabilityclassin anybadlistassignment,either. Ourprogramreducestheoverheadofthevettingprocessbystoringeachpair I;A that yieldsasuccessfulapplicationofLemma3.14.Then,beforeapplyingthelemmatoanew subset A 0 ,itcheckstoseeif I A 0 A foranystoredpair I;A .Ifso,thenby Observation3.17wecanremove A 0 fromthelistofsubsets.Inthiscase,thereisnoneedto store I;A 0 sinceitprovidesnonewinformation.If A 0 isnotsandwichedbetweenany storedpair,thenweproceedwithLemma3.14asusual. TheeectivenessofObservation3.17isheavilydependentontheorderinginwhichthe subsetsareconsidered.Forthisreason,wegeneratethesubsetsinthereverseof colexicographicorder.Thus,foranytwosets A and B suchthat A B ,theset A comes before B .ThismaximizesthepossiblebenetofObservation3.17. TheresultingreductioninoverheadcanbeseeninanexamplefromChapterIV.For 32

PAGE 43

thisgraph G on15verticesand44edgesandthelistsizefunction f withoutputs[5,6,6, 6,6,5,5,3,4,3,2,3,3,2,3],wefoundthat G isnot f -choosable.Therunningtimefor vettingallthenonemptysubsetswhichinduceconnectedsubgraphsof G byapplyingthe CombinatorialNullstellensatztoeachwas6minutes,58secondsona2.3GHzIntelCorei5 processor.However,therunningtimewhenusingObservation3.17was42seconds.Ofthe 22,749nonemptysubsetswhichinduceconnectedsubgraphsof G ,only339 I;A pairs werestoredand22,344subsetswereskippedbecauseofastoredpair.Thisleftonly66 subsetswhichcouldbepartofabadlistassignment,andthenndingabadlist assignmenttook11seconds. RegardlessofusingObservation3.17toreducetheoverhead,theexamplesaboveshow thatexaminingthesearchspacewouldbehopelesswithoutvettingallsubsetswhich induceconnectedsubgraphs.Infact,wealsousetheCombinatorialNullstellensatzduring thesearchaswell. 3.3.3PruningduringtheBacktrack-and-Search Theenormoussavingsgainedbyvettingthesubsetsbeforefeedingthemtothepartial listassignmentgeneratorcanbeextendedtodynamicpruningduringthe backtrack-and-search.Weusethefollowinglemma,whichisageneralizationof Lemma3.14. Lemma3.18. Considersomegraph G andlistsizefunction f .Let L = A 1 ;:::;A t bean f -partiallistassignment,andlet c = I 1 ;:::;I t bean L -coloringontheset I := S I i .Dene thelistsizefunction ^ f on G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I by ^ f v = f v )-222(jf i : v 2 A i n I gj .If G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I is ^ f -choosable,thenevery f -fulllistassignmentcontaining L hasanadmissiblecoloring. Proof. Suppose G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I is ^ f -choosableandlet L 0 = A 1 ;:::;A t ;A t +1 ;:::;A s bean f -fulllist assignmenton G containing L .Considerthelistassignment ^ L := ^ A t +1 ;:::; ^ A s where ^ A i := A i n I foreach i 2f t +1 ;:::;s g .Since ^ L isa ^ f -fulllistassignmenton G )]TJ/F20 11.9552 Tf 11.756 0 Td [(I ,thereis an ^ L -coloring^ c = I t +1 ;:::;I s on G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I .Then c [ ^ c = I 1 ;:::;I s isan L -coloringon G . Supposethesearchforabadlistassignmenthasarrivedatapartiallistassignment 33

PAGE 44

L = A 1 ;:::;A t andthatthereexistsapartial L -coloring c suchthat G )]TJ/F20 11.9552 Tf 11.268 0 Td [(I is ^ f -choosableas inLemma3.18.Thenwecanbacktrackimmediately,sincethereisnofulllistassignment containingourcurrentpartiallistassignment.Inourprogram,weapplyameasureofhow fullthecurrentpartiallistassignmentisandsetathresholdwhichcanbechangedbythe userinprocess".Ifthemeasurefallsabovethegiventhreshold,thenwedonotcheck anycoloringsforLemma3.18.Ourheuristicreasoningisthefollowing:Since L isfairly full,itismorelikelytohaveanadmissiblecoloringontheentiregraph,whichisfasterto checkdirectly.UsingLemma3.18forlistassignmentswhicharemorefullwillbemore time-consumingsincethenumberofpartial L -coloringsgrowsquicklywiththefullness"of alistassignment,andwewouldapplytheCombinatorialNullstellensatzforeachone. Ifthemeasurefallsbelowourgiventhreshold,wesearchforacoloringthatsatises Lemma3.18.Aswithvettingthecolorabilityclasses,weapplytheCombinatorial Nullstellensatztoeachcandidatecoloringbecausewecandosorelativelyquickly.Wealso donotcheckeverysinglepartialcoloring,butonlythoseforwhicheachsuccessivecolor classismaximalwithrespecttotheavailablevertices.Ifwendnosatisfactorypartial L -coloring,thenwecontinuewiththecheckforan L -coloringoftheentiregraph.This follow-upcheckisnotalwaysredundant.Iftheredoesexistan L -coloringoftheentire graph,thenitwilllikelybefoundbyourprevioussearchtosatisfyLemma3.18.However, thesearchforthefullcoloringmightndacoloringnotfoundbythesearchforcolorings satisfyingLemma3.18sincethereexistgraphstheonlypropercoloringsofwhichhaveno maximalcolorclasses. SobyapplyingtheCombinatorialNullstellensatzquicklyforlistassignmentwhichare notsofull,wecanprunelargepartsofthesearchwhilestillinthelowlevelsofthesearch space.Ourmeasureoflistassignmentfullness"isarbitraryandtunedtoourpurposesfor ChapterIV,butitcanbeeasilychanged.Thecurrentmeasureoffullnessisthenumberof colorabilityclassesinpartiallistassignment. RecallingtheexampleofFigure3.2,weappliedthein-processpruningdescribedabove 34

PAGE 45

ateverystep.Oursearchencounteredonly3partiallistassignments,comparedtothe original9330withoutthesubsetvettingandthe35withthesubsetvetting.Implemented ona2.3GHzIntelCorei5processor,thesearchtook0.1seconds. 3.3.4OrderingtheColorabilityClassesandVertices NexttothesignicantpruningviatheCombinatorialNullstellensatzbeforeandduring thedynamicbacktrack-and-search,thenextmostinuentialaspecttotheperformanceof ourprogramistheorderinwhichweexplorethesearchspace.Basedonthemodications toAlgorithm1wehavediscussedsofar,thesingleitemthataectstheorderofthesearch spaceistheorderofthecolorabilityclassesinLine3.Forasubsetofvertices A ,the maximummultiplicity of A isthegreatest k suchthattheprogramdoesnotndacoloring whenapplyingLemma3.18tothelistassignment A;A;:::;A | {z } k times usingtheCombinatorial Nullstellensatz.Foreachsubsetremainingaftertheinitialvetting,theprogramapplies Lemma3.18untilitdeterminesthemaximummultiplicity. Wefoundthefollowingorderingtobethemosteectiveinourtests:Orderthesubsets fromleasttogreatestintermsofmaximummultiplicity,andthenfromleasttogreatestin termsofsize.Ourheuristicreasoningforthisorderisasfollows:Wewanttoorderthe subsetsfromleasttogreatestintermsoflikelihoodofbeinginabadlistassignment."In otherwords,wewanttoplacethesubsetswhicharelikeliesttocontributetopruningthe searchspaceearlierintheordering.Sincesubsetswithlessermaximummultiplicityhave alreadydemonstratedthattheyarelikelytoprunethesearchspacewhenputintoalist assignmentwiththemselves,weassumethattheyarelikelytoprunethesearchspacewhen placedinalistassignmentwithothercolorabilityclassesaswell.Sincesmallersubsets resultinhighervaluesofthelistsizefunction ^ f denedinLemma3.18,weassumethat theyaremorelikelytoresultinasuccessfulapplicationofthelemma.Ourprogramhasan optionrev"toreversethisorderingintheeventtheuserwishestondabadlist assignmentquicklyinsteadofmovethroughtheentiresearchspacequickly.Sinceitisnot clearthatthisreversemethodiseectiveevenwhentheredoesexistabadlistassignment, 35

PAGE 46

theprogramdefaultstotheorderingdescribedabove. Theaboveorderingseemstobeoptimal,butitdoespreventacertainmodicationto thedynamicsearch.Justasweusethetopcolorclasswhenwendacoloringonthe entiregraphtosavetimewhenconsideringthenextpartiallistassignment,asimilar observationaboutthetopcolorabilityclasscouldbeappliedduringthesearchprocessto possiblysavetimefromapplyingLemma3.18.However,suchanobservationwouldrarely beapplicableinourcase.Duringtheinitialvettingprocess,weuseObservation3.17and colexicographicorderonthesubsetstoreducethenumberoftimesweapplythe CombinatorialNullstellensatz.Unlikethecolexicographicorderduringtheinitialvetting, however,ourorderingonthepotentialcolorabilityclassesduringthesearchprocesslimits thehelpfulnessofthisobservation.If A appearsinthecolorabilityclassorderingdescribed inthissection,thenthereareveryfew,ifany,subsetsof A whichfollow A intheordering. Hencewiththisorderingitisunlikelythatthetopcolorabilityclassofthenextpartiallist assignmentisasubsetofthecurrentlistasignment'stopcolorabilityclass.Inourprogram, wedonotmakeanyeorttosaveinformationaboutanapplicationoftheCombinatorial Nullstellensatz. WealsomakeanadditionalmodicationtoAlgorithm1thataectstheorderingof thesearchspace.Insteadofalwayschoosingtheearliestsubset A j satisfyingtheif" statementinLine8,wechoosetheearliestsubsetwhichsatisestheif"statementandan additionalcondition.Becausethisselectionchangestheorderinginwhichthenext colorabilityclassischosenateachstepofthegeneration,westorecopiesofthelist A 1 ;:::;A t whicharetrimmedateachforwardstep.Theadditionalconditionweuseinour selectionofacolorabilityclassisthecontainmentofacertainvertex.Ateachstep,we choosethisvertexbasedonhowmanycolorabilityclassesitisincurrently.Wehavetwo methodsforvertexprioritization,E"andL",whichcanbechosenbytheuserviathe optionLAscheme".TheE"rulealwaysselectstheleast-indexedvertexwhichisin not full .TheL"ruleconsiderstheverticesin not full whichareinthefewestnumberof 36

PAGE 47

currentcolorabilityclassesandselectstheleast-indexedofthese.Whicheververtexis chosenbytherule,theprograminsiststhatitbeinthenextcolorabilityclass;ifthereare noavailablesubsetscontainingthatvertex,thenwebacktracksincetherearenofulllist assignmentscontainingourcurrentone. Thetworuleshavedierentheuristicsinmind.TheE"ruletriestollupthelistsof earlier-indexedverticesassoonaspossible,becauseaswementioninthefollowing paragraphtheseverticesarecontainedinthefewestnumberofsubsets A 1 ;:::;A t .Hence llinguptheseverticesrstresultsinlessbranchinginourspaceearlierinthesearch, whichshouldoptimizethepruningofourspace.TheL"ruletriestollupthelistsof verticesevenlysothatallverticeshaveasfewcolorsintheirlistsassoonaspossible.The ideaisthatthiswillhelpndacoloringoftheentiregraphmorequicklyandhelpkeepthe searchfromspendingtoomuchtimeinthedeeperlevelsofthespace.Inpractice,wefound thattheE"rulewasmoreeectiveforourpurposesinChapterIV,andsoitisthe defaultrule. Sinceourtwoselectionrulesdescribedabovedependontheindexingofvertices,our vertexorderingalsoaectstheeectivenessofthesearch.Tominimizethebranchingof thesearchspaceintheearlierstagesofthesearch,wewantasfewoptionsaspossiblefor colorabilityclassescontainingearlier-indexedvertices.Soweordertheverticesaccordingly afterthesubsetshavebeenvettedasdescribedinSection3.3.2.Therstvertexisone whichisintheleastnumberofsubsetsremainingafterthevetting,andthesecondvertex isonewhichisintheleastnumberofremainingsubsetsnotalreadycontainingtherst vertex.Eachsuccessivevertexisonewhichisinthefewestsubsetsofthosenotcontaining thepreviousvertices. 3.4ApplyingtheCombinatorialNullstellensatz Thepracticalityofourprogramiscontingentontherepeatedapplicationofthe CombinatorialNullstellensatz.WhenapplyingCorollary3.5toagraph G with n vertices and e edges,thegraphpolynomial p G isahomogeneouspolynomialofdegree e of n 37

PAGE 48

variables.If f isalistsizefunctionsuchthat P f v
PAGE 49

accordingtothecoecientextraction.Generally,someinformationiskeptinstoragefor futurevertexvariables.Thegraphparameterwhichmostdirectlycorrespondstothe maximummemoryrequiredduringanyexpansionstepiscalledthe cutwidth .The cutwidth ofanordering v 1 ;:::;v n isthemaximumnumberofedgesbetween v 1 ;:::;v i and v i +1 ;:::;v n overall i ,andthecutwidthofthegraphistheminimumcutwidthofany vertexordering.AlthoughdeterminingthecutwidthofagraphisNP-complete[47],there arelinear-timealgorithmsforthexed-parameterversionoftheproblemsee[11]. However,memoryisnottheonlyconsiderationforthestepsdescribedabove.Wealso desirethatthetimeforthepolynomialexpansionitselfbeminimizedovertheentiresearch. Towardthisgoal,wewanttheverticestobeorderedinawaythatminimizestheexpansion workfortheearliervariables.Sonotonlydowewantthecutwidthtobeboundedforthe ordering,butwealsowanttheedgecutstobeevensmallerthanthecutwidthfortherst stagesoftheexpansionifpossible.Forourpurposes,weordertheverticesinagreedyway. Wechoosetherstvertextobeoneofminimumdegree,andthenwechoosethenext vertextobeoneofminimumdegreetotherestofthegraph,andsoforth. Followingthestepsaboveforeachmonomialofdegree e whichisafactorof Q x f v i )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 i istractablewhen P f v )]TJ/F20 11.9552 Tf 11.955 0 Td [(n )]TJ/F20 11.9552 Tf 11.955 0 Td [(e issmall,butbecomesanexponentialproblemas P f v )]TJ/F20 11.9552 Tf 11.956 0 Td [(n )]TJ/F20 11.9552 Tf 11.955 0 Td [(e grows.Insteadofexpandingforeachmonomialindependently,weusea dynamicbacktrack-and-searchtoprunethespaceofmonomials.Westartwiththeleast monomialorderedbylexicographicorderingonthelistofexponents t 1 ;:::;t n ,andbegin expandingasdescribedabove.Ifatanypointtheextractedcoecientofapartial monomial x t 1 1 x t s s is0,weimmediatelybacktrack.If t s
PAGE 50

quickforsituationsinwhich P f v )]TJ/F20 11.9552 Tf 11.955 0 Td [(n )]TJ/F20 11.9552 Tf 11.955 0 Td [(e isnottoolarge. 3.5ExampleApplications Todemonstratetheeectivenessofourprogramonmoderately-sizedgraphs,we presentthreeexampleapplications.Ineachapplication,wegenerateandtestallgraphs fromtheclassinquestionuptoacertainorder. 3.5.1SmallNon-Chromatic-ChoosableGraphs Agraphis chromatic-choosable ifitschromaticnumberandlistchromaticnumberare equal.Treesandcyclesarechromatic-choosable,butnotallbipartitegraphsare.To demonstratethedierencebetweenthechromaticnumberandthelistchromaticnumber, therstcanonicalexamplemostoftenprovidedintheliteraturein K 3 ; 3 .Thisgraphis bipartiteandtherefore2-colorablebutitisnot2-choosable.Itisnot,however,the smallestnon-chromatic-choosablegraphwithrespecttothenumberofedges.Thereare propersubgraphsof K 3 ; 3 whicharealsonot2-choosable. Wefoundthesegraphsbygeneratingallconnectedgraphsonuptosixverticesand usingourtooltocheckifeachgraphis f -choosablefortheconstant f denedbythe chromaticnumber.Interestingly,thesmallestgraphisplanarandthusisthesmallestgraph attainingthemaximumlistchromaticnumberforplanarbipartitegraphswhichis3. Thisgraphcanbeshowntonotbe2-choosablewiththesamebadlistassignmentas K 3 ; 3 . Wealsocheckthechromatic-choosabilityofallconnectedgraphsoforderupto8.The numberofconnectednon-chromatic-choosablegraphsforeachorderarelistedinTable3.1. Table3.1:Thenumberofnonisomorphicconnectednon-chromatic-choosablegraphsfor eachorderupto8. Order 2 3 4 5 6 7 8 #Non-Chromatic-Choosable 0 0 0 0 4 15 102 #Connected 1 2 6 21 112 853 11117 Eachofthenon-chromatic-choosablegraphsinTable3.1isbipartiteand3-choosable. 40

PAGE 51

Onecanseethat K 3 ; 27 isnot3-choosablebyassigningthethreevertices x;y;z inonepart disjointlistsandbyinjectivelyassigningthe27listsin L x L y L z tothevertices intheotherpart.Ingeneral,onecangeneralizethebadlistassignmenton K 3 ; 27 toshow that K n;n n isnot n -choosable.Ontheotherhand,degeneracyandcaseanalysiswith greedyargumentsshowsthatanypropersubgraphof K n;n n is n -choosable. Thisleadsustothefollowingquestion. Question3.19. Whatisthesmallestgraphwithchromaticnumber3whichisnot 3-choosable? 3.5.2ListColoringConjectureforCubicGraphs The linegraph ofagraph G isthegraphwhichhas E G asitsvertexsetand f e 1 e 2 : e 1 and e 2 areincidentedgesof G g asitsedgeset.Thefollowingconjectureis famous. Conjecture3.20 ListColoringConjecturesee[12] . Ifagraphisalinegraph,thenit ischromatic-choosable. TheListColoringConjecturehasbeenprovedforbipartitegraphs[27].Ithasalso beenprovenasymptoticallyintermsofthemaximumdegreeoftheoriginalgraph[40].The conjecturehasalsobeenveriedformostlinegraphsoforiginalgraphswhichhaveorder upto10[51]. Thechromaticnumberofthelinegraphofagraphcalledthe chromaticindex is knowntobeatmostonemorethanthemaximumdegreeoftheoriginalgraph[59].Such graphsarecalled Class2 .However,itisstillnotknownifthisboundalsoholdsforthelist chromaticnumberofthelinegraphcalledthe listchromaticindex .However,itisknown thatthelistchromaticindexisatmost4forsubcubicgraphs[39].Sincethechromatic indexofgraphswithmaximumdegree3isin f 3 ; 4 g ,thismeansthattheListColoring ConjectureholdsforClass2subcubicgraphs. Usingourprogram,weveriedtheListColoringConjectureforallcubicgraphsonup to16vertices.Thelinegraphsofcubicgraphsoforder16have24verticesand48edges. 41

PAGE 52

ThenumberofcubicgraphsforeachorderarelistedinTable3.2. Table3.2:Thenumberofnonisomorphiccubicgraphsforeachevenorderupto16. Order 4 6 8 10 12 14 16 Number 1 2 5 19 85 509 4060 3.5.3Non-4-ChoosabilityofPlanarGraphs Thomassen[55]provedthatplanargraphsare5-choosable.Voigt[60]showedthatthis boundistightwithanexampleofaplanargraphon238verticeswhichisnot4-choosable. Mirzakhani[45]gaveanexampleofasmallerplanargraphon63verticeswhichisnot 4-choosableandisalsonot3-colorable.Weaskthefollowingquestion. Question3.21. IsMirzakhani'sgraphthesmallestplanargraphwhichisnot4-choosable? Wecheckallplanetriangulationswithminimumdegreeatleast4oforderupto24, andallare4-choosable.Hencethesmallestplanarnon-4-choosablegraphhasorderatleast 25.Table3.3showsthenumberofplanetriangulationscheckedforeachorder. 42

PAGE 53

Table3.3:Thenumberofnonisomorphicplanetriangulationswithminimumdegreeat least4foreachorderupto24. Order Number 6 1 7 1 8 2 9 5 10 12 11 34 12 130 13 525 14 2,472 15 12,400 16 65,619 17 357,504 18 1,992,985 19 11,284,042 20 64,719,885 21 375,126,827 22 2,194,439,398 23 12,941,995,397 24 76,890,024,027 Infact,eachofthegraphscountedinTable3.3wereveriedusingCorollary3.5.We askthefollowingquestion. Question3.22. Whatisthesmallestplanargraph G suchthat p G hasno f -appropriate monomialwithnonzerocoecient,where f istheconstantlistsizefunctionequalto4? 43

PAGE 54

3.6ConcludingRemarks Ouralgorithmcaneasilybeparallelizedtotakeadvantageofmutipleprocessors.The largestobstacletoeectiveparallelizationisthevettingofallnonemptysubsetswhich induceconnectedsubgraphs.Ifthenumberofsuchsubsetsislarge,thenitwouldbe advisabletorunthevettingprocessseparatelyonceandstorethelistofremainingsubsets inacommonlyaccessedle.Then,runningthebacktrack-and-searchonresidueclassesof therstseverallevelsofthesearchspaceiseasytoimplement. IntheapplicationofourtooltoChapterIV,thevalue P f v )]TJ/F20 11.9552 Tf 11.955 0 Td [(n )]TJ/F20 11.9552 Tf 11.955 0 Td [(e isan interestingparameter.Callthisvaluethe disparity ofa G;f pair.Thesmallestdisparity weencounteredforachoosable G;f pairwas )]TJ/F15 11.9552 Tf 9.299 0 Td [(1,whichisonly1lessthanwhatis necessaryfortheCombinatorialNullstellensatztopossiblybeconclusive.Thelargest disparityweencounteredforanon-choosable G;f pairwas3.Perhapsdisparityisauseful measureofthelikelihoodofchoosabilityinotherapplications. However,insomesituationsthedisparitycantendtoinnitieswithoutguaranteeing choosabilityornon-choosability.Forexample,thecompletegraph K n isnot n )]TJ/F15 11.9552 Tf 11.656 0 Td [(1-choosableforany n ,butthedisparityofthispairis n n )]TJ/F15 11.9552 Tf 11.656 0 Td [(1 )]TJ/F20 11.9552 Tf 11.655 0 Td [(n )]TJ/F25 11.9552 Tf 11.656 9.684 Td [()]TJ/F21 7.9701 Tf 5.479 -4.379 Td [(n 2 1 2 n 2 .On theotherhand,thecompletebipartitegraph K n;n islog 2 n +1-choosableforall n ,but thedisparityofthispairis2 n log 2 n +1 )]TJ/F15 11.9552 Tf 11.955 0 Td [(2 n )]TJ/F20 11.9552 Tf 11.955 0 Td [(n 2 )]TJ/F18 7.9701 Tf 23.114 4.707 Td [(1 4 n 2 .Itwouldbeinteresting toknowiftherearefamiliesofgraphsforwhichthedisparityforthesephenomenais subquadraticinthenumberofvertices. TheSmallPotLemmaiseasilygeneralizedto f -choosabilityfrom k -choosability,and weoriginallyplannedtoincorporatethisresultinoursearchbyboundingthemaximum multiplicityofsubsets.However,thiswasrarelyrelevant.Additionally,itisnotobviousif itappliestoourrestrictedsearchofconnectedlistassignments.Weincludesomevariations ontheSmallPotLemmahere. 44

PAGE 55

Lemma3.23 SmallPotLemmafor f -Choosability . If G isagraphon n verticeswhich isnot f -choosable,thenthereisabadlistassignment L suchthat j S L v j
PAGE 56

representedby j S L v j distinctverticesByHall'sTheorem,thereisasetofcolors T S L v suchthat j L )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 T j < j T j ;let T haveminimumsizeanddene A = L )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 T . Then j T j 2and j A j = j T j)]TJ/F15 11.9552 Tf 17.933 0 Td [(1. Let c 2 T .Bytheminimalityof T ,wehave j L )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 T 0 jj T 0 j forany T 0 T nf c g .So byHall'sTheorem,theverticesin A canberepresentedbythe j A j distinctcolorsin T nf c g .Thus G [ A ]canbeproperlycoloredfromcolorsin T nf c g ,andthus G )]TJ/F20 11.9552 Tf 11.955 0 Td [(A isnot L -colorable.Thiscontradictstheassumptionthat G )]TJ/F20 11.9552 Tf 11.955 0 Td [(A is f j G )]TJ/F21 7.9701 Tf 6.587 0 Td [(A -choosable. Conjecture3.25 ConnectedSmallPotLemmafor f -Choosability . If G isagraphon n verticeswhichisnot f -choosable,thenthereisaconnectedbadlistassignment L suchthat j S L v j
PAGE 57

treeandthusis f tv -choosable. BeforeunderstandingtheusefulnessoftheCombinatorialNullstellensatz,weintended touseaconnectedinducedsubgraphgeneratortoavoidstoringverymanysubsetsin memoryandtoquicklygobetweenpartiallistassignments.Therearebit-levelalgorithms forgeneratingallsubsetsnotjustconnectedonesinlexicographicorderasdiscussedby Arndt[9]inSections1.26and8.1,andKarakashian,Choueiry,andHartke[41]givean algorithmforgeneratingallinducedconnectedsubgraphsforaxednumberofvertices. Suchtechniquescanbemodiedtogenerateallconnectedinducedsubgraphs,whichisof independentinterest.However,inourtooltheimpactofvettingtheconnectedinduced subgraphsiswellworthstoringalltheremainingsubsets. WealsotriedtoadapttheQuantitativeCombinatorialNullstellensatz[50]forfast applicationofCorollary3.5,butinourapplicationsusingourbacktrack-and-searchforthe CombinatorialNullstellensatzwasfaster. 47

PAGE 58

CHAPTERIV SUBCUBICPLANARGRAPHSARE7-SQUARE-CHOOSABLE 4.1Introduction Webeginwiththenecessarydenitions.A propercoloring ofagraph G isafunction c on V G suchthat c u 6 = c v foreveryedge uv of G .The chromaticnumber ofagraphis theminimum k suchthateachvertex v canbeassignedacolor c v fromthelist f 1 ;:::;k g toobtainapropercoloring.A listassignment L onagraph G isafunctionon V G which mapseachvertextoasetofcolors.Givenafunction f : V G ! N ,wesaythatthegraph G is f -choosable ifforeverylistassignment L suchthat j L v j f v forall v 2 V G , thereexistsapropercoloring c of G suchthat c v 2 L v foreach v 2 V G .Wesaythat agraphis k -choosable ifitis f -choosablefortheconstantlistsizefunction f v = k .The listchromaticnumber ofagraphistheleast k suchthatthegraphis k -choosable. The square ofagraph G ,denotedby G 2 ,isthegraphobtainedfrom G byadding edgesbetweenpairsofverticeswhichhavedistance2in G .Agraphiscalled k -square-colorable ifitssquareis k -colorableand k -square-choosable ifitssquareis k -choosable.Wesaythatagraphis subcubic ifeveryvertexhasdegreeatmost3,and cubic ifeveryvertexhasdegreeequalto3.Agraphis planar ifitcanbedrawninthe planewithoutanyedgecrossings.The girth ofagraphisitsminimumcyclelength. Thefocusofthischapterisprovingatightboundforthelistchromaticnumberfor squaresofsubcubicplanargraphs.Forasurveyofcoloringplanargraphs,including coloringthesquaresofplanargraphs,wereferthereaderto[14].Herewepresentresults relatedtothesquaresofsubcubicplanargraphs. In[61],Wegnerprovedthatsubcubicplanargraphsare8-square-colorable.Healso madethefollowingconjecture,whichwasprovedindependentlybyThomassen[58]and Hartke,Jahanbekam,andThomas[33]. Theorem4.1 Thomassen[58];Hartke{Jahanbekam{Thomas[33] . Subcubicplanar graphsare7-square-colorable. 48

PAGE 59

ThegraphinFigure4.1showsthatthisboundistight. Figure4.1:Anexampleofasubcubicplanargraphwhichisnot6-square-colorable.The squareofthegraphis K 7 . Withoutanyplanarityconditions,CranstonandKimestablishedanupperboundfor thelistchromaticnumberofsquaresofsubcubicgraphs. Theorem4.2 Cranston{Kim2008[19] . If G isasubcubicconnectedgraphotherthan thePetersengraph,then G is8-square-choosable. SincethesquareofthePetersengraphis K 10 ,thereisagapinthelistchromatic numbersofsquaresofsubcubicgraphs.Nosubcubicgraphhasasquareforwhichthelist chromaticnumberisequalto9.SincethePetersengraphisnotplanar,wealsohavethe followingcorollary. Corollary4.3. Subcubicplanargraphsare8-square-choosable. Withadditionalgirthconditions,upperboundsforvalueslessthan8havebeenshown forthelistchromaticnumberofsquaresofsubcubicgraphs. Theorem4.4 Cranston{Kim2008[19] . Subcubicplanargraphswithgirthatleast7are 7-square-choosable. Theorem4.5 Cranston{Kim2008[19];Havet2009[34] . Subcubicplanargraphswith girthatleast9are6-square-choosable. Theorem4.6 Borodin{Ivanova2012[16] . Subcubicplanargraphswithgirthatleast12 are5-square-choosable. Theorem4.7 seeBorodin{Ivanova2012[15];Dvorak,etal.2008[25] . Subcubicplanar graphswithgirthatleast24are4-square-choosable. 49

PAGE 60

Ifagraphcontainsa3-vertex,thenitssquarecontainsacopyof K 4 .Hencenogirth conditioncanguaranteethatsubcubicplanargraphsare3-square-choosable.Despitethe workinthisarea,noconjecturewasstatedaboutthelowestpossibleupperboundfor subcubicplanargraphswithnogirthcondition.CranstonandKimdid,however,posethe questionandpointoutthatitneedbeaskedonlyforcubicgraphs. Question4.8 Cranston{Kim2008[19] . Isittruethateverysubcubicplanargraphsis 7-square-choosable? Inthispaper,weanswerthisquestioninthearmative.Ourresultextendsthetruth ofWegner'sconjecturetolistcoloring,improvingCorollary4.3andTheorem4.4.Our proofusesdischargingwithcomputationalmethodstoverifythereducibilityof congurationsandthenonnegativenalcharge. Wehaveincludedseveralappendicestosupplementourproof,wherethereadercan ndthecodeweusedaswell.Inaddition,wehaveincludedsomediscussiontomediate betweensomeofourobservationsandourprogrammedimplementation.Wehavealso includedanexpandedlistofthereduciblecongurationsfromourproof.However,inthe interestofspacewehaveomittedanyoutputfromourcode.Foreaseofreference,wehave listedeachoftheseinTable4.1. Table4.1:Locationsofsupplementalmaterialsintheappendices. SourceCodeforLemma4.17 AppendixB SourceCodeforLemma4.25 AppendixC SourceCodeforLemma4.33 AppendixD SourceCodeforLemma4.34 AppendixE SourceCodefor checking realizations.py AppendixF DiscussionofCodeImplementation AppendixG ReducibleCongurationsforTheorem4.9 AppendixH Wementionsomenalnotationbeforebeginningourproof.Inaplanegraph,the length ofaface F isthelengthofitsboundarywalk,denotedby ` F .Afaceoflength k is calleda k -face ,andavertexofdegree ` iscalledan ` -vertex .A k + -faceisafaceoflength atleast k ,anda k )]TJ/F15 11.9552 Tf 7.085 -4.338 Td [(-faceisafaceoflengthatmost k .A7-list-assignmentisalist 50

PAGE 61

assignmentwhichassignstoeachvertexalistofsize7,anda 7-square-coloring ofagraph isapropercoloringofthesquareusingcolorsfrom f 1 ;:::; 7 g .Foragraph G andasubset ofvertices A ,wedenoteby G [ A ]thesubgraphof G inducedby A .Asubgraph inducedby asetoffacesandawalk isthegraphontheverticesfromanyofthefacesorthewalkwith theedgesfromthewalkortheboundarywalksofanyofthefaces.Foranyotherstandard notationnotdenedhere,wereferthereaderto[62]. 4.2PropertiesofaMinimalCounterexample Weprovethefollowingstatementviadischarging: Theorem4.9. Subcubicplanargraphsare7-square-choosable. WhenwesaythatagraphisaminimalcounterexampletoTheorem4.9,wemeanthatitis minimalwithrespecttothenumberofvertices. Observation4.10. If G isaminimalcounterexampletoTheorem4.9,then G iscubic andconnected. Proof. If G isdisconnected,eachcomponentof G canbe7-square-coloredfromany 7-list-assignmenton G ,whichformsa7-square-coloringoftheentiregraph.If v isa 1-vertexof G ,then G )]TJ/F20 11.9552 Tf 11.954 0 Td [(v canbe7-square-coloredfromany7-list-assignmenton G )]TJ/F20 11.9552 Tf 11.954 0 Td [(v and v canbeaddedbackwithacolornotassignedtoanyofitsneighborsorsecondneighbors. Since G )]TJ/F20 11.9552 Tf 11.568 0 Td [(v 2 = G 2 )]TJ/F20 11.9552 Tf 11.569 0 Td [(v ,thisyieldsapropercoloringof G 2 .If v isa2-vertexof G ,thenlet u and w bethetwoneighborsof v .Let G 0 = G + uw )]TJ/F20 11.9552 Tf 11.955 0 Td [(v ,thegraphobtainedfrom G by addingtheedge uw ifitisnotalreadyin G anddeleting v .Then G 2 )]TJ/F20 11.9552 Tf 11.955 0 Td [(v G 0 2 .Then G 0 canbe7-square-coloredfromany7-list-assignmenton G )]TJ/F20 11.9552 Tf 11.907 0 Td [(v and v canbeaddedbackwith acolornotassignedtoanyofitsneighborsorsecondneighborsin G .Thisyieldsaproper coloringof G 2 . Ourproofwouldbegreatlysimpliedifwecouldshowthataminimalcounterexample toTheorem4.9is3-connected.However,becausecolorassignmentscannotbepermuted foranarbitrarylistassignment,weareunabletoshowthataminimalcounterexampleis evenbridgeless.Asaresult,therearemanypossibilitiesforhowfacesofprescribedlengths 51

PAGE 62

mightbeadjacenttoeachotherinaminimalcounterexample. 4.3WhatItMeansforaCongurationToBeReducible Asourdischargingruleswillonlyexchangechargeacrossedgesbetweenadjacentfaces, ourdischargingargumentwillconsideronlythelengthsoffacesadjacenttoaspecied centralface.Forourpurposes,acongurationdescribesanadjacencystructureamong facesinaplanegraph,wherethefaciallengthlist s givesthelengthsoffacesadjacentto somecentralfaceinacyclicorder. Denition4.11 Conguration . A conguration isasetoffacesadjacenttoa central face suchthatthelengthsofthesefacestaprescribedpatternincyclicorderaboutthe centralface'sboundarywalk.Wewriteacongurationas b : s ",where b isthecentralface lengthand s isanorderingoffacelengthscalledthe faciallengthlist .Charactersfor b or s comefrom N [fg .Charactersin s from N correspondtofacesinthecongurationof thatlength,while b 2 N speciesaxedlengthforthecentralface.Wewillcallsuchfaces ofspeciedlength speciedfaces .Thewildcardcharacter in s indicatesthatsomefaceof unspeciedlengthispresentinthegraphatthatpointaroundthecentralface.If b = ,we calltheconguration open andwriteitsimplyas s ".Forourpurposes,anyfaciallength list s willbeginandendwithnoncharactersinthispaper. 1 SeeFigure4.2forexamples. Asubcubicplanegraph contains aconguration b : s 1 :::s t if: 1.thereisaface F oflength b oranylengthwhen b = ,and 2.thereisawalk B = v 1 :::v t +1 where v 1 ;:::;v t +1 arevertices,possiblynotall distinctontheboundaryof F suchthatforeach i 2f 1 ;:::;t g theface S i acrossthe edge v i v i +1 from F possibly F itselfhaslength s i oranylengthif s i = ,and 3.noedgeof G istraversedtwiceby B inthesamedirection.Thatis,foranydistinct i;j 2f 1 ;:::;t g wehaveeither v i 6 = v j or v i +1 6 = v j +1 . Thewalk B iscalledthe spine oftheconguration. 1 Forcongurationswithaspeciedcentralfacelength,additional entrieshavenoeect.However, additional entriesmightaectopencongurations.Theconguration47 44isnottechnicallyequivalent to47 44 sincethelatterexcludesthepossibilitythatthecentralfacehaslength5.Wehavenoneedfor usingthistypeofrestrictioninthispaper. 52

PAGE 63

Sincewewillnotprescribeanyspeciedfacelengthsgreaterthan9inour congurations,wedonotneeddelimiterstoseparatetheentriesofafaciallengthlistand wesimplywriteitasastring. Figure4.2:Examplesofcongurationscontainedinasubcubicplanegraph.Thecentral faceiscross-hatchedred,anyotherspeciedfacesofthecongurationare shadedblue,andtheedgesofthespinearethickerthantheotheredges. Top Left: 3:45. TopRight: 6:3 54. BottomLeft: 345. BottomRight: 4 4. Acongurationcanbecontainedinacubicplanegraphinnonobviousways.For example,thefoursubgraphsshowninFigure4.3eachcontaintheconguration 8:48485458.Inthegure,thefaciallengthlisthasbeenindicatedaroundtheboundary walkofthecentral8-face.Thesubgraphatthetop-leftdemonstratestheminimal adjacenciesamongthefaces,whereastheotherthreesubgraphsontherightdemonstrate howsomeedgesorfacesofthecongurationmightbeidentiedwitheachother.Theother threesubgraphscanbeobtainedfromthesubgraphatthetop-leftbyidentifyingvertices. Denition4.12 Reducible . Acongurationis reducible ifitisnotcontainedinany minimalcounterexampletoTheorem4.9. Giventhatacubicplanegraphcancontainacongurationinmanydierentways, 53

PAGE 64

Figure4.3:Someexamplesofhowthesameconguration:48485458mightbecontained inagraph.Thecentralfaceiscross-hatchedred,anyotherspeciedfacesof thecongurationareshadedblue,andtheedgesofthespinearethickerthan theotheredges. showingacongurationtobereduciblerequiressubstantialworkinsomecases.Inthe nexttwosectionswedescribehowweshowcongurationsarereducible. 54

PAGE 65

4.4ShowingReducibility Ifforany7-list-assignment,any7-square-coloringontheverticesoutsidea congurationcanbeextendedtotheverticesintheconguration,thenthecongurationis reducible.Beforepresentingsomedenitionstoformalizeourapproach,weoutlineafew moredetailsofthisidea:Supposethecongurationiscontainedinaminimal counterexample G ,andlet A bethesetofverticesonthespeciedfacesorspineofthe conguration.Therearemanypossibilitiesforthesizeandstructureoftheedgesincident to A butnotcontainedinthespeciedfacesorspineoftheconguration.Foranysuch possiblestructureoftheseedges,thegraph G 2 [ A ]contains G [ A ] 2 butmightalsocontain additionaledges.Foranysuchstructure,thereisanaturallistsizefunctionwhich accountsforthenumberofcolorrestrictionsimposedoneachvertexfromoutsideof A , denedby f v :=7 )-222(j N G 2 v n A j foreach v 2 A .If G 2 [ A ]is f -choosable,thenany 7-square-coloringof G )]TJ/F20 11.9552 Tf 11.956 0 Td [(A extendsto A underany7-list-assignment.Soif G 2 [ A ]is f -choosableforeachpossiblestructureofedgesincidentto A ,thenthecongurationis reducible.TheseideasareformalizedinLemma4.16. Weusetheterm realization todescribeapossibilityforthestructureof A andits incidentedgesasdescribedabove.Inotherwords,arealizationissomepossibleembedding ofthecongurationalongwithsomepossibleneighborhoodstructure. Denition4.13 Realization,CoreSubgraph,StemStructure . Suppose G isasubcubic planegraphcontainingagivenconguration,andlet J bethesubgraphof G inducedby thespeciedfacesandspineoftheconguration.Thenthesubgraph H of G inducedby theedgesincidenttoanyverticesof J isa realization oftheconguration,andthe subgraph J itselfiscalledthe coresubgraph oftherealization H .Thesetofedgesof H not in J iscalledthe stemstructure oftherealization H .Theverticesof H in J arecalled core vertices,andtheverticesof H notin J arecalled stems .Acorevertexwhichhasdegree2 55

PAGE 66

in J iscalleda root .SeeFigure4.4forexamples. Figure4.4:Threerealizationsof3:45withthesamecoresubgraph.Thecentralfaceis cross-hatchedred,anyotherspeciedfacesofthecongurationareshaded blue,theedgesofthespinearethickerthantheotheredges,thecorevertices arelledcircles,thestemsarehollowcircles,andtheedgesofthestem structurearedotted.Sinceeachrealizationhasthesamecoresubgraph,each hasthreerootsdespitetherealizationontherighthavingonlyonestem adjacenttoonecorevertex. Observation4.14. Ifacongurationiscontainedinaminimalcounterexampleto Theorem4.9,thenthecoresubgraphofthecongurationinthegraphhasminimumdegree atleast2. Proof. Becausecongurationsrequireverticestobeconnectedviathefacesandspineof theconguration,thecoresubgraphhasnoisolatedvertices.Becausethespeciedfacesof thecoresubgrapharefacesofacubicplanegraphbyObservation4.10,thereisno1-vertex intheinteriorofthespeciedfaces.Forthesamereason,ifthecongurationisopenthen theinternalverticesofthespinecannotbe1-vertices.Bydenitionofaconguration,the rstandlastfacesofanopencongurationarespeciedandthustheendpointsofthe spinearealsonot1-vertices. Aswehavedescribedabove,the f -choosabilityofallrealizationswhere f dependson eachrealizationisasucientconditionforreducibilityofaconguration.Foreach realization,anappropriatelistsizefunctiononthecoreverticescanbecalculatedby countingthepossiblerestrictionsfromoutsidethecorevertices. Denition4.15 RestrictionIndex,Core-Choosable . Considerarealization H withcore 56

PAGE 67

vertices A .Foreachcorevertex v and i 2f 1 ; 2 ; 3 g ,let i v bethenumberofstems adjacentto v whichhavedegree i in H .Alsolet\050 v bethenumberofstemsatdistance2 from v in H .Thenforeachcorevertex v ,the restrictionindex of v isdenedby res H v :=3 1 v +2 2 v + 3 v +\050 v .SeeFigure4.5foranexample.Ifthegraph H 2 [ A ]is )]TJ/F15 11.9552 Tf 11.955 0 Td [(res H -choosable,thenwesaythattherealizationis core-choosable . Figure4.5:Arealization H of3:57whichincludesastemofdegree1in H ,astemof degree2in H ,andastemofdegree3in H .Thevalueofres H v isplacednext toeachcorevertex v .Thecentralfaceiscross-hatchedred,anyother speciedfacesofthecongurationareshadedblue,thecoresarelledcircles, andthestemsarehollowcircles.Partsofanypotentialremainingedgesfrom thestemsnottocoreverticesarealsoshown. Thefunction7 )]TJ/F15 11.9552 Tf 11.955 0 Td [(res H mapseachcorevertextotheminimumnumberofeligiblecolors remainingaftertherestofthegraphoutsidethecorevertices A isprecolored.Thefunction res H v countsthemaximumnumberofverticeswhicharenotin A withindistance2of v in G overallcubicgraphs G containingtherealization H .ByObservation4.14,acore vertexisadjacenttoatmostonestem,so 1 v + 2 v + 3 v 1foranycorevertex v . Ifarootisadjacenttoastemofdegree1in H ,thenthestemmayhavetwoadditional neighborsoutside H withindistance2oftheroot.Ifarootisadjacenttoastemofdegree 2in H ,thenthestemmayhaveoneadditionalneighboroutside H withindistance2ofthe root.Ifarootisadjacenttoastemofdegree3in H ,thenthestemhasnoneighbors outside H .Inadditiontoanysecond-neighborsthroughstems,anycorevertexcouldalso 57

PAGE 68

havesecond-neighborswhicharestemsintherealization. Lemma4.16. Givenaconguration,ifeveryrealizationwhichcanappearinaminimal counterexampletoTheorem4.9iscore-choosable,thenthecongurationisreducible. Proof. SupposeacongurationoccursinaminimalcounterexampletoTheorem4.9,say G .Then G containsarealization H oftheconguration,withcorevertices A .Now considerany7-list-assignment L on G suchthat G 2 isnot L -colorable.Bytheminimality of G ,thereisaproper L j G )]TJ/F21 7.9701 Tf 6.586 0 Td [(A -coloring c on G )]TJ/F20 11.9552 Tf 11.955 0 Td [(A 2 .Since G [ A ]containsthecore subgraphof H ,byObservation4.14 G [ A ]hasminimumdegreeatleast2.Hence,wehave G 2 )]TJ/F20 11.9552 Tf 11.955 0 Td [(A = G )]TJ/F20 11.9552 Tf 11.955 0 Td [(A 2 .Thus, c isaproper L j G )]TJ/F21 7.9701 Tf 6.586 0 Td [(A -coloringon G 2 )]TJ/F20 11.9552 Tf 11.955 0 Td [(A . Dene L 0 on A byremovinganycolorsreceivedbyrst-andsecond-neighborsin G . Thatis,dene L 0 v := L v n c N G 2 v n A foreach v 2 A .Since c N G 2 v n A res H v ,wehave j L 0 v j 7 )]TJ/F15 11.9552 Tf 11.955 0 Td [(res H v foreach v 2 A .Since H is core-choosable,wehavethat G 2 [ A ]= H 2 [ A ]is L 0 -colorable.Therefore c extendstoa proper L -coloringof G 2 ,contradictingourchoiceof G and L . Somerealizationsareredundanttocheckforcore-choosability.Inparticular,consider realizationswithstemswhoserootsarewithindistance2ofeachotherthroughthecore subgraph.Sucharealizationmustbecore-choosableifacorrespondingrealizationwithout suchstemsiscore-choosable.SeeFigure4.6foranexample.However,ourcomputations aretractablewithoutthisobservationandweomititforthesakeofsimplicity. Figure4.6:Tworealizationsof3:57.Therealizationonthelefthasastemwhoseroots arecloseinthecoresubgrapheitherthemiddlestemortherightstemhas rootswhichareallwithindistance2throughthecoresubgraph.Ifthe realizationontherightiscore-choosable,thentherealizationontheleftisalso core-choosable. 58

PAGE 69

Next,weobservesomeinformationaboutsmallfaceswhichwillbeusefulforour computations. Lemma4.17. If F isafaceinaminimalcounterexampletoTheorem4.9suchthat ` F 9 ,thentheboundarywalkof F isacycle. Proof. Let v 0 ;v 1 ;:::;v t betheclosedboundarywalkof F with v 0 = v t ,andsupposeitis notacycle.Solet v i = v j bearepeatedvertexonthewalkwith0
PAGE 70

realizationscouldbeshowncore-choosablebyhand,weomittheseproofsforeaseof readingandverifythembycomputer. 2 Figure4.8: Left: Thestructureof F inthecases ` F =8leftand ` F =9right.The stemsareshownashollowcircleswithdashededges,andcouldpossiblybe identiedwitheachotherorbereplacedbyroot-to-rootedgesinthenonF regionstoobtaindierentrealizations. Finally,wepresentthelistofcongurationswhichwewillshowtobereducibleanduse inourdischargingargument. Denition4.18. Werefertothe76congurationslistedinTable4.2asthe targetset , denotedby C . Asweshowviadischarging,Theorem4.9istrueifallcongurationsin C arereducible. 4.5GeneratingRealizationsforCongurations Wegenerateallthepossiblerealizationsforacongurationintwostages:rstthecore subgraphs,andthenforeachcoresubgraphamongthe2-verticeswegenerateanyedges andstemsoutsideofthespeciedfaces.Foreachconguration,thereisacoresubgraph whichminimizesthesharededgesamongthespeciedfacesandthespine.Wecallthis graphthe naturalcoresubgraph oftheconguration. Denition4.19 NaturalCoreSubgraph . Consideraconguration b : s 1 :::s t .Foreach s i notequalto ,let C i = v 1 i :::v s i i beacycleoflength s i .If b = ,let C 0 = v 1 0 :::v t +1 0 bea pathoflength t ;otherwise,let C 0 = v 1 0 :::v b 0 beacycleoflength b .Weconsidereach C i as 2 Coincidentally,eachoftheserealizationsarelatercheckedwhenshowingthereducibilityofthecongurations3 3and3 4.However,wechecktherealizationsforLemma4.17separatelysothatwecanapply thelemmatoourcomputationsforcongurationslater. 60

PAGE 71

33 3 3 3 3 3 3 3 5 3 34 3 4 35 4 3 54 3 54 3 54 355 375 3 555 36 356 44 454 464 474 4 54 4 55 4 4 555 4 4 4 4 4 4 45 4555 4 5555 456 535 555555 546 3:57 4:55 4:56 4:57 4:66 4:585 4:676 4:686 5:555 5:556 5:565 5:566 5:575 5:656 5:666 5:4 55 5:5 65 5:5585 5:5 66 5:55 6 5:56 6 5:6 66 7:3 4 7:3 5 7:4 4 7:4 55 7:4 55 7:4 5 5 7:55 5 8:3 4 8:3 4 8:35 5 8:35 5 8:35 5 8:35 5 8:3 55 55 8:45 4 8:455 5 8:4 5 4 4 9:3 4 9:3 4 9:35 5 9:455 4 9:455 5 9:545 5 Table4.2:The76reduciblecongurationsusedtoproveTheorem4.9.Eachconguration ishyperlinkedtoacorrespondingentryintheAppendixwithmoredetails. aplanegraphsuchthattheverticesareinclockwiseorder.SeeFigure4.9leftforan example.The naturalcoresubgraph oftheconguration b : s 1 :::s t isthegraphobtained fromthefollowingidentications: 3 1.Foreach s i notequalto ,thetwovertices v i 0 ;v 1 i areidentiedwitheachotherand thetwovertices v i +1 0 ;v s i i areidentiedwitheachother.So C i and C 0 shareanedge. 2.Foreach i suchthatboth s i ;s i +1 6 = ,thetwovertices v s i )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 i ;v 2 i +1 areidentiedwith eachother.Sothecycles C i and C i +1 whichareadjacentaroundthecentralface shareanedgewithoneendpointonthespine. 3.Foreach2 i t suchthat s i =3andboth s i )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 ;s i +1 6 = ,thetwovertices v s i )]TJ/F18 7.9701 Tf 6.586 0 Td [(2 i )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 ;v 3 i +1 areidentiedwitheachother.Sotwocycles C i )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 and C i +1 whichareadjacenttoa common3-cycle C i aroundthecentralfaceshareanedgewithoneendpointon C i . Althoughthenaturalcoresubgraphofacongurationisnottheonlypossiblecore subgraphwhichcanappearinacubicplanegraph,itisthestartingpointforndingany unexpectedwaysthecongurationcanappear.SeeFigure4.10foranexample. 3 Usingmodulararithmeticifnecessaryforcongurationswithspeciedcentralfacelengths:if i = t = b , thenlet i +1:=1. 61

PAGE 72

Figure4.9: Left :Fortheconguration535,wecaninitiallythinkofdisjointpieces C 0 ;C 1 ;C 2 ;C 3 . Right :Thenaturalcoresubgraphfortheconguration535isobtainedbythe identicationclasses f v 1 0 ;v 1 1 g ; f v 2 0 ;v 5 1 ;v 1 2 g ; f v 3 0 ;v 3 2 ;v 1 3 g ; f v 4 0 ;v 5 3 g ; f v 2 1 g ; f v 3 1 ;v 3 3 g ; f v 4 1 ;v 2 2 ;v 2 3 g ; f v 4 3 g . Observation4.20 Coresubgraphsareobtainedfromthenaturalcoresubgraph . The naturalcoresubgraphenforcesonlythenecessaryconditionsforacongurationtobe containedinasubcubicplanegraph.Thusanycoresubgraphforacongurationcanbe obtainedfromtheconguration'snaturalcoresubgraphviaidenticationofvertices. Socoresubgraphsofacongurationcanbegeneratedfromvertexidenticationsofthe naturalcoresubgraph.However,notallidenticationsyieldcoresubgraphs.Some identicationsresultin i vertexdegreegreaterthan3, ii vertexdegreelessthan3, iii lossofspeciedfaces, iv lossofplanarity,or v structuresthatdonotappearina minimalcounterexampletoTheorem4.9.Additionally,thenumberofidenticationsgrows quicklywiththenumberofverticesinthenaturalcoresubgraph.Tomoreeciently generatecoresubgraphsviaidenticationforthecongurationsinthetargetset C ,we makesomefurtherobservations.Firstweobservewhichvertexidenticationsresultin subgraphswhichcannotappearinaminimalcounterexampletoTheorem4.9. Observation4.21 Wecanforbidtheidenticationofverticesonthesamespecied face . Consideracongurationinthetargetset C andsupposeitappearsinaminimal 62

PAGE 73

Figure4.10: Left :Thenaturalcoresubgraphoftheconguration8:4 5 4 4. Right :An unnatural"coresubgraphfor8:4 5 4 4obtainedfromthenaturalcore subgraphbyidentifyingsomevertices. counterexampletoTheorem4.9.ByObservation4.20,thecoresubgraphoftherealization canbeobtainedfromthenaturalcoresubgraphofthecongurationbyidenticationof vertices.ByLemma4.17,notwoverticesofaspeciedfaceofthenaturalcoresubgraph areinthesameidenticationclass. WeuseObservation4.21inourcomputationtoreducethenumberofidentications generated.Someopencongurationshavelengthyspines,andwebenetfromforbiddinga fewidenticationsamongtheseverticesaswell. Observation4.22 Wecanforbidsomevertexidenticationsonanopenspine . Consider anopenconguration s 1 :::s t inthetargetset C andsupposeitappearsinaminimal counterexampletoTheorem4.9withaspine v 1 0 ;:::;v t +1 0 .Then v j 0 6 = v k 0 forany j;k 2f 1 ;:::;t +1 g suchthat 1 j k )]TJ/F20 11.9552 Tf 11.955 0 Td [(j j 2 becausethegraphhasnoloopsor1-vertices. Furthermore,if 2 j t and s j )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 ;s j 2 N ,then v j 0 6 = v k 0 forany j 6 = k .Otherwisethe vertex v j 0 isincidenttoacutedgecontainedinthecentralfaceandthecentralfaceitself haslength s j )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 or s j ,contradictingLemma4.17. 63

PAGE 74

Ifsomecongurationsinthetargetsetareknowntobereducible,thenacloser inspectionoftheopencongurationsinthetargetsetshowsthatObservation4.21canbe extendedtoopenspinesin C aswell.ThiswouldbestrongerthanObservation4.22. However,ourcomputationsaretractablewithonlyObservation4.22andweomitour strongerobservationforthesakeofsimplicity. Havingcutdownthenumberofidenticationswhichneedtobegenerated,wenow observefurtherlterswhichcanhelpsiftforcoresubgraphsofarealization. Observation4.23 Necessaryconditionsforanidenticationtoyieldacoresubgraph . Let J beagraphformedbytheidenticationofverticesfromthenaturalcoresubgraphofa conguration.Ifthecongurationhasanopenspine v 1 0 :::v t +1 0 andin J thevertices v 1 0 and v t +1 0 arenotidentied,thenlet J 0 := J + v 1 0 v t +1 0 .Otherwise,let J 0 := J .If J isacore subgraphofthecongurationthatappearsinaminimalcounterexampletoTheorem4.9, then J and J 0 havethefollowingproperties: 1.Thegraph J issubcubic. 2.Thegraph J 0 hasaplaneembeddingsuchthatforeachinitiallist C i fromthenatural coresubgraphincluding C 0 ,theverticesof C i appearinorderastheboundarywalk ofsomeface.Callanysuchfacesof J 0 the xed faces.Dierent C i 'smightbethe boundarywalkofthesamexedface. 3.Any2-vertexof J 0 isonatmostonexedfaceandisontheboundarywalkofthat faceatmostonce,sinceotherwisethehostgraphwouldnotbecubicorwouldnot havethespeciedfacelengthsprescribedbytheconguration.Infact,every2-vertex of J 0 isonexactlyonexedfacesinceeveryvertexinthenaturalcoresubgraphison aspeciedfaceorthespine. SeeFigure4.11forexamplesofidenticationswhichviolatestheconditionsgivenin Observation4.23. 64

PAGE 75

Figure4.11:ExamplesshowingthattheconditionsinObservation4.23arenecessary. Top: Thenaturalcoresubgraphfor3 3,withverticesrelabeled v 1 ;:::;v 7 . Thespineedgesarebold,thespeciedfacesarebludeshaded,andthe centralfaceisredcross-hatched.Acrosseachspineedgeistheentryfrom thefaciallengthlist. Middle-Left: Thegraph J obtainedfromtheidenticationclasses f v 1 g ; f v 2 ;v 6 g ; f v 3 g ; f v 4 g ; f v 5 g ; f v 7 g .Thisgraphfailstobesubcubic. Middle-Right: Thegraph J 0 obtainedfromtheidenticationclasses f v 1 ;v 6 g ; f v 2 ;v 7 g ; f v 3 g ; f v 4 g ; f v 5 g .Thisgraphfailstohavethespine'svertices appearinorderastheboundarywalkofaface. Bottom-Left: Thegraph J 0 obtainedfromtheidenticationclasses f v 1 ;v 7 g ; f v 2 ;v 4 ;v 6 g ; f v 3 g ; f v 5 g .Thisgraphtrapstwo2-vertices v 3 and v 5 betweentwofaces. Bottom-Right: Thegraph J 0 obtainedfromtheidenticationclasses f v 1 ;v 7 g ; f v 2 ;v 6 g ; f v 3 g ; f v 4 g ; f v 5 g .Thisgraphmeetstheconditionsof Observation4.23andisacoresubgraphof3 3. 65

PAGE 76

Theobservationsmadesofarwillhelpgeneratethecoresubgraphsofaconguration. Givenacoresubgraph,wecanthengeneratestemstructurestoobtaintherealizationsof thecongurationwhichhavethedesiredcoresubgraph. Observation4.24 Generatingstemstructures . Let J beacoresubgraphofa conguration,andlet R bethesetof2-verticesof J .Callthefacesof J whicharenot speciedfacesofthecongurationthe openregions of J .Suppose H isarealizationofthe congurationwhichhas J asitscoresubgraphand H appearsinaminimalcounterexample toTheorem4.9.Then H canbeobtainedfrom J byplaneembeddingthefollowingobjects intheopenregionsof J suchthateachvertexin R isincidenttoexactlyoneofthe followingobjects: anedgewithbothendpointsin R , anewvertexstemadjacenttoonevertexin R , anewvertexstemadjacenttotwoverticesin R ,or anewvertexstemadjacenttothreeverticesin R . Ourobservationsallowustogenerateallrelevantrealizationsofcongurationsfrom thetargetset C .Byinspectingeachoftheserealization,weshowthatthecongurations arereducible. Lemma4.25. Eachcongurationinthetargetset C isreducible. Proof. Foreachcongurationfromthetargetset C ,wegeneratedallidenticationsofthe verticesfromthenaturalcoresubgraphexceptforthosedescribedinObservation4.21and Observation4.22.Foreachofthegraphsobtainedfromtheseidentications,wechecked theconditionsofObservation4.23.Foreachresultinggraphwhichmettheseconditions, wegeneratedeachpossiblestemstructureasdescribedinObservation4.24.Callthesetof alloftheresultinggraphsfromourgeneration H .Byourobservations,ifaconguration fromthetargetsetappearsinaminimalcounterexampletoTheorem4.9asarealization H ,then H 2H . Usingthe choosability programdiscussedinChapterIII,wecheckedevery H 2H 66

PAGE 77

bycomputerandfoundthateachiscore-choosable.Therefore,byLemma4.16no congurationinthetargetset C canappearinaminimalcounterexampleto Theorem4.9. Intheintroductorysectionofthischapter,Table4.1liststhelocationsforappendices relatingtoourcomputationinLemma4.25. 4.6DiscussionoftheTargetSet Thepurposeofthetargetsetistwo-fold:toshowthatsmallfacesinaminimal counterexamplelengthlessthan6mustbeadjacenttosomebiggerfaceslengthmore than6,andtoshowthatbiggerfacesarenotadjacenttotoomanysmallfaces.Intrying tondatargetsetthatwouldsuittheneedsofthedischargingargument,therewere severaloriginalcandidateswhichseemedhopefulbutuponinspectioncouldnotbeshown tobereducibleviacore-choosability.Forexample,thecongurations35,455,5:56,and 5:66wouldhavegreatlysimpliedthetargetsetandthedischargingproof.However,each ofthesehasatleastonerealizationwhichisnotcore-choosable.Wereplacedthese congurationswithmanymorelargercongurationswhichweshowedtobereducibleand weresucientforcompletingtheproof.Anotherhopefulcongurationwas7:4 5 5,but thiscongurationcouldnotbereplacedwithlargercongurationsusingourdischarging rules.Instead,wedealwiththeoccurrenceof7:4 5 5separatelyinourargumentvia Lemma4.34. Whenusingreduciblecongurationstoobservethestructureofaminimal counterexample,itishelpfultokeepinmindthatsomedierentwaysofwriting congurationsyieldthesamestructure.Forexample,theorderingoffacelengthsarounda centralfacecanbereversed,andwhenthereisasmallnumberofspeciedfacesthere mightbemorethanoneoptionforthecentralface.Table4.3describestheseequivalencies. 67

PAGE 78

Table4.3:Descriptionsofequivalentcongurations. Description EquivalentCongurations Reverseorderaroundacentralface b : s 1 :::s t , b : s t :::s 1 Twoadjacentfaces b : k , bk , k : b Threefaceswithacommonvertex b : km , k : bm , m : bk Fourfacesaroundanedge b : kmn , m : kbn Twofacesadjacentaroundatriangle b 3 k ,3: bk Whenreferencingareduciblecongurationinourarguments,wewillalwaysusethe expressionlistedinTable4.2insteadofanyequivalentexpressionswhichcanbeobtained bythealternativedescriptionsinTable4.3. 4.7Discharging WenowproveTheorem4.9.Let G beaminimalcounterexamplewithsomexedplane embedding.ByObservation4.10, G iscubicandconnected.Weassigninitialchargetothe verticesandfacesof G accordingtotheface-chargingscheme:assigntoeachface F a chargeof ` F )]TJ/F15 11.9552 Tf 11.955 0 Td [(6andtoeachvertex v achargeof2deg v )]TJ/F15 11.9552 Tf 11.955 0 Td [(6.Aroutineobservationof Euler'sTheoremgivesthetotalinitialchargeof G . Observation4.26. Thetotalchargeofanyplaneembeddingof G is )]TJ/F15 11.9552 Tf 9.299 0 Td [(12 . Proof. UsingObservation4.10,wehavethatanyplaneembeddingof G isconnectedand cubic.Consideraxedplaneembeddingof G ,anddenoteby F G thefacesof G inthis embedding.WewilluseEuler'sFormulaforconnectedgraphs: j V G j)-222(j E G j + jF G j =2.Now,observethat P F 2F G ` F =2 j E G j sinceeachedge iscountedtwicebytheboundarywalksoffaces.Alsoobservethat 3 j V G j = P v 2 V G deg v =2 j E G j since G iscubicandeveryedgeiscountedtwiceby 68

PAGE 79

PAGE 80

PAGE 81

3.Ifa5-faceisadjacenttothree )]TJ/F15 11.9552 Tf 7.085 -4.338 Td [( -faces,thenitisadjacenttoexactlytwo + -faces. Proof. Inthefollowingcases,suppose s 1 s i forall i andalsothat s 1 6. 1.Let s 1 s 2 s 3 bethesequenceoffacelengthsarounda3-facein G .Because33,34,and 36arereducible,wehave s 1 =5.Because535and3:57arereducible,wehave s 2 ;s 3 8. 2.Let s 1 s 2 s 3 s 4 bethesequenceoffacelengthsarounda4-facein G ,andsuppose s 1 6.Because34and44arereducible,wehave s i 5forall i 2f 1 ; 2 ; 3 ; 4 g .If s 1 =5,thenwehave s 2 ;s 4 8because4:55,4:56,and4:57arereducible.Thenif s 3 6,thenwehave s 3 =5because546isreducible,andthenwemayconclude s 2 ;s 4 9because4:585isreducible.If s 1 =6,thenif s 3 =6wemayconclude s 2 ;s 4 9because4:66,4:676and4:686arereducible. 3.Let s 1 s 2 s 3 s 4 s 5 bethesequenceoffacelengthsarounda5-facein G ,andsuppose s 1 6. Case1: s 1 =3.Since33,3 3,34,and3 4arereducible,wehave s i 5forall i 2f 2 ; 3 ; 4 ; 5 g .Since535and36arereducible,wehave s i 7for i 2f 2 ; 5 g .Since 355and356arereducible,wehave s i 7for i 2f 3 ; 4 g .Sothe5-faceisnotadjacent tothree )]TJ/F15 11.9552 Tf 7.084 -4.338 Td [(-faces. Case2: s 1 =4.Since44,4:55,and4:56arereducible,wehave s 2 ;s 5 7.Since454 and5:4 55arereducible,wehave s k 6forsome k 2f 3 ; 4 g .Since456isreducible, wehave s k 7.Sothe5-faceisnotadjacenttothree )]TJ/F15 11.9552 Tf 7.085 -4.339 Td [(-faces. Case3: s 1 =5.Since5:555isreducible,atmostthreefacelengthsare5andnot threeconsecutiveones. Case3a: Exactlythreefacelengthsare5.Withoutlossofgenerality,suppose s 1 = s 3 = s 4 =5and s 2 ;s 5 6.Since5:565and5:575arereducible,wehave s 2 ;s 5 8.Since5:5585isreducible,wehave s 2 ;s 5 9. Case3b: Exactlytwofacelengthsare5.Firstsuppose s 1 = s 2 =5and s 3 ;s 4 ;s 5 6.Since5:556and5:55 6arereducible,wehave s 3 ;s 4 ;s 5 7.Sothe 71

PAGE 82

5-faceisnotadjacenttothree )]TJ/F15 11.9552 Tf 7.084 -4.338 Td [(-faces.Nowsupposeinsteadthat s 1 = s 3 =5and s 2 ;s 4 ;s 5 6.Since5:565and5:5 65arereducible,wehave s 2 ;s 4 ;s 5 7.Sothe 5-faceisnotadjacenttothree )]TJ/F15 11.9552 Tf 7.084 -4.338 Td [(-faces. Case3c: Exactlyonefacelengthis5.So s 1 =5and s i 6for i 2f 2 ; 3 ; 4 ; 5 g .Since 5:656isreducible,wemaysuppose s 2 7.Since5:5 66isreducible,wehavethat s k 7forsome k 2f 3 ; 4 g .Firstsuppose k =3;thenoneof s 4 ;s 5 isatleast7since 5:566isreducible.Nowsupposeinsteadthat k =4;thenoneof s 3 ;s 5 isatleast7 since5:56 6isreducible.Sothe5-faceisnotadjacenttothree )]TJ/F15 11.9552 Tf 7.085 -4.338 Td [(-faces. Case4: s 1 =6.Since5:666isreducible,atmostthreefacelengthsare6andnot threeconsecutiveones.Since5:6 66isreducible,weactuallyhavethatatmosttwo facelengthsare6.Sothe5-faceisnotadjacenttothree )]TJ/F15 11.9552 Tf 7.085 -4.338 Td [(-faces. ByLemma4.28,each )]TJ/F15 11.9552 Tf 7.085 -4.339 Td [(-facehasatleasttwoadjacent + -faces.Therefore,the DischargingRulesshowthatevery )]TJ/F15 11.9552 Tf 7.084 -4.339 Td [(-facepullsexactlythechargeitneedsfrom surroundingfaces. Corollary4.29. Intheminimalcounterexample G ,every )]TJ/F15 11.9552 Tf 7.084 -4.338 Td [( -facehasnonnegativenal charge. Toshowthatbiggerfaceshavenonnegativenalcharge,werstdeterminehowmuch chargeasmallfacemightpullfromthem. Lemma4.30. Let abkcd beveconsecutiveentriesfromthefaciallengthlistarounda + -face F intheminimalcounterexample G ,andlet F 0 bethefacerepresentedbythe entry k .SeeFigure4.13. 1.Suppose k =3 .If b =5 or c =5 ,then F 0 pulls3/2chargefrom F .Otherwise, F 0 pulls1chargefrom F . 2.Suppose k =4 .If a =4 or d =4 or ` F < 9 ,then F 0 pullsatmost2/3chargefrom F .Otherwise, F 0 pullsatmost1chargefrom F . 3.Suppose k =5 .If b =3 or c =3 ,then F pullsatmost1/4chargefrom F 0 . Otherwiseif b 6 =5 or c 6 =5 or ` F < 9 ,then F 0 pullsatmost1/3chargefrom F . 72

PAGE 83

Otherwise, F 0 pullsatmost1/2chargefrom F . Figure4.13:ThelayoutoffacesconsideredinLemma4.30. Proof. 1.If b =5or c =5,thenbyLemma4.28.1andRule1bthe3-facepulls3/2 charge.Otherwise,since33,34,and36arereducible,wehave b;c;` F 7andby Rule1athe3-facepulls1charge. 2.If a =4or d =4,since34,44,454,and464arereduciblewehave b 7or c 7. Since ` F 7aswell,byLemma4.28.2the4-face F 0 isadjacenttoatleastthree + -faces.Similarly,if ` F < 9,thenbyLemma4.28.2the4-face F 0 isadjacentto atleastthree + -faces.Ineitherofthesecases,byRules2a,2b,the4-facepullsat most2/3charge.Otherwise,byRules2a,2b,2c,the4-facepullsatmost1charge. 3.Let q;r betheothertwofaciallengthsaround F 0 ,sothatthefaciallengthlistof F 0 is c;` F ;b;q;r .SeeFigure4.14.If b =3or c =3,thensince33,3 3,34,3 4,535, 355,36,and356arereducible,wehavethat ` F ;q;r andoneof b or c areatleast7. SobyRule3b,the5-face F 0 pullsatmost1/4chargefrom F . Sosuppose b;c 4,andalso b 6 =5or c 6 =5.If b =4or c =4,thenwithoutlossof generalitysuppose b =4.Since34,3 4,44,454,4:55,and4:56arereducible,wehave q 7and r;c 5.Since5:4 55and456arereducible,atleastoneof r;c isatleast7. SobyRules3b,3c,the5-face F 0 pullsatmost1/3chargefrom F . Sosuppose b;c 5,andalso b 6 =5or c 6 =5.If b =6or c =6,thenwithoutlossof generalitysuppose b =6.Since36,356,4:56,and456arereducible,wehave q;r 5. Since5:556,5:566,5:656,and5:666arereducible,oneof q;r isatleast7.Since 73

PAGE 84

Figure4.14:Case3ofLemma4.30. 5:5 65,5:5 66,5:56 6,and5:6 66arereducible,oneof q;c isatleast7.Since5:55 6, 5:56 6,and5:6 66arereducible,oneof r;c isatleast7.Sinceeachpairfrom q;r;c musthaveatleastonememberbeatleast7,twoof q;r;c mustbeatleast7.Soby Rules3b,3c,the5-face F 0 pullsatmost1/3chargefrom F . Alsoifboth b;c 7,thenbyRules3a,3b,3c,the5-face F 0 pullsatmost1/3charge from F . Sowithoutlossofgeneralitysuppose b 7and c =5.Thensince535,355,and4:55 arereducible,wehave q 4and r 5.If q =4,thensince4:55and4:56are reduciblewehave r 7.If q 5,thensince5:555,5:556,5:565,5:566arereducible wehavethatoneof q;r isatleast7.Soineithercase,byRules3b,3c,the5-face F 0 pullsatmost1/3chargefrom F . Nowsuppose ` F < 9.ThenbyLemma4.28.3,the5-face F 0 isadjacenttoatleast three + -faces.SobyRules3a,3b,3c,the5-face F 0 pullsatmost1/3chargefrom F . Otherwise,byRules3a,3b,3c,3d,the5-face F 0 pullsatmost1/2charge. Havingobservedwhatchargecanbepulledfromlargerfaces,wenowconsiderthe waysinwhichsmallfacescanappeararoundfaces.WiththeboundsfromLemma4.30,we thencalculateboundsonthechargepulledfromtheseblocksof )]TJ/F15 11.9552 Tf 7.085 -4.338 Td [(-faces. Lemma4.31. Consideranycentralfaceintheminimalcounterexample G anda nonemptysublistofconsecutivefacelengthsaroundthiscentralface.Iftheelementsofthe sublistareallin f 3 ; 4 ; 5 g ,thenthesublistisgiveninTable4.5. 74

PAGE 85

Table4.5:The17possiblesublistsofsmallfacesaroundacentralfacein G . 3 35 4 45 455 5 53 54 545 5455 55 554 5545 55455 555 5555 55555 Proof. Consideranynonemptysublistofconsecutivefacelengthsaroundthecentralface suchthatallentriesarein f 3 ; 4 ; 5 g .Wedirectlyinspectallpossibilitiesforthissublist. Assumetherstentryisofthesublist3.Since33,34,and36arereducible,eitherthe sublistis3orthesecondentryis5.Supposethesecondentryis5.Since3 3,3 4,and355 arereducible,thesublistis35. Assumetherstentryisofthesublist4.Since34and44arereducible,eitherthe sublistis4orthesecondentryis5.Supposethesecondentryis5.Since3 4and454are reducible,eitherthesublistis45orthethirdentryis5.Supposethethirdentryis5.Since 3 54,4 54,and4555arereducible,thesublistis455. Assumetherstentryisofthesublist5.Eitherthesublistis5,orthesecondentryis 3,4,or5. Supposethesecondentryis3.Thensince33,34,and535arereducible,thesublistis 53. Nowinstead,supposethesecondentryis4.Thensince34and44arereducible,the sublistis54orthethirdentryis5.Supposethethirdentryis5.Thensince3 4and454 arereducible,thesublistis545orthefourthentryis5.Supposethefourthentryis5. Thensince3 54,4 54,and4555arereducible,thesublistis5455. Nowinstead,supposethesecondentryis5.Since355isreducible,eitherthesublistis 55,orthethirdentryis4or5. Firstsupposethethirdentryis4.Thensince34and44arereducible,thesublistis 554orthefourthentryis5.Supposethefourthentryis5.Thensince3 4and454are reducible,thesublistis5545orthefthentryis5.Supposethefthentryis5.Thesince 3 54,4 54,and4555arereducible,thesublistis55455. Secondsupposethethirdentryis5.Since355and4555arereducible,anyremaining 75

PAGE 86

entriesinthesublistare5s.Since555555isreducible,thesublistis555,5555,or55555. ByLemma4.31,wecandescribeafamilyoffaciallengthlistswithsublistsfrom Table4.5alongwiththecharacter + "torepresentanyentriesnotin f 3 ; 4 ; 5 g . Lemma4.32. Intheminimalcounterexample G ,every + -facehasnonnegativenal charge. Proof. Let F bea + -faceof G andconsiderthefaciallengthlistaround F .Theentries ofthefaciallengthlistfrom f 3 ; 4 ; 5 g canbegroupedintomaximalsublistsofconsecutive entriescalled blocks ,sothatanytwoblocksareseparatedbyatleastone + .By Lemma4.31,anyblockmustappearintherstrowofTable4.6reversalsarepaired together.Listedbeloweachblockisanupperboundonthetotalchargethefacesofthe blocktogetherpullfromthecentral + -face F .Fortheblock3,thetotalchargepulled is1byLemma4.30.1sincetheentriesprecedingandsucceedingthe3inthefaciallength listarebothatleast6.Fortheblock35,thechargepulledbythe3-faceis3/2by Lemma4.30.1andthechargepulledbythe5-faceis1/4byLemma4.30.3.Theremaining upperboundsarecalculatedbysimplyadding1foreach4and1/2foreach5the maximumchargepulledbyeachaccordingtothedischargingrulesratherthanthebounds giveninLemma4.30. Table4.6:Possibleblocksofsmallfacesaroundacentral + -facein G ,alongwithupper boundsonthecollectivechargepulledbyeachblockandupperboundsonthe averagechargepulledfromtheblockandtheedgefollowingtheblock. Block: 3 35 4 45 455 5 545 53 54 554 TotalPulled : 1 7/4 1 3/2 2 1/2 2 AveragePulled : 1/2 7/12 1/2 1/2 1/2 1/4 1/2 Block: 5455 55 55455 555 5555 55555 5545 TotalPulled : 5/2 1 3 3/2 2 5/2 AveragePulled : 1/2 1/3 1/2 3/8 2/5 5/12 Sincethelengthof F islongerthanthelengthofanyblock,anyblockinthefacial lengthlistof F isfollowedbyatleastone + .Sotheaveragechargepulledacrossthe 76

PAGE 87

edgesofablockandtheedgefollowingtheblockisatmosttheTotalPulled"bound dividedby1morethanthelengthoftheblock.ThisresultingboundonAveragePulled" isalsolistedforeachblockinTable4.6.Sinceeachoftheseaveragesisatmost7/12,the totalchargepulledfrom F isatmost 7 12 ` F = ` F )]TJ/F18 7.9701 Tf 15.268 4.708 Td [(5 12 ` F ` F )]TJ/F18 7.9701 Tf 13.151 4.708 Td [(25 4 <` F )]TJ/F15 11.9552 Tf 11.955 0 Td [(6. Therefore, F hasnonnegativenalcharge. TocompleteourproofofTheorem4.9,weshowthateveryfaceoftheminimal counterexample G withlengthbetween7and14hasnonnegativenalcharge.Using Lemma4.31,weinspectallpossiblefamiliesoffaciallengthlistsaroundacentralfaceof lengthbetween7and14.UsingLemma4.30,weareabletoshowinLemma4.33thatthe centralfacehasnonnegativenalchargeforallbutoneofthesefamilies.Thebounds providedinLemma4.30arenotstrongenoughforthisoneexceptionalconguration.In Lemma4.34,weinspectthisexceptionalcongurationmorecloselybyconsideringfaces aroundthecongurationtoshowthatthecentralfaceindeedhasnonnegativenalcharge aswell. Lemma4.33. Suppose F isafaceoftheminimalcounterexample G withlengthbetween7 and14.If F isnota7-facewithfaciallengthlist 4 + + + + ,then F has nonnegativenalcharge. Proof. Allthepossiblefaciallengthlistsof F canbegeneratedaslistsoflength ` F composedofsublistsfromTable4.5eachfollowedbyatleastone + ".Eachofthese familiesoffaciallengthlistscanbecheckedtoseeifareduciblecongurationfromthe targetset C occursamongthecentralfaceandanysurrounding )]TJ/F15 11.9552 Tf 7.085 -4.339 Td [(-faces.Weuseda computertogenerateallfaciallengthlistsforcentralfaceswithlengthbetween7and14 andwhichhavenocongurationsfrom C .Foralltheresultinglists,wecalculatedalower boundonthecentralface'snalchargebysummingtheupperboundsonchargepulledby thesurrounding5 )]TJ/F15 11.9552 Tf 7.085 -4.338 Td [(-facesasgivenbyLemma4.30.Withonlytheoneexceptionof 4 + + + + arounda7-face,thelowerboundonthecentralface'snalchargeis nonnegativeforeachfaciallengthlist. 77

PAGE 88

Becauseonecongurationnotruledoutbythetargetsethasanegativelowerbound onthenalchargeofitscentral,weneedadditionalreduciblecongurationsbeyondthe targetset.Becausesomeofthesecongurationsdonottthesamedescriptionasthosein thetargetset,wedealwiththemseparatelyhere.Usingthesameprogramaswith Lemma4.25,wechecktheconguration7:4 5 5foranyrealizationswhicharenot core-choosable.Byexpandingtheinformationaroundtheproblematicconguration,we showthatthesmallfacesaroundthecentral7-facedonotpullverymuchcharge. Lemma4.34. A7-faceintheminimalcounterexample G withfaciallengthlist 4 + + + + hasnonnegativenalcharge. Proof. Anysuch7-facehaschargedpulledbyitsneighboring4-faceandtwo5-faces.We showthatthe4-faceisadjacenttofour + -facesandthatthe5-facesareeachadjacentto atleastfour + -faces.ByRules2a,3a,3b,the4-facepulls1/2chargeandthetwo5-faces pullatmost1/4chargeeach.Thisleavesthecentral7-facewithatleast0nalcharge. Justaswedidforeachcongurationin C ,wealsogeneratedandcheckedevery realizationof7:4 5 5forcore-choosability.Allbuttworealizationsof7:4 5 5are core-choosable.ThesetwoareshowninFigure4.15,whereitcanbeseenthatthe structuresofthesetworealizationsarenearlyidentical.Soa7-faceintheminimal counterexample G withfaciallengthlist4 + + + + occursasoneofthesetwo realizations.Toinspectthefacessurroundingthe4-and5-faces,considerthefacelabeling inthecommonrealizationstructuregiveninFigure4.16left. WeshowthatnoneofA,B,C,D,E,G,H,I,Khavelengthlessthan7.Thereare severalcasestoconsider,andthesearesummarizedinTable4.7.SinceC=DandG=H, weneednotconsiderDandHseparately.Sinceweareassumingthefaciallengthlist aroundthecentral7-faceis4 + + + + ,wealreadyknowthatA,C,G,andK havelengthsatleast6.SincethetwostemsonEcannotbethesamevertexineitherof thetworealizationsinFigure4.15,wealsoknowthatEhaslengthatleast4.Similarly, thefacesBandIhavelengthatleast4aswell.Since44isreducible,wealsoknowthatB 78

PAGE 89

Figure4.15:Theonlytworealizationsoftheconguration7:4 5 5whicharenot core-choosable.Bothsharethesamecoresubgraphthenaturalcore subgraph. Figure4.16: Left: Alabelingofthefacesaroundthefacesaroundthe4-and5-facesofthe naturalcoresubgraphof7:4 5 5.NotethatC=DandG=H. Right: The planegraph ^ J forthecase ` A =6. haslengthatleast5. Fortheremaining12cases,weextendthenotionsofrealizationsandcore-choosability inordertoshowthatanysubgraphsresultingfromthesecasesarereducible.Eachcase 79

PAGE 90

Table4.7:SummaryofcasesforfacelengthssurroundingthesmallfacesinLemma4.34. Case Reason ` A 5 Faciallengthlisthypothesis ` A =6 Veriedcore-choosability ` C 5 Faciallengthlisthypothesis ` C =6 Veriedcore-choosability ` G 5 Faciallengthlisthypothesis ` G =6 Veriedcore-choosability ` K 5 Faciallengthlisthypothesis ` K =6 Veriedcore-choosability Case Reason ` B =3 7:4 5 5realizationstructure ` B =4 Contains44 ` B =5 Veriedcore-choosability ` B =6 Veriedcore-choosability ` E =3 7:4 5 5realizationstructure ` E =4 Veriedcore-choosability ` E =5 Veriedcore-choosability ` E =6 Veriedcore-choosability ` I =3 7:4 5 5realizationstructure ` I =4 Veriedcore-choosability ` I =5 Veriedcore-choosability ` I =6 Veriedcore-choosability prescribesoneadditionalfacelengthwhichmayormaynotbeadjacenttothecentral 7-face.Ineachcase,webeganwiththeplanesubgraph ^ J obtainedfromthenaturalcore subgraph J byaddingthenewfaceofspeciedlength.Foranexample,see Figure4.16right.Then,wegeneratedallpossiblegraphswhichresultfromidentications ofverticesof ^ J whileenforcingthatnotwoverticesof J areidentied.Foreachresulting graphthatmettheconditionsofObservation4.23,wegeneratedeachpossiblestem structuredescribedbyObservation4.24andthenveriedbycomputerthattheresulting graphiscore-choosable.Forthesakeofsimplicity,wedidnotenforceanyinformation fromthestemstructuresofthetworealizationsinourgeneration.Hence,weconclude thatineachcasetheprescribedfacelengthcannotbepresentinthedesignatedlocationin aminimalcounterexampletoTheorem4.9. ThisconcludestheproofofTheorem4.9. 4.8ConcludingRemarks Whilethetargetsetisminimalinthesensethatourproofaswrittenmakesuseof everycongurationin C ,wedonotknowifthereisasmallersetofcongurationswhich wouldprovidethegroundsforasimilarproof.TheargumentinLemma4.32canbe modiedforfacesoflengthsmallerthan15byobservingthatcertainblocksmustbe 80

PAGE 91

separatedbymorethanone + -facesresultinreduciblecongurationfromthetargetset. Forexample,theblock3cannotbefollowedbytheblock54afteratmostthree + -faces,sincethecongurations3 54,3 54and3 54areallreducible.However,we feelthatthecurrentargumentstrikesanoptimalbalancebetweenthesizeandanalysisof thetargetsetandthesimplicityandvericationofthedischargingrules. Whentryingtoestablishalistofreduciblecongurations,wersttriedtobuildalist ofhopeful"congurationswhichwouldworkwithourdischargingrules.Heuristically,the realizationofacongurationwhichisleastlikelytobecore-choosableisthenaturalcore subgraphwithastemstructureconsistingentirelyofstemswhichhavedegree1tothecore vertices.Foranycoresubgraph,thisstemstructureminimizesthevaluesofthelistsize functionusedforcore-choosability.Thecongurationswedeemedhopeful"werethosefor whichthisrealizationwascore-choosable.Wecheckedover250congurationsandfound 171ofthemtobehopeful.Fromtheseweformedadischargingargumentandthen simmeredthelistneededforourargumenttofewerthan70hopefulcongurationswhich wereeachusedintheargument.Atthispoint,wedevelopedthetoolstocheckallother realizationsasdiscussedinSection4.5.Wefoundthat35,455,and7:4 5 5eachhaveat leastonerealizationthatisnotcore-choosable.Wewereabletoreplace35and455with11 largerreduciblecongurationstomaintainourdischargingargument,butreplacing 7:4 5 5requirescongurationswhichdonottourtechnicaldenitionofconguration." The12structuresweveriedtobereducibleinLemma4.34canbedenedandaddedto thetargetset,whichwouldperhapsmakeLemma4.34clearer. Theexploratoryprocessjustdescribedwouldnothavebeenpossiblewithoutthe choosability program.Almostallofthecongurationsweconsideredaresimplytoo largeandhavetoosmalllistsizevaluestocheckbyhand.Developingthistoolwasa criticalsteptoourproof. Perhapsthemosttediousaspectofourproofisgeneratingallcoresubgraphsofa conguration.Sincetherearemanywaysinwhichcongurationscanwrapbackinon 81

PAGE 92

themselvesthatwedidnotseeatrst,wefeelthatgeneratingallpossiblepartitionsand thenapplyingappropriateltersasdiscussedinSection4.5isthebestwaytocondently ndallcoresubgraphs.Ifweknewthatminimalcounterexamplemustbe3-connected, thenthenumberofnon-naturalcoresubgraphsisreducedgreatly.However,athorough searchforallcoresubgraphswouldstillbenecessary. Thenumberofstemstructuresforeachcoresubgraphwouldalsobegreatlyreduced underthepromiseof3-connectedness.Areductioninthesestructureswouldnothave merelyshortenedcomputationbutalsoshortenedourtargetset.Thisrestrictioninstem structureswouldmeanthattheconguration35isreducible,sincetheonly non-core-choosablerealizationof35guaranteesabridgeinthegraph. Inadditiontoalackofconnectivitybounds,adierencebetweenourproblemandthe non-listsettingisthatreduceredgescannothelpshowcongurationstobereducible.Since aprecoloringmightberainbowonthestemsofarealization,iftherealizationisnot core-choosablethennoplacementofreduceredgescanpreventabadprecoloring.We consideredbothaloadedinductionhypothesisandDP-coloring,butneitherofthese techniquesseemedtoresolveourcomplications. Thefactthat35hasanon-core-choosablerealizationmaybesurprising,asallthe realizationsof33,34,and36arecore-choosable.Thesquareinducedonthecoresubgraph bythenon-core-choosablerealizationof35is K 6 ,andthelistsizefunctionvaluesareallat most5.Thesquareinducedonthecoresubgraphbythestemstructureinwhicheachroot isadjacenttoadistinctstemis K 6 )]TJ/F20 11.9552 Tf 11.955 0 Td [(e ,andthelistsizefunctioncanbeobtainedfromthe previouslistsizefunctionbysubstracting1foreachofthetwoendpointsof e .However, thislattersquareischoosableforthegivenlistsizefunction.Thisisrelatedto Question3.27. Whilethesituationfortheconguration35seemstoberatherspecic,thereareother structureswhicharelocalobstructionstocore-choosability.Forexample,ifacore subgraphhasa + -threadaninducedpathwithatleast5consecutive2-vertices,then 82

PAGE 93

PAGE 94

REFERENCES [1]Theon-lineencyclopediaofintegersequences.Publishedelectronicallyat https://oeis.org/A000110,2010. [2]N.Alon.Surveysincombinatorics.chapterRestrictedColoringsofGraphs,pages 1{33.CambridgeUniversityPress,NewYork,NY,USA,1993. [3]N.Alon.CombinatorialNullstellensatz. Combinatorics,ProbabilityandComputing , 8-2:7{29,1999.RecenttrendsincombinatoricsMatrahaza,1995. [4]N.Alon.Degreesandchoicenumbers. RandomStructuresAlgorithms ,16:364{368, 2000. [5]N.AlonandM.Tarsi.Coloringsandorientationsofgraphs. Combinatorica , 12:125{134,Jun1992. [6]K.AppelandW.Haken.EveryplanarmapisfourcolorablePartI:Discharging. IllinoisJournalofMathematics ,21:429{490,1977. [7]K.AppelandW.Haken. EveryPlanarMapIsFourColorableContemporary Mathematics .AmericanMathematicalSociety,1989. [8]K.Appel,W.Haken,andJ.Koch.EveryplanarmapisfourcolorablePartII: Reducibility. IllinoisJournalofMathematics ,21:491{567,1977. [9]J.Arndt. MattersComputational:Ideas,Algorithms,SourceCode .SpringerBerlin Heidelberg,2011. [10]G.D.Birkho.Thereducibilityofmaps. AmericanJournalofMathematics , 35:115,Apr1913. [11]H.L.Bodlaender,M.R.Fellows,andD.M.Thilikos.Derivationofalgorithmsfor cutwidthandrelatedgraphlayoutparameters. J.Comput.SystemSci. , 75:231{244,2009. [12]B.BollobasandA.J.Harris.List-colouringsofgraphs. GraphsandCombinatorics , 1:115{127,Dec1985. [13]O.V.Borodin.Onacycliccoloringsofplanargraphs. DiscreteMathematics , 25:211{236,1979. [14]O.V.Borodin.Coloringsofplanegraphs:Asurvey. DiscreteMathematics , 313:517{539,Feb2013. [15]O.V.BorodinandA.O.Ivanova.2-distance4-colorabilityofplanarsubcubicgraphs withgirthatleast22. DiscussionesMathematicaeGraphTheory ,32:141{151,2012. [16]O.V.BorodinandA.O.Ivanova.List2-facial5-colorabilityofplanegraphswith girthatleast12. DiscreteMathematics ,312:306{314,2012. 84

PAGE 95

[17]B.Brimkov,J.Edmond,R.Lazar,B.Lidicky,K.Messerschmidt,andS.Walker. Injectivechoosabilityofsubcubicplanargraphswithgirth6. DiscreteMathematics , 340:2538{2549,2017. [18]R.L.Brooks.Oncolouringthenodesofanetwork. MathematicalProceedingsofthe CambridgePhilosophicalSociety ,37:194|-197,1941. [19]D.W.CranstonandS.-J.Kim.List-coloringthesquareofasubcubicgraph. Journal ofGraphTheory ,57:65{87,2008. [20]D.W.CranstonandD.B.West.Anintroductiontothedischargingmethodvia graphcoloring. DiscreteMathematics ,340:766{793,Apr2017. [21]P.DeOrsey,J.Diemunsch,M.Ferrara,N.Graber,S.G.Hartke,S.Jahanbekam, B.Lidicky,L.L.Nelsen,D.Stolee,andE.Sullivan.Onthestrongchromaticindexof sparsegraphs. arXiv:1508.03515[math.CO] ,2015. [22]J.Diemunsch,N.Graber,L.Kramer,V.Larsen,L.M.Nelsen,L.L.Nelsen,D.Sigler, D.Stolee,andC.Suer.Color-blindindexingraphsofverylowdegree. DiscreteAppl. Math. ,225:122{129,2017. [23]R.Diestel. GraphTheory .Number173inGraduateTextsinMathematics.Springer, 1997. [24]Z.Dvorak,M.Hebdige,F.Hlasek,D.Kral',andJ.Noel.Cycliccoloringofplane graphswithmaximumfacesize16and17. arXiv:1603.06722[math.CO] ,2016. [25]Z.Dvorak,R. Skrekovski,andM.Tancer.List-coloringsquaresofsparsesubcubic graphs. SIAMJ.DiscreteMath. ,22:139{159,2008. [26]P.Erd}os,A.L.Rubin,andH.Taylor.Choosabilityingraphs. Congressus Numerantium ,26:125{127,1979. [27]F.Galvin.Thelistchromaticindexofabipartitemultigraph. J.Combin.TheorySer. B ,63:153{158,1995. [28]M.R.GareyandD.S.Johnson. ComputersandIntractability:AGuidetotheTheory ofNP-Completeness .W.H.Freeman&Co.,NewYork,NY,USA,1979. [29]G.Gonthier.Formalproof|thefour-colortheorem. NoticesoftheAmerican MathematicalSociety ,55:1382{1393,2008. [30]H.Grotzsch.Zurtheoriederdiskretengebilde.vii.eindreifarbensatzfurdreikreisfreie netzeaufderkugel. WissenschaftlicheZeitschriftMartin-Luther-Universitat Halle-WittenbergMathematik-NaturwissenschaftReihe ,8:109{120,1959. [31]S.Gutner.Thecomplexityofplanargraphchoosability. DiscreteMathematics , 159:119{130,1996. 85

PAGE 96

[32]S.GutnerandM.Tarsi.Someresultsona:b-choosability. DiscreteMathematics , 309:2260{2270,2009. [33]S.G.Hartke,S.Jahanbekam,andB.Thomas.Thechromaticnumberofthesquareof subcubicplanargraphs. arXiv:1604.06504[math.CO] ,2016. [34]F.Havet.Choosabilityofthesquareofplanarsubcubicgraphswithlargegirth. DiscreteMath. ,309:3553{3563,2009. [35]M.HebdigeandD.Kral'.Thirdcaseofthecycliccoloringconjecture. SIAMJ. DiscreteMath. ,30:525{548,2016. [36]H.Heesch. UntersuchungenzumVierfarbenproblem .B.I.-Hochschulskripten, 810/810a/810b.Mannheim,BibliographischesInstitut,1969. [37]H.Heesch.Chromaticreductionofthetriangulations T e , e = e 5 + e 7 . Journalof CombinatorialTheory,SeriesB ,13:46{55,Aug1972. [38]S.Jendrol'andH.J.Voss.Lightsubgraphsofgraphsembeddedintheplane-A survey. DiscreteMathematics ,313:406{421,2013. [39]M.Juvan,B.Mohar,andR. Skrekovski.Onlistedge-coloringsofsubcubicgraphs. DiscreteMath. ,187-3:137{149,1998. [40]J.Kahn.Asymptoticsofthelist-chromaticindexformultigraphs. RandomStructures Algorithms ,17:117{156,2000. [41]S.Karakashian,B.Y.Choueiry,andS.G.Hartke.Analgorithmforgeneratingall connectedsubgraphswith k verticesofagraph.2013. [42]R.M.Karp. ReducibilityamongCombinatorialProblems ,pages85{103.SpringerUS, Boston,MA,1972. [43]D.Kral'.Coloringsofplanegraphs.Presentation,2016SIAMConferenceonDiscrete Mathematics,June2016. [44]M.Lason.AgeneralizationofCombinatorialNullstellensatz. Electron.J.Combin. , 17:Note32,6,2010. [45]M.Mirzakhani.Asmallnon-4-choosableplanargraph. Bull.Inst.Combin.Appl. , 17:15{18,1996. [46]M.MolloyandB.Reed. Graphcolouringandtheprobabilisticmethod ,volume23of AlgorithmsandCombinatorics .Springer-Verlag,Berlin,2002. [47]B.MonienandI.H.Sudborough.MincutisNP-completeforedgeweightedtrees. Theoret.Comput.Sci. ,58-3:209{229,1988.ThirteenthInternationalColloquiumon Automata,LanguagesandProgrammingRennes,1986. 86

PAGE 97

[48]D.Paulusma.Openproblemsongraphcoloringforspecialgraphclasses.InE.W. Mayr,editor, Graph-TheoreticConceptsinComputerScience:41stInternational Workshop,WG2015,Garching,Germany,June17-19,2015,RevisedPapers ,pages 16{30.2016. [49]N.Robertson,D.Sanders,P.Seymour,andR.Thomas.Thefour-colourtheorem. JournalofCombinatorialTheory,SeriesB ,70:2{44,1997. [50]U.Schauz.QuantitativeCombinatorialNullstellensatz. arXiv:1212.5694[math.CO] , 2012. [51]U.Schauz.Computingthelistchromaticindexofgraphs. J.DiscreteAlgorithms , 52/53:182{191,2018. [52]J.P.Steinberger.Anunavoidablesetof D -reduciblecongurations. Trans.Amer. Math.Soc. ,362:6633{6661,2010. [53]D.Stolee.Personalcommunication,October2015. [54]TheSageDevelopers. SageMath,theSageMathematicsSoftwareSystemVersion 8.1 ,2017. https://www.sagemath.org . [55]C.Thomassen.Everyplanargraphis5-choosable. JournalofCombinatorialTheory, SeriesB ,62:180{181,1994. [56]C.Thomassen.3-list-coloringplanargraphsofgirth5. JournalofCombinatorial Theory,SeriesB ,64:101{107,1995. [57]C.Thomassen.AshortlistcolorproofofGrotzsch'stheorem. Journalof CombinatorialTheory,SeriesB ,88:189{192,2003. [58]C.Thomassen.Thesquareofaplanarcubicgraphis7-colorable. J.Combin.Theory Ser.B ,128:192{218,2018. [59]V.G.Vizing.Onanestimateofthechromaticclassofa p -graph. Diskret.AnalizNo. , 3:25{30,1964. [60]M.Voigt.Listcolouringsofplanargraphs. DiscreteMath. ,120-3:215{219,1993. [61]G.Wegner.Graphswithgivendiameterandacolouringproblem.Preprint,1977. [62]D.B.West. IntroductiontoGraphTheory .PrenticeHall,secondedition,2001. [63]D.B.West.TheArtofCombinatorics,VolumeI:ExtremalGraphTheory. Unpublishedmanuscript,2015. 87

PAGE 98

APPENDIXA SourceCodefor choosability.py 1 #-----------------------------------------------------2 #Contents 3 #-----------------------------------------------------4 5 #rev_powerset 6 #SubgraphsDealer 7 #CNS 8 #IndSets 9 #restriction_list_single_check 10 #set2tup 11 #reduce 12 #timestring 13 #subsetstring 14 #fChoosable 15 #restrictedListAssignments 16 #assignmentCheck 17 18 19 20 21 #-----------------------------------------------------22 #Libraries,Comments,GlobalVariables 23 #-----------------------------------------------------24 25 #ThesescriptswerewrittenwiththeintentofusingPython2.7beforetheswitch , ! toPython3.Thereshouldnotbemanydifferencesto , ! implementourcodeinPython3oncethischangeismade. 26 27 importcopy 28 fromsage.graphs.graphimportGraph 29 importtime 30 fromsage.rings.polynomial.polynomial_ring_constructorimport* 31 fromsage.rings.finite_rings.finite_field_constructorimport* 32 ZZ=sage.rings.integer_ring.IntegerRing 33 fromsage.graphs.independent_setsimportIndependentSets 34 fromitertoolsimportcombinations 35 fromnumpyimportprod 36 37 38 39 40 41 #-----------------------------------------------------42 #TheRoutines 43 #-----------------------------------------------------44 45 46 47 defrev_powersetn: #reverseorderingofcolexonsets. 48 ifn>0: 49 forsubsetinrev_powersetn-1: 50 subset.appendn-1 51 yieldsubset 52 forsubsetinrev_powersetn-1: 53 yieldsubset 54 else: 55 yield[] 56 return 88

PAGE 99

57 58 59 60 61 62 63 classSubgraphsDealer: 64 65 def__init__self,subgraphs_list,LAscheme="E": 66 self.subgraphs_list=copy.copysubgraphs_list 67 self.LAscheme=LAscheme 68 69 #subgraphisthecurrentconnectedsubgraphsetofvertices. 70 self.subgraph=None 71 72 self.required_vertex=None 73 74 75 76 defcopyself: 77 clone=SubgraphsDealercopy.copyself.subgraphs_list,self.LAscheme 78 clone.subgraph=copy.copyself.subgraph 79 returnclone 80 81 82 83 defprune_subgraphs_list_with_Eself,E: 84 i=0 85 whilei
PAGE 100

119 120 121 122 #beforecallingthis,callchooseroot. 123 #beforecallingthisforthefirsttime,callprunebyEandpossiblybyCNS 124 defnext_with_required_vertexself: 125 #gothroughlisttofindAcontainingrequired_vertex 126 i=0 127 whilei7: 178 print_flag=True 179 else: 180 print_flag=False 90

PAGE 101

181 182 #INITIALIZE 183 184 #nisthenumberofvertices. 185 n=G.order 186 ifn!=lenf: 187 print"Error:LengthoffdoesnotmatchorderofG." 188 return 189 190 if[xforxinfifx<1]: 191 ifprint_flag:print"Error:f-vectorcontainsnon-positiveentries." 192 returnFalse 193 194 #gapleftistheremainingnumberofstepsbelowthesumoff-1-valuesforour , ! monomial. 195 #gapleftbeginsasthedisparityandshoulddropdownto0. 196 #Ingeneral,itisgivenbydisparity-sum[f[x]-1-deg[x]forxinrangev]. 197 gapleft=sumf-lenf-G.size 198 ifgapleft<0: 199 ifprint_flag:print">>Disparity:%d.Cannotapply , ! Nullstellensatz."%gapleft 200 returnFalse 201 elifprint_flag:print">>Disparity:%d.Proceeding."%gapleft 202 203 #Relabelgraphsothatexpansionstepshavesmallermemoryrequirements. 204 perminv=[] 205 ma=G.order 206 whilelenperminv>Relabelingvia",perminv 215 #Wantperminv[i]toberelabeledasi. 216 perm=[perminv.indexxforxinrangelenperminv] 217 G.relabelperm 218 f=[f[x]forxinperminv] 219 220 #Polynomialstuff. 221 stringlist=['x'+strxforxinrangen] 222 P=PolynomialRingZZ,n,stringlist 223 varlist=P.objgens[1] 224 225 #visthevertex/variableweareinspecting. 226 v=0 227 228 #deg,mins,andcoeffallactasstacks. 229 deg=[] #degisalistholdingthedegreeswe'recurrentlyusing. 230 mins=[] #minsisalistholdingthelowerboundsforthedegreeswecanuse , ! indeg. 231 coeff=[] #coeffisalistholdingthecoefficientswe'vefoundfor , ! varlist[i]**deg[i]. 232 #Entriesindegstarthigh,butgodownby1tothecorrespondingminsvalueas , ! webacktrack. 233 234 #Thecoeffstackisalwaysonelongerthandegandmins;thefirstentryshould , ! bethepolynomial1. 235 coeff.appendvarlist[0]**0 236 91

PAGE 102

237 238 #STARTLOOP 239 240 whileTrue: 241 242 ifcoeff[-1]==0orgapleft<0: #Ifwehavealreadyencounteredanissue , ! withexpansion. 243 244 #BACKTRACK 245 #Ifthecurrentmonomialexpansionhasalreadyresultedina , ! coefficientof0, 246 #thenthecoefficientis0intheentirepolynomialandweneedto , ! backtrack. 247 #Lowerthepreviousvariable'sdegreetoseeifwegethigherdegrees , ! afterward. 248 249 whileTrue: 250 251 delcoeff[-1] 252 v-=1 253 254 #Ifthecurrentdegreeismorethantheminimum,wecanbreakout , ! ofthelooptodropdownnow. 255 ifdeg[-1]>mins[-1]: 256 break 257 #Otherwise,marchbackwards.We'llkeepgoinguntilwecandrop , ! withoutgoingbelowmins. 258 259 gapleft+=f[v]-1-deg[-1] 260 deldeg[-1] 261 delmins[-1] 262 263 #Ifwe'vemarchedbackthrougheverything,thenwe'veexhaustedour , ! options. 264 ifv<1: 265 ifprint_flag:print">>TheCNSisinconclusive;no , ! relevantmonomialshavenonzerocoefficient." 266 G.relabelperminv 267 f=[f[x]forxinperm] 268 returnFalse 269 270 #Dropdownthedegreeandnotethisindiff. 271 deg[-1]-=1 272 gapleft-=1 273 #Nowthatwe'vebacktracked,wetrymovingforwardagainbyfindingthe , ! nextcoefficientpiece. 274 275 276 else: #Ifthereishopeforexpandingthecurrentmonomial. 277 278 #FORWARD 279 280 #Ifwehavebuilttheentiremonomial,thenstop. 281 ifv>n-1: 282 ifprint_flag:print">>Thegraphischoosable!n , ! >>Certificate:Themonomialwithpowerlist"+strdeg+" , ! hascoefficient"+strcoeff[-1]+"." 283 G.relabelperminv 284 f=[f[x]forxinperm] 285 returnTrue 286 287 #Otherwise,appendnextvaluestodegandmins. 92

PAGE 103

288 289 #f[v]-1-gapleftisalowerboundfordeg[v].Anypowerlessthanthis , ! number 290 #willcausethemonomialtoalreadyhavetoolowoftotaldegree,even , ! ifthe 291 #remainingpowersareallthef-1values. 292 mins.appendmax0,f[v]-1-gapleft 293 294 a=coeff[-1].degreevarlist[v] #aisthedegreeofxvinthe , ! residualcoefficient. 295 b=len[xforxinG.neighborsvifv
PAGE 104

343 #CheckswhetherthesubsetAisCNS-reduciblewhenaddingittothecurrentlist , ! assignmentCA.ReturnsTrueifthesubsetisreduciblefor , ! thegivenCA;returnsFalseotherwisewhichmeansitmust , ! stayintherestrictionlist. 344 defrestriction_list_single_checkG_copy,ordering,f,CA,A: 345 #wetestcoloringsfromCA.appendAbyusingbacktrackingwithastackof , ! colorclasses 346 ISgens=[] #elementsofISgenswillbeIndependentSetsiterators 347 coloring=[] #elementsofcoloringwillbepairsmaximalindependentset, , ! unionofallfirstentriesuptothispair 348 c=0 #atthetopofthefollowingloop,cisthecolorweareabout , ! toassignacolorclassanIndependentSetsitem 349 whileTrue: 350 ifc==lenCA: 351 ordering_template=listordering 352 newf_template=listf 353 forCinCA: 354 forvinC: 355 newf_template[v]-=1 356 subG_template=GraphG_copy 357 S=A #SisgoingtobeA,butwithoutverticeswhichhavealready , ! beencolored 358 ifc>0: 359 S=S-coloring[c-1][1] 360 forvincoloring[c-1][1]: 361 delnewf_template[ordering_template.indexv] 362 delordering_template[ordering_template.indexv] 363 subG_template.delete_vertexv 364 H=GraphG_copy 365 forvinH.vertices: 366 ifvnotinS: 367 H.delete_vertexv 368 disparity_temp=sumnewf_template-lennewf_template, ! subG_template.size 369 #evenifthedisparityisnegative,coloringcertainindependentsets , ! incertainclassesmightstillmaketheCNSapplicableto , ! theremaininggraph. 370 forIinIndSetsH: #checkifthecoloringgivenby'coloring'andI , ! showsviaCNSthatAisreducible 371 ifsum[newf_template[ordering_template.indexv]-1forvinI]+ , ! lenS-lenI-sum[subG_template.degreevforvinI] , ! <=disparity_temp: 372 newf=listnewf_template 373 newordering=listordering_template 374 subG=GraphsubG_template 375 forvinI: 376 delnewf[newordering.indexv] 377 delnewordering[newordering.indexv] 378 subG.delete_vertexv 379 forvinS-setI: 380 newf[newordering.indexv]-=1 381 subG.relabel 382 newf=[newf[newordering.indexx]forxin , ! rangeG_copy.orderifxinnewordering] 383 384 subG,newf,same,low=reducesubG,newf 385 386 iflow: #Inthiscase,theremainingsubG,newfareNOT , ! f-choosable.TryanotherI. 387 continue 388 389 iflennewf<1orCNSsubG,newf: 94

PAGE 105

390 returnsetI,A 391 392 #otherwise,backtrackasfarasnecessaryandtakeonestepforward 393 whilec>0: 394 try: 395 delcoloring[c-1] 396 new=setISgens[c-1].next #thisthrowstheexceptionif , ! thegeneratorisexhausted 397 ifc==1: 398 coloring.appendnew,new 399 else: 400 coloring.appendnew,new|coloring[c-2][1] 401 break 402 exceptStopIteration: 403 delISgens[c-1] 404 c-=1 405 ifc==0: 406 break 407 else: 408 continue 409 410 #ifc
PAGE 106

450 451 452 #Tohandletheunorderednessofsets.TakesasetSofnonnegativeintegersand , ! returnsatupleofthesameelements,orderedby<.Could , ! easilybeadjustedtorespectorderingbypassingorderingin. 453 defset2tupS: 454 returntuplexforxinrangemaxS+1ifxinS 455 456 457 458 459 460 461 #TakesG,fasinputandreturnstheprunedversion,havingremovinganyvertices , ! withf-valueshigherthandegreeiterativelyandhaving , ! removedprecoloredverticesf-valuesof1andadjusted , ! theneighborhoodsaccordinglyalsoiteratively. 462 defreduceG_copy,f_copy: 463 G=GraphG_copy 464 f=f_copy[:] 465 redundance=[xforxinG.verticesiff[x]>G.degreex] 466 whileredundance: 467 forvinredundance: 468 G.delete_vertexv 469 G.relabel 470 forvinreversedredundance: 471 delf[v] 472 redundance=[xforxinG.verticesiff[x]>G.degreex] 473 ones=[xforxinG.verticesiff[x]==1] 474 whileones: 475 v=ones[0] 476 foruinG.neighborsv: 477 f[u]-=1 478 delf[v] 479 G.delete_vertexv 480 G.relabel 481 ones=[xforxinG.verticesiff[x]==1] 482 same=lenf_copy==lenf #sameindicateswhetherthereturnedconfiguration , ! isthesameastheinputconfiguration 483 low=len[xforxinfifx<1]>0 #lowindicateswhetherthereare , ! nonpositivef-valuesintheoutputconfiguration 484 returnG,f,same,low 485 486 487 488 489 490 491 492 493 494 deftimestringtime,setting="m": 495 t=inttime 496 d=strint10*time-t%10 497 ifsetting=="s": 498 string=strt+"."+d+"s" 499 else: 500 s=strt%60 501 m=intt/60 502 ifsetting=="m": 503 string=strm+"m"+s+"."+d+"s" 504 else: 96

PAGE 107

505 h=intm/60 506 m%=60 507 ifsetting=="h": 508 string=strh+"h"+strm+"m"+s+"."+d+"s" 509 else: 510 d=inth/24 511 h%=24 512 string=strd+"d"+strh+"h"+strm+"m"+s+"."+d+"s" 513 returnstring 514 515 516 517 518 519 520 521 defsubsetstringA,n: 522 string=""*8+"[" 523 foriinrangen: 524 string+=""*3 525 ifiinA: 526 string+=stri 527 else: 528 string+=""*lenstri 529 string+="]" 530 returnstring 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 deffChoosableG_copy,f_copy,inprocess=3,print_mod=1000,LAscheme="E",rev=False, , ! verbosity=0,search_all=0: 548 549 ifnotLAschemein["L","E"]: 550 print'Error:LAschememustbeoneof"L"or"E".' 551 return 552 553 ifverbosity>0: 554 start=time.clock 555 num_pruned=0 556 557 iflenf_copy!=G_copy.order: 558 print"Error:f-vectorlengthdoesnotmatchgraphorder." 559 return 560 561 if[xforxinf_copyifx<1]: 562 print"Error:f-vectorcontainsnon-positiveentries.Ifcorrectf,graph , ! isnotf-choosable." 563 return 564 97

PAGE 108

565 G,f,same,low=reduceG_copy,f_copy 566 567 ifnotsame: 568 ifverbosity>0:print"Theinputconfigurationwasreducedforhaving , ! f-valueseitherhigherthanthedegreeorequalto1." 569 ifnotf: 570 ifverbosity>0:print"Infact,itreducedentirely;thegraphis , ! f-choosableviaagreedyargument." 571 returnTrue,'greedy' 572 ifverbosity>0:print"f:",f 573 iflow: 574 ifverbosity>0:print"Reducedf-vectorcontainsnon-positiveentries. , ! Graphisnotf-choosable." 575 returnFalse,'precoloring' 576 577 ifverbosity>0:print"Testing:Isthegraph%dvertices,%dedges , ! "%G.order,G.size+strf+"-choosable?nnFirst,we , ! considerwhethertheCombinatorialNullstellensatzapplies." 578 ifverbosity>0:boo=CNSG,f,verbosity=10 579 else:boo=CNSG,f,verbosity=0 580 ifverbosity>0:print"Timesofar:"+timestringtime.clock-start+"" 581 ifboo: 582 returnTrue,'CNS' 583 584 ifverbosity>0:start2=time.clock 585 586 ifverbosity>0:print"nNowwemoveontoourexhaustivesearch.nTostart , ! upourprocess,wefindandremoveconnectedsubgraphs , ! whichcannotbepartofabadlistassignment,andthen , ! checkthemultiplicitiesofthosethatremain." 587 588 it=restrictedListAssignmentsG,f,inprocess_depth=inprocess, , ! LAscheme=LAscheme,rev=rev,verbosity=verbosity 589 590 bad_list_assignments=[] 591 592 ifverbosity>0: 593 nodes_count=0 594 full_count=0 595 bottom_count=0 596 node_code=[0,] 597 bad_LA_count=0 598 599 try: 600 x=it.next #ThefirstcalltoaPythoniteratormustbe.next. 601 #^^Recall:xisatuplecolClasses,E_stack,generator_stack,back,num_pruned. 602 603 ifverbosity>0: 604 print">>Start-upcomplete.Totaltimesofar: , ! "+timestringtime.clock-start 605 606 607 print"nNow,beginbuildingandcheckinglistassignmentswiththe , ! in-processpruningparametersetto%d.nInformationwill , ! printevery%dnodeswevisitinthesearch , ! space."%inprocess,print_mod 608 print"a|bmeansthatcolorabilityclassisthea-thofb , ! subgraphsonthatlevelofthestack." 609 start3=time.clock 610 lap=start3 611 612 nodes_count+=1 98

PAGE 109

613 node_code[0]+=1 614 615 #Atthetopofthisloop,wehaveobtainedanxfromthelistAssignment , ! iterator. 616 whileTrue: 617 618 ifnotx[1][-1]andverbosity>0: 619 full_count+=1 620 621 c=assignmentCheckG,x[0] 622 623 #Ifthelistassignmentisnotcolorableandfull,thenreportitandstop. 624 ifnotcandnotx[1][-1]: 625 ifverbosity>0: 626 bad_LA_count+=1 627 print""*10+"*"*10+"BADLISTASSIGNMENT# , ! %d:"%bad_LA_count+"*"*10 628 foriinrangelenx[0]: 629 print" , ! "*10+subsetstringx[0][i],G.order,"",node_code[i],"" # , ! |",x[3][i],"" 630 print 631 ifsearch_all>0: 632 #Thenswitchctobenonemptysothattheiteratorbacktracks. 633 c=[0,] 634 ifsearch_all>1: 635 bad_list_assignments.appendcopy.copyx[0] 636 else: 637 bad_list_assignments.appendcopy.copyx[0] 638 break 639 640 641 ifverbosity>0andx[3]: 642 bottom_count+=1 643 644 #TellthelistAssignmentiteratortogotothenextrelevantlist , ! assignmenteithermovingforwardorbacktracking. 645 x=it.sendc 646 647 ifverbosity>0: 648 iflenx[0]>lennode_code: 649 node_code.append1 650 else: 651 node_code[lenx[0]-1]+=1 652 foriinrangelenx[0],lennode_code: 653 delnode_code[-1] 654 655 num_pruned+=x[4] 656 657 nodes_count+=1 658 ifnodes_count%print_mod==0: 659 print"----->",nodes_count,"partiallistassignmentsinspected , ! sofar.#fullLAs:",full_count,".#bottom , ! LAs:",bottom_count,".#badLAs:",bad_LA_count,".# , ! inprocessprunes:",num_pruned,"." 660 print"^^^^^>Timetakenonthisbatchof , ! PLAs:",timestringtime.clock-lap,"Timetakenonthe , ! wholesubgraphjobsofar:",timestringtime.clock-start 661 print"^^^^^>Currentpartiallistassignment:" 662 printsubsetstringx[0][0],G.order,"",node_code[0],"|", , ! lenx[2][0].subgraphs_list,"" 663 foriinrange1,lenx[0]: 99

PAGE 110

664 printsubsetstringx[0][i],G.order,"",node_code[i], , ! "|",lenx[2][i].subgraphs_list,"" 665 print"n"*3 666 lap=time.clock 667 668 exceptStopIteration: 669 ifverbosity>0:print"nNobadlistassignments!n" 670 671 ifverbosity>0: 672 ifnodes_count<1: #IfCNSinconclusivebutavertexisnotcontainedby , ! anyremainingsubgraphs,thenthenormalstart3getsskipped. 673 start3=time.clock 674 end=time.clock 675 print"Finished.%dPLAsvisitedwhichweren'tprunedviaCNS , ! methods."%nodes_count 676 print"#fullLAs:%d.#bottomLAs:%d.#badLAs:%d.#inprocess , ! prunes:%d"%full_count,bottom_count,bad_LA_count,num_pruned 677 print"TimetakenoninitialCNS:"+timestringstart2-start 678 print"Timetakenonsubgraphpruning:"+timestringstart3-start2 679 print"Timetakenonexhaustivesearch:"+timestringend-start3 680 print"Totaltimetakenonentirejob:"+timestringend-start 681 ifnotbad_list_assignments: 682 returnTrue,'brute' 683 elifsearch_all>1: #storedallbadlistassignments 684 returnFalse,'brute',bad_list_assignments 685 elifsearch_all<1: #foundonebadlistassignmentandthenstopped 686 returnFalse,'brute',bad_list_assignments[0] 687 else: #printedallbadlistassignments 688 returnFalse,'brute' 689 690 691 692 693 694 #inprocess_depthcontrolshowmanypartiallistassignmentsarecheckedforthe , ! reducibilitywhenextendingduringthenormalroutine. 695 defrestrictedListAssignmentsG,f,inprocess_depth=3,LAscheme="E",rev=False,verbosity=0: 696 697 ordering=rangeG.order 698 reducers=[] 699 700 #Initializethethings! 701 generator_stack=[] 702 colClasses=[] #colClasses[i]is{verticeswithcoloriintheirlist}.We , ! yieldthis. 703 L=[0]*G.order #Keepstrackofhowmanycolorseachvertexiscurrently , ! assigned. 704 D=None 705 E_stack=[] 706 E_stack.append[xforxinorderingifL[x]1: 717 lap=time.clock 100

PAGE 111

718 print">>Nowvettingallconnectedsubgraphs." 719 720 initial_restriction_list=[] 721 722 reducibleList=[] 723 724 ifverbosity>1: 725 tenpercent=int2**G.order/100+1 726 counter=0 727 lap=time.clock 728 begin=lap 729 730 it=rev_powersetG.order 731 A=setit.next 732 whileA: #setupthiswaytoavoidtheemptyset. 733 734 ifnotG.subgraphA.is_connected: 735 A=setit.next 736 continue 737 738 ifverbosity>1: 739 ifcounter%tenpercent==tenpercent-1: 740 print"%dvetted.Timeonbatch: , ! "%counter+timestringtime.clock-lap 741 lap=time.clock 742 counter+=1 743 744 red=False 745 746 #ifAisreducibleforCA,continue/breaktomoveontonextsubset 747 748 #firstseeifAisreduciblebypreviousobservations 749 forxinreducibleList: 750 ifx[0]<=AandA<=x[1]: 751 red=True 752 break 753 ifred: 754 A=setit.next 755 continue 756 757 #nowseeifAcanbeshownreduciblebyCNS 758 red=restriction_list_single_checkG,ordering,f,CA,A #rediseither , ! FalseoratupleI,AwhereIistheindependentsetthat , ! workedwiththeCNStoshowthatAis"reducible"withCA 759 760 ifnotred: 761 initial_restriction_list.appendA 762 else: 763 reducibleList.appendred 764 765 A=setit.next 766 767 ifverbosity>1: 768 print"Timevettingall:"+timestringtime.clock-begin 769 print">>",leninitial_restriction_list,"remainingsubgraphscan , ! potentiallybeusedtobuildlistassignments." 770 771 ifleninitial_restriction_list==0: 772 print">>Sowecan'tbuildanybadlistassignments!" 773 return 774 775 tenpercent=intleninitial_restriction_list/100+1 101

PAGE 112

776 lap=time.clock 777 counter=1 778 begin=lap 779 780 num_pruned=0 #needtodefinenum_prunedregardlessofverbositysinceitis , ! passedinticket. 781 782 max_mult_init={} 783 forAininitial_restriction_list: 784 785 CA=[A,] 786 787 cap=min[f[x]forxinA] 788 whilelenCA1: 797 ifcounter%tenpercent==0: 798 print"",counter,"multiplicitieschecked.Timeonbatch: , ! "+timestringtime.clock-lap 799 lap=time.clock 800 counter+=1 801 802 803 ifverbosity>1: 804 print"Timeforallmultiplicitychecks: , ! "+timestringtime.clock-begin 805 print">>Multiplicitiesbreakdown:" 806 foriinrange1,maxmax_mult_init.values+1: 807 print"Numberofsubgraphswithmultiplicity%d:%d"%i,len[x , ! forxinmax_mult_init.valuesifx==i] 808 print">>Vertexcontainmentbreakdownfortheseleftoversubgraphs:" 809 forvinrangeG.order: 810 print"Numbercontainingvertex%d:"%v,len[xforxin , ! initial_restriction_listifvinx] 811 812 subgraph_pool={frozensetxforxininitial_restriction_list} 813 perminv=[] 814 ma=summax_mult_init.values+1 815 whilelenperminv1:print"Relabelingeverythingusingperminv:",perminv 826 #Wantperminv[i]toberelabeledas,andwantjtoberelabeledasperm[j]. 827 perm=[perminv.indexxforxinrangelenperminv] 828 G.relabelperm 829 f=[f[x]forxinperminv] 830 relabeled_subgraph_pool={frozenset[perm[i]foriinx]forxin , ! initial_restriction_list} 102

PAGE 113

831 832 max_mult={} 833 current_mult={} 834 forAinrelabeled_subgraph_pool: #Aisnew,butmax_mult_initisforold , ! labelings--gobackusingperminv. 835 max_mult[set2tupA]=max_mult_init[set2tup{perminv[a]forainA}] 836 current_mult[set2tupA]=0 837 838 subgraphs_list=[] 839 mult=1 840 whilerelabeled_subgraph_pool: 841 subpool={xforxinrelabeled_subgraph_poolifmax_mult[set2tupx]==mult} 842 relabeled_subgraph_pool-=subpool 843 size=G.order 844 whilesubpool: 845 batch=[xforxinsubpooliflenx==size] 846 subpool-=setbatch 847 forxinbatch[::-1]: 848 subgraphs_list.appendsetx 849 size-=1 850 mult+=1 851 ifrev: 852 subgraphs_list=subgraphs_list[::-1] 853 854 855 it=SubgraphsDealersubgraphs_list,LAscheme=LAscheme 856 857 generator_stack.appendit #Stackofsubgraph , ! iterators;cthelementgeneratesthec-colorabilityclass. 858 859 it.choose_required_vertexL,E_stack[0] #it.required_vertex=ordering[0] 860 ifit.next_with_required_vertex: 861 A=generator_stack[col].subgraph #generator_stack[col]==it 862 863 colClasses.appendA 864 current_mult[set2tupA]+=1 865 forvincolClasses[col]: 866 L[v]+=1 867 E_stack.append[xforxinorderingifL[x]
PAGE 114

, ! nowtheclasswearegeneratingisforthecolorcol. 887 888 #Becausewe'vejustmadeacopyofthetopgenerator,weneedtocheck , ! thecurrentcolorabilityclassforrepetition: 889 A=generator_stack[col].subgraph 890 ifcurrent_mult[set2tupA]
PAGE 115

934 else: 935 back=True 936 #Deletethetopcolorabilityclassbutnotthegeneratorfortheclass , ! quiteyet. 937 #printcol,colClasses[col],set2tupcolClasses[col],colClasses 938 forvincolClasses[col]: 939 L[v]-=1 940 current_mult[set2tupcolClasses[col]]-=1 941 delcolClasses[col] 942 delE_stack[-1] 943 944 #Iftheprovidedcoloringorlackofaprovidedcoloringisnoton , ! allthevertices,thenwecan'tskipaheadinanycleverway. 945 iflenticket
PAGE 116

984 forvincolClasses[col]: 985 L[v]-=1 986 current_mult[set2tupcolClasses[col]]-=1 987 delcolClasses[col] 988 delE_stack[-1] 989 990 #Nowstepbackasmanytimesasnecessary. 991 generator_stack[col].choose_required_vertexL,E_stack[-1] 992 whilenotgenerator_stack[col].next_with_required_vertex: 993 994 delgenerator_stack[col] 995 col-=1 996 ifcol<0: #Ifgenerator_stackisempty,thenwehavebacktracked , ! entirely.AStopIterationerrorwillbethrown. 997 return 998 #Prepareforbumpingthenow-topgeneratoronthestack. 999 forvincolClasses[col]: 1000 L[v]-=1 1001 current_mult[set2tupcolClasses[col]]-=1 1002 delcolClasses[col] 1003 delE_stack[-1] 1004 generator_stack[col].choose_required_vertexL,E_stack[-1] 1005 1006 #Nowwehavesuccessfullybumpedthegeneratortoanothersubgraph.Push , ! thesubgraphontothecolClassstack. 1007 A=generator_stack[col].subgraph 1008 colClasses.appendA 1009 current_mult[set2tupA]+=1 1010 forvincolClasses[col]: 1011 L[v]+=1 1012 E_stack.append[xforxinorderingifL[x]
PAGE 117

1042 #Initialize! 1043 i=0 #Whichvertexwe'recoloringatthemoment. 1044 c=[-1]*n #Ourcoloringfunction.c[i]isthecurrentcolorofvertexi , ! value-1meansnocolorassigned. 1045 stack=[] #Ourstack.Itemiisthesetofvtxswedeletedcolorc[i] , ! fromthatis,theforward-nbrswhichhadc[i]intheirlists. 1046 1047 #Atthetopofthiswhileloop,wehaveapartialcoloringc.Wehaveeither , ! justcoloredvertexi-1inwhichcasechascolored , ! vertices0throughi-1andallofi'sremainingcolorsare , ! availabletotry,orwehavebacktrackedfromapartial , ! coloringthatdidn'tworkinwhichcasewehadcoloredi , ! withsomethingbefore,andnowweneedtotryanotherof , ! theremainingcolors. 1048 whileic[i]} #Thecomparisonx>c[i]is , ! whyweuse-1forverticeswithnoassignedcolor. 1052 1053 backtrack=False 1054 1055 #Checkifanyoftheotheruncoloredverticeshavenoremainingcolors. 1056 forvinrangei+1,n: 1057 ifnotLA[v]: 1058 backtrack=True 1059 1060 #Case1:Wecanassignanewcolortovertexiandwehaven'tdiscovered , ! thatfartherverticesareempty.Sowedothat. 1061 ifremainingColorsandnotbacktrack: 1062 c[i]=minremainingColors 1063 N={xforxinG.neighborsiifx>iandxinCA[c[i]]} #Noneedto , ! botherwithback-neighbors,sincetheyhaveacolorassigned. 1064 forvinN: 1065 LA[v].removec[i] #Removethenewcolorfromallforward-nbrs , ! ofi. 1066 CA[c[i]].removev 1067 stack.appendN 1068 i+=1 1069 1070 #Case2:Therearenocolorsleftforsomeuncoloredvertex,sowepopthe , ! stackandbacktrack. 1071 else: 1072 try: 1073 oldN=stack.pop 1074 forvinoldN: 1075 LA[v].addc[i-1] #Addtheattemptedcolorbacktothe , ! appropriatevertexlists. 1076 CA[c[i-1]].addv 1077 c[i]=-1 #Markiasuncolored. 1078 i-=1 1079 exceptIndexError: #Ifthestackwasempty,we'veexhaustedall , ! possibilities.Returnanemptycoloring. 1080 return[] 1081 1082 returnc #Atthispoint,i==n. 107

PAGE 118

APPENDIXB SourceCodeforLemma4.17 1 #-----------------------------------------------------2 #Contents 3 #-----------------------------------------------------4 5 #length_equals_8 6 #length_equals_9 7 #maincommand 8 9 10 11 #-----------------------------------------------------12 #Libraries,Comments,etc. 13 #-----------------------------------------------------14 15 #ThesescriptswerewrittenwiththeintentofusingPython2.7beforetheswitch , ! toPython3.Thereshouldnotbemanydifferencesto , ! implementourcodeinPython3oncethischangeismade. 16 17 fromchecking_realizationsimport* 18 #Weusechecking_realizations.pyasamodulewhichcontainsthecommoncodefor , ! LemmasIV.17,IV.25,andIV.34. 19 20 importchoosabilityasch 21 #WeusefChoosableasablackbox. 22 23 24 25 #-----------------------------------------------------26 #TheRoutines 27 #-----------------------------------------------------28 29 30 31 deflength_equals_8: 32 #ThecaseellF=8. 33 34 #Thegraphisathreecycleon0,1,2connectedtoanother3-cycleon3,4,5 , ! byanedge2,3. 35 edges=[0,1,0,2,1,2,2,3,3,4,3,5,4,5] 36 37 #Recallthatinthislemma,newedgesandstemsmustoccurwithinthetwo , ! regionsseparatedbyF. 38 #Thereareonlythreestemstructures,uptosymmetry. 39 #Eachneighborhoodstructureisalistofthreelists:pairsofverticesthat , ! formanewedge,pairsofverticesthathaveacommonstem , ! withonlyeachother,andtriplesofverticesthathavea , ! commonstem. 40 stem_structures=[ 41 [[],[],[]], 42 [[],[{0,1}],[]], 43 [[],[{0,1},{4,5}],[]] 44 ] 45 46 print"***CheckingthecaseforlengthF=8.***" 47 print"Theplanegraphinquestionisgivenbytheedges"+stredges+".n" 48 forSSinstem_structures: 49 core_square,f=core_square_graphGraphedges,SS 50 print">>>Checkingtheneighborhoodstructure"+strSS+"." 108

PAGE 119

51 print">>>Theinducedsubgraphofthesquareonthecoreverticeshas , ! thefollowingedgeset:" 52 print""+str[e[:2]foreincore_square.edges] 53 print">>>Thelistsizefunctionisgivenbythefollowinglist:" 54 print""+strf 55 x=ch.fChoosablecore_square,f 56 ifx[0]: 57 print">>>Verified"+x[1]+"--theinducedsubgraphofthe , ! squareischoosableforthegivenlistsizefunction." 58 else: 59 print">>>!PROBLEM!--theinducedsubgraphofthesquareisNOT , ! choosableforthegivenlistsizefunction." 60 print 61 print"n"*4 62 63 64 65 66 67 deflength_equals_9: 68 #ThecaseellF=9. 69 70 #Thegraphisathreecycleon0,1,2connectedtoa4-cycleon3,4,5,6by , ! anedge2,3. 71 edges=[0,1,0,2,1,2,2,3,3,4,4,5,5,6,3,6] 72 73 #Recallthatinthislemma,newedgesandstemsmustoccurwithinthetwo , ! regionsseparatedbyF. 74 #Thereareonlytenneighborhoodstructures,uptosymmetrytwowithinthe , ! 3-cycle,timesfivewithinthe4-cycle. 75 #Eachneighborhoodstructureisalistofthreelists:pairsofverticesthat , ! formanewedge,pairsofverticesthathaveacommonstem , ! withonlyeachother,andtriplesofverticesthathavea , ! commonstem. 76 stem_structures=[ 77 [[],[],[]], 78 [[],[{0,1}],[]], 79 [[{4,6}],[],[]], 80 [[{4,6}],[{0,1}],[]], 81 [[],[{4,6}],[]], 82 [[],[{4,6},{0,1}],[]], 83 [[],[{4,5}],[]], 84 [[],[{4,5},{0,1}],[]], 85 [[],[],[{4,5,6}]], 86 [[],[{0,1}],[{4,5,6}]] 87 ] 88 89 print"***CheckingthecaseforlengthF=9.***" 90 print"Theplanegraphinquestionisgivenbytheedges"+stredges+".n" 91 forSSinstem_structures: 92 core_square,f=core_square_graphGraphedges,SS 93 print">>>Checkingtheneighborhoodstructure"+strSS+"." 94 print">>>Theinducedsubgraphofthesquareonthecoreverticeshas , ! thefollowingedgeset:" 95 print""+str[e[:2]foreincore_square.edges] 96 print">>>Thelistsizefunctionisgivenbythefollowinglist:" 97 print""+strf 98 x=ch.fChoosablecore_square,f 99 ifx[0]: 100 print">>>Verified"+x[1]+"--theinducedsubgraphofthe , ! squareischoosableforthegivenlistsizefunction." 101 else: 109

PAGE 120

102 print">>>!PROBLEM!--theinducedsubgraphofthesquareisNOT , ! choosableforthegivenlistsizefunction." 103 print 104 print"n"*4 105 106 107 108 109 110 111 112 113 if__name__=="__main__": 114 length_equals_8 115 length_equals_9 110

PAGE 121

APPENDIXC SourceCodeforLemma4.25 1 #-----------------------------------------------------2 #Contents 3 #-----------------------------------------------------4 5 #run_lemma_IV_25 6 #maincommand 7 8 9 10 #-----------------------------------------------------11 #Libraries,Comments,GlobalVariables 12 #-----------------------------------------------------13 14 #ThesescriptswerewrittenwiththeintentofusingPython2.7beforetheswitch , ! toPython3.Thereshouldnotbemanydifferencesto , ! implementourcodeinPython3oncethischangeismade. 15 16 importchecking_realizationsaswg 17 #Weusechecking_realizations.pyasamodulewhichcontainsthecommoncodefor , ! LemmasIV.17,IV.25,andIV.34. 18 19 importtime 20 #Fordisplayingruntime. 21 22 deftimestringtime: 23 #Displaystimelength:#m#.#s 24 25 t=inttime 26 d=strint10*time-t%10 27 s=strt%60 28 m=intt/60 29 string=strm+"m"+s+"."+d+"s" 30 returnstring 31 32 33 34 #-----------------------------------------------------35 #TheRoutines 36 #-----------------------------------------------------37 38 39 40 defrun_lemma_IV_25: 41 #Verifiesthateachconfigurationinthetargetsetisreduciblebychecking , ! thatallrealizationsarecore-choosable. 42 43 begin=time.clock 44 wg.ch_timer=0.0 45 46 forrcinwg.TargetSet: 47 wg.check_all_realizations_of_configurationrc 48 print"n"*20 49 50 print"Finishedwithallconfigurationsinthetargetset!" 51 print"Totaltimeforentiretargetset:"+timestringtime.clock-begin 52 print"CumulativeTimeinfChoosableforentiretargetset: , ! "+timestringwg.ch_timer 53 111

PAGE 122

54 55 56 57 58 59 60 61 62 63 64 65 print__name__ 66 67 if__name__=="__main__": 68 run_lemma_IV_25 112

PAGE 123

APPENDIXD SourceCodeforLemma4.33 1 #-----------------------------------------------------2 #Contents 3 #-----------------------------------------------------4 5 #makeChainsDict 6 #check_reducible_last_block 7 #facial_length_list_generator 8 #final_charge_lower_bound 9 #run_lemma_IV_33 10 #maincommand 11 12 13 14 #-----------------------------------------------------15 #Libraries,Comments,etc. 16 #-----------------------------------------------------17 18 fromfractionsimportFraction 19 #Infinal_charge_lower_bound,wesubtractnonintegerrationals. 20 21 importtime 22 #Fordisplayingruntime. 23 24 #Insteadofimportingchecking_realizations.py,weredefinetimestringhere. 25 deftimestringtime: 26 #Displaystimelength:#m#.#s 27 28 t=inttime 29 d=strint10*time-t%10 30 s=strt%60 31 m=intt/60 32 string=strm+"m"+s+"."+d+"s" 33 returnstring 34 35 36 37 #Forconfigurationnames,weusenotationslightlydifferentfromthenotationused , ! inthepaper.Theconfigurationb:s_1...s_tisencodedas , ! "cbas_1...s_t"whereany"*"isreplacedwith"x".The , ! "c"precedesthecentralfaceandthe"a"precedesthe , ! faciallengthlistaroundthecentralface.For , ! example,"9:3**4"isencodedas"c9a3xx4"and"4*555*4"is , ! encodedas"cxa4x555x4". 38 39 40 41 #-----------------------------------------------------42 #TheRoutines 43 #-----------------------------------------------------44 45 46 47 48 defmakeChainsDict: 49 #ThismakesadictionarycalledChainsDictusedforstoringthereducible , ! configurationsasinformationwhichwillbeusefulforour , ! discharging.Foreachcentralfacelengthbetween7and , ! 14,wewanttostoreallthelistsofentrieswhichcannot 113

PAGE 124

, ! beasublistofafaciallengthlistaroundacentralface , ! ofthatgivenlengthinaminimalcounterexample.We , ! calltheselists"reduciblechains"aroundthegiven , ! centralfacelengths. 50 #Forexample,sincecxa355isareducibleconfiguration,weknowthat , ! ['3','5','5']and['5','5','3']arereduciblechainsaround , ! anycentralface.Thismeansthatneitherofthesetwo , ! listscanbeequaltothreeconsecutiveentriesinafacial , ! lengthlistaroundanycentralfaceincluding , ! wrap-around.Soforeachkbetween7and14, , ! ChainsDict[k]shouldcontain['3','5','5']and['5','5','3']. 51 #Foranotherexample,sincecxa375isareducibleconfiguration,weknowthat , ! ['3','x','5']and['5','x','3']arereduciblechainsaround , ! acentral7-face.However,theyarenotreduciblechains , ! aroundacentral8-face.Thismeansthatcertainfacial , ! lengthlistsaroundacentral7-facecannotoccurina , ! minimalcounterexample,suchas[3,4,5,5,5,5,5], , ! [5,5,5,+,+,3,+],or[5,+,3,+,+,+,+].SoChainsDict[7] , ! shouldcontain['3','x','5']and['5','x','3']. 52 #Sincewearegoingtousereduciblechainstocompareagainstfaciallength , ! listswithentriesgivenas3,4,5,or6+,wearereally , ! onlyinterestedinchainswithentriesfrom , ! {'3','4','5','x'}.Sotheconfigurationcxa3x555isof , ! interest,buttheconfigurationcxa356isnot. 53 #Sincewearegoingtousereduciblechainstomakeobservationsaboutcentral , ! facesoflength7-14,wearealsoonlyinterestedinchains , ! thatcanpossiblyoccuraroundsuchcentralfaces.Sothe , ! configurationscxa375andcxa3x4areofinterest,butthe , ! configurationc4a55isnot. 54 55 #First,wedefinealistoftherelevantconfigurationsfromthetargetset. , ! Wecommentoutsomeoftheseconfigurationssincethey , ! contributenothingtoChainsDict.Althoughtheycould , ! havebeendeletedorleftuncommented,perhapsthiswill , ! helpforunderstandingwhichconfigurationsarerelevantto , ! thisstage.Nexttoeachconfigurationwecommentout,we , ! alsostateabriefreasonforitsexclusion. 56 #Inadditiontotheabove-statedreasonsforexcludingconfigurations,thereis , ! another:someconfigurationshavealreadybeenusedin , ! LemmaIV.31topreventthegenerationofanyfaciallength , ! listscontainingthem,andtheyservenofurtherpurposehere. 57 58 RelevantTargetSet=[ 59 #openchain:startwith3andendwith3 60 #'c3a3',#LemmaIV.31only 61 'cxa3x3', 62 'cxa3xx3', 63 'cxa3xxx3', 64 'cxa3xx5x3', 65 66 #openchain:startwith3andendwith4 67 #'c3a4',#LemmaIV.31only 68 'cxa3x4', 69 'cxa35x4', 70 'cxa3x54', 71 'cxa3xx54', 72 'cxa3xxx54', 73 74 #openchain:startwith3andendwith5 75 #'cxa355',#LemmaIV.31only 76 'cxa375', 77 'cxa3x555', 114

PAGE 125

78 79 #openchain:startwith3andendwith6 80 #'c3a6',#Containsaspecified6+-facewhichwouldnotbeacentralfaceof , ! length7-14 81 #'cxa356',#Containsaspecified6+-facewhichwouldnotbeacentralface , ! oflength7-14 82 83 #openchain:startwith4andendwith4 84 #'c4a4',#LemmaIV.31only 85 #'cxa454',#LemmaIV.31only 86 #'cxa464',#Containsaspecified6+-facewhichwouldnotbeacentralface , ! oflength7-14 87 'cxa474', 88 'cxa4x54', 89 'cxa4x55x4', 90 'cxa4x555x4', 91 'cxa4x4x4x4', 92 93 #openchain:startwith4andendwith5 94 'cxa4x45', 95 #'cxa4555',#LemmaIV.31only 96 'cxa4x5555', 97 98 #openchain:startwith4andendwith6 99 #'cxa456',#Containsaspecified6+-facewhichwouldnotbeacentralface , ! oflength7-14 100 101 #openchain:startwith5andendwith5 102 #'cxa535',#LemmaIV.31only 103 #'cxa555555',#LemmaIV.31only 104 105 #openchain:startwith5andendwith6 106 #'cxa546',#Containsaspecified6+-facewhichwouldnotbeacentralface , ! oflength7-14 107 108 #central3-face 109 'c3a57', 110 111 #central4-face 112 #'c4a55',#Nowaytohaveacentralfaceoflength7-14 113 #'c4a56',#Nowaytohaveacentralfaceoflength7-14 114 'c4a57', 115 #'c4a66',#Nowaytohaveacentralfaceoflength7-14 116 'c4a585', 117 'c4a676', 118 'c4a686', 119 120 #central5-face 121 #'c5a555',#Nowaytohaveacentralfaceoflength7-14 122 #'c5a556',#Nowaytohaveacentralfaceoflength7-14 123 #'c5a565',#Nowaytohaveacentralfaceoflength7-14 124 #'c5a566',#Nowaytohaveacentralfaceoflength7-14 125 'c5a575', 126 #'c5a656',#Nowaytohaveacentralfaceoflength7-14 127 #'c5a666',#Nowaytohaveacentralfaceoflength7-14 128 #'c5a4x55',#Nowaytohaveacentralfaceoflength7-14 129 #'c5a5x65',#Nowaytohaveacentralfaceoflength7-14 130 #'c5a5585',#Nowaytohaveacentralfaceoflength7-14 131 #'c5a5x66',#Nowaytohaveacentralfaceoflength7-14 132 #'c5a55x6',#Nowaytohaveacentralfaceoflength7-14 133 #'c5a56x6',#Nowaytohaveacentralfaceoflength7-14 134 #'c5a6x66',#Nowaytohaveacentralfaceoflength7-14 115

PAGE 126

135 136 #central7-face 137 'c7a3xx4', 138 'c7a3xx5', 139 'c7a4xx4', 140 'c7a4x55', 141 'c7a4xx55', 142 'c7a4x5xx5', 143 'c7a55x5', 144 145 #central8-face 146 'c8a3xx4', 147 'c8a3xxx4', 148 'c8a35x5', 149 'c8a35xx5', 150 'c8a35xxx5', 151 'c8a35xxxx5', 152 'c8a3x55x55', 153 'c8a45xx4', 154 'c8a455x5', 155 'c8a4x5x4x4', 156 157 #central9-face 158 'c9a3xx4', 159 'c9a3xxx4', 160 'c9a35x5', 161 'c9a455x4', 162 'c9a455x5', 163 'c9a545x5', 164 'c9a35x5' 165 ] 166 167 168 169 #NowwebeginmakingChainsDict! 170 171 ChainsDict={} #InitializeChainsDict. 172 forcentinrange7,15: 173 ChainsDict[cent]=[] 174 175 #NotethatthekeysforChainsDictareinttype.However,everythingwestore , ! willbestrings. 176 177 #Foreachreducibleconfigurationgiveninthetargetset,weidentifyallthe , ! waysthatafaceoflength7-14canbethecentralfacefor , ! theconfiguration.Foreachoftheseways,westorethe , ! resultingchainoffacesaroundthecentralfacesandthe , ! reverseofthechain,ifitisdistinct. 178 forsinRelevantTargetSet: 179 ifs[1]=='x': 180 181 #Generalcase:cxas_1s_2...s_t.Stores_1s_2...s_tandthe , ! reverseineachcentralfacelength'slist. 182 li=[] #liwillbe[s_1,s_2,...,s_t]whereeachs_iisastring. 183 forains[3:]: 184 li.appenda 185 forcentinrange7,15: 186 ChainsDict[cent].appendli[:] #Stores_1s_2...s_t. 187 rev_li=li[::-1] #rev_liisthereverseofli. 188 ifrev_li!=li: #Ifthereverseisthesame,thenwedon'twantto , ! storeitagain. 189 forcentinrange7,15: 116

PAGE 127

190 ChainsDict[cent].appendrev_li[:] #Stores_t...s_2s_1 , ! reversed. 191 192 #Additionalspecialcases:iftissmallenoughatmost3,someof , ! theouterfacescouldpossiblybeviewedasthecentral , ! face.SeeTableIV.3 193 #Inthecasesoft=1,2,byinspectionwehavenoconfigurationsin , ! thetargetsetwithanintegerentryatleast7. 194 #Inthecaseoft=3forcxaABC,theconfigurationisequivalentto , ! cBaAxC.SoifB>6,thenweshouldalsostoreAxCandCxA , ! inChainsDict[B]. 195 iflens==6: #Ift==3. 196 A,B,C=s[3],s[4],s[5] 197 ifB!='x'andintB>6: 198 ChainsDict[intB].append[A,'x',C] #StoreAxCinB'slistof , ! reduciblechains. 199 ifA!=C: #Ifthereverseisdistinct. 200 ChainsDict[intB].append[C,'x',A] #StoreCxAinK's , ! listofreduciblechains. 201 202 else: 203 K=s[1] #'K'iseasierforreference. 204 205 #Generalcase:cKas_1s_2...s_t.Stores_1s_2...s_tandthe , ! reverseinK'slistofreduciblechains. 206 ifintK>6: 207 li=[] #liwillbe[s_1,s_2,...,s_t]whereeachs_iisastring. 208 forains[3:]: 209 li.appenda 210 ChainsDict[intK].appendli[:] #Stores_1s_2...s_t. 211 rev_li=li[::-1] #rev_liisthereverseofli. 212 ifrev_li!=li: #Ifthereverseisthesame,thenwedon'twant , ! tostoreitagain. 213 ChainsDict[intK].appendrev_li[:] 214 215 #Additionalspecialcases:iftissmallenoughatmost3,someof , ! theouterfacescouldpossiblybeviewedasthecentral , ! face.SeeTableIV.3 216 #Inthecaseoft=1,byinspectionwehavenoconfigurationsinthe , ! targetsetwithanintegerentryatleast7. 217 #Inthecaseoft=2forcKaAB,theconfigurationisequivalentto , ! cAaKB.SoifA>6,thenweshouldalsostoreKBandBKin , ! A'slistofreduciblechains.SimilarlystoreKAandAK , ! inB'slistifB>6andB!=A. 218 iflens==5: #Ift==2. 219 A,B=s[3],s[4] #NotethatneitherAnorBare'x'. 220 ifintA>6andA!=K: #IfA==K,thenswitchingwon'tgivea , ! distinctchain. 221 ChainsDict[intA].append[K,B] 222 ifK!=B: #IfK==B,thenreversingthechainwon'tgivea , ! distinctchain. 223 ChainsDict[intA].append[B,K] 224 ifintB>6andB!=KandB!=A: #IfBisthesameasKorA, , ! thenswitchingwon'tgiveadistinctchain. 225 ChainsDict[intB].append[K,A] 226 ifK!=A: #IfK==A,thenreversingthechainwon'tgivea , ! distinctchain. 227 ChainsDict[intB].append[A,K] 228 #Inthecaseoft=3forcKaABC,theconfigurationisequivalentto , ! cBaAKC.SoifB>6andB!=K,thenweshouldalsostore , ! AKCandCKAinChainsDict[B].Thisisalmostidenticalto , ! thecasewhenK='x'andt=3. 117

PAGE 128

229 #Note:Foralltheconfigurationsinthetargetsetwiththisform,B , ! !='x'.Otherwisewewouldneedtoaddtoallcentralface , ! listsinsteadofjustone. 230 iflens==6: #Ift==3. 231 A,B,C=s[3],s[4],s[5] 232 ifintB>6andB!=K: 233 ChainsDict[intB].append[A,K,C] #StoreAKCinB'slistof , ! reduciblechains. 234 ifA!=C: #Ifthereverseisdistinct. 235 ChainsDict[intB].append[C,K,A] #StoreCKAinK'slist , ! ofreduciblechains. 236 237 returnChainsDict 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 defcheck_reducible_last_blockstack,block_length,central_face_length,ChainsDict: 255 #ForeachreduciblechaininChainsDict[central_face_length],wechecktosee , ! ifitfitsanywherewhichoverlapsthemostrecentblockin , ! thefaciallengthlist.Wedothisbyfillingtherestof , ! thegivenstackwith'x'sandthenextendingwithanother , ! copyofthestacktocreatealongerlistwhichcanhandle , ! cyclicwrap-around.Then,foreachreduciblechain,we , ! compareeverysublistofthechain'slengthwhichoverlaps , ! thenewblocktoseeifthesublistisamatch. 256 257 #Wemakealistofthreecopiesofthecurrentfaciallengthlist.Thesecond , ! copyofthefaciallengthlistiswhereourinspectionsare , ! centered.Thefirstandthirdcopiesareforpossible , ! cyclicwrap-aroundtotheleftandtotheright. 258 #Thecurrentfaciallengthlististhestackfollowedbytrailing'x's. 259 wraparound_stack=stack+['x']*central_face_length-lenstack*3 260 261 #aandbaretheindicesofthefirstandlastentriesofthelastblockin , ! thesecondcopyofthestack. 262 a=central_face_length+lenstack-block_length+1 263 b=central_face_length+lenstack-2 264 #Sincethelastblockofstackisfollowedbyan'x',weneedtostepback , ! block_length+1stepsfromcentral_face_length+ , ! lenstacktogettothefirstentryinthelastblock. , ! Likewise,weneedtotake2stepsbacksfrom , ! central_face_length+lenstacktogettothelastentry. , ! Seetheexamplebelow. 265 #stack=53x5555x 266 #block=5555 267 #block_length=4 268 #central_face_length=10 269 #lenstack=8 270 # 118

PAGE 129

271 #53x5555xxx53x5555xxx53x5555xxx<--wraparound_stack 272 #abz<--a=13,b=16,z:= , ! central_face_length+lenstack=18 273 #000000000011111111112222222222<--indexingguide:tensplace 274 #012345678901234567890123456789<--indexingguide:onesplace 275 276 forreducible_chaininChainsDict[central_face_length]: #Inspecteach , ! reduciblechainindividually. 277 chain_length=lenreducible_chain 278 foriinrangea-chain_length+1,b+1: #iwillbethestartingindexfor , ! thesublist. 279 #Comparetothesubliststartingati.Sincethechain_lengthisat , ! most7byinspectionandthecentral_face_lengthisat , ! least7,thesublistwon'toverlapitself. 280 sublist=wraparound_stack[i:i+chain_length] 281 282 #Wesimplycheckthereducible_chainagainstthesublistentryby , ! entry.Sincereverseddirectionsofreduciblechainsare , ! storedseparately,weonlyneedtocheckthereducible , ! chainandthesublistinthesamedirection. 283 match_bool=True 284 foriinrangechain_length: 285 286 #An'x'inareducibleconfigurationmatcheseverything. 287 ifreducible_chain[i]=='x': 288 continue #Theseentriesmatch,socheckthenextentries. 289 290 #Aspecifiednumberinareducibleconfigurationmatchesthesame , ! numberinthesublist. 291 elifreducible_chain[i]==strsublist[i]: 292 continue #Theseentriesmatch,socheckthenextentries. 293 294 #Thereisnootherkindofmatch.Differentspecifiednumbersdo , ! notmatch. 295 #Note:IfwehadaddedchainstoChainsDictwhichincludedentries , ! notin{'3','4','5','x'},therewouldstillhavebeenno , ! otherkindofmatches.Aspecifiednumberinareducible , ! configurationdoesnotmatcha'+'inafaciallengthlist, , ! becausethe'+'representsmultiplenumberssomeofwhich , ! arenotequaltothespecifiednumber.Forexample,a6 , ! inthereducibleconfigurationwouldnotmatchthe'+'ina , ! faciallengthlistbecausethe'+'includesthepossibility , ! ofa10-face. 296 else: 297 break #Wefoundtwoentrieswhichdon'tmatch,sothis , ! reduciblechaindoesnotmatchthesublist. 298 299 else: 300 returnTrue #Ifwefindamatch,thenthenewblockhasresulted , ! inareducibleconfiguration. 301 #Ifwedidnotmatchthesublist,thenshiftthesublistoverandtry , ! again. 302 #Ifthatreduciblechaindoesnotshowupanywhereoverlappingournew , ! block,thencheckthenextreduciblechain. 303 returnFalse #Ifwedon'tfindanymatchforanyreduciblechain,thenthenew , ! blockhasnotresultedinareducibleconfiguration. 304 305 306 307 308 309 119

PAGE 130

310 311 312 313 314 315 316 317 318 319 320 321 deffacial_length_list_generatorcentral_face_length,ChainsDict: 322 #Generatesfaciallengthlistsaroundaspecifiedfacelengthwhichdonot , ! containanyconfigurationsfromthetargetset. 323 #Faciallengthlistshaveentriesfrom{3,4,5,'+'},where'+'representslength6+. 324 #Faciallengthlistsaregeneratedviabacktrack-and-searchbybuildingstacks , ! ofnonreducibleblocksseparatedbyapositivenumberof , ! '+'entries.Thisismoreefficientthandirectly , ! generatingallthewordsfromthealphabet{3,4,5,'+'}ofa , ! givenlength.Wealsocheckateachforwardstepwhether , ! thenewblockformsanyreducibleconfigurationwiththe , ! restofthecurrentstack. 325 #Wedonotattempttoremoverepeatedwordsuptocyclicshiftsorreversals. 326 327 #First,welistthepossiblewordsfrom{3,4,5}whichdonotcontainany , ! reducibleconfigurations.AccordingtoLemmaIV.31,that , ! listconsistsofthefirst17itemslistedbelow.Thiscan , ! beverifiedbycomputerbygenerating{3,4,5}-wordswhile , ! checkingfortheoccurenceofanyconfigurationinthe , ! targetset. 328 #Inadditiontothose17blocks,wealsoincludethesingletonlist['+'].We , ! willusethisfinal"block"asaspacerbetweentheother , ! blocksinourgeneration. 329 #Thecommentsattheendofeachlinegivetheindexforeachblock. 330 blocks=[ 331 [3], #0 332 [3,5], #1 333 [4], #2 334 [4,5], #3 335 [4,5,5], #4 336 [5], #5 337 [5,3], #6 338 [5,4], #7 339 [5,4,5], #8 340 [5,4,5,5], #9 341 [5,5], #10 342 [5,5,4], #11 343 [5,5,4,5], #12 344 [5,5,4,5,5], #13 345 [5,5,5], #14 346 [5,5,5,5], #15 347 [5,5,5,5,5], #16 348 ['+'] #17 349 ] 350 #Theintegernumisdefinedtobetheindexofthespecial['+']block,andwe , ! willusenuminourgenerationbelow. 351 num=17 352 353 #Ourgenerationprocesswillbeabacktrack-and-searchwithtwostacks: , ! block_stackandactual_stack.block_stackwillstore , ! integervaluestheindicesoftheblocksgivenaboveto , ! representwhichblocksareonthestack.actual_stackwill 120

PAGE 131

, ! storevaluesfrom{3,4,5,'+'}andwillbeextendedbythe , ! blocksgivenabove.Atanygiventime,wecouldconvert , ! informationfromonetotheother.However,itiseasiest , ! toupdatebothsimultaneously. 354 block_stack=[0,num] #Initializeblock_stackfortheloop. 355 actual_stack=blocks[0]+blocks[num] #Initializeactual_stackfortheloop. 356 357 #Atthetopoftheloop,wehavejustputanewblockontoourtwostacksif , ! itwasoneofthe17{3,4,5}-words,thenithasalsobeen , ! automaticallyfollowedbythe'+'spacerblock. 358 #Thefirstthingwewilldointheloopischecktoseeifthisadditionhas , ! violatedthelengthrequirementorhasresultedina , ! reducibleconfiguration.Ifithas,wewillbacktrackand , ! trythenextblock.Ifithasn'tthenwewilltrytoadd , ! theleast-indexedavailableblockor,ifthestackis , ! actuallyfull,thenwewillyielditandthenbacktrack. 359 #Theleast-indexedavailableblockwillalwaysbegivenbyblock_stack[0]. , ! Thissomewhatbutnotentirelylimitsourduplicationof , ! faciallengthlistsbyremovingsomecyclicshifts. 360 whileblock_stack[0]
PAGE 132

388 ifblock_stack[-1]
PAGE 133

, ! atleast9;otherwiseitpullsatmost1/3charge. 430 #fivesisthelistofindiceswithentriesequalto5. 431 fives=[zforzinrangecentral_face_lengthiffacial_length_list[z]==5] 432 foriinfives: 433 #nbrsisthelistcontainingtheentryontheimmediatelyleftofiandthe , ! entryontheimmediaterightofi.Again,wemodoutfor , ! thei+1case. 434 nbrs=[facial_length_list[i-1],facial_length_list[i+1%central_face_length]] 435 if3innbrs: #Ifthereisa3nexttothe5 436 charge-=Fraction1,4 437 elifnbrs==[5,5]andcentral_face_length>=9: #Ifthe5isnexttotwo5s , ! andthecentralfaceisbigenough 438 charge-=Fraction1,2 439 else: 440 charge-=Fraction1,3 441 442 returncharge 443 444 445 446 447 448 449 450 451 452 defrun_lemma_IV_33: 453 #Generateallfaciallengthlistsaroundcentralfacesoflength7-14which , ! donotcontainanyconfigurationsfromthetargetset. , ! Checkeachofthesetoseeifthelowerboundonthefinal , ! chargeleftwiththecentralfaceisnonnegative. 454 455 time_zero=time.clock 456 457 #Initializelistanddictionariesofreducibleconfigurations. 458 ChainsDict=makeChainsDict 459 460 unhappy_total=0 461 forkinrange7,15: 462 lap=time.clock 463 print"Nowanalyzingcentralfacelength%d."%k 464 print"Faciallengthlistclasseswhichpulltoomuchcharge:" 465 466 #Generatethewaystheeligibleblocksformfullstacksaroundthiscentral , ! facelength.Withoutanyreducibleconfigurations. 467 gen_count=0 468 unhappy_count=0 469 forFLLinfacial_length_list_generatork,ChainsDict: 470 gen_count+=1 471 472 #Printandcountanyfaciallengthlistclasseswhichpulltoomuchcharge. 473 iffinal_charge_lower_boundk,FLL<0: 474 unhappy_count+=1 475 s="" 476 forainFLL: 477 s+=stra 478 print""+s+"LowerBound , ! =",final_charge_lower_boundk,FLL,"" 479 480 unhappy_total+=unhappy_count 481 482 ifunhappy_count==0: 123

PAGE 134

483 print"therearenone" 484 print"Ofthe%dfaciallengthlistclassesarounda%d-facewithno , ! reduciblenconfigurations,%dhavepossiblynegative , ! charge."%gen_count,k,unhappy_count 485 print"Timetogenerateandcheck:"+timestringtime.clock-lap 486 print 487 488 print"Intotal,thereare%dfaciallengthlistclassesaroundcentralfacesn , ! oflengthbetween7and14whichpulltoomuch , ! charge."%unhappy_total 489 print"Totaltime:"+timestringtime.clock-time_zero 490 491 492 493 494 495 if__name__=="__main__": 496 run_lemma_IV_33 124

PAGE 135

APPENDIXE SourceCodeforLemma4.34 1 #-----------------------------------------------------2 #Contents 3 #-----------------------------------------------------4 5 #check_all_realizations_from_expanded_c7a4x5x5_case 6 #run_lemma_IV_34 7 #maincommand 8 9 10 11 #-----------------------------------------------------12 #Libraries,Comments,GlobalVariables 13 #-----------------------------------------------------14 15 #ThesescriptswerewrittenwiththeintentofusingPython2.7beforetheswitch , ! toPython3.Thereshouldnotbemanydifferencesto , ! implementourcodeinPython3oncethischangeismade. 16 17 importchecking_realizationsaswg 18 #Weusechecking_realizations.pyasamodulewhichcontainsthecommoncodefor , ! LemmasIV.17,IV.25,andIV.34. 19 20 importtime 21 #Fordisplayingruntime. 22 23 deftimestringtime: 24 #Displaystimelength:#m#.#s 25 26 t=inttime 27 d=strint10*time-t%10 28 s=strt%60 29 m=intt/60 30 string=strm+"m"+s+"."+d+"s" 31 returnstring 32 33 #-----------------------------------------------------34 #TheRoutines 35 #-----------------------------------------------------36 37 38 39 40 41 42 43 44 defcheck_all_realizations_from_expanded_c7a4x5x5_casecase: 45 #Thistakesanintbetween1and12correspondingtoaparticularcasefrom , ! LemmaIV.34.Itthenbuildsthecorrespondingplanegraph , ! anddictionaryofforbiddenvertexidentifications,and , ! thenchecksallresultingrealizationsforcore-choosability. 46 47 48 print"Expandingscopearoundc7a4x5x5:" 49 50 #Webeginwiththenaturalcoresubgraphofc7a4x5x5,butwelateraddaface , ! andadjustPlaneGraphaccordingly. 51 PlaneGraph=NaturalCoreSubgraph'c7a4x5x5' 125

PAGE 136

52 53 #Noneoftheverticesintheoriginalcoresubgraphwillbepermittedtobe , ! identifiedwitheachother. 54 forbidden_dict={x:setPlaneGraph.graph.verticesforxin , ! PlaneGraph.graph.vertices} 55 56 57 #NowwemanuallypreprocessouradjustmentstoPlaneGraphaccordingtoeachof , ! thetwelveremainingcases. 58 #new_face_lengthwillbethelengthofthenewface,andbase_borderwillbe , ! theclockwiseorderingofthepartoftheboundaryofthe , ! newfacewhichisalreadyinPlaneGraph. 59 60 #Webeginwiththefaceswhicharenecessarilyadjacenttothecentral7-face: , ! A,C,G,K. 61 ifcase==1: 62 print"CaseA=6.n" 63 new_face_length=6 64 base_border=[7,0,6] 65 PlaneGraph.name+="CaseA6" 66 67 elifcase==2: 68 print"C/D=6.n" 69 new_face_length=6 70 base_border=[9,2,1,8] 71 PlaneGraph.name+="CaseC6" 72 73 elifcase==3: 74 print"G/H=6.n" 75 new_face_length=6 76 base_border=[12,4,3,11] 77 PlaneGraph.name+="CaseG6" 78 79 elifcase==4: 80 print"K=6.n" 81 new_face_length=6 82 base_border=[6,5,14] 83 PlaneGraph.name+="CaseK6" 84 85 #Thenwemoveontotheotherfaceadjacenttothe4-face:B. 86 elifcase==5: 87 print"B=5.n" 88 new_face_length=5 89 base_border=[8,7] 90 PlaneGraph.name+="CaseB5" 91 elifcase==6: 92 print"B=6.n" 93 new_face_length=6 94 base_border=[8,7] 95 PlaneGraph.name+="CaseB6" 96 97 #Thenwemoveontoanotherfaceadjacenttothefirst5-face:E. 98 elifcase==7: 99 print"E=4.n" 100 new_face_length=4 101 base_border=[10,9] 102 PlaneGraph.name+="CaseE4" 103 elifcase==8: 104 print"E=5.n" 105 new_face_length=5 106 base_border=[10,9] 107 PlaneGraph.name+="CaseE5" 126

PAGE 137

108 elifcase==9: 109 print"E=6.n" 110 new_face_length=6 111 base_border=[10,9] 112 PlaneGraph.name+="CaseE6" 113 114 #Thenwemoveontoanotherfaceadjacenttothesecond5-face:I. 115 elifcase==10: 116 print"I=4.n" 117 new_face_length=4 118 base_border=[13,12] 119 PlaneGraph.name+="CaseI4" 120 elifcase==11: 121 print"I=5.n" 122 new_face_length=5 123 base_border=[13,12] 124 PlaneGraph.name+="CaseI5" 125 elifcase==12: 126 print"I=6.n" 127 new_face_length=6 128 base_border=[13,12] 129 PlaneGraph.name+="CaseI6" 130 131 132 #Nowthatwehavethebeginningofournewface,wecanbuildtherestofit , ! andchangePlaneGraphaccordingly. 133 PlaneGraph.faces.appendbase_border #Wewillextendthenewfacefrom , ! base_border. 134 num_new_vtxs=new_face_length-lenbase_border 135 136 #Buildthefirstedgeoutfromtheoriginalplanegraph. 137 PlaneGraph.edges.appendbase_border[-1],PlaneGraph.order #base_borderhas , ! notyetbeenchanged,sobase_border[-1]isourstarting , ! point.PlaneGraph.orderisthenameofthenewvertex. 138 PlaneGraph.faces[-1].appendPlaneGraph.order #Addthenewvertextoournewface. 139 PlaneGraph.order+=1 140 141 #Buildallremainingedgesofthenewfaceexceptthelastclosingedge. 142 foriinrangenum_new_vtxs-1: #Wealreadybuiltonenewvertex. 143 PlaneGraph.edges.appendPlaneGraph.order-1,PlaneGraph.order # , ! PlaneGraph.orderisthenameofthenewvertex. 144 PlaneGraph.faces[-1].appendPlaneGraph.order #Addthenewvertextoour , ! newface. 145 PlaneGraph.order+=1 146 147 #Buildthelastclosingedgeofthenewface. 148 PlaneGraph.edges.appendPlaneGraph.faces[-1][0],PlaneGraph.faces[-1][-1] 149 150 151 #Completeforbidden_dict. 152 forvinrange15,15+num_new_vtxs: #Initializeforbidden_dictforthenew , ! vertices. 153 forbidden_dict[v]=set 154 forvinPlaneGraph.faces[-1]: #Foralltheverticesonthenewface,addthe , ! facetotheforbiddenset. 155 forbidden_dict[v]|=setPlaneGraph.faces[-1] 156 ifcase==8: #PreventEfromidentifiyingwiththefirst5-faceadjacentto , ! thecentral7-face;otherwise,weobtainthenaturalcore , ! subgraphofc7a4x5x5. 157 forbidden_dict[17]|=set[11] 158 forbidden_dict[11]|=set[17] 159 ifcase==1: #PreventIfromidentifiyingwiththesecond5-faceadjacentto 127

PAGE 138

, ! thecentral7-face;otherwise,weobtainthenaturalcore , ! subgraphofc7a4x5x5. 160 forbidden_dict[17]|=set[14] 161 forbidden_dict[14]|=set[17] 162 163 164 #ThereisnoneedtoupdateanythingelsefromPlaneGraphbeforefeedinginto , ! thechecker,sinceitwilluseonly.name,.order,.is_open , ! unchanged,.faces,and.edges. 165 wg.check_all_realizations_from_initial_plane_graphPlaneGraph, , ! forbid_identifications=forbidden_dict 166 167 168 169 170 171 172 173 174 175 176 177 defrun_lemma_IV_34: 178 #Verifiesthateachconfigurationinthetargetsetisreduciblebychecking , ! thatallrealizationsarecore-choosable. 179 180 begin=time.clock 181 ch_total=0.0 182 183 #First,checktheoriginalconfigurationtoseethetwobadrealizations. 184 wg.check_all_realizations_of_configuration'c7a4x5x5' 185 ch_total+=wg.ch_timer 186 print"n"*10 187 188 #Nowchecktheremaining12casesoffacesaroundthe4-and5-faces. 189 foriinrange1,13: 190 wg.check_all_realizations_from_expanded_c7a4x5x5_casei 191 ch_total+=wg.ch_timer 192 print"n"*10 193 194 print"Finishedwithallanalysisofc7a4x5x5!" 195 print"Totaltime:"+timestringtime.clock-begin 196 print"TimeinfChoosableforentiretargetset:"+timestringch_total 197 198 199 200 201 202 203 204 205 206 207 if__name__=="__main__": 208 run_lemma_IV_34 128

PAGE 139

APPENDIXF SourceCodefor checking realizations.py 1 #-----------------------------------------------------2 #Contents 3 #-----------------------------------------------------4 5 #Section1:GraphEssentials 6 #NaturalCoreSubgraph 7 #core_square_graph 8 9 #Section2:CoreSubgraphGeneration 10 #restricted_partition_generator 11 #core_subgraph_generator 12 13 #Section3:StemStructureGeneration 14 #get_open_region_roots 15 #stem_structure_generator 16 17 #Section4:CheckingRealizations 18 #check_all_stem_structures_for_given_core_subgraph 19 #check_all_realizations_from_initial_plane_graph 20 #check_all_realizations_of_configuration 21 22 23 24 #-----------------------------------------------------25 #Libraries,Comments,GlobalVariables 26 #-----------------------------------------------------27 28 #ThesescriptswerewrittenwiththeintentofusingPython2.7beforetheswitch , ! toPython3.Thereshouldnotbemanydifferencesto , ! implementourcodeinPython3oncethischangeismade. 29 30 importsage.all 31 32 fromsage.graphs.graphimportGraph 33 #WeusetheGraphclasstoworkwithourrealizations.Weuseitforneighborhoods , ! core_square_graph,thedistancematrix , ! core_square_graph,andcheckingplanarity , ! core_subgraph_generator. 34 35 importmath 36 #WeusetrigfunctionsforsomecoordinatesofverticesinNaturalCoreSubgraph. 37 38 fromsage.misc.functionalimportN 39 #Weroundthecoordinatesmentionedabove. 40 41 fromitertoolsimportcombinations 42 #Weusecombinationsasapairsgeneratorinstem_structure_generatorwhenweare , ! iteratingthroughtriplescontainingthelastroot,and , ! alsoincore_square_graphwhenweareaddingedges , ! resultingfromthesetriples. 43 44 importchoosabilityasch 45 #WeusefChoosableasablackboxtoverifycore-choosabilityforallourrealizations. 46 47 importtime 48 #Fordisplayingruntime. 49 50 deftimestringtime: 129

PAGE 140

51 #Displaystimelength:#m#.#s 52 53 t=inttime 54 d=strint10*time-t%10 55 s=strt%60 56 m=intt/60 57 string=strm+"m"+s+"."+d+"s" 58 returnstring 59 60 61 62 #Westorethetargetsetasalistofstrings.Eachstringfollowsaslightly , ! differentformatthanthatinthepaper.Theconfiguration , ! b:s_1...s_tisencodedas"cbas_1...s_t"whereany"*"is , ! replacedwith"x".The"c"precedesthecentralface , ! andthe"a"precedesthefaciallengthlistaroundthe , ! centralface.Forexample,"9:3**4"isencodedas , ! "c9a3xx4"and"4*555*4"isencodedas"cxa4x555x4". 63 64 TargetSet=[ 65 #openchain:startwith3andendwith3 66 'c3a3', #Inthepaper,welistthisconfigurationascxa33. 67 'cxa3x3', 68 'cxa3xx3', 69 'cxa3xxx3', 70 'cxa3xx5x3', 71 72 #openchain:startwith3andendwith4 73 'c3a4', #Inthepaper,welistthisconfigurationascxa34. 74 'cxa3x4', 75 'cxa35x4', 76 'cxa3x54', 77 'cxa3xx54', 78 'cxa3xxx54', 79 80 #openchain:startwith3andendwith5 81 'cxa355', 82 'cxa375', 83 'cxa3x555', 84 85 #openchain:startwith3andendwith6 86 'c3a6', #Inthepaper,welistthisconfigurationascxa36. 87 'cxa356', 88 89 #openchain:startwith4andendwith4 90 'c4a4', #Inthepaper,welistthisconfigurationascxa44. 91 'cxa454', 92 'cxa464', 93 'cxa474', 94 'cxa4x54', 95 'cxa4x55x4', 96 'cxa4x555x4', 97 'cxa4x4x4x4', 98 99 #openchain:startwith4andendwith5 100 'cxa4x45', 101 'cxa4555', 102 'cxa4x5555', 103 104 #openchain:startwith4andendwith6 105 'cxa456', 106 130

PAGE 141

107 #openchain:startwith5andendwith5 108 'cxa535', 109 'cxa555555', 110 111 #openchain:startwith5andendwith6 112 'cxa546', 113 114 #central3-face 115 'c3a57', 116 117 #central4-face 118 'c4a55', 119 'c4a56', 120 'c4a57', 121 'c4a66', 122 'c4a585', 123 'c4a676', 124 'c4a686', 125 126 #central5-face 127 'c5a555', 128 'c5a556', 129 'c5a565', 130 'c5a566', 131 'c5a575', 132 'c5a656', 133 'c5a666', 134 'c5a4x55', 135 'c5a5x65', 136 'c5a5585', 137 'c5a5x66', 138 'c5a55x6', 139 'c5a56x6', 140 'c5a6x66', 141 142 #central7-face 143 'c7a3xx4', 144 'c7a3xx5', 145 'c7a4xx4', 146 'c7a4x55', 147 'c7a4xx55', 148 'c7a4x5xx5', 149 'c7a55x5', 150 151 #central8-face 152 'c8a3xx4', 153 'c8a3xxx4', 154 'c8a35x5', 155 'c8a35xx5', 156 'c8a35xxx5', 157 'c8a35xxxx5', 158 'c8a3x55x55', 159 'c8a45xx4', 160 'c8a455x5', 161 'c8a4x5x4x4', 162 163 #central9-face 164 'c9a3xx4', 165 'c9a3xxx4', 166 'c9a35x5', 167 'c9a455x4', 168 'c9a455x5', 131

PAGE 142

169 'c9a545x5', 170 ] 171 172 173 174 ch_timer=0.0 175 #FortrackinghowmuchtimeisspentinfChoosable. 176 177 178 179 180 #-----------------------------------------------------181 #TheRoutines 182 #-----------------------------------------------------183 184 185 #-----------------------------------------186 #Section1:GraphEssentials 187 #-----------------------------------------188 189 190 191 192 193 classNaturalCoreSubgraph: 194 #Thisclassisforholdingallofthenecessaryinformationweneedtoknow , ! fromaninitialplanegraph.ForLemmaIV.25,thismeans , ! thenaturalcoresubgraphofaconfiguration.ForLemma , ! IV.34,wewillstartwiththenaturalcoresubgraphof , ! c7a4x5x5andedittheplanegraphforourpurposes. 195 #Theconstructortakesthestringfollowingthenotationdescribedbeforethe , ! definitionofTargetSetaboveandthenbuildsthegraph. 196 #Note:Weassumeforanyconfigurationthatwefeedintotheconstructor,that , ! anyspecifiedentryprecedingorsucceedinga3inthe , ! faciallengthlisthaslengthatleast5.Socxa33isnot , ! permissible,butc3a3is.Wealsoassumethatthefacial , ! lengthlistaroundacentralfaceofspecifiedlengthis , ! shorterthenthecentralfacelength.Soc4a85x5isnot , ! permissible,butc4a585is. 197 #Thefollowingaretheattributesofanobjectfromthisclass: 198 #.name--thestringoriginallygiveninc/anotation 199 #.is_open--aboolean,Trueiftheconfigurationisopen 200 #.central_face_length--theintegervalueofthespecifiedcentralface , ! length,orNoneotherwise 201 #.facial_length_list--thelistofentriesofthefaciallengthlist , ! aroundthecentralface 202 #.edges--thelistofedgesastuplesoftheplanegraph 203 #.faces--thelistofclockwise-orientedboundariesofthespineand/or , ! specifiedfaces.Thefirstitemisalwaystheknown , ! boundaryofthecentralface.Iftheconfigurationis , ! open,thisisthespine.Otherwise,itisallofthe , ! centralface.Theremainingitemsarethenoncentral , ! specifiedfaces,asorderedbyself.facial_length_list. , ! Eachboundaryisitselfalistofvertices. 204 #.graph--theinitialplanegraphasaGraphobject 205 #.order--thenumberofverticesintheinitialplanegraph 206 #.spine--theactualspinegivenasalistofvertices.Ifthecentral , ! facehasspecifiedlength,thenspineisnotnecessarily , ! theentiretyofthecentralface.Sospineisnotalways , ! justself.faces[0]. 207 #.coordinates--adictionaryofx,y-coordinatesforeachvertexofthe , ! planegraph,usedfordrawingimages 132

PAGE 143

208 209 def__init__self,config_str: 210 211 self.name=config_str 212 213 #First,lookatthecharactersbetween'c'and'a'todetermineifthe , ! configurationisopenorclosed. 214 s=config_str[1:config_str.index'a'] 215 ifs=='x': #Openunspecifiedcentralfacelength. 216 self.is_open=True 217 self.central_face_length=None 218 else: #Closedspecifiedcentralfacelength. 219 self.is_open=False 220 self.central_face_length=ints 221 222 #Then,lookatthefaciallengthlistaroundthecentralface. 223 self.facial_length_list=[] 224 forsinconfig_str[config_str.index'a'+1:]: 225 ifs=='x': 226 self.facial_length_list.append'x' 227 else: 228 self.facial_length_list.appendints 229 FLL=self.facial_length_list #'FLL'willbeeasiertoreadintherestof , ! thisconstructorthan'self.facial_length_list'. 230 231 #Nowwebuildthenaturalcoresubgraphbybuildingourlistofedges,.As , ! webuildtheedges,wealsokeeptrackofthecentral , ! face/spineandthespecifiedfaces. 232 self.edges=[] #Eachentrywillbeatupleoftwoendpoints. 233 self.faces=[] #Eachentrywillbealistofvertices. 234 self.coordinates={} #Eachvertexwillbeakey,andthevaluewillbean , ! orderedpair. 235 236 #Webeginwiththecentralface.Therearetwopossibilities:openor , ! closed.Intheopencase,thespinewillbeourcentral , ! face.Inourlatergeneration,wewillneedtotreatthe , ! centralfacespeciallytoaccountforthis. 237 #Intheopencase,webuildapathandappendthistofaces. 238 ifself.is_open: 239 self.coordinates[0]=0,0 240 forjinrangelenFLL: #Buildthepathfrom0tolenFLLinclusive. 241 self.edges.appendj,j+1 242 self.coordinates[j+1]=j+1,0 243 self.faces.appendrangelenFLL+1 #Addthepathtofaces. 244 vtx=lenFLL #vtxisthecurrentvertexwearebuildingedgesto. , ! Forfutureuse. 245 #Intheclosedcase,webuildacycleandappendthistofaces. 246 else: 247 self.coordinates[0]=0,0 248 forjinrangeself.central_face_length-1: #Buildthepathfrom0to , ! self.central_face_length-1inclusive. 249 self.edges.appendj,j+1 250 ifj+1<=lenFLL: 251 self.coordinates[j+1]=j+1,0 252 else: 253 angle_degrees= , ! -180*j+1-lenFLL/self.central_face_length-lenFLL 254 x_coord= , ! NlenFLL/2.0+math.cosmath.radiansangle_degrees*lenFLL/2 255 y_coord=Nmath.sinmath.radiansangle_degrees*2/3 256 self.coordinates[j+1]=x_coord,y_coord 257 self.edges.append0,self.central_face_length-1 #Closethepathto 133

PAGE 144

, ! makeitacycle. 258 self.faces.appendrangeself.central_face_length #Addthecycleto , ! faces. 259 vtx=self.central_face_length-1 #vtxisthecurrentvertexweare , ! buildingedgesto.Forfutureuse. 260 261 #Nowthatwehavebuiltthecentralface,wemoveontotheotherspecified , ! faces. 262 foriinrangelenFLL: 263 #iistheindexoftheentryinFLL,butitisalsothe , ! counterclockwise-mostvertexonthecorrespondingedge. , ! i+1istheclockwise-mostvertexofthatedge. 264 265 #Iftheithentryofthefaciallengthlistis'x',thenwedonothing. 266 ifFLL[i]=='x': 267 continue 268 269 #Otherwise,wewanttobuildafacebybuildingapathfromitoi+1of , ! lengthFLL[i]-1. 270 #Simultaneously,webuildthelistoftheface'sboundary. 271 new_face=[i+1,i] 272 #First,wecheckthepreviousentryiestoseehowmanysharededges , ! havealreadybeenbuilt.Therearethreecases:ithe , ! previousentryisnotaspecifiedface,iitheprevious , ! entryisasandwiched3-face,oriiithepreviousentry , ! isaspecifiedfacethatisnotasandwiched3-face. 273 #Basedonthesecases,wedefinethenumberofsharededgesalready , ! builtandthestartingpointfortherestofthepathtoi+1. 274 ifi==0orFLL[i-1]=='x': 275 num_shared=0 276 start=i 277 elifi>1andFLL[i-1]==3andFLL[i-2]!='x': #Thisonlyoccursfor , ! cxa535.Wecouldhaveusedthealternativeencodingc3a55 , ! butprefertheformer. 278 num_shared=2 279 start=vtx-1 #vtx-1isthesecond-to-lastvertexthatwascreated , ! foraface.Thisistherightvertexbecausetheface , ! previoustothe3-facehaslengthatleast5. 280 new_face.appendvtx 281 new_face.appendvtx-1 282 else: #Previousentryisaspecifiedfacebutnotasandwiched3-face. 283 num_shared=1 284 start=vtx #vtxisthelastvertexthatwascreated. 285 new_face.appendvtx 286 287 #Nowwebuildanyremainingedgesexceptfortheverylastone. 288 #FLL[i]-2-num_sharedisthelengthofthefacewearebuildingminus: , ! theedgefromthecentralface,thelastedgewewillbuild , ! afterthisloop,andtheedgesalreadybuiltbypreviousfaces. 289 forjinrangeFLL[i]-2-num_shared: 290 vtx+=1 291 self.edges.appendstart,vtx 292 new_face.appendvtx 293 #Setcoordinates. 294 ifFLL[i]==3: 295 self.coordinates[vtx]=i+0.5,math.sinmath.radians60 296 else: 297 x_coord=Ni+0.5-0.5*math.cosmath.radians180* , ! j+num_shared/FLL[i]-3 298 y_coord=N0.5*math.sqrt3+0.4*math.sinmath.radians180 , ! *j+num_shared/FLL[i]-3 299 self.coordinates[vtx]=x_coord,y_coord 134

PAGE 145

300 start=vtx 301 302 #Resetcoordinatesifnecessary. 303 ifFLL[i]==3: #Centerthetopofa3-face. 304 self.coordinates[vtx]=i+0.5,math.sinmath.radians60 305 ifi>0andFLL[i-1]!='x'andi
PAGE 146

PAGE 147

388 389 f.append7-restriction_index 390 391 returnnew_G,f 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 #-----------------------------------------409 #Section2:CoreSubgraphGeneration 410 #-----------------------------------------411 412 413 414 415 defrestricted_partition_generatorli,last_index,forbidden_dict: 416 #Givenalistliofdistinctobjects,wegenerateallpartitionsofliwhichdo , ! notputcertainobjectsintothesamepart.The , ! restrictionsonwhichobjectscanbeputintothesamepart , ! aregivenbyforbidden_dict,adictionarywhichmapseach , ! objectfootothesetofobjectswithwhichfoocannot , ! shareapart.Eachgeneratedpartitionisalistofsets. 417 #Werecursivelygeneratethepartitionsbyconditioningonwhichpartthelast , ! elementgoesinto.Forefficiency,weavoid , ! copying/slicingliandthepartition.Weuselast_indexto , ! controlhowmuchofliisbeingviewed,andeditthe , ! partitioninplaceimmediatelybeforeandimmediatelyafter , ! itisyielded. 418 #Note:last_indexistheindexofthelastelementbeingviewed. 419 #Note:forbidden_dictshouldbesymmetricinthesensethatifbarin , ! forbidden_dict[foo],thenalsofooinforbidden_dict[bar]. 420 #Note:Itmightbethecasethatfoowillbeinitsownsetofforbidden , ! objects,eventhoughitisunsensibletoforbidanobject , ! tobeinitsownpart.However,thiscausesnoproblems , ! sinceweonlycomparedistinctentriesofli. 421 422 #Theonlypartitionoftheemptysetistheemptyset. 423 iflast_index<0: #Therelevantportionofliisemptyifandonlyif , ! last_index<0. 424 yield[] 425 return 426 427 last_element=li[last_index] 428 429 #Otherwise,welookattheportionoflipriortolast_elementandconsiderany , ! partitionsofthissmallerlist.Foreachofthese,we , ! lookatthepossiblepartswecanputlast_elementinto. 430 #Note:Wepassliandforbidden_dictwithoutmodificationsbecausetheystill , ! containalltheinformationweneed. 431 forpartitioninrestricted_partition_generatorli,last_index-1,forbidden_dict: 137

PAGE 148

432 433 #First,whichpartsofthispartitionareeligibleforthelast_element? 434 foriinrangelenpartition: #iindexestheparts. 435 ifnotpartition[i]&forbidden_dict[last_element]: #Checkthe , ! eligibleparts. 436 partition[i].addlast_element #Addlast_elementtoithpart. 437 yieldpartition 438 partition[i].removelast_element #Returnpartitiontoprevious , ! statewithoutlast_element. 439 440 #Lastly,wecanalwaysputlast_elementinapartbyitself. 441 partition.appendset[last_element] 442 yieldpartition 443 partition.pop #Returnpartitiontopreviousstatewithoutlast_element. 444 return 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 defcore_subgraph_generatorNCS,forbid_identifications={}: 462 #NCSisanobjectfromtheNaturalCoreSubgraphclasswhichholdsallthe , ! informationweneed. 463 #forbid_identificationsisadictionary.Anyfoo:barentriesfooisavertex, , ! barisasetwillforbidfoofrombeingidentifiedwith , ! anyelementofbar.Whenrunning , ! check_all_realizations_of_configuration, , ! forbid_identificationsisempty.Whenrunning , ! check_all_realizations_from_expanded_c7a4x5x5_case,wewill , ! haveaddedentriestoforbid_identifications. 464 #WeuseObservationIV.21,22tomakeadictionaryofalltheforbidden , ! identifications,inadditiontowhatwasgivenby , ! forbid_identifications.Then,wegenerateall , ! identificationspartitionsofthevertexsetwhichavoid , ! theseforbiddenidentifications.Foreachidentification, , ! wecheckeachofthethreeconditionsfromObservation , ! IV.23.Foranyidentificationsthatmakeitthroughthe , ! threeconditions,weyieldthegraphformedbythe , ! identificationandalistofitsfaces. 465 466 467 #forbidden_dictwillbethedictionaryofalltheforbiddenidentifications. 468 #Initializeeachvertextohaveanyemptysetofforbiddenvertices. 469 forbidden_dict={x:setforxinrangeNCS.order} 470 471 #Ifwehavemanuallyenteredanyforbiddenidentifications,goaheadandadd , ! thosefirst. 472 forxinforbid_identifications.keys: 473 forbidden_dict[x]|=setforbid_identifications[x] 474 475 #Ifwehaveanopencentralface,thenweapplyObservationIV.22tothe 138

PAGE 149

, ! verticesonthespinebeforemovingontothespecifiedfaces. 476 ifNCS.is_open: 477 init_spec_face=1 #Thiswilltellalaterlooptoskipthecentralface. 478 479 #Verticesonthespinecannotbeidentifiedwhicharetooclose. 480 #Handleverticesclosetotheendsseparately. 481 #Note:foranyopenconfigurationsinthetargetset,thespinehasat , ! leastfourvertices. 482 forbidden_dict[NCS.spine[0]]|=setNCS.spine[:3] 483 forbidden_dict[NCS.spine[1]]|=setNCS.spine[:4] 484 forbidden_dict[NCS.spine[-2]]|=setNCS.spine[-4:] 485 forbidden_dict[NCS.spine[-1]]|=setNCS.spine[-3:] 486 #Nowhandleallmiddleverticesonthespine. 487 foriinrange2,lenNCS.spine-2: 488 forbidden_dict[NCS.spine[i]]|=setNCS.spine[i-2:i+3] 489 490 #Furthermore,spineverticeswhicharejoiningtwospecifiedoutsidefaces , ! 'sandwiched'verticescannotbeidentifiedwithanything , ! elseonthespine. 491 sandwiched_vertices={xforxinrange1,lenNCS.facial_length_listif , ! NCS.facial_length_list[x-1]!='x'and , ! NCS.facial_length_list[x]!='x'} 492 forvinNCS.spine: 493 ifvinsandwiched_vertices: 494 forbidden_dict[v]|=setNCS.spine 495 else: 496 forbidden_dict[v]|=setsandwiched_vertices 497 else: #Ifwehaveaspecifiedcentralfacelength... 498 init_spec_face=0 #...thenwetellthenextlooptoincludethecentralface. 499 500 #Now,forallspecifiedfaces,weapplyObservationIV.21.Notwoverticeson , ! thesamespecifiedfacecanbeidentified. 501 forfaceinNCS.faces[init_spec_face:]: 502 forvinface: 503 forbidden_dict[v]|=setface 504 505 506 507 #Nowthatwehavefinishedpreparingforbidden_dict,wefeedittothe , ! partitiongeneratortoinspecttheidentifications. 508 509 #Initializetheprintingvariables. 510 count=0 #Countsthenumberofpartitionsbeingchecked. 511 countCS=0 #Countshowmanymadeittobeyieldedascoresubgraphs. 512 print"#Partitions#CSTimeCumulative" 513 print"..........00begin!" 514 begin=time.clock 515 516 #restricted_partition_generatorgeneratesallidentificationsofthevertices , ! partitionsofthevertexset.Itsoutputisapartition, , ! storedasalistoflistsofvertices. 517 forpartitioninrestricted_partition_generatorrangeNCS.order,NCS.order-1, , ! forbidden_dict: 518 count+=1 519 ifcount%10000==0: #Printeverysooften--morehelpfulforlarge , ! configurations. 520 print"."*max11-lenstrcount,0+strcount+" , ! "*max9-lenstrcountCS,0+strcountCS+" , ! "+timestringtime.clock-begin 521 522 #Wewillwanttomovebetweenthecurrentlabelingsoftheinitialplane , ! subgraphandthenewgraphformedbytheidentification. 139

PAGE 150

, ! ident_dictwillhelpwiththisbystoringfoo:barwherefoo , ! isavertexfromtheoriginalgraphandbarisavertexin , ! theidentifiedgraph.Ifverticesv1andv2are , ! identified,thenident_dict[v1]==ident_dict[v2].The , ! labelsoftheverticesintheidentifiedgrapharethe , ! indicesofthepartsinpartition. 523 ident_dict={y:xforxinrangelenpartitionforyinpartition[x]} 524 525 #Tostartcheckingtheidentifiedgraph,wemakethesetofedgesinthe , ! identifiedgraph. 526 new_edges=set 527 #Foreachedgeintheoldgraphbetweenv1andv2,weaddanedgebetween , ! thepartsy1andy2wherey1isthepartcontainingv1and , ! y2isthepartcontainingv2.Sinceweareusingaset, , ! anyduplicateedgesgetthrownout. 528 foreinNCS.edges: 529 a=ident_dict[e[0]] 530 b=ident_dict[e[1]] 531 ifa>b: #Weenforceanorderingsotherearenoduplicatesvia , ! reversal.Givenapartition,anedgeX,Yinthe , ! identifiedgraphisrepresentedbyanedgex1,y1wherex1 , ! inXandy1inY.However,itmightalsoberepresentedby , ! anedgey2,x2wherex2inXandy2inY.Wedon'twant , ! torepresentanedgemorethanonceinoursetnew_edges. 532 a,b=b,a 533 new_edges.adda,b 534 #Note:Ourdictionaryofforbiddenidentificationsensuresthata!=b. 535 536 some_condition_failed=False #Ifsome_condition_failedswitchestoTrue, , ! thenwestopcheckingthispartitionandcontinuetothe , ! nextpartition. 537 538 #Nowthatwehaveouredges,ourfirstconditiontocheckisifthe , ! identifiedgraphissubcubic.ObservationIV.23.1 539 #Foreachvertexintheidentifiedgraph,wecounthowmanyedgesitisin. 540 forxinrangelenpartition: 541 degree_of_x=0 542 foreinnew_edges: 543 ifxine: 544 degree_of_x+=1 545 ifdegree_of_x>3: #Ifwefindanewvertexofdegreemorethan3, , ! breakimmediatelyandcontinuetothenextpartition. 546 some_condition_failed=True 547 break 548 549 ifsome_condition_failed: 550 continue 551 552 #Tocheckthenextconditions,weusetheactualGraphobjectandget , ! informationaboutitsspecifiedfaces. 553 554 #First,getthegraph. 555 J=Graphlistnew_edges 556 #ThegraphwewillcheckJ_primemighthaveanadditionaledgetoclose , ! thecentralface. 557 J_prime=GraphJ 558 #Weaddtheedgeiftheconfigurationisopenandthespineendswerenot , ! identified. 559 new_end_1,new_end_2=ident_dict[NCS.faces[0][0]],ident_dict[NCS.faces[0][-1]] 560 ifNCS.is_openandnew_end_1!=new_end_2: 561 J_prime.add_edge[new_end_1,new_end_2] #Ifthegraphalreadyhasthis , ! edge,thatisokay.Thentheedgeisalreadyservingthe 140

PAGE 151

, ! desiredpurpose. 562 563 #Then,getthelistofcentral/specifiedfacesforthisnewgraph.Wewill , ! needtocheckforpossibleidentificationoffacesinthe , ! identificationprocess,aswewantthefacestobedistinct , ! whenwecheckthenexttwoconditionsofObservationIV.23 , ! andgettheopenregionsofthegraph. 564 #Note:Wearenotcheckingthatthefaceshavebeenidentifiedwiththe , ! sameorientationsoftheirboundariesclockwisevs. , ! counterclockwise.Althoughthishappenstobeanecessary , ! conditionforacoresubgraph,itisenforcedbyour , ! planaritychecklater. 565 new_faces=[] #Initializenewfaces--itwillbethefacesofJ_prime. 566 new_faces.append[ident_dict[x]forxinNCS.faces[0]] #Startwith , ! centralface. 567 central_face=new_faces[0] #Itwillhelpreadabilitytoreferto , ! 'central_face'insteadof'new_faces[0]'. 568 #Ifthecentralfacelengthisunspecifiedandthespineendswere , ! identified,thenweneedtoremoveoneofthespineendsto , ! avoidduplicateverticesinthefacelist. 569 ifNCS.is_openandnew_end_1==new_end_2: 570 central_face.pop 571 #Nowwedealwiththerestofthefaces. 572 forfaceinNCS.faces[1:]: 573 new_face=[ident_dict[x]forxinface] #Converttonewvertexlabels. 574 forprev_faceinnew_faces[1:]: #Westartcomparisonatindex1to , ! avoidcomparingwiththecentralface.Nospecifiedface , ! canbeidentifiedwiththecentralfacebecausethe , ! resultingfacewouldcontainacutedgethesharededge , ! betweenthetwofacesinthenaturalcoresubgraph.Since , ! thefacemustalsohavealengthatmost9,thisviolates , ! LemmaIV.17. 575 ifsetnew_face==setprev_face: #Ifthesetofverticesofthe , ! currentnewfaceisthesamesetofverticesasaprevious , ! face,thenthesefacesmusthavebeenidentifiedbecause , ! thegraphisnotacycle. 576 break 577 else: 578 new_faces.appendnew_face 579 580 #Nowwecanchecktoseeiftheidentifiedgraphhasanytrapped , ! 2-vertices.ObservationIV.23.3--wecheckthisbefore , ! ObservationIV.23.2becauseitiseasier 581 forvinJ_prime.vertices: 582 ifJ_prime.degreev!=2: 583 continue 584 #The2-vertexvis"trapped"ifitappearsmorethanonceonthe , ! boundarywalksofthefixedfacesofJ_prime. 585 boundary_count_for_v=0 586 forfaceinnew_faces: 587 boundary_count_for_v+=face.countv 588 ifboundary_count_for_v>1: 589 some_condition_failed=True 590 break 591 592 ifsome_condition_failed: 593 continue 594 595 #NowwebegincheckingObservationIV.23.2.Thefirstthingwecheckis , ! thatthespinedoesnotwraponitself--Observation , ! IV.23.2saysthatthespinalpathshouldbeaboundarywalk , ! ofafaceinJ_prime.Aboundarywalkdoesnotrepeatan 141

PAGE 152

PAGE 153

636 print 637 print">>>"+"CoreSubgraph#%d"%countCS,"Partition#%d"%count 638 print""*10+"Partition:%s"%strpartition 639 print""*10+"Edges:%s"%str[e[:2]foreinJ.edges] 640 yieldJ,new_faces 641 642 print"Total#partitions:",count 643 644 645 646 647 648 649 650 651 652 653 654 655 #-----------------------------------------656 #Section3:StemStructureGeneration 657 #-----------------------------------------658 659 660 661 662 663 664 665 defget_open_region_rootsgraph,given_faces: 666 #graphisjusttheGraphobjectfromthecoresubgraphgenerator. 667 #given_facesisalistofsomefacesingraphthecentralface/spineaswell , ! asanyotherspecifiedfaces.Somefacesmighthavebeen , ! identifiedbycore_subgraph_generator--inthiscase,only , ! onerepresentativeremainsingiven_faces.Thecyclic , ! orderingforeachfaceisinthesameclockwiseorientation. 668 #given_faces[0]isthecentralface/spine. 669 #Weturneachedgeofthegraphintotwooppositelydirectededgesandthen , ! removeanyoftheedgesgoinginthedirectionof , ! given_faces.Theremainingdirectededgesarethen , ! partitionedintodisjointdirectedcycles,eachofwhichis , ! anopenregionofthegraph. 670 #Wereturnalistofopenregions,eachgivenasalistofrootsinthatregion , ! inclockwiseorder. 671 672 673 #First,weconsideralldirectededgesinthegraph. 674 all_directed_edges={e[0],e[1]foreingraph.edges}|{e[1],e[0]fore , ! ingraph.edges} 675 #e[0],e[1]isonedirection,e[1],e[0]istheotherdirection.These , ! directionsarebasedonhowedgesarestoredingraph,not , ! ontheorientationingiven_faces. 676 677 #Inadditiontotheedgesingraph,wealsowanttocloseupthespineifthe , ! centralfaceisopen.Thisisbecausethespineendsare , ! connectedbysomeclosedcurve,separatingthecentralface , ! fromotheropenregions. 678 #Ifthecentralfacewasspecifiedtobeginwithorwasclosedby , ! core_subgraph_generator,thenthisnextlineisredundant. 679 all_directed_edges|={given_faces[0][0],given_faces[0][-1], , ! given_faces[0][-1],given_faces[0][0]} 680 143

PAGE 154

681 #Second,weremovealldirectededgesfromgiven_facesincludingacrossthe , ! spineends. 682 facial_directed_edges={face[j-1],face[j]forfaceingiven_facesforjin , ! rangelenface} 683 #pointer_dictisadictionarywhichassignseachtailofaremainingdirected , ! edgetotheheadofthedirectededge. 684 pointer_dict={e[0]:e[1]foreinall_directed_edges-facial_directed_edges} 685 #Thedirectedgraphinducedbyall_directed_edges-facial_directed_edgesisa , ! collectionofdisjointdirectedcyclesbecausethe , ! remainingdirectededgesarepreciselytheboundariesof , ! thefacesnotingiven_facesandbecauseeachedgeofthe , ! graphisontheboundaryofatleastonefacefrom , ! given_faces.Hencepointer_dictassignsavaluetoeach , ! keypreciselyonce. 686 outer_regions=[] #outer_regionswillbeourlistofopenregions. 687 688 whilepointer_dict: 689 v=pointer_dict.keys[0] #visanarbitraryinitialvertex. 690 new_region=[v] #new_regionwilleventuallybeadirectedcycle. , ! Initializeitasthelistcontainingjusttheelementv. 691 vtx=pointer_dict[v] #vtxisthenextvertexinthedirectedcycle. 692 delpointer_dict[v] #Nowthatweknowvtx,deletethedirectededgewe , ! justlookedat. 693 #Atthetopoftheloop,weknowwhatthenextvertexis,butwehavenot , ! yetaddedittonew_region. 694 whilevtx!=v: #Untilournextvertexisourinitialvertex. 695 new_region.appendvtx #Ifthenextvertexisnottheinitialvertex, , ! addittothelist. 696 next_vtx=pointer_dict[vtx] #Nowsteptothenextvertex,andlookat , ! thenewnextvertexpastit. 697 delpointer_dict[vtx] #Deletethedirectededgewejustlookedat. 698 vtx=next_vtx 699 outer_regions.appendnew_region 700 701 #Wenowhavethealltheverticesontheopenregions,butwecareonlyabout , ! theroots. 702 roots={vforvingraph.verticesifgraph.degreev==2} #Thisincludesthe , ! openspineends,ifthereareany. 703 return[[zforzinregionifzinroots]forregioninouter_regions] 704 705 706 707 708 709 710 711 712 713 714 715 716 defstem_structure_generatorroots_by_region: 717 #roots_by_regionisalistoflists,eachholdingacyclicorderingofdistinct , ! rootsinaregion.Wegenerateallpossiblewaysofadding , ! newedgesornewstemsofdegree1,2,or3thatpreserve , ! planaritywithineachregion. 718 #Weloopthroughthepossibilitiesforidentifyingthelastrootinthelast , ! regionwithearlierrootsinthelastregion.Foreach , ! possibility,wefragmentthelastregionintotheresulting , ! smallerregionsandrecursivelycallthegenerator. 719 #Theyieldedoutput"structure"isalistofthreelists:thepairsfrom , ! alltheregionswhichformanewedge,thepairswhich 144

PAGE 155

, ! solelyshareastem2-stem,andthetripleswhichsharea , ! stem3-stem. 720 721 #Note:Wedonotbothertocheckifa"new"edgealreadyexistsinthecore , ! subgraphforexample,iftworootsareadjacentonaface, , ! thenthereisalreadyanedgebetweenthem.Iftheedge , ! isalreadypresent,thenwhenweadditin , ! core_square_graphthereisnoeffect.Sowearegenerating , ! redundantrealizationsinexchangeforsimplicity.In , ! fact,wegenerateredundantrealizationsasaresultof , ! certain2-stemsand3-stemsaswell. 722 723 #Iftherearenoregionswithanyavailablerootsleft,thenyieldtheempty , ! structure. 724 iflenroots_by_region==0: 725 yield[[],[],[]] 726 return 727 728 #Otherwise,examinethelastregion. 729 else: 730 roots=roots_by_region[-1] 731 732 #Ifthelastregionhasatmostoneroot,thentherearenopossiblepairs , ! ortriplesinthatlastregion.Thismeansthatthe , ! structureswecanobtainfromroots_byregionareexactly , ! thestructureswecanobtainfromroots_by_region[:-1]. 733 iflenroots<2: 734 forsubstructureinstem_structure_generatorroots_by_region[:-1]: 735 yieldsubstructure 736 return 737 738 #Ifthelastregionhasatleasttworoots,thenwecantrytoformpairs , ! ortriples.Wedosoconditionedonthelastroot. 739 else: 740 741 #Case1:Conditiononthelastrootbeingina3-stem. 742 fortwoincombinationsrangelenroots-1,2: 743 #Breakupthelastregionintothreeregions. 744 new_roots_by_region=roots_by_region[:-1] 745 new_roots_by_region.appendroots[:two[0]] 746 new_roots_by_region.appendroots[two[0]+1:two[1]] 747 new_roots_by_region.appendroots[two[1]+1:-1] 748 #Foreachsubstructureonnew_roots_by_region,appendourtripleto , ! thelistof3-stemsandyield. 749 forsubstructureinstem_structure_generatornew_roots_by_region: 750 structure=[[setxforxiny]foryinsubstructure] 751 structure[2].append{roots[two[0]],roots[two[1]],roots[-1]} 752 yieldstructure 753 754 #Case2:Conditiononthelastrootbeinginanewedge. 755 foroneinrangelenroots-1: 756 #Breakupthelastregionintotworegions. 757 new_roots_by_region=roots_by_region[:-1] 758 new_roots_by_region.appendroots[:one] 759 new_roots_by_region.appendroots[one+1:-1] 760 #Foreachsubstructureonnew_roots_by_region,appendourpairto , ! thelistofedgesandyield. 761 forsubstructureinstem_structure_generatornew_roots_by_region: 762 structure=[[setxforxiny]foryinsubstructure] 763 structure[0].append{roots[one],roots[-1]} 764 yieldstructure 765 145

PAGE 156

766 #Case3:Conditiononthelastrootbeingina2-stem.Virtually , ! identicaltoCase2. 767 foroneinrangelenroots-1: 768 #Breakupthelastregionintotworegions. 769 new_roots_by_region=roots_by_region[:-1] 770 new_roots_by_region.appendroots[:one] 771 new_roots_by_region.appendroots[one+1:-1] 772 #Foreachsubstructureonnew_roots_by_region,appendourpairto , ! thelistof2-stemsandyield. 773 forsubstructureinstem_structure_generatornew_roots_by_region: 774 structure=[[setxforxiny]foryinsubstructure] 775 structure[1].append{roots[one],roots[-1]} 776 yieldstructure 777 778 #Case4:Conditiononthelastrootbeingina1-stembyitself. 779 #Removethelastrootfromthelastregion. 780 new_roots_by_region=roots_by_region[:-1] 781 new_roots_by_region.appendroots[:-1] 782 #Inthiscase,thestructureswecanobtainfromroots_byregionare , ! exactlythestructureswecanobtainfromnew_roots_by_region. 783 forsubstructureinstem_structure_generatornew_roots_by_region: 784 yieldsubstructure 785 786 #Afterconsideringallthepossibilitiesforthelastrootinthelast , ! region,wearefinished. 787 return 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 #-----------------------------------------814 #Section4:CheckingRealizations 815 #-----------------------------------------816 817 818 819 820 defcheck_all_stem_structures_for_given_core_subgraphgraph,open_region_roots: 821 globalch_timer 822 823 #Givenacoresubgraphasagraphandalistofrootorderingsintheopen 146

PAGE 157

, ! regions,wegenerateallstemstructuresamongtheroots , ! intheirrespectiveopenregions.Foreachresulting , ! realization,wecheckcore-choosability. 824 825 #Initializesummaryvariables 826 begin=time.clock 827 count=0 #Totalnumberofstemstructuresandthusrealizationsforthis , ! coresubgraph 828 good_count=0 #Numberofcore-choosablerealizations 829 bad_count=0 #Numberofnon-core-choosablerealizations 830 831 print""*15+"IndexGoodBadTimeCSCum.StemStructure" 832 833 #Nowwecheckthemall. 834 i=0 #iistheindexofeachstemstructure,forprintingpurposes 835 forSSinstem_structure_generatoropen_region_roots: 836 i+=1 837 G_sq,f=core_square_graphgraph,SS 838 839 #fChoosabletakesagraphandalistsizefunctionandreturnsatupleof , ! atleasttwoelements.Thefirstelementisboolean:True , ! meansthatthegraphisf-choosable,andFalsemeansitis , ! not.Thesecondelementisastringindicatingthemethod , ! usedforitsevaluation:'error','greedy','CNS',or'brute' 840 ch_begin=time.clock 841 y=ch.fChoosableG_sq,f,inprocess=4 842 ch_end=time.clock 843 ch_timer+=ch_end-ch_begin 844 ify[0]: 845 good_count+=1 846 else: 847 bad_count+=1 848 ti=timestringtime.clock-begin 849 print""*20-lenstri+stri+" , ! "*10-lenstrgood_count+strgood_count+" , ! "*6-lenstrbad_count+strbad_count+" , ! "*17-lenti+ti+""+strSS 850 851 #Printaconcludingstatement. 852 ifbad_count: 853 print">>>Uh-oh!Problem!" 854 else: 855 print">>>Thiscoresubgraphisgoodwithallstemstructures!" 856 print 857 858 #Returnthetotalnumberofrealizationsandthenumberofbadrealizations. 859 returngood_count,bad_count 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 defcheck_all_realizations_from_initial_plane_graphNCS,forbid_identifications={}: 147

PAGE 158

PAGE 159

912 printtotals_str 913 914 #Second,printaconcludingstatementandtotals 915 ifbad_count>0: 916 print"Nope!Somerealizationsarenotcore-choosable.n" 917 else: 918 print"Good!Allrealizationsarecore-choosable!n" 919 920 print"Totalsfor%s:"%NCS.name 921 print"Total#coresubgraphs:",core_subgraph_count 922 print"Total#realizations:",realization_count 923 print"Total#non-core-choosablerealizations:",bad_count 924 print"Totaltime:"+timestringtime.clock-begin 925 print"CumulativeTimeinfChoosable:"+timestringch_timer 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 defcheck_all_realizations_of_configurationconfig_str: 941 #Givenaconfigurationasstringinthec/anotationdescribedinacomment , ! above,generatesandcheckseveryrealizationfor , ! core-choosability. 942 #Thissimplypreparesthenaturalcoresubgraphandfeedsitinto , ! check_all_realizations_from_initial_plane_graph. 943 944 print"Configuration:",config_str 945 print"Checkingallrealizationsforcore-choosability.n" 946 947 #TheNaturalCoreSubgraphclasspreparesalltheinformationweneedaboutthe , ! naturalcoresubgraphoftheconfiguration. 948 NCS=NaturalCoreSubgraphconfig_str 949 950 check_all_realizations_from_initial_plane_graphNCS,forbid_identifications={} 149

PAGE 160

APPENDIXG DiscussionofCodeImplementationforChapterIV Forthoseinterestedinunderstandingthebigideasofourimplementationwithout readingthecodeline-by-line,wehaveincludedherediscussionofcertainroutinesofour code. NaturalCoreSubgraph Inourcode,wedenetheclass NaturalCoreSubgraph tocontainallthenecessary informationforgeneratingcoresubgraphs.Givenacongurationname, NaturalCoreSubgraph constructsanobjectwhichstorestheedges,spine,andspecied facesofthenaturalcoresubgraph,amongotherthings.Sothemaintaskofthe constructoristobuildthegraphfromastring. Wewilluseaboolean is open todistinguishbetweenopencongurationsTrueand thosewillspeciedcentralfacelengthsFalse.Wewillusethelist facial length list to storethefaciallengthlist,withspeciedentriesasintegersandwildcardcharactersasthe string `x' .Wewillstorethecentralandspeciedfacesinthelist faces .Eachentryof faces willbealistofverticeswhichformaclockwiseboundaryofaspeciedfaceofthe naturalcoresubgraph.Theonlyexceptiontothisiswhenthecongurationisopen,in whichcasethelistcorrespondingtothecentralfaceistheclockwiseorderingofthevertices onthespine.In faces ,thespine/centralfaceistherstentry,followedbythefaces speciedbythefaciallengthlistoftheconguration. Theemphasisofthepseudocodebelowistodescribehowthegraphisbuiltandhow thecentralandspeciedfacesarestored.Inouractualcode,westoretheedgesinsteadof makingtheSageGraphobject.Wealsomakenoteofseveralotherthingsaswell.Also,we assumeifthecentralfacelengthisspeciedassome k ,thatthefaciallengthlisthas strictlyfewerthan k entries. 150

PAGE 161

Algorithm2 Buildthenaturalcoresubgraph 1: procedure NaturalCoreSubgraph conguration string . Inputisgiveninc/a notation. 2: Parse conguration string toobtain is open booleanand facial length list list. 3: Initialize faces astheemptylist. . faces willstorelistsofvertices. 4: if is open then . Buildtheopencentralface. 5: Buildthecentralfaceasapathonvertices0,..., len facial length list . 6: Append[0,..., len facial length list ]to faces . 7: else . Buildthecentralfaceofspeciedlength. 8: Parsethestringtoobtain central face length integer. 9: Buildthecentralfaceasacycleonvertices0,..., central face length -1. 10: Append[0,..., central face length -1]to faces . 11: endif 12: forall i 0,..., len facial length list -1 do 13: if facial length list [ i ] 6 = `x' then . Buildthecorrespondingspeciedface. 14: Lookatthepreviousentryortwoof facial length list . 15: Makenoteofhowmanyedgesthenewfaceshareswithpreviousfaces. 16: Buildanyremainingedgesforthenewspeciedfacetocloseotheshared edges. 17: Append[ i +1, i ,...]tofaces,where..."representssharedverticesfollowed bynewvertices. 18: endif 19: endfor 20: endprocedure Belowwegiveanexamplefortheconguration45 5showingthestateofthecodeat line11andeachoccurrenceatline18. Line11: Variable Value conguration string `cxa45x5' doesnotchange is open True doesnotchange facial length list [4,5,`x',5] doesnotchange faces [[0,1,2,3,4]] graph 151

PAGE 162

Line18: Variable Value faces [[0,1,2,3,4],[1,0,5,6]] i 0 graph Line18: Variable Value faces [[0,1,2,3,4],[1,0,5,6],[2,1,6,7,8]] i 1 graph 152

PAGE 163

Line18: Variable Value faces [[0,1,2,3,4],[1,0,5,6],[2,1,6,7,8]] i 2 graph Notethattherearenochangesin faces orthegraphfromthepreviousstep. Line18: Variable Value faces [[0,1,2,3,4],[1,0,5,6],[2,1,6,7,8],[4,3,9,10,11]] i 3 graph 153

PAGE 164

restricted partition generator Whengeneratingcoresubgraphsofaconguration,byObservation4.20wecan generateallidenticationsofverticesofthenaturalcoresubgraph.Eachofthese identicationsisrepresentedbyapartitionofthevertices.However,thenumberof partitionsgrowsquicklywiththenumberofverticesseeOEISA000110[1].By Observations4.21and4.22,wecanprunethenumberofpartitionswegenerateby observingrestrictionsduringthepartitiongeneration.Weuseastandardapproachto recursivepartitiongenerationsee[9],butaddachecktoprunerestrictedpartitions duringthegeneration. Thepurposeof restricted partition generator istogenerateallpartitionswhich avoidcertainpairsofobjectsbeingplacedinthesamepart.Thegeneratorneedstobe givenalist list ofdistinctobjectsaswellasadictionary forbidden dict whichcontainsall oftherestrictionsweareavoiding.Foreachelement a of list ,thedictionary forbidden dict maps a toasetofelementswhichwewillpreventfrombeinginthesamepartas a .The generatorwillusethisinformationtorecursivelygenerateallpermissiblepartitions. Ourcodediersfromthefollowingpseudocodeinthatitavoidsmakingcopiesand insteadmodiesthepartitionsinplace. 154

PAGE 165

Algorithm3 Generatepartitionsavoidingrestrictions 1: procedure restricted partition generator list , forbidden dict 2: if len list =0 then 3: yield [] . Yieldtheemptypartition. 4: return 5: else . Otherwise,callthegeneratorforasmallerlist. 6: Dene last element tobethelastelementof list . 7: Dene li tobeacopyof list without last element . 8: forall li partition yieldedby restricted partition generator li , forbidden dict do 9: forall i 0,..., len li partition -1 do 10: if partition [ i ] forbidden dict [ last element ]= ? then . Checkfor restrictions. 11: Dene partition tobeacopyof li partition . 12: Add last element totheset partition [ i ]. 13: yield partition 14: endif 15: endfor . Nowmakeanewpartcontainingonly last element . 16: Dene partition tobeacopyof li partition . 17: Appendthesingletonset f last element g tothelist partition . 18: yield partition 19: endfor 20: return 21: endif 22: endprocedure core subgraph generator With NaturalCoreSubgraph and restricted partition generator inhand,wecan generatecoresubgraphs.Wegivethisgeneratoranobject NCS fromthe NaturalCoreSubgraph classandadictionary forbid identications whichoptionally containssomeadditionalrestrictionsotherthanthosestatedinObservations4.21and4.22. ThegeneratorthencreatesadictionaryoftherestrictionsstatedinObservations4.21 and4.22andaddsthosefrom forbid identications .Foreachpartitionavoidingthese restrictions,thegeneratorcheckstheconditionsinobservation4.23.Ifallconditionsare passed,thenthegeneratoryieldsboththeidentiedgraphandalistofthespeciedfaces intheidentiedgraph. Inourcode,wedonotmakethegraph J beforethesubcubictestaswedointhe 155

PAGE 166

pseudocodeline5.ToavoidmakingtheSageGraphobjectuntilnecessary,weusealist ofedgesstoredin NCS . Algorithm4 Generatecoresubgraphswhichcanappearinaminimalcounterexample 1: procedure core subgraph generator NCS , forbid identications 2: Createthedictionary forbidden dict withrestrictionfromObservations4.21and4.22. 3: Addtherestrictionsfrom forbid identications to forbidden dict . 4: forall partition yieldedby restricted partition generator NCS.vertices , forbidden dict do 5: Createtheidentiedgraph J from NCS.graph byidentifyingthepartsof partition . Thepart partition [ i ]becomesvertex i in J . 6: if J isnotsubcubic then 7: continue . Returntotopofloop. 8: endif 9: Createthegraph J' from J byclosingthecentralfaceifitisstillopen. 10: Createthelist new faces bycopying NCS.faces andrelabelingtheelementsinthe lists. Avertex v isrelabeled i ifandonlyif v 2 partition [ i ]. 11: Removeanyduplicatelistsfrom new faces whichhavethesamesetofnewvertices. 12: if any2-vertexof J' islistedmorethanonceanywherein new faces then 13: continue . Returntotopofloop. 14: endif 15: if NCS.is open and new faces [0]wrapsonitself then 16: continue . Returntotopofloop. 17: endif 18: Subdivideeachedgeofthegraph J' . 19: Foreachfacein new faces ,attachawheel-likestructuretotheboundary. . Describedbelow. 20: if J' isplanar then 21: yield J , new faces . Allconditionshavebeenpassed. 22: endif 23: endfor 24: return 25: endprocedure 156

PAGE 167

APPENDIXH ReducibleCongurationsforTheorem4.9 Belowwehaveincludeddetailsforthe76reduciblecongurationsinthetargetset. Alongwiththenameoftheconguration,somedatafromthecomputationverifyingthe reducibilityofthecongurationislisted.Totherightofthisdataisthenaturalcore subgraphoftheconguration. #Partitions"isthetotalnumberofidenticationsofcoreverticesexceptthose describedinObservation4.21andObservation4.22.Foreachofthese,theconditions ofObservation4.23werechecked. #CoreSubgraphs"isthetotalnumberofidenticationswhichpassedtheconditions asdescribedabove.Foreachofthese,wegeneratedandcheckedtherealizationsfor theresultingcoresubgraph. #Realizations"isthetotalnumberofrealizationsforthecongurationoverallcore subgraphs.Eachoftheserealizationswereveriedtobecore-choosable. Thenaturalcoresubgraphforthecongurationisembeddedsuchthatthespinefalls onahorizontallinewiththecentralfacebelow.Inadditiontoshowingthegraph,we haveplacedaboveeachedgeofthespinethecorrespondingentryfromthe conguration'sfaciallengthlist.Thelengthofthecentralfaceor ,ifthe congurationisopenhasbeenplacedbelowthespine. Overall76congurations,thetotalnumberofpartitionsgeneratedwas20,992,414,445. Thetotalnumberofcoresubgraphsgeneratedwas529.Thetotalnumberofrealizations generatedwas773,772.Thetotalrunningtimewas4days7hours50minutes54seconds. Ofthis,thetotaltimespentinthe fChoosable routinewas1hour27minutes51seconds. ThecomputationsverifyingTheorem4.9wereperformedsingle-threadedona machinewithanIntelXeonE5-26952.1GHzprocessor.ThemachinerunsUbuntu18.04.2, andthesourcecodewasexecutedbySageMath8.1[54]. 157

PAGE 168

Details NaturalCoreSubgraph Conguration:33 #Partitions:2 #CoreSubgraphs:1 #Realizations:3 RunningTime: < 1s 3 3 Conguration:3 3 #Partitions:15 #CoreSubgraphs:2 #Realizations:26 RunningTime: < 1s 3 3 Conguration:3 3 #Partitions:52 #CoreSubgraphs:2 #Realizations:82 RunningTime: < 1s 3 3 Conguration:3 3 #Partitions:203 #CoreSubgraphs:2 #Realizations:277 RunningTime: < 1s 3 3 158

PAGE 169

Conguration:3 5 3 #Partitions:60,814 #CoreSubgraphs:6 #Realizations:3,464 RunningTime:13s 3 5 3 Conguration:34 #Partitions:3 #CoreSubgraphs:1 #Realizations:8 RunningTime: < 1s 3 4 Conguration:3 4 #Partitions:37 #CoreSubgraphs:2 #Realizations:82 RunningTime: < 1s 3 4 Conguration:35 4 #Partitions:1,013 #CoreSubgraphs:4 #Realizations:279 RunningTime: < 1s 3 5 4 159

PAGE 170

Conguration:3 54 #Partitions:1,013 #CoreSubgraphs:3 #Realizations:280 RunningTime: < 1s 3 5 4 Conguration:3 54 #Partitions:4,762 #CoreSubgraphs:3 #Realizations:964 RunningTime:3s 3 5 4 Conguration:3 54 #Partitions:24,207 #CoreSubgraphs:4 #Realizations:3,432 RunningTime:12s 3 5 4 Conguration:355 #Partitions:114 #CoreSubgraphs:1 #Realizations:81 RunningTime: < 1s 3 5 5 160

PAGE 171

Conguration:375 #Partitions:658 #CoreSubgraphs:5 #Realizations:965 RunningTime:3s 3 7 5 Conguration:3 555 #Partitions:378,791 #CoreSubgraphs:6 #Realizations:3,459 RunningTime:29s 3 5 5 5 Conguration:36 #Partitions:5 #CoreSubgraphs:1 #Realizations:81 RunningTime: < 1s 3 6 Conguration:356 #Partitions:295 #CoreSubgraphs:2 #Realizations:275 RunningTime: < 1s 3 5 6 161

PAGE 172

Conguration:44 #Partitions:7 #CoreSubgraphs:1 #Realizations:25 RunningTime: < 1s 4 4 Conguration:454 #Partitions:151 #CoreSubgraphs:2 #Realizations:82 RunningTime: < 1s 4 5 4 Conguration:464 #Partitions:372 #CoreSubgraphs:2 #Realizations:277 RunningTime: < 1s 4 6 4 Conguration:474 #Partitions:799 #CoreSubgraphs:4 #Realizations:967 RunningTime:3s 4 7 4 162

PAGE 173

Conguration:4 54 #Partitions:4,762 #CoreSubgraphs:4 #Realizations:972 RunningTime:4s 4 5 4 Conguration:4 55 4 #Partitions:34,917,171 #CoreSubgraphs:17 #Realizations:46,418 RunningTime:13m30s 4 5 5 4 Conguration:4 555 4 #Partitions:6,638,968,242 #CoreSubgraphs:27 #Realizations:172,325 RunningTime:1d3h52m11s 4 5 5 5 4 Conguration:4 4 4 4 #Partitions:103,004,851 #CoreSubgraphs:30 #Realizations:47,101 RunningTime:17m43s 4 4 4 4 163

PAGE 174

Conguration:4 45 #Partitions:4,762 #CoreSubgraphs:4 #Realizations:967 RunningTime:1s 4 4 5 Conguration:4555 #Partitions:47,234 #CoreSubgraphs:2 #Realizations:961 RunningTime:2s 4 5 5 5 Conguration:4 5555 #Partitions:434,709,740 #CoreSubgraphs:13 #Realizations:45,993 RunningTime:1h20m52s 4 5 5 5 5 Conguration:456 #Partitions:1,543 #CoreSubgraphs:3 #Realizations:964 RunningTime:3s 4 5 6 164

PAGE 175

Conguration:535 #Partitions:15 #CoreSubgraphs:1 #Realizations:25 RunningTime: < 1s 5 3 5 Conguration:555555 #Partitions:12,172,710,066 #CoreSubgraphs:11 #Realizations:45,536 RunningTime:2d16h14m56s 5 5 5 5 5 5 Conguration:546 #Partitions:1,543 #CoreSubgraphs:5 #Realizations:975 RunningTime:3s 5 4 6 Conguration:3:57 #Partitions:115 #CoreSubgraphs:3 #Realizations:278 RunningTime: < 1s 5 7 3 165

PAGE 176

Conguration:4:55 #Partitions:114 #CoreSubgraphs:1 #Realizations:81 RunningTime: < 1s 5 5 4 Conguration:4:56 #Partitions:295 #CoreSubgraphs:2 #Realizations:275 RunningTime:2s 5 6 4 Conguration:4:57 #Partitions:658 #CoreSubgraphs:4 #Realizations:960 RunningTime:5s 5 7 4 Conguration:4:66 #Partitions:953 #CoreSubgraphs:4 #Realizations:962 RunningTime:3s 6 6 4 166

PAGE 177

Conguration:4:585 #Partitions:47,224 #CoreSubgraphs:7 #Realizations:3,449 RunningTime:20s 5 8 5 4 Conguration:4:676 #Partitions:419,164 #CoreSubgraphs:13 #Realizations:12,586 RunningTime:57s 6 7 6 4 Conguration:4:686 #Partitions:1,442,042 #CoreSubgraphs:19 #Realizations:46,346 RunningTime:3m26s 6 8 6 4 Conguration:5:555 #Partitions:7,754 #CoreSubgraphs:2 #Realizations:275 RunningTime:1s 5 5 5 5 167

PAGE 178

Conguration:5:556 #Partitions:29,982 #CoreSubgraphs:3 #Realizations:959 RunningTime:4s 5 5 6 5 Conguration:5:565 #Partitions:29,982 #CoreSubgraphs:2 #Realizations:956 RunningTime:3s 5 6 5 5 Conguration:5:566 #Partitions:131,092 #CoreSubgraphs:6 #Realizations:3,418 RunningTime:21s 5 6 6 5 Conguration:5:575 #Partitions:101,110 #CoreSubgraphs:6 #Realizations:3,419 RunningTime:36s 5 7 5 5 168

PAGE 179

Conguration:5:656 #Partitions:131,092 #CoreSubgraphs:8 #Realizations:3,426 RunningTime:47s 6 5 6 5 Conguration:5:666 #Partitions:633,404 #CoreSubgraphs:12 #Realizations:12,437 RunningTime:1m33s 6 6 6 5 Conguration:5:4 55 #Partitions:13,221 #CoreSubgraphs:3 #Realizations:280 RunningTime: < 1s 4 5 5 5 Conguration:5:5 65 #Partitions:254,769 #CoreSubgraphs:9 #Realizations:3,483 RunningTime:34s 5 6 5 5 169

PAGE 180

Conguration:5:5585 #Partitions:14,113,147 #CoreSubgraphs:10 #Realizations:12,482 RunningTime:5m10s 5 5 8 5 5 Conguration:5:5 66 #Partitions:1,173,468 #CoreSubgraphs:13 #Realizations:12,658 RunningTime:6m4s 5 6 6 5 Conguration:5:55 6 #Partitions:254,769 #CoreSubgraphs:10 #Realizations:3,480 RunningTime:1m10s 5 5 6 5 Conguration:5:56 6 #Partitions:1,173,468 #CoreSubgraphs:16 #Realizations:12,645 RunningTime:2m57s 5 6 6 5 170

PAGE 181

Conguration:5:6 66 #Partitions:5,939,311 #CoreSubgraphs:24 #Realizations:46,632 RunningTime:16m48s 6 6 6 5 Conguration:7:3 4 #Partitions:198 #CoreSubgraphs:1 #Realizations:274 RunningTime: < 1s 3 4 7 Conguration:7:3 5 #Partitions:909 #CoreSubgraphs:3 #Realizations:957 RunningTime:1s 3 5 7 Conguration:7:4 4 #Partitions:1,107 #CoreSubgraphs:3 #Realizations:959 RunningTime:1s 4 4 7 171

PAGE 182

Conguration:7:4 55 #Partitions:157,189 #CoreSubgraphs:6 #Realizations:3,434 RunningTime:13s 4 5 5 7 Conguration:7:4 55 #Partitions:157,189 #CoreSubgraphs:3 #Realizations:3,405 RunningTime:13s 4 5 5 7 Conguration:7:4 5 5 #Partitions:1,414,243 #CoreSubgraphs:13 #Realizations:12,593 RunningTime:1m12s 4 5 5 7 Conguration:7:55 5 #Partitions:918,699 #CoreSubgraphs:13 #Realizations:12,502 RunningTime:27m46s 5 5 5 7 172

PAGE 183

Conguration:8:3 4 #Partitions:315 #CoreSubgraphs:2 #Realizations:956 RunningTime:1s 3 4 8 Conguration:8:3 4 #Partitions:315 #CoreSubgraphs:1 #Realizations:953 RunningTime:1s 3 4 8 Conguration:8:35 5 #Partitions:61,281 #CoreSubgraphs:8 #Realizations:3,480 RunningTime:12s 3 5 5 8 Conguration:8:35 5 #Partitions:61,281 #CoreSubgraphs:7 #Realizations:3,443 RunningTime:12s 3 5 5 8 173

PAGE 184

Conguration:8:35 5 #Partitions:61,281 #CoreSubgraphs:7 #Realizations:3,423 RunningTime:13s 3 5 5 8 Conguration:8:35 5 #Partitions:61,281 #CoreSubgraphs:9 #Realizations:3,466 RunningTime:12s 3 5 5 8 Conguration:8:3 55 55 #Partitions:1,377,549,896 #CoreSubgraphs:12 #Realizations:12,438 RunningTime:7h28m53s 3 5 5 5 5 8 Conguration:8:45 4 #Partitions:71,473 #CoreSubgraphs:4 #Realizations:3,408 RunningTime:10s 4 5 4 8 174

PAGE 185

Conguration:8:455 5 #Partitions:20,444,362 #CoreSubgraphs:11 #Realizations:12,454 RunningTime:5m39s 4 5 5 5 8 Conguration:8:4 5 4 4 #Partitions:43,566,549 #CoreSubgraphs:15 #Realizations:12,739 RunningTime:10m33s 4 5 4 4 8 Conguration:9:3 4 #Partitions:472 #CoreSubgraphs:3 #Realizations:3,406 RunningTime:5s 3 4 9 Conguration:9:3 4 #Partitions:472 #CoreSubgraphs:2 #Realizations:3,397 RunningTime:6s 3 4 9 175

PAGE 186

Conguration:9:35 5 #Partitions:140,727 #CoreSubgraphs:12 #Realizations:12,624 RunningTime:46s 3 5 5 9 Conguration:9:455 4 #Partitions:8,485,458 #CoreSubgraphs:8 #Realizations:12,431 RunningTime:2m51s 4 5 5 4 9 Conguration:9:455 5 #Partitions:64,259,686 #CoreSubgraphs:16 #Realizations:45,883 RunningTime:28m53s 4 5 5 5 9 Conguration:9:545 5 #Partitions:64,259,686 #CoreSubgraphs:22 #Realizations:46,314 RunningTime:20m42s 5 4 5 5 9 176