diff --git a/papers/plane_diamond_coloring/counterexample.png b/papers/plane_diamond_coloring/counterexample.png index ec37378..d57c692 100755 Binary files a/papers/plane_diamond_coloring/counterexample.png and b/papers/plane_diamond_coloring/counterexample.png differ diff --git a/papers/plane_diamond_coloring/paper.aux b/papers/plane_diamond_coloring/paper.aux index 0562afe..c89260c 100644 --- a/papers/plane_diamond_coloring/paper.aux +++ b/papers/plane_diamond_coloring/paper.aux @@ -13,7 +13,7 @@ \newlabel{tocindent1}{17.77782pt} \newlabel{tocindent2}{0pt} \newlabel{tocindent3}{0pt} -\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces A maximal planar graph on $16$ vertices with no plane diamond coloring.}}{3}{}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces The unique smallest maximal planar graph with no plane diamond coloring; it has $13$ vertices and degree sequence $(6,6,6,6,6,6,6,5,5,4,4,3,3)$.}}{3}{}\protected@file@percent } \newlabel{fig:counterexample}{{1}{3}} \@writefile{toc}{\contentsline {section}{\tocsection {}{}{References}}{3}{}\protected@file@percent } \gdef \@abspage@last{3} diff --git a/papers/plane_diamond_coloring/paper.fdb_latexmk b/papers/plane_diamond_coloring/paper.fdb_latexmk index 35d370d..98dc15e 100644 --- a/papers/plane_diamond_coloring/paper.fdb_latexmk +++ b/papers/plane_diamond_coloring/paper.fdb_latexmk @@ -1,5 +1,5 @@ # Fdb version 3 -["pdflatex"] 1778344761 "paper.tex" "paper.pdf" "paper" 1778344761 +["pdflatex"] 1778345508 "paper.tex" "paper.pdf" "paper" 1778345509 "/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 "" @@ -62,9 +62,9 @@ "/usr/local/texlive/2022/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1647878959 4410336 7d30a02e9fa9a16d7d1f8d037ba69641 "" "/usr/local/texlive/2022/texmf-var/web2c/pdftex/pdflatex.fmt" 1665017617 2826443 7e98410c533054b636c6470db83a27bc "" "/usr/local/texlive/2022/texmf.cnf" 1647878952 577 209b46be99c9075fd74d4c0369380e8c "" - "counterexample.png" 1778344642 38090 f4e4209c691fb5c14386207f1bb29f68 "" - "paper.aux" 1778344761 957 a638007d0f0ce9d55a02d7823fdbddc2 "pdflatex" - "paper.tex" 1778344755 9964 4b14437133e6c4b02a0c45d6a8579fa8 "" + "counterexample.png" 1778345471 31680 49acd944c061e194d20aac1d5cd8ef86 "" + "paper.aux" 1778345509 1030 d76673a7c450eca67268187399b24cac "pdflatex" + "paper.tex" 1778345503 10589 51592aa33a281bbb7d4895e76f9e26b3 "" (generated) "paper.aux" "paper.log" diff --git a/papers/plane_diamond_coloring/paper.log b/papers/plane_diamond_coloring/paper.log index 0b57add..5912c64 100644 --- a/papers/plane_diamond_coloring/paper.log +++ b/papers/plane_diamond_coloring/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) 9 MAY 2026 12:39 +This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex 2022.10.5) 9 MAY 2026 12:51 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -193,51 +193,39 @@ File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv e )) [1{/usr/local/texlive/2022/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] -LaTeX Font Info: Trying to load font information for OMS+cmtt on input line -160. -LaTeX Font Info: No file OMScmtt.fd. on input line 160. - - -LaTeX Font Warning: Font shape `OMS/cmtt/m/n' undefined -(Font) using `OMS/cmsy/m/n' instead -(Font) for symbol `textbraceleft' on input line 160. - [2] File: counterexample.png Graphic file (type png) -Package pdftex.def Info: counterexample.png used on input line 181. +Package pdftex.def Info: counterexample.png used on input line 182. (pdftex.def) Requested size: 161.9989pt x 162.34474pt. - [3 <./counterexample.png>] (./paper.aux) - -LaTeX Font Warning: Some font shapes were not available, defaults substituted. - - ) + [3 <./counterexample.png>] (./paper.aux) ) Here is how much of TeX's memory you used: - 2684 strings out of 478268 - 38809 string characters out of 5846347 + 2672 strings out of 478268 + 38651 string characters out of 5846347 343139 words of memory out of 5000000 - 20726 multiletter control sequences out of 15000+600000 + 20716 multiletter control sequences out of 15000+600000 477036 words of font info for 59 fonts, out of 8000000 for 9000 1302 hyphenation exceptions out of 8191 69i,8n,76p,847b,344s stack positions out of 10000i,1000n,20000p,200000b,200000s - -< -/usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb> -Output written on paper.pdf (3 pages, 236597 bytes). + +Output written on paper.pdf (3 pages, 233959 bytes). PDF statistics: 97 PDF objects out of 1000 (max. 8388607) 57 compressed objects within 1 object stream diff --git a/papers/plane_diamond_coloring/paper.pdf b/papers/plane_diamond_coloring/paper.pdf index a2b529c..cc7aa99 100644 Binary files a/papers/plane_diamond_coloring/paper.pdf and b/papers/plane_diamond_coloring/paper.pdf differ diff --git a/papers/plane_diamond_coloring/paper.tex b/papers/plane_diamond_coloring/paper.tex index d2876b3..37d0c2b 100644 --- a/papers/plane_diamond_coloring/paper.tex +++ b/papers/plane_diamond_coloring/paper.tex @@ -151,35 +151,36 @@ Every maximal planar graph $G$ has a plane diamond coloring. \end{conjecture} \begin{theorem} -Conjecture 2.5 is false. +Conjecture 2.5 is false. Moreover, the smallest counterexample has order $13$, and is unique up to isomorphism among triangulations of order at most $13$. \end{theorem} \begin{proof} -Let $G$ be the maximal planar graph on $16$ vertices with graph6 string\footnote{We use the standard graph6 encoding of McKay; see \cite{mckaygraph6}.} +Let $G$ be the maximal planar graph on $13$ vertices with graph6 string\footnote{We use the standard graph6 encoding of McKay; see \cite{mckaygraph6}.} \[ - \texttt{O???IAGKEBEQQYHdplW\{n} + \texttt{LQhO?SFIwnTYTi} \] shown in Figure~\ref{fig:counterexample}. Equivalently, $G$ has edge set \begin{align*} -&\{0,8\}, \{0,10\}, \{0,14\}, \{1,7\}, \{1,10\}, \{1,12\}, \{2,9\}, \{2,11\}, \{2,13\}, \\ -&\{3,9\}, \{3,11\}, \{3,15\}, \{4,8\}, \{4,12\}, \{4,14\}, \{4,15\}, \{5,6\}, \{5,13\}, \\ -&\{5,14\}, \{5,15\}, \{6,11\}, \{6,13\}, \{6,15\}, \{7,10\}, \{7,12\}, \{7,14\}, \{8,10\}, \\ -&\{8,12\}, \{8,14\}, \{9,11\}, \{9,13\}, \{9,15\}, \{10,12\}, \{10,14\}, \{11,13\}, \\ -&\{11,15\}, \{12,13\}, \{12,14\}, \{12,15\}, \{13,14\}, \{13,15\}, \{14,15\}. +&\{0,2\}, \{0,4\}, \{0,11\}, \{1,3\}, \{1,5\}, \{1,12\}, \{2,4\}, \{2,9\}, \{2,11\}, \\ +&\{3,5\}, \{3,10\}, \{3,12\}, \{4,7\}, \{4,9\}, \{4,11\}, \{5,8\}, \{5,10\}, \{5,12\}, \\ +&\{6,7\}, \{6,8\}, \{6,9\}, \{6,10\}, \{6,11\}, \{6,12\}, \{7,8\}, \{7,9\}, \{7,10\}, \\ +&\{7,11\}, \{8,9\}, \{8,10\}, \{8,12\}, \{9,11\}, \{10,12\}. \end{align*} -We have $|V(G)| = 16$ and $|E(G)| = 42 = 3 \cdot 16 - 6$, so $G$ is a triangulation. +We have $|V(G)| = 13$ and $|E(G)| = 33 = 3 \cdot 13 - 6$, so $G$ is a triangulation. By Proposition 2.4, it suffices to verify that for every choice of root $u \in V(G)$ and every pair of distinct colors $c_a, c_b$, no proper $4$-coloring $C$ of $G$ satisfies $C^{-1}(c_a) \subseteq \bigcup_{i \text{ even}} L_i^{(u)}$ and $C^{-1}(c_b) \subseteq \bigcup_{i \text{ odd}} L_i^{(u)}$, where $\{L_i^{(u)}\}$ denotes the distance partition from $u$. For a fixed root $u$, the existence of such a $4$-coloring $C$ together with colors $c_a, c_b$ is equivalent to $4$-colorability of the auxiliary graph $H_u$ obtained from $G$ by adjoining two new vertices $\alpha, \beta$, joining $\alpha$ to every vertex in $\bigcup_{i \text{ odd}} L_i^{(u)}$, joining $\beta$ to every vertex in $\bigcup_{i \text{ even}} L_i^{(u)}$, and adding the edge $\{\alpha, \beta\}$. Indeed, in any proper $4$-coloring of $H_u$ the colors of $\alpha$ and $\beta$ are distinct and absent from the odd-parity and even-parity layers of $G$ respectively, yielding the required colors $c_a := C(\alpha)$ and $c_b := C(\beta)$. Conversely, given $C, c_a, c_b$ as in the proposition, setting $C(\alpha) := c_a$ and $C(\beta) := c_b$ extends $C$ to a proper $4$-coloring of $H_u$. A direct computation (using \texttt{Sage}'s \texttt{chromatic\_number}) verifies that $\chi(H_u) > 4$ for every $u \in V(G)$, so $G$ admits no plane diamond coloring. + +For minimality and uniqueness, we exhaustively enumerated every maximal planar graph of order at most $13$ using \texttt{Sage}'s \texttt{graphs.planar\_graphs} generator (with \texttt{minimum\_connectivity=3} and \texttt{maximum\_face\_size=3}). The numbers of triangulations $1, 1, 2, 5, 14, 50, 233, 1249, 7595, 49566$ at orders $4, 5, \dots, 13$ respectively (matching OEIS A000109) were each tested for the existence of a plane diamond coloring, and exactly one --- the graph $G$ above, occurring at order $13$ --- was found to lack one. \end{proof} \begin{figure}[htbp] \centering \includegraphics[width=0.45\textwidth]{counterexample.png} - \caption{A maximal planar graph on $16$ vertices with no plane diamond coloring.} + \caption{The unique smallest maximal planar graph with no plane diamond coloring; it has $13$ vertices and degree sequence $(6,6,6,6,6,6,6,5,5,4,4,3,3)$.} \label{fig:counterexample} \end{figure} diff --git a/plane_diamond_coloring.py b/plane_diamond_coloring.py index 988c8b2..b64d803 100644 --- a/plane_diamond_coloring.py +++ b/plane_diamond_coloring.py @@ -62,13 +62,40 @@ def search_counterexample(n: int, num_trials: int) -> Graph | None: return None +def search_counterexample_comprehensive(max_order: int, min_order: int = 4) -> list[Graph]: + """ + Iterate through every maximal planar graph of order in [min_order, max_order] + and return all those without a plane diamond coloring. + """ + counterexamples: list[Graph] = [] + for n in range(min_order, max_order + 1): + checked = 0 + for g in graphs.planar_graphs(n, minimum_connectivity=3, maximum_face_size=3): + checked += 1 + if not has_plane_diamond_coloring(g): + print(f"Counterexample at order {n} (graph #{checked}): {g.graph6_string()}") + counterexamples.append(g) + if checked % 100 == 0: + print(f" order {n}: checked {checked} graphs, {len(counterexamples)} counterexamples so far") + print(f"order {n} done: {checked} triangulations checked") + return counterexamples + + if __name__ == "__main__": import sys - n = int(sys.argv[1]) if len(sys.argv) > 1 else 12 - num_trials = int(sys.argv[2]) if len(sys.argv) > 2 else 100 - counterexample = search_counterexample(n, num_trials) - if counterexample is None: - print(f"No counterexample found in {num_trials} random triangulations of order {n}") + if len(sys.argv) > 1 and sys.argv[1] == "comprehensive": + max_order = int(sys.argv[2]) if len(sys.argv) > 2 else 10 + min_order = int(sys.argv[3]) if len(sys.argv) > 3 else 4 + counterexamples = search_counterexample_comprehensive(max_order, min_order) + print(f"Found {len(counterexamples)} counterexamples in orders {min_order}..{max_order}") + for g in counterexamples: + canonize_and_save_graph(g) else: - canonical, graph_dir = canonize_and_save_graph(counterexample) - print(f"Counterexample saved to {graph_dir}") + n = int(sys.argv[1]) if len(sys.argv) > 1 else 12 + num_trials = int(sys.argv[2]) if len(sys.argv) > 2 else 100 + counterexample = search_counterexample(n, num_trials) + if counterexample is None: + print(f"No counterexample found in {num_trials} random triangulations of order {n}") + else: + canonical, graph_dir = canonize_and_save_graph(counterexample) + print(f"Counterexample saved to {graph_dir}")