diff --git a/papers/coloring_nested_tire_graphs/experiments/draw_internally_6_connected.py b/papers/coloring_nested_tire_graphs/experiments/draw_internally_6_connected.py new file mode 100644 index 0000000..a992b0e --- /dev/null +++ b/papers/coloring_nested_tire_graphs/experiments/draw_internally_6_connected.py @@ -0,0 +1,116 @@ +"""Draw the icosahedron as the canonical "internally 6-connected" +planar triangulation. Highlight a 5-vertex cut that isolates +exactly one vertex (the only kind of small cut permitted by +Birkhoff's condition). + +Internally 6-connected (Birkhoff 1913): a planar triangulation in +which every vertex cut of size ≤ 5 either fails to separate, OR is +a 5-cut whose two sides have one side equal to a single vertex. + +Equivalently: no separating 3- or 4-cycle (these are forbidden); +no separating 5-cycle that isolates more than one vertex on either +side. + +The icosahedron satisfies this: every vertex has degree 5, and the +5 neighbors of any vertex form a 5-cycle whose removal isolates +that vertex (1 on one side, 6 on the other). +""" +import os, sys +import matplotlib.pyplot as plt +from sage.all import graphs + +HERE = os.path.dirname(os.path.abspath(__file__)) + + +def main(): + G = graphs.IcosahedralGraph() + G.is_planar(set_embedding=True) + pos = G.layout(layout='planar') + + # Pick a "center" vertex (one with small distance from center of layout) + center_v = 0 # arbitrary + neighbors = list(G.neighbors(center_v)) + print(f'Vertex {center_v} has {len(neighbors)} neighbors: {neighbors}') + + # Verify they form a 5-cycle in the induced subgraph + nbr_graph = G.subgraph(neighbors) + print(f'Induced subgraph on neighbors: {nbr_graph.size()} edges, ' + f'is_cycle={nbr_graph.is_cycle()}') + + # Removing 5 neighbors: what's left + G_minus = G.copy() + G_minus.delete_vertices(neighbors) + comps = G_minus.connected_components() + print(f'After removing the 5 neighbors: {len(comps)} components, ' + f'sizes={sorted(len(c) for c in comps)}') + # Expect: one component of size 1 (just center_v), another of size 6. + + fig, axes = plt.subplots(1, 2, figsize=(13, 6)) + + # LEFT: the icosahedron with the cut highlighted + ax = axes[0] + for u, v in G.edges(labels=False): + x1, y1 = pos[u]; x2, y2 = pos[v] + if u == center_v or v == center_v: + color = '#CCCCCC'; lw = 1.0 + elif u in neighbors and v in neighbors: + # Edge of the 5-cycle separator + color = '#1166CC'; lw = 4.0 + else: + color = '#888888'; lw = 1.2 + ax.plot([x1, x2], [y1, y2], color=color, linewidth=lw, zorder=2) + for v in G.vertices(): + x, y = pos[v] + if v == center_v: + ax.plot(x, y, 'o', color='#DD2222', markersize=14, zorder=4, + markeredgecolor='black', markeredgewidth=1.5) + ax.annotate(f'{v}\n(isolated)', (x, y), + textcoords='offset points', xytext=(0, 14), + ha='center', fontsize=9, color='#AA0000') + elif v in neighbors: + ax.plot(x, y, 'o', color='#1166CC', markersize=11, zorder=3, + markeredgecolor='black', markeredgewidth=1.2) + ax.annotate(str(v), (x, y), + textcoords='offset points', xytext=(8, 8), + fontsize=8, color='#0044AA') + else: + ax.plot(x, y, 'o', color='#444444', markersize=8, zorder=2) + ax.annotate(str(v), (x, y), + textcoords='offset points', xytext=(8, 8), + fontsize=8, color='gray') + ax.set_aspect('equal'); ax.axis('off') + ax.set_title(f'Icosahedron: 5-vertex cut (blue) isolating one vertex (red).\n' + f'This is the ONLY kind of small cut permitted ' + f'by Birkhoff\'s condition.', fontsize=10) + + # RIGHT: schematic showing 4 cases (3 forbidden, 1 allowed) + ax = axes[1] + ax.set_xlim(0, 4); ax.set_ylim(0, 4) + ax.set_aspect('equal'); ax.axis('off') + cases = [ + ('3-vertex cut\n(separating triangle)', 'FORBIDDEN', 'red', 3.6, 3), + ('4-vertex cut\n(separating quadrilateral)', 'FORBIDDEN', 'red', 3.6, 2), + ('5-cut isolating ≥ 2 vertices', 'FORBIDDEN', 'red', 3.6, 1), + ('5-cut isolating exactly 1 vertex', 'ALLOWED', 'green', 3.6, 0), + ] + ax.text(2.0, 3.7, 'Birkhoff (1913): internally 6-connected', + fontsize=11, weight='bold', ha='center') + for i, (label, status, color, y_label, y_pos) in enumerate(cases): + y = 3.0 - i * 0.7 + ax.text(0.1, y, label, fontsize=9, va='center') + ax.text(2.8, y, status, fontsize=10, weight='bold', color=color, + va='center') + ax.text(2.0, -0.4, + 'A minimum 4CT counterexample, if one exists,\n' + 'must satisfy all of the above.', + fontsize=9, ha='center', style='italic') + + plt.tight_layout() + out = os.path.join(os.path.dirname(HERE), 'notes', + 'icosahedron_internally_6_connected.pdf') + fig.savefig(out, bbox_inches='tight', dpi=120) + print(f'\nWrote {out}') + + +if __name__ == '__main__': + main() diff --git a/papers/coloring_nested_tire_graphs/notes/birkhoff_internally_6_connected.aux b/papers/coloring_nested_tire_graphs/notes/birkhoff_internally_6_connected.aux new file mode 100644 index 0000000..a79beaf --- /dev/null +++ b/papers/coloring_nested_tire_graphs/notes/birkhoff_internally_6_connected.aux @@ -0,0 +1,2 @@ +\relax +\gdef \@abspage@last{3} diff --git a/papers/coloring_nested_tire_graphs/notes/birkhoff_internally_6_connected.log b/papers/coloring_nested_tire_graphs/notes/birkhoff_internally_6_connected.log new file mode 100644 index 0000000..eef8819 --- /dev/null +++ b/papers/coloring_nested_tire_graphs/notes/birkhoff_internally_6_connected.log @@ -0,0 +1,601 @@ +This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex 2022.10.5) 27 MAY 2026 00:00 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**birkhoff_internally_6_connected.tex +(./birkhoff_internally_6_connected.tex +LaTeX2e <2021-11-15> patch level 1 +L3 programming layer <2022-02-24> +(/usr/local/texlive/2022/texmf-dist/tex/latex/base/article.cls +Document Class: article 2021/10/04 v1.4n Standard LaTeX document class +(/usr/local/texlive/2022/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2021/10/04 v1.4n Standard LaTeX file (size option) +) +\c@part=\count185 +\c@section=\count186 +\c@subsection=\count187 +\c@subsubsection=\count188 +\c@paragraph=\count189 +\c@subparagraph=\count190 +\c@figure=\count191 +\c@table=\count192 +\abovecaptionskip=\skip47 +\belowcaptionskip=\skip48 +\bibindent=\dimen138 +) +(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2021/10/15 v2.17l AMS math features +\@mathmargin=\skip49 + +For additional information on amsmath, use the `?' option. +(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2021/08/26 v2.01 AMS text + +(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks16 +\ex@=\dimen139 +)) +(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen140 +) +(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2021/08/26 v2.02 operator names +) +\inf@bad=\count193 +LaTeX Info: Redefining \frac on input line 234. +\uproot@=\count194 +\leftroot@=\count195 +LaTeX Info: Redefining \overline on input line 399. +\classnum@=\count196 +\DOTSCASE@=\count197 +LaTeX Info: Redefining \ldots on input line 496. +LaTeX Info: Redefining \dots on input line 499. +LaTeX Info: Redefining \cdots on input line 620. +\Mathstrutbox@=\box50 +\strutbox@=\box51 +\big@size=\dimen141 +LaTeX Font Info: Redeclaring font encoding OML on input line 743. +LaTeX Font Info: Redeclaring font encoding OMS on input line 744. +\macc@depth=\count198 +\c@MaxMatrixCols=\count199 +\dotsspace@=\muskip16 +\c@parentequation=\count266 +\dspbrk@lvl=\count267 +\tag@help=\toks17 +\row@=\count268 +\column@=\count269 +\maxfields@=\count270 +\andhelp@=\toks18 +\eqnshift@=\dimen142 +\alignsep@=\dimen143 +\tagshift@=\dimen144 +\tagwidth@=\dimen145 +\totwidth@=\dimen146 +\lineht@=\dimen147 +\@envbody=\toks19 +\multlinegap=\skip50 +\multlinetaggap=\skip51 +\mathdisplay@stack=\toks20 +LaTeX Info: Redefining \[ on input line 2938. +LaTeX Info: Redefining \] on input line 2939. +) +(/usr/local/texlive/2022/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + +(/usr/local/texlive/2022/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) +(/usr/local/texlive/2022/texmf-dist/tex/latex/amscls/amsthm.sty +Package: amsthm 2020/05/29 v2.20.6 +\thm@style=\toks21 +\thm@bodyfont=\toks22 +\thm@headfont=\toks23 +\thm@notefont=\toks24 +\thm@headpunct=\toks25 +\thm@preskip=\skip52 +\thm@postskip=\skip53 +\thm@headsep=\skip54 +\dth@everypar=\toks26 +) +(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks27 +) +(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2021/03/04 v1.4d Standard LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2021/08/11 v1.11 sin cos tan (DPC) +) +(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 107. + +(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2020/10/05 v1.2a Graphics/color driver for pdftex +)) +\Gin@req@height=\dimen148 +\Gin@req@width=\dimen149 +) +(/usr/local/texlive/2022/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2020/01/02 v5.9 Page Geometry + +(/usr/local/texlive/2022/texmf-dist/tex/generic/iftex/ifvtex.sty +Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. + +(/usr/local/texlive/2022/texmf-dist/tex/generic/iftex/iftex.sty +Package: iftex 2022/02/03 v1.0f TeX engine tests +)) +\Gm@cnth=\count271 +\Gm@cntv=\count272 +\c@Gm@tempcnt=\count273 +\Gm@bindingoffset=\dimen150 +\Gm@wd@mp=\dimen151 +\Gm@odd@mp=\dimen152 +\Gm@even@mp=\dimen153 +\Gm@layoutwidth=\dimen154 +\Gm@layoutheight=\dimen155 +\Gm@layouthoffset=\dimen156 +\Gm@layoutvoffset=\dimen157 +\Gm@dimlist=\toks28 +) +(/usr/local/texlive/2022/texmf-dist/tex/latex/booktabs/booktabs.sty +Package: booktabs 2020/01/12 v1.61803398 Publication quality tables +\heavyrulewidth=\dimen158 +\lightrulewidth=\dimen159 +\cmidrulewidth=\dimen160 +\belowrulesep=\dimen161 +\belowbottomsep=\dimen162 +\aboverulesep=\dimen163 +\abovetopsep=\dimen164 +\cmidrulesep=\dimen165 +\cmidrulekern=\dimen166 +\defaultaddspace=\dimen167 +\@cmidla=\count274 +\@cmidlb=\count275 +\@aboverulesep=\dimen168 +\@belowrulesep=\dimen169 +\@thisruleclass=\count276 +\@lastruleclass=\count277 +\@thisrulewidth=\dimen170 +) +(/usr/local/texlive/2022/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(/usr/local/texlive/2022/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +(/usr/local/texlive/2022/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.te +x +\pgfutil@everybye=\toks29 +\pgfutil@tempdima=\dimen171 +\pgfutil@tempdimb=\dimen172 + +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-li +sts.tex)) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box52 +) (/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2021/05/15 v3.1.9a (3.1.9a) +)) +Package: pgf 2021/05/15 v3.1.9a (3.1.9a) + +(/usr/local/texlive/2022/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(/usr/local/texlive/2022/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2021/05/15 v3.1.9a (3.1.9a) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks30 +\pgfkeys@temptoks=\toks31 + +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.c +ode.tex +\pgfkeys@tmptoks=\toks32 +)) +\pgf@x=\dimen173 +\pgf@y=\dimen174 +\pgf@xa=\dimen175 +\pgf@ya=\dimen176 +\pgf@xb=\dimen177 +\pgf@yb=\dimen178 +\pgf@xc=\dimen179 +\pgf@yc=\dimen180 +\pgf@xd=\dimen181 +\pgf@yd=\dimen182 +\w@pgf@writea=\write3 +\r@pgf@reada=\read2 +\c@pgf@counta=\count278 +\c@pgf@countb=\count279 +\c@pgf@countc=\count280 +\c@pgf@countd=\count281 +\t@pgf@toka=\toks33 +\t@pgf@tokb=\toks34 +\t@pgf@tokc=\toks35 +\pgf@sys@id@count=\count282 + +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2021/05/15 v3.1.9a (3.1.9a) +) +Driver file for pgf: pgfsys-pdftex.def + +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.d +ef +File: pgfsys-pdftex.def 2021/05/15 v3.1.9a (3.1.9a) + +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-p +df.def +File: pgfsys-common-pdf.def 2021/05/15 v3.1.9a (3.1.9a) +))) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath. +code.tex +File: pgfsyssoftpath.code.tex 2021/05/15 v3.1.9a (3.1.9a) +\pgfsyssoftpath@smallbuffer@items=\count283 +\pgfsyssoftpath@bigbuffer@items=\count284 +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol. +code.tex +File: pgfsysprotocol.code.tex 2021/05/15 v3.1.9a (3.1.9a) +)) (/usr/local/texlive/2022/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2021/10/31 v2.13 LaTeX color extensions (UK) + +(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 227. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1352. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1356. +Package xcolor Info: Model `RGB' extended on input line 1368. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1370. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1371. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1372. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1373. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1374. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1375. +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2021/05/15 v3.1.9a (3.1.9a) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen183 +\pgfmath@count=\count285 +\pgfmath@box=\box53 +\pgfmath@toks=\toks36 +\pgfmath@stack@operand=\toks37 +\pgfmath@stack@operation=\toks38 +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code. +tex +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic +.code.tex) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigo +nometric.code.tex) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.rando +m.code.tex) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.compa +rison.code.tex) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base. +code.tex) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round +.code.tex) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc. +code.tex) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integ +erarithmetics.code.tex))) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count286 +)) (/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.co +de.tex +File: pgfcorepoints.code.tex 2021/05/15 v3.1.9a (3.1.9a) +\pgf@picminx=\dimen184 +\pgf@picmaxx=\dimen185 +\pgf@picminy=\dimen186 +\pgf@picmaxy=\dimen187 +\pgf@pathminx=\dimen188 +\pgf@pathmaxx=\dimen189 +\pgf@pathminy=\dimen190 +\pgf@pathmaxy=\dimen191 +\pgf@xx=\dimen192 +\pgf@xy=\dimen193 +\pgf@yx=\dimen194 +\pgf@yy=\dimen195 +\pgf@zx=\dimen196 +\pgf@zy=\dimen197 +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconst +ruct.code.tex +File: pgfcorepathconstruct.code.tex 2021/05/15 v3.1.9a (3.1.9a) +\pgf@path@lastx=\dimen198 +\pgf@path@lasty=\dimen199 +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage +.code.tex +File: pgfcorepathusage.code.tex 2021/05/15 v3.1.9a (3.1.9a) +\pgf@shorten@end@additional=\dimen256 +\pgf@shorten@start@additional=\dimen257 +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.co +de.tex +File: pgfcorescopes.code.tex 2021/05/15 v3.1.9a (3.1.9a) +\pgfpic=\box54 +\pgf@hbox=\box55 +\pgf@layerbox@main=\box56 +\pgf@picture@serial@count=\count287 +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicst +ate.code.tex +File: pgfcoregraphicstate.code.tex 2021/05/15 v3.1.9a (3.1.9a) +\pgflinewidth=\dimen258 +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransform +ations.code.tex +File: pgfcoretransformations.code.tex 2021/05/15 v3.1.9a (3.1.9a) +\pgf@pt@x=\dimen259 +\pgf@pt@y=\dimen260 +\pgf@pt@temp=\dimen261 +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.cod +e.tex +File: pgfcorequick.code.tex 2021/05/15 v3.1.9a (3.1.9a) +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.c +ode.tex +File: pgfcoreobjects.code.tex 2021/05/15 v3.1.9a (3.1.9a) +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathproce +ssing.code.tex +File: pgfcorepathprocessing.code.tex 2021/05/15 v3.1.9a (3.1.9a) +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.co +de.tex +File: pgfcorearrows.code.tex 2021/05/15 v3.1.9a (3.1.9a) +\pgfarrowsep=\dimen262 +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.cod +e.tex +File: pgfcoreshade.code.tex 2021/05/15 v3.1.9a (3.1.9a) +\pgf@max=\dimen263 +\pgf@sys@shading@range@num=\count288 +\pgf@shadingcount=\count289 +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.cod +e.tex +File: pgfcoreimage.code.tex 2021/05/15 v3.1.9a (3.1.9a) + +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal. +code.tex +File: pgfcoreexternal.code.tex 2021/05/15 v3.1.9a (3.1.9a) +\pgfexternal@startupbox=\box57 +)) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.co +de.tex +File: pgfcorelayers.code.tex 2021/05/15 v3.1.9a (3.1.9a) +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretranspare +ncy.code.tex +File: pgfcoretransparency.code.tex 2021/05/15 v3.1.9a (3.1.9a) +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns. +code.tex +File: pgfcorepatterns.code.tex 2021/05/15 v3.1.9a (3.1.9a) +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code. +tex +File: pgfcorerdf.code.tex 2021/05/15 v3.1.9a (3.1.9a) +))) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.cod +e.tex +File: pgfmoduleshapes.code.tex 2021/05/15 v3.1.9a (3.1.9a) +\pgfnodeparttextbox=\box58 +) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code. +tex +File: pgfmoduleplot.code.tex 2021/05/15 v3.1.9a (3.1.9a) +) +(/usr/local/texlive/2022/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version +-0-65.sty +Package: pgfcomp-version-0-65 2021/05/15 v3.1.9a (3.1.9a) +\pgf@nodesepstart=\dimen264 +\pgf@nodesepend=\dimen265 +) +(/usr/local/texlive/2022/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version +-1-18.sty +Package: pgfcomp-version-1-18 2021/05/15 v3.1.9a (3.1.9a) +)) +(/usr/local/texlive/2022/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(/usr/local/texlive/2022/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex) +) (/usr/local/texlive/2022/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2021/05/15 v3.1.9a (3.1.9a) + +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen266 +\pgffor@skip=\dimen267 +\pgffor@stack=\toks39 +\pgffor@toks=\toks40 +)) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.cod +e.tex +Package: tikz 2021/05/15 v3.1.9a (3.1.9a) + +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothan +dlers.code.tex +File: pgflibraryplothandlers.code.tex 2021/05/15 v3.1.9a (3.1.9a) +\pgf@plot@mark@count=\count290 +\pgfplotmarksize=\dimen268 +) +\tikz@lastx=\dimen269 +\tikz@lasty=\dimen270 +\tikz@lastxsaved=\dimen271 +\tikz@lastysaved=\dimen272 +\tikz@lastmovetox=\dimen273 +\tikz@lastmovetoy=\dimen274 +\tikzleveldistance=\dimen275 +\tikzsiblingdistance=\dimen276 +\tikz@figbox=\box59 +\tikz@figbox@bg=\box60 +\tikz@tempbox=\box61 +\tikz@tempbox@bg=\box62 +\tikztreelevel=\count291 +\tikznumberofchildren=\count292 +\tikznumberofcurrentchild=\count293 +\tikz@fig@count=\count294 + +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.cod +e.tex +File: pgfmodulematrix.code.tex 2021/05/15 v3.1.9a (3.1.9a) +\pgfmatrixcurrentrow=\count295 +\pgfmatrixcurrentcolumn=\count296 +\pgf@matrix@numberofcolumns=\count297 +) +\tikz@expandcount=\count298 + +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie +s/tikzlibrarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2021/05/15 v3.1.9a (3.1.9a) +))) +(/usr/local/texlive/2022/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie +s/tikzlibrarybackgrounds.code.tex +File: tikzlibrarybackgrounds.code.tex 2021/05/15 v3.1.9a (3.1.9a) +\pgf@layerbox@background=\box63 +\pgf@layerboxsaved@background=\box64 +) +(/usr/local/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +File: l3backend-pdftex.def 2022-02-07 L3 backend support: PDF output (pdfTeX) +\l__color_backend_stack_int=\count299 +\l__pdf_internal_box=\box65 +) +(./birkhoff_internally_6_connected.aux) +\openout1 = `birkhoff_internally_6_connected.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 20. +LaTeX Font Info: ... okay on input line 20. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 20. +LaTeX Font Info: ... okay on input line 20. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 20. +LaTeX Font Info: ... okay on input line 20. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 20. +LaTeX Font Info: ... okay on input line 20. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 20. +LaTeX Font Info: ... okay on input line 20. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 20. +LaTeX Font Info: ... okay on input line 20. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 20. +LaTeX Font Info: ... okay on input line 20. + +(/usr/local/texlive/2022/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count300 +\scratchdimen=\dimen277 +\scratchbox=\box66 +\nofMPsegments=\count301 +\nofMParguments=\count302 +\everyMPshowfont=\toks41 +\MPscratchCnt=\count303 +\MPscratchDim=\dimen278 +\MPnumerator=\count304 +\makeMPintoPDFobject=\count305 +\everyMPtoPDFconversion=\toks42 +) (/usr/local/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty +Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +85. + +(/usr/local/texlive/2022/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +*geometry* driver: auto-detecting +*geometry* detected driver: pdftex +*geometry* verbose mode - [ preamble ] result: +* driver: pdftex +* paper: +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: +* h-part:(L,W,R)=(72.26999pt, 469.75502pt, 72.26999pt) +* v-part:(T,H,B)=(72.26999pt, 650.43001pt, 72.26999pt) +* \paperwidth=614.295pt +* \paperheight=794.96999pt +* \textwidth=469.75502pt +* \textheight=650.43001pt +* \oddsidemargin=0.0pt +* \evensidemargin=0.0pt +* \topmargin=-37.0pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=11.0pt +* \footskip=30.0pt +* \marginparwidth=59.0pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Font Info: Trying to load font information for U+msa on input line 21. + +(/usr/local/texlive/2022/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Trying to load font information for U+msb on input line 21. + + +(/usr/local/texlive/2022/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) + +File: icosahedron_internally_6_connected.pdf Graphic file (type pdf) + +Package pdftex.def Info: icosahedron_internally_6_connected.pdf used on input +line 93. +(pdftex.def) Requested size: 469.75502pt x 242.38582pt. + [1 + +{/usr/local/texlive/2022/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] [2 <./i +cosahedron_internally_6_connected.pdf>] [3] (./birkhoff_internally_6_connected. +aux) ) +Here is how much of TeX's memory you used: + 13977 strings out of 478268 + 281071 string characters out of 5846347 + 548309 words of memory out of 5000000 + 31948 multiletter control sequences out of 15000+600000 + 479174 words of font info for 66 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 84i,6n,89p,440b,822s stack positions out of 10000i,1000n,20000p,200000b,200000s +{/usr/local/texlive/2022/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1 +.enc} + +Output written on birkhoff_internally_6_connected.pdf (3 pages, 161512 bytes). +PDF statistics: + 185 PDF objects out of 1000 (max. 8388607) + 52 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 18 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/papers/coloring_nested_tire_graphs/notes/birkhoff_internally_6_connected.pdf b/papers/coloring_nested_tire_graphs/notes/birkhoff_internally_6_connected.pdf new file mode 100644 index 0000000..d11f16d Binary files /dev/null and b/papers/coloring_nested_tire_graphs/notes/birkhoff_internally_6_connected.pdf differ diff --git a/papers/coloring_nested_tire_graphs/notes/birkhoff_internally_6_connected.tex b/papers/coloring_nested_tire_graphs/notes/birkhoff_internally_6_connected.tex new file mode 100644 index 0000000..c1539e8 --- /dev/null +++ b/papers/coloring_nested_tire_graphs/notes/birkhoff_internally_6_connected.tex @@ -0,0 +1,139 @@ +\documentclass[11pt]{article} +\usepackage{amsmath,amssymb,amsthm} +\usepackage{graphicx} +\usepackage{geometry} +\usepackage{booktabs} +\usepackage{tikz} +\usetikzlibrary{backgrounds} +\geometry{margin=1in} + +\title{Birkhoff's condition: minimum 4CT counterexamples are +internally $6$-connected} +\author{} +\date{} + +\newtheorem*{defn}{Definition} +\newtheorem*{thm}{Theorem} +\newtheorem*{lem}{Lemma} +\newtheorem*{rem}{Remark} + +\begin{document} +\maketitle + +\section*{The condition} + +\begin{defn}[Internally $6$-connected] +A planar triangulation $G$ is \emph{internally $6$-connected} if +every vertex cut of $G$ of size $\le 5$ either fails to separate +$G$, or is a $5$-cut whose two sides have one side equal to a +single vertex. + +Equivalently: $G$ has no separating triangle (3-cycle), no +separating quadrilateral (4-cycle), and any separating pentagon +(5-cycle) isolates exactly one vertex on one side. +\end{defn} + +\begin{thm}[Birkhoff 1913] +If a minimum $4$-colour counterexample (= minimum planar +triangulation requiring more than $4$ colours for a proper vertex +colouring) exists, it must be internally $6$-connected. +\end{thm} + +The idea behind the proof: if $G$ has a separating $k$-cycle for +$k \in \{3, 4, 5\}$ with $\ge 2$ vertices on each side, one can +$4$-colour each side independently and patch the colourings along +the cycle, contradicting minimality. Only the $5$-cycle isolating +$1$ vertex is irreducible by this argument. + +\section*{Cases at a glance} + +\begin{center} +\begin{tikzpicture}[scale=1.1] + \node[anchor=west] at (0, 4.3) {\textbf{Internally $6$-connected $=$ all four below:}}; + % case row + \node[anchor=west] at (0, 3.6) {\textbullet\, no separating $3$-cycle}; + \node[red, anchor=west] at (5.0, 3.6) {FORBIDDEN}; + \node[anchor=west] at (0, 2.9) {\textbullet\, no separating $4$-cycle}; + \node[red, anchor=west] at (5.0, 2.9) {FORBIDDEN}; + \node[anchor=west] at (0, 2.2) {\textbullet\, no separating $5$-cycle isolating $\ge 2$ on either side}; + \node[red, anchor=west] at (5.0, 2.2) {FORBIDDEN}; + \node[anchor=west] at (0, 1.5) {\textbullet\, separating $5$-cycle isolating $1$ vertex}; + \node[green!50!black, anchor=west] at (5.0, 1.5) {ALLOWED}; + % Schematic: a 5-cycle with 1 isolated vertex on one side + \begin{scope}[shift={(7, 2.7)}, scale=0.5] + \node[circle, fill=red!80!black, inner sep=2pt] (c) at (0, 0) {}; + \foreach \i in {0,...,4} { + \pgfmathsetmacro{\ang}{72*\i+90} + \node[circle, fill=blue!80!black, inner sep=1.8pt] (n\i) at (\ang:1.4) {}; + \draw[blue, thick] (c) -- (n\i); + } + \foreach \i in {0,...,4} { + \pgfmathtruncatemacro{\j}{mod(\i+1,5)} + \draw[blue, very thick] (n\i) -- (n\j); + } + \node[red] at (0, -1.95) {\small allowed}; + \end{scope} +\end{tikzpicture} +\end{center} + +The right-hand schematic shows the only permitted case: a vertex +(red) surrounded by its $5$ neighbours (blue) which form a $5$-cycle. +Removing the $5$ blue vertices isolates the red one. This is what +the next section's picture shows in the icosahedron. + +\section*{Icosahedron: the smallest example} + +The icosahedral graph (the $1$-skeleton of the regular icosahedron) +has $12$ vertices, all of degree $5$, and is a planar triangulation. +Every vertex's $5$ neighbours form a $5$-cycle (the ``link'' of the +vertex); removing them isolates the vertex. This is the only kind +of small cut: the icosahedron is internally $6$-connected. + +\begin{center} +\includegraphics[width=\textwidth]{icosahedron_internally_6_connected.pdf} +\end{center} + +On the left, the icosahedron's planar (Schlegel) embedding: the red +vertex (here vertex $0$) is removed from the graph by the $5$-cut +consisting of its $5$ blue neighbours $\{1, 5, 7, 8, 11\}$. The +blue $5$-cycle is the separator; on one side is the isolated red +vertex, on the other are the remaining $6$ vertices. This is the +allowed Birkhoff configuration. + +\section*{Why this matters for the framework} + +For our cut-tire chain DP framework, we test on graphs whose primal +triangulation is internally $6$-connected: +\begin{itemize} +\item \textbf{Icosahedron} ($V = 12$): smallest example. Its + cubic dual = dodecahedron ($V = 20$). +\item \textbf{Pentakis dodecahedron} ($V = 32$): icosahedron with + each face subdivided. Cubic dual = truncated icosahedron = + ``Buckminsterfullerene'' ($V = 60$). +\item \textbf{Holton--McKay graphs} ($V = 21$ primal triangulation, + $V = 38$ cubic dual): the smallest non-Hamiltonian + internally-$6$-connected cubic plane graphs, candidates for + a minimum counterexample in Tait's reduction even though all + are $3$-edge-colourable. +\end{itemize} + +If our framework's claims hold for all internally $6$-connected +triangulations, then a minimum $4$CT counterexample (if it existed) +would be in the framework's domain --- and any structural obstruction +the framework finds would refute the counterexample's existence. + +\section*{Sanity check} + +Sage verification (in +\texttt{experiments/draw\_internally\_6\_connected.py}): +\begin{verbatim} +Vertex 0 has 5 neighbors: [1, 5, 7, 8, 11] +Induced subgraph on neighbors: 5 edges, is_cycle=True +After removing the 5 neighbors: 2 components, sizes=[1, 6] +\end{verbatim} + +So vertex $0$'s neighbourhood is indeed a $5$-cycle, removing it +isolates vertex $0$ from the other $6$ vertices. By symmetry the +same holds at every vertex of the icosahedron. + +\end{document} diff --git a/papers/coloring_nested_tire_graphs/notes/icosahedron_internally_6_connected.pdf b/papers/coloring_nested_tire_graphs/notes/icosahedron_internally_6_connected.pdf new file mode 100644 index 0000000..1fb17ad Binary files /dev/null and b/papers/coloring_nested_tire_graphs/notes/icosahedron_internally_6_connected.pdf differ