diff --git a/papers/coloring_nested_tire_graphs/experiments/check_inner_boundary_on_holton_mckay.py b/papers/coloring_nested_tire_graphs/experiments/check_inner_boundary_on_holton_mckay.py new file mode 100644 index 0000000..c4c9495 --- /dev/null +++ b/papers/coloring_nested_tire_graphs/experiments/check_inner_boundary_on_holton_mckay.py @@ -0,0 +1,103 @@ +"""Test the tire inner-boundary three-colour conjecture +(Conjecture 1.31, conj:tire-inner-boundary-three-colour) on the six +duals of the non-Hamiltonian 38-vertex cubic plane graphs found by +Holton & McKay. + +Each Holton-McKay graph G' is a 3-connected cubic plane graph on 38 +vertices; its planar dual G is a 21-vertex triangulation. We run the +exists-source, vertex-rooted inner-boundary check on each dual. + +Run with: + sage -python experiments/check_inner_boundary_on_holton_mckay.py +""" +from __future__ import annotations + +import os +import sys +from typing import cast + +from sage.all import Graph # type: ignore[attr-defined] # pylint: disable=no-name-in-module + +HERE = os.path.dirname(os.path.abspath(__file__)) +sys.path.insert(0, HERE) + +from check_level_cycle_three_color import ( # noqa: E402 + level_sources, + test_graph, +) + + +HM_FILE = ( + "/Users/didericis/Code/math-research/papers/" + "even_level_graph_generators/experiments/nonham38m4.pc" +) + + +def parse_planar_code_to_sage(path: str) -> list[Graph]: + """Parse McKay's planar_code file -> list of Sage Graphs.""" + with open(path, "rb") as f: + data = f.read() + header = b">>planar_code<<" + assert data.startswith(header), data[:20] + pos = len(header) + out: list[Graph] = [] + while pos < len(data): + n = data[pos] + pos += 1 + edges = set() + for v in range(n): + while True: + w = data[pos] + pos += 1 + if w == 0: + break + edges.add(frozenset((v, w - 1))) + g = Graph([tuple(e) for e in edges], multiedges=False, loops=False) + g.is_planar(set_embedding=True) + out.append(g) + return out + + +def main() -> int: + hm = parse_planar_code_to_sage(HM_FILE) + print(f"Loaded {len(hm)} Holton-McKay graphs from {HM_FILE}\n") + + all_pass = True + for i, gprime in enumerate(hm, start=1): + # Dual: triangulation of the sphere. Sage's planar_dual requires a + # plane embedding; gprime already has one set above. + dual = cast(Graph, gprime.planar_dual()) + n = dual.order() + e = dual.size() + print(f"=== HM #{i}: G' has {gprime.order()} vertices, " + f"{gprime.size()} edges; dual has n={n}, m={e} ===") + # Sanity: triangulation has 3n - 6 edges. + if e != 3 * n - 6: + print(f" WARNING: dual is not a triangulation (m != 3n-6)") + + sources = list(level_sources(dual, "vertex", None)) + passed, complete, checked = test_graph( + dual, + sources, + max_colorings=None, + stop_first=True, + quantifier="exists-source", + restriction="inner-boundary", + ) + status = "PASS" if (passed and complete) else ( + "UNKNOWN" if not complete else "FAIL" + ) + print(f" {status}: sources_tried={checked}/{len(sources)}\n") + if not (passed and complete): + all_pass = False + + print("---") + print( + "All Holton-McKay duals satisfy the inner-boundary conjecture: " + f"{all_pass}" + ) + return 0 if all_pass else 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/papers/coloring_nested_tire_graphs/paper.fdb_latexmk b/papers/coloring_nested_tire_graphs/paper.fdb_latexmk index aa0767a..5d469ed 100644 --- a/papers/coloring_nested_tire_graphs/paper.fdb_latexmk +++ b/papers/coloring_nested_tire_graphs/paper.fdb_latexmk @@ -1,5 +1,5 @@ # Fdb version 3 -["pdflatex"] 1780341904 "paper.tex" "paper.pdf" "paper" 1780341906 +["pdflatex"] 1780361150 "paper.tex" "paper.pdf" "paper" 1780361151 "/usr/local/texlive/2022/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 "" "/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1246382020 1004 54797486969f23fa377b128694d548df "" "/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" 1246382020 988 bdf658c3bfc2d96d3c8b02cfc1c94c20 "" @@ -146,8 +146,8 @@ "fig_tire_example.png" 1779857443 104494 8f9ce26b469b4236b8b67829f73a5faa "" "fig_tire_tree_decomposition.png" 1780290287 372371 1b44f5a3e9f637d78ae951b1f2e3a89d "" "fig_universal_level_cycle_counterexample.png" 1780325973 75145 08f600be4e05c11d702bee45996ca222 "" - "paper.aux" 1780341906 8992 aa580f9d36e55b0f1c12ef76f2e58090 "pdflatex" - "paper.tex" 1780341827 80807 9fc330654feb3dd6b936274a0cc57040 "" + "paper.aux" 1780361151 8992 aa580f9d36e55b0f1c12ef76f2e58090 "pdflatex" + "paper.tex" 1780361128 81166 412ad5cc268416100823025ff610b3f4 "" (generated) "paper.aux" "paper.log" diff --git a/papers/coloring_nested_tire_graphs/paper.log b/papers/coloring_nested_tire_graphs/paper.log index e9c1ba0..b19dbfa 100644 --- a/papers/coloring_nested_tire_graphs/paper.log +++ b/papers/coloring_nested_tire_graphs/paper.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex 2022.10.5) 1 JUN 2026 15:25 +This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex 2022.10.5) 1 JUN 2026 20:45 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -542,7 +542,7 @@ Package pdftex.def Info: fig_universal_level_cycle_counterexample.png used on input line 1303. (pdftex.def) Requested size: 280.79956pt x 156.91663pt. [17 <./fig_universal_level_cycle_counterexample.png>] [18] [19] [20] -Overfull \hbox (1.78508pt too wide) in paragraph at lines 1644--1646 +Overfull \hbox (1.78508pt too wide) in paragraph at lines 1651--1653 []\OT1/cmr/m/n/10 Length lower bound (Birkhoff). \OT1/cmr/m/it/10 Ev-ery non-tr ivial seam $\OML/cmm/m/it/10 C$ \OT1/cmr/m/it/10 of $\OML/cmm/m/it/10 G$ \OT1/c mr/m/it/10 has $\OMS/cmsy/m/n/10 j\OML/cmm/m/it/10 V\OT1/cmr/m/n/10 (\OML/cmm/m @@ -584,7 +584,7 @@ ve/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmti8.pfb> -Output written on paper.pdf (22 pages, 1022633 bytes). +Output written on paper.pdf (22 pages, 1022921 bytes). PDF statistics: 218 PDF objects out of 1000 (max. 8388607) 132 compressed objects within 2 object streams diff --git a/papers/coloring_nested_tire_graphs/paper.pdf b/papers/coloring_nested_tire_graphs/paper.pdf index f6d1bce..eb61f0c 100644 Binary files a/papers/coloring_nested_tire_graphs/paper.pdf and b/papers/coloring_nested_tire_graphs/paper.pdf differ diff --git a/papers/coloring_nested_tire_graphs/paper.tex b/papers/coloring_nested_tire_graphs/paper.tex index aeec5e2..67eb695 100644 --- a/papers/coloring_nested_tire_graphs/paper.tex +++ b/papers/coloring_nested_tire_graphs/paper.tex @@ -1540,6 +1540,13 @@ conjecture.} \label{tab:inner-boundary-three-colour-c5} \end{table} +We also re-ran the inner-boundary check on the six dual triangulations +of the Holton--McKay graphs and found a vertex source witnessing the +conjecture for each. In four of the six cases the first source tried +already succeeded; in the remaining two, one or two vertex sources +exhausted all $4320$ proper $4$-colourings before a witnessing source +was found. + Unlike the small-$n$ census, where the first source and colouring tried typically already witness the restriction, the source choice is genuinely active in the $5$-connected slice: many vertex sources fail