Test inner-boundary conjecture on Holton-McKay duals
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+103
@@ -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())
|
||||
@@ -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"
|
||||
|
||||
@@ -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></usr/local/texlive
|
||||
/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb></usr/local/texlive/
|
||||
2022/texmf-dist/fonts/type1/public/amsfonts/symbols/msam10.pfb></usr/local/texl
|
||||
ive/2022/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.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
|
||||
|
||||
Binary file not shown.
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user