diff --git a/papers/face_monochromatic_pairs/experiments/draw_lemma_kempe_heawood.py b/papers/face_monochromatic_pairs/experiments/draw_lemma_kempe_heawood.py new file mode 100644 index 0000000..bb9ece1 --- /dev/null +++ b/papers/face_monochromatic_pairs/experiments/draw_lemma_kempe_heawood.py @@ -0,0 +1,212 @@ +"""Two-panel illustration of the proof of Lemma 5.2 +(Heawood constant on Kempe cycles through merged). + +Each panel shows two consecutive vertices v_0, v_1 on the {a, b}-Kempe +cycle K, joined by an edge e, with h(v_0) = +1 (CW colour order (a, b, c)) +and h(v_1) = -1 (CW colour order (a, c, b)). + +Left panel (Case A): phi(e) = a. The two b-edges at v_0, v_1 both lie on + the same face F = F_R (right side of e); they form + the witness (e_1, e_2). + +Right panel (Case B): phi(e) = b. The two a-edges at v_0, v_1 both lie + on the same face F = F_L (left side of e); they + form the witness (e_1, e_2). + +Produces fig_lemma_kempe_heawood.png. +""" +import math +import os +import matplotlib.pyplot as plt +from matplotlib.patches import Polygon + +OUT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + +DARK = '#374151' +GRAY = '#9ca3af' + +# Colour code matching earlier figures: a=red/orange, b=blue, c=green. +COL_A = '#ea580c' # 'a' +COL_B = '#2563eb' # 'b' +COL_C = '#16a34a' # 'c' + +FACE_FILL = '#fef3c7' + +V0 = (-1.6, 0.0) +V1 = ( 1.6, 0.0) + + +def edge_at(v, angle_deg, length=1.4): + a = math.radians(angle_deg) + return (v[0] + length * math.cos(a), v[1] + length * math.sin(a)) + + +def draw_edge(ax, p, q, color, lw=2.6, zorder=2): + ax.plot([p[0], q[0]], [p[1], q[1]], color=color, lw=lw, + solid_capstyle='round', zorder=zorder) + + +def draw_vertex(ax, p, color=DARK, size=110, zorder=4): + ax.scatter([p[0]], [p[1]], s=size, color=color, zorder=zorder) + + +def draw_stub(ax, p, color=DARK, size=45, zorder=4): + ax.scatter([p[0]], [p[1]], s=size, color=color, zorder=zorder) + + +def label_text(ax, p, text, color=DARK, fontsize=12, dx=0, dy=0, + weight='normal'): + ax.text(p[0] + dx, p[1] + dy, text, ha='center', va='center', + fontsize=fontsize, color=color, zorder=6, weight=weight, + bbox=dict(boxstyle='round,pad=0.18', facecolor='white', + edgecolor='none', alpha=0.85)) + + +def label_edge_midpoint(ax, p, q, text, color, fontsize=11, offset=(0, 0)): + mid = ((p[0] + q[0]) / 2 + offset[0], + (p[1] + q[1]) / 2 + offset[1]) + ax.text(mid[0], mid[1], text, ha='center', va='center', + fontsize=fontsize, color=color, zorder=6, + bbox=dict(boxstyle='round,pad=0.16', facecolor='white', + edgecolor='none', alpha=0.9)) + + +def shade_face(ax, pts, color=FACE_FILL, alpha=0.7): + poly = Polygon(pts, facecolor=color, edgecolor='none', + alpha=alpha, zorder=1) + ax.add_patch(poly) + + +def panel_case_A(ax): + # phi(e) = a. v_0 has CW order (a, b, c) starting from e at 0 deg: + # e (a) at 0 deg, b-edge at 300 deg (southeast), c-edge at 120 deg + # (northwest). + # v_1 has CW order (a, c, b) starting from e at 180 deg: + # e (a) at 180 deg, c-edge at 60 deg (northeast), b-edge at 240 deg + # (south-southwest). + e_color = COL_A + # Other endpoints (stubs) of the non-e edges. + b0 = edge_at(V0, -60) # b-edge at v_0, southeast + c0 = edge_at(V0, 120) # c-edge at v_0, northwest + c1 = edge_at(V1, 60) # c-edge at v_1, northeast + b1 = edge_at(V1, 240) # b-edge at v_1, southwest + + # Shade F_R = south face: vertices roughly (b0, V0, V1, b1) plus a + # closing polygon below. + shade_face(ax, [V0, V1, b1, (b1[0] + 0.2, b1[1] - 0.6), + (b0[0] - 0.2, b0[1] - 0.6), b0]) + label_text(ax, ((V0[0] + V1[0]) / 2, -1.6), 'face $F$', color=DARK, + fontsize=12, weight='bold') + + # Edges + draw_edge(ax, V0, V1, e_color) # e (color a) + draw_edge(ax, V0, b0, COL_B) # b-edge at v_0 + draw_edge(ax, V0, c0, COL_C) # c-edge at v_0 + draw_edge(ax, V1, c1, COL_C) # c-edge at v_1 + draw_edge(ax, V1, b1, COL_B) # b-edge at v_1 + + # Vertices + draw_vertex(ax, V0, DARK) + draw_vertex(ax, V1, DARK) + draw_stub(ax, b0); draw_stub(ax, c0) + draw_stub(ax, c1); draw_stub(ax, b1) + + # Labels + label_text(ax, V0, '$v_0$', dy=0.28, fontsize=12) + label_text(ax, (V0[0] - 0.05, V0[1] - 0.28), '$h_\\varphi\\!=\\!+1$', + color=DARK, fontsize=9) + label_text(ax, V1, '$v_1$', dy=0.28, fontsize=12) + label_text(ax, (V1[0] + 0.05, V1[1] - 0.28), '$h_\\varphi\\!=\\!-1$', + color=DARK, fontsize=9) + + label_edge_midpoint(ax, V0, V1, '$e\\!=\\!a$', color=COL_A, + offset=(0, 0.16)) + label_edge_midpoint(ax, V0, b0, '$e_1\\!=\\!b$', color=COL_B, + offset=(-0.05, 0.05)) + label_edge_midpoint(ax, V0, c0, '$c$', color=COL_C, + offset=(0.05, 0)) + label_edge_midpoint(ax, V1, c1, '$c$', color=COL_C, + offset=(-0.05, 0)) + label_edge_midpoint(ax, V1, b1, '$e_2\\!=\\!b$', color=COL_B, + offset=(0.05, 0.05)) + + ax.set_title('Case A: $\\varphi(e) = a$. The two $b$-edges' + ' at $v_0, v_1$ lie on $\\partial F$', + fontsize=11, color=DARK, pad=10, fontweight='bold') + + +def panel_case_B(ax): + # phi(e) = b. v_0 has CW order (a, b, c) with b = e at 0 deg: + # a-edge at 60 deg (northeast), e (b) at 0 deg, c-edge at 300 deg + # (southeast). + # v_1 has CW order (a, c, b) with b = e at 180 deg: + # a-edge at 60 deg (northeast), c-edge at 300 deg (southeast), e + # (b) at 180 deg. + e_color = COL_B + a0 = edge_at(V0, 60) # a-edge at v_0, northeast + c0 = edge_at(V0, -60) # c-edge at v_0, southeast + a1 = edge_at(V1, 120) # a-edge at v_1, northwest + c1 = edge_at(V1, 240) # c-edge at v_1, southwest + + # Shade F_L = north face: a0, V0, V1, a1, plus a closing polygon above. + shade_face(ax, [V0, a0, (a0[0] - 0.2, a0[1] + 0.6), + (a1[0] + 0.2, a1[1] + 0.6), a1, V1]) + label_text(ax, ((V0[0] + V1[0]) / 2, 1.6), 'face $F$', color=DARK, + fontsize=12, weight='bold') + + # Edges + draw_edge(ax, V0, V1, e_color) + draw_edge(ax, V0, a0, COL_A) + draw_edge(ax, V0, c0, COL_C) + draw_edge(ax, V1, a1, COL_A) + draw_edge(ax, V1, c1, COL_C) + + # Vertices + draw_vertex(ax, V0, DARK) + draw_vertex(ax, V1, DARK) + draw_stub(ax, a0); draw_stub(ax, c0) + draw_stub(ax, a1); draw_stub(ax, c1) + + # Labels + label_text(ax, V0, '$v_0$', dy=0.28, fontsize=12) + label_text(ax, (V0[0] - 0.05, V0[1] - 0.28), '$h_\\varphi\\!=\\!+1$', + color=DARK, fontsize=9) + label_text(ax, V1, '$v_1$', dy=0.28, fontsize=12) + label_text(ax, (V1[0] + 0.05, V1[1] - 0.28), '$h_\\varphi\\!=\\!-1$', + color=DARK, fontsize=9) + + label_edge_midpoint(ax, V0, V1, '$e\\!=\\!b$', color=COL_B, + offset=(0, -0.18)) + label_edge_midpoint(ax, V0, a0, '$e_1\\!=\\!a$', color=COL_A, + offset=(-0.05, 0)) + label_edge_midpoint(ax, V0, c0, '$c$', color=COL_C, + offset=(0.05, 0)) + label_edge_midpoint(ax, V1, a1, '$e_2\\!=\\!a$', color=COL_A, + offset=(0.05, 0)) + label_edge_midpoint(ax, V1, c1, '$c$', color=COL_C, + offset=(-0.05, 0)) + + ax.set_title('Case B: $\\varphi(e) = b$. The two $a$-edges' + ' at $v_0, v_1$ lie on $\\partial F$', + fontsize=11, color=DARK, pad=10, fontweight='bold') + + +def main(): + plt.rcParams['text.usetex'] = False # keep matplotlib defaults + fig, axes = plt.subplots(1, 2, figsize=(13, 5.5)) + for ax in axes: + ax.set_xlim(-3.5, 3.5) + ax.set_ylim(-2.4, 2.4) + ax.set_aspect('equal') + ax.axis('off') + panel_case_A(axes[0]) + panel_case_B(axes[1]) + plt.subplots_adjust(left=0.02, right=0.98, top=0.90, bottom=0.04, + wspace=0.05) + out = os.path.join(OUT_DIR, 'fig_lemma_kempe_heawood.png') + plt.savefig(out, dpi=180, bbox_inches='tight') + print(f"wrote {out}") + + +if __name__ == '__main__': + main() diff --git a/papers/face_monochromatic_pairs/fig_lemma_kempe_heawood.png b/papers/face_monochromatic_pairs/fig_lemma_kempe_heawood.png new file mode 100644 index 0000000..015af9a Binary files /dev/null and b/papers/face_monochromatic_pairs/fig_lemma_kempe_heawood.png differ diff --git a/papers/face_monochromatic_pairs/paper.aux b/papers/face_monochromatic_pairs/paper.aux index 3501d07..9f5245e 100644 --- a/papers/face_monochromatic_pairs/paper.aux +++ b/papers/face_monochromatic_pairs/paper.aux @@ -11,41 +11,47 @@ \newlabel{sec:minimal}{{2}{2}} \newlabel{lem:triangulate}{{2.1}{2}} \newlabel{def:minimal}{{2.2}{2}} +\citation{Heawood1898} \newlabel{lem:mindeg}{{2.4}{3}} \@writefile{toc}{\contentsline {section}{\tocsection {}{3}{The reduced dual}}{3}{}\protected@file@percent } \newlabel{sec:reduced-dual}{{3}{3}} -\newlabel{def:reduced-dual}{{3.1}{3}} -\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces The four steps of Definition\nonbreakingspace 3.1\hbox {}, illustrated on $G' = $ the dodecahedron (dual of the icosahedron) with $F_v$ the inner pentagon and $i = 0$. Top left: delete the five boundary vertices of $F_v$, leaving five degree-$2$ vertices on a new face $F$. Top right: order them clockwise as $A_0,\dots ,A_4$. Bottom left: add $v_n$ joined to $A_0, A_1, A_2$. Bottom right: add the chord $A_3 A_4$, giving the cubic plane graph $\setbox \z@ \hbox {\mathsurround \z@ $\textstyle G$}\mathaccent "0362{G}'_{v,0}$.}}{4}{}\protected@file@percent } -\newlabel{fig:reduced-dual-steps}{{1}{4}} -\newlabel{def:edge-names}{{3.3}{4}} -\newlabel{lem:pentagonal-externals}{{3.4}{5}} -\newlabel{lem:chord-apex}{{3.6}{6}} -\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces The proof of Lemma\nonbreakingspace 3.6\hbox {}, illustrated for $i = 0$ on $G' = $ the dodecahedron. Top: under the assumption $W \neq Y$, propriety at $v_n$ forces $W \in \{X, Z\}$. Bottom: in either case the lift to $G'$ has externals satisfying the hypothesis of Lemma\nonbreakingspace 3.4\hbox {}, which colours $\partial F_v$ to extend $\psi $ to a proper $3$-edge-colouring of $G'$.}}{7}{}\protected@file@percent } +\newlabel{def:heawood-number}{{3.1}{3}} +\newlabel{def:reduced-dual}{{3.2}{4}} +\newlabel{def:edge-names}{{3.4}{4}} +\newlabel{lem:pentagonal-externals}{{3.5}{4}} +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces The four steps of Definition\nonbreakingspace 3.2\hbox {}, illustrated on $G' = $ the dodecahedron (dual of the icosahedron) with $F_v$ the inner pentagon and $i = 0$. Top left: delete the five boundary vertices of $F_v$, leaving five degree-$2$ vertices on a new face $F$. Top right: order them clockwise as $A_0,\dots ,A_4$. Bottom left: add $v_n$ joined to $A_0, A_1, A_2$. Bottom right: add the chord $A_3 A_4$, giving the cubic plane graph $\setbox \z@ \hbox {\mathsurround \z@ $\textstyle G$}\mathaccent "0362{G}'_{v,0}$.}}{5}{}\protected@file@percent } +\newlabel{fig:reduced-dual-steps}{{1}{5}} +\newlabel{lem:chord-apex}{{3.7}{6}} +\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces The proof of Lemma\nonbreakingspace 3.7\hbox {}, illustrated for $i = 0$ on $G' = $ the dodecahedron. Top: under the assumption $W \neq Y$, propriety at $v_n$ forces $W \in \{X, Z\}$. Bottom: in either case the lift to $G'$ has externals satisfying the hypothesis of Lemma\nonbreakingspace 3.5\hbox {}, which colours $\partial F_v$ to extend $\psi $ to a proper $3$-edge-colouring of $G'$.}}{7}{}\protected@file@percent } \newlabel{fig:chord-apex-proof}{{2}{7}} -\newlabel{lem:kempe-spike}{{3.7}{7}} +\newlabel{lem:kempe-spike}{{3.8}{8}} \@writefile{toc}{\contentsline {section}{\tocsection {}{4}{Edge suppression}}{8}{}\protected@file@percent } \newlabel{sec:edge-suppression}{{4}{8}} \newlabel{def:edge-suppression}{{4.1}{8}} -\newlabel{thm:edge-suppression-4face}{{4.2}{8}} \@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Edge suppression (Definition\nonbreakingspace 4.1\hbox {}). Left: a fragment of a cubic plane graph with the suppressed edge $e = uv$ highlighted in red. Middle: deleting $e$ leaves $u$ and $v$ of degree\nonbreakingspace $2$. Right: smoothing $u$ and $v$ replaces each pair of incident edges by a single new edge, removing $u, v$ and giving a cubic plane graph again.}}{9}{}\protected@file@percent } \newlabel{fig:edge-suppression}{{3}{9}} -\@writefile{toc}{\contentsline {section}{\tocsection {}{5}{The face-monochromatic-pair conjecture and the Four Colour Theorem}}{9}{}\protected@file@percent } -\newlabel{sec:toward-4ct}{{5}{9}} -\newlabel{conj:face-monochromatic-pair-on-merged-kempe-cycle}{{5.1}{9}} +\newlabel{thm:edge-suppression-4face}{{4.2}{9}} \@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces The recolouring used in the proof of Theorem\nonbreakingspace 4.2\hbox {}. Left: the $4$-face $f$ of $H$ under $\varphi $, with the forced colours $\varphi (e_0) = a$, $\varphi (e_1) = b$, $\varphi (e_2) = \varphi (e_3) = c$, $\varphi (w_0) = \varphi (w_1) = b$, and $\varphi (w_2) = \varphi (w_3) = a$. Right: the suppressed graph $H'$ under $\varphi '$. The smoothed-in edges $e_2', e_3'$ inherit the colour $b$ from $w_0, w_1$, and $e_1$ is recoloured from $b$ to $c$; every edge outside the face neighbourhood keeps its $\varphi $-colour (dotted in red: the five edges of $H$ removed by the suppression).}}{10}{}\protected@file@percent } \newlabel{fig:thm-edge-suppression-4face}{{4}{10}} -\newlabel{rem:conj-3-6-empirical}{{5.2}{10}} -\newlabel{conj:face-monochromatic-pair-strengthened}{{5.3}{11}} -\newlabel{rem:conj-3-8-empirical}{{5.4}{11}} -\bibcite{AH77a}{1} -\bibcite{AHK77}{2} -\bibcite{RSST97}{3} -\bibcite{Gonthier08}{4} +\@writefile{toc}{\contentsline {section}{\tocsection {}{5}{The face-monochromatic-pair conjecture and the Four Colour Theorem}}{10}{}\protected@file@percent } +\newlabel{sec:toward-4ct}{{5}{10}} +\newlabel{conj:face-monochromatic-pair-on-merged-kempe-cycle}{{5.1}{10}} +\newlabel{lem:kempe-heawood-constant}{{5.2}{11}} +\newlabel{rem:conj-3-6-empirical}{{5.3}{11}} +\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces The two cases in the proof of Lemma\nonbreakingspace 5.2\hbox {}. Vertices $v_0, v_1$ are consecutive on the $\{a, b\}$-Kempe cycle $K$, joined by an edge $e$, with $h_\varphi (v_0) = +1$ (clockwise colour order $(a, b, c)$) and $h_\varphi (v_1) = -1$ (clockwise order $(a, c, b)$). \emph {Left (Case\nonbreakingspace A):} when $\varphi (e) = a$, the two $b$-edges at $v_0, v_1$ lie on the same face $F$, with $e$ as the unique $\partial F$-edge between them. \emph {Right (Case\nonbreakingspace B):} when $\varphi (e) = b$, the two $a$-edges at $v_0, v_1$ lie on the opposite face $F$ instead, again with $e$ between them on one arc. In either case $(F, e_1, e_2)$ witnesses clauses (1)--(3) of Conjecture\nonbreakingspace 5.1\hbox {}.}}{12}{}\protected@file@percent } +\newlabel{fig:lemma-kempe-heawood}{{5}{12}} +\newlabel{conj:face-monochromatic-pair-strengthened}{{5.4}{13}} +\newlabel{rem:conj-3-8-empirical}{{5.5}{13}} +\newlabel{rem:implication-4ct}{{5.6}{13}} +\bibcite{Heawood1898}{1} +\bibcite{AH77a}{2} +\bibcite{AHK77}{3} +\bibcite{RSST97}{4} +\bibcite{Gonthier08}{5} \newlabel{tocindent-1}{0pt} \newlabel{tocindent0}{12.7778pt} \newlabel{tocindent1}{17.77782pt} \newlabel{tocindent2}{0pt} \newlabel{tocindent3}{0pt} -\newlabel{rem:implication-4ct}{{5.5}{12}} -\@writefile{toc}{\contentsline {section}{\tocsection {}{}{References}}{12}{}\protected@file@percent } -\gdef \@abspage@last{12} +\@writefile{toc}{\contentsline {section}{\tocsection {}{}{References}}{14}{}\protected@file@percent } +\gdef \@abspage@last{14} diff --git a/papers/face_monochromatic_pairs/paper.log b/papers/face_monochromatic_pairs/paper.log index d46587d..02ee769 100644 --- a/papers/face_monochromatic_pairs/paper.log +++ b/papers/face_monochromatic_pairs/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) 24 MAY 2026 15:03 +This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex 2022.10.5) 24 MAY 2026 21:49 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -195,102 +195,103 @@ Overfull \vbox (1.31958pt too high) has occurred while \output is active [] [1{/usr/local/texlive/2022/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] -[2] -Overfull \hbox (41.917pt too wide) in paragraph at lines 233--235 +[2] [3] +Overfull \hbox (41.917pt too wide) in paragraph at lines 256--258 []\OT1/cmr/m/n/10 List the five degree-$2$ ver-tices in clock-wise or-der aroun d $\OML/cmm/m/it/10 F$ \OT1/cmr/m/n/10 as $\OML/cmm/m/it/10 A \OT1/cmr/m/n/10 = (\OML/cmm/m/it/10 A[]; A[]; A[]; A[]; A[]\OT1/cmr/m/n/10 )$. [] -[3] File: fig_reduced_dual_step1.png Graphic file (type png) -Package pdftex.def Info: fig_reduced_dual_step1.png used on input line 253. +Package pdftex.def Info: fig_reduced_dual_step1.png used on input line 276. (pdftex.def) Requested size: 172.79846pt x 166.55775pt. File: fig_reduced_dual_step2.png Graphic file (type png) -Package pdftex.def Info: fig_reduced_dual_step2.png used on input line 254. +Package pdftex.def Info: fig_reduced_dual_step2.png used on input line 277. (pdftex.def) Requested size: 172.79846pt x 170.39505pt. File: fig_reduced_dual_step3.png Graphic file (type png) -Package pdftex.def Info: fig_reduced_dual_step3.png used on input line 255. +Package pdftex.def Info: fig_reduced_dual_step3.png used on input line 278. (pdftex.def) Requested size: 172.79846pt x 170.39505pt. File: fig_reduced_dual_step4.png Graphic file (type png) -Package pdftex.def Info: fig_reduced_dual_step4.png used on input line 256. +Package pdftex.def Info: fig_reduced_dual_step4.png used on input line 279. (pdftex.def) Requested size: 172.79846pt x 171.44409pt. - [4 <./fig_reduced_dual_step1.png> <./fig_reduced_dual_step2.png> <./fig_reduce -d_dual_step3.png> <./fig_reduced_dual_step4.png>] [5] + +LaTeX Warning: `h' float specifier changed to `ht'. + +[4] [5 <./fig_reduced_dual_step1.png> <./fig_reduced_dual_step2.png> <./fig_red +uced_dual_step3.png> <./fig_reduced_dual_step4.png>] File: fig_chord_apex_step1.png Graphic file (type png) -Package pdftex.def Info: fig_chord_apex_step1.png used on input line 377. +Package pdftex.def Info: fig_chord_apex_step1.png used on input line 400. (pdftex.def) Requested size: 251.9989pt x 250.5104pt. File: fig_chord_apex_step2.png Graphic file (type png) -Package pdftex.def Info: fig_chord_apex_step2.png used on input line 378. +Package pdftex.def Info: fig_chord_apex_step2.png used on input line 401. (pdftex.def) Requested size: 172.79846pt x 176.08986pt. File: fig_chord_apex_step3.png Graphic file (type png) -Package pdftex.def Info: fig_chord_apex_step3.png used on input line 379. +Package pdftex.def Info: fig_chord_apex_step3.png used on input line 402. (pdftex.def) Requested size: 172.79846pt x 176.08986pt. LaTeX Warning: `h' float specifier changed to `ht'. [6] [7 <./fig_chord_apex_step1.png> <./fig_chord_apex_step2.png> <./fig_chord_a -pex_step3.png>] - +pex_step3.png>] [8] + File: fig_cubic_edge_contraction.png Graphic file (type png) -Package pdftex.def Info: fig_cubic_edge_contraction.png used on input line 522 +Package pdftex.def Info: fig_cubic_edge_contraction.png used on input line 545 . (pdftex.def) Requested size: 341.9989pt x 73.08138pt. - - -LaTeX Warning: `h' float specifier changed to `ht'. - -[8] - + [9 <./fig_cubic_edge_contraction.png>] + File: fig_thm_cubic_contraction_4face.png Graphic file (type png) Package pdftex.def Info: fig_thm_cubic_contraction_4face.png used on input lin -e 597. +e 620. (pdftex.def) Requested size: 352.79846pt x 160.78339pt. + [10 <./fig_thm_cubic_contraction_4face.png>] + +File: fig_lemma_kempe_heawood.png Graphic file (type png) + +Package pdftex.def Info: fig_lemma_kempe_heawood.png used on input line 730. +(pdftex.def) Requested size: 352.79846pt x 129.2451pt. LaTeX Warning: `h' float specifier changed to `ht'. -[9 <./fig_cubic_edge_contraction.png>] -Underfull \vbox (badness 1242) has occurred while \output is active [] - - [10 <./fig_thm_cubic_contraction_4face.png>] -Underfull \hbox (badness 1648) in paragraph at lines 721--727 -\OT1/cmr/m/it/10 Remark \OT1/cmr/m/n/10 5.4\OT1/cmr/m/it/10 . \OT1/cmr/m/n/10 T +[11] [12 <./fig_lemma_kempe_heawood.png>] +Underfull \hbox (badness 1648) in paragraph at lines 825--831 +\OT1/cmr/m/it/10 Remark \OT1/cmr/m/n/10 5.5\OT1/cmr/m/it/10 . \OT1/cmr/m/n/10 T he strength-ened con-jec-ture was tested on the same chord- [] -Underfull \hbox (badness 1014) in paragraph at lines 721--727 -\OT1/cmr/m/n/10 apex+Kempe colour-ings as Re-mark 5.2[]; for each colour-ing we +Underfull \hbox (badness 1014) in paragraph at lines 825--831 +\OT1/cmr/m/n/10 apex+Kempe colour-ings as Re-mark 5.3[]; for each colour-ing we sought any [] -[11] [12] (./paper.aux) ) +[13] [14] (./paper.aux) ) Here is how much of TeX's memory you used: - 3097 strings out of 478268 - 44287 string characters out of 5846347 - 350362 words of memory out of 5000000 - 21130 multiletter control sequences out of 15000+600000 + 3108 strings out of 478268 + 44593 string characters out of 5846347 + 348397 words of memory out of 5000000 + 21140 multiletter control sequences out of 15000+600000 478386 words of font info for 63 fonts, out of 8000000 for 9000 1302 hyphenation exceptions out of 8191 - 69i,9n,76p,745b,389s stack positions out of 10000i,1000n,20000p,200000b,200000s + 69i,12n,76p,875b,344s stack positions out of 10000i,1000n,20000p,200000b,200000s -Output written on paper.pdf (12 pages, 1018017 bytes). +Output written on paper.pdf (14 pages, 1081744 bytes). PDF statistics: - 183 PDF objects out of 1000 (max. 8388607) - 101 compressed objects within 2 object streams + 192 PDF objects out of 1000 (max. 8388607) + 106 compressed objects within 2 object streams 0 named destinations out of 1000 (max. 500000) - 46 words of extra memory for PDF output out of 10000 (max. 10000000) + 51 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/papers/face_monochromatic_pairs/paper.pdf b/papers/face_monochromatic_pairs/paper.pdf index f78250f..8a0b26b 100644 Binary files a/papers/face_monochromatic_pairs/paper.pdf and b/papers/face_monochromatic_pairs/paper.pdf differ diff --git a/papers/face_monochromatic_pairs/paper.tex b/papers/face_monochromatic_pairs/paper.tex index 7f94416..77a7d7b 100644 --- a/papers/face_monochromatic_pairs/paper.tex +++ b/papers/face_monochromatic_pairs/paper.tex @@ -212,6 +212,29 @@ plane graph in which each vertex of $G$ corresponds to a face of $G'$, each face of $G$ to a vertex of $G'$, and each edge to a dual edge. A vertex of $G$ of degree $k$ corresponds to a $k$-gonal face of $G'$. +The following labelling of vertices in a properly $3$-edge-coloured cubic +plane graph will be useful in Section~\ref{sec:toward-4ct}. + +\begin{definition}[Heawood number of a vertex] +\label{def:heawood-number} +Let $H$ be a cubic plane graph with a fixed planar embedding, and let +$\varphi \colon E(H) \to \{1, 2, 3\}$ be a proper $3$-edge-colouring. At +each vertex $v \in V(H)$, the three incident edges receive three distinct +colours; reading them in clockwise order around $v$ gives a cyclic +permutation of $(1, 2, 3)$. The \emph{Heawood number} of $v$ is +\[ + h_\varphi(v) := + \begin{cases} + +1 & \text{if the clockwise cyclic colour order at $v$ is }(1, 2, 3), \\ + -1 & \text{if it is }(1, 3, 2). + \end{cases} +\] +Equivalently, $h_\varphi(v) = +1$ when the clockwise colour order at $v$ is +an even cyclic permutation of $(1, 2, 3)$ and $-1$ when it is an odd one. +The labels are due to Heawood~\cite{Heawood1898}, who introduced them as +part of his analysis of $3$-edge-colourings of cubic plane graphs. +\end{definition} + By Lemma~\ref{lem:mindeg}, $\delta(G) \ge 5$, and Euler's formula gives $\sum_{u \in V(G)}(6 - \deg u) = 12$, so $G$ has a vertex of degree exactly $5$ (indeed at least twelve). Fix such a vertex $v$. Its dual face $F_v$ is a @@ -639,6 +662,87 @@ merged edge, such that: \end{enumerate} \end{conjecture} +\begin{lemma}[Heawood number is constant on the Kempe cycles through the merged edge] +\label{lem:kempe-heawood-constant} +Let $G$ be a minimal counterexample to the Four Colour Theorem, fix a +reduced dual $\widehat{G}'_{v,i}$ of $G' = \mathrm{dual}(G)$, and let +$\varphi$ be a proper $3$-edge-colouring of $\widehat{G}'_{v,i}$. Set +$a := \varphi(\mathrm{merged})$. Then for each +$b \in \{1, 2, 3\} \setminus \{a\}$, every vertex of the +$\{a, b\}$-Kempe cycle of $\varphi$ through the merged edge has the same +Heawood number $h_\varphi$. +\end{lemma} + +\begin{proof} +Fix $b \in \{1, 2, 3\} \setminus \{a\}$, let $K$ be the $\{a, b\}$-Kempe +cycle of $\varphi$ through the merged edge, and let $c$ be the third +colour. Suppose for contradiction that $h_\varphi$ is not constant on +$V(K)$. Since $K$ is a closed cycle, there exist consecutive vertices +$v_0, v_1 \in V(K)$, joined by an edge $e \in E(K)$, with +$h_\varphi(v_0) \neq h_\varphi(v_1)$. After possibly swapping +$v_0, v_1$, take $h_\varphi(v_0) = +1$ and $h_\varphi(v_1) = -1$. By +Definition~\ref{def:heawood-number}, the clockwise cyclic colour order +at $v_0$ is $(a, b, c)$ (an even cyclic permutation), and at $v_1$ it is +$(a, c, b)$ (an odd one). + +Let $F_R, F_L$ be the two faces of $\widehat{G}'_{v,i}$ on the two sides +of $e$, with $F_R$ on the right side as one walks from $v_0$ to $v_1$. +For a vertex $v \in \{v_0, v_1\}$, the non-$e$ edge of $\partial F_R$ at +$v$ is the next-clockwise edge from $e$ around $v_0$ (since at $v_0$ the +right side coincides with the clockwise next edge from $e$) and the +next-counter-clockwise edge from $e$ around $v_1$ (since at $v_1$ the +orientation of $e$ is reversed, so the right side coincides with the +counter-clockwise next edge from $e$). + +\emph{Case~A: $\varphi(e) = a$.} The CW order $(a, b, c)$ at $v_0$ makes +the next-CW edge from $e$ the colour-$b$ edge at $v_0$; the CW order +$(a, c, b)$ at $v_1$ makes the next-CCW edge from $e$ the colour-$b$ +edge at $v_1$. Let $e_1, e_2$ be these colour-$b$ edges at $v_0$ and +$v_1$ respectively. Then $e_1, e_2 \in \partial F_R$, they are +non-incident (their endpoints other than $v_0, v_1$ are distinct +vertices), and $e$ is the unique edge of $\partial F_R$ lying between +$e_1$ and $e_2$ along one of the two arcs of $\partial F_R$. Both +$e_1, e_2$ lie on $K$ (the colour-$b$ edge at any $K$-vertex is a +$K$-edge), so $e_1, e_2$, and the merged edge are on a common +$\{a, b\}$-Kempe cycle, and $\varphi(e_1) = \varphi(e_2) = b \neq a$ +means neither equals the merged edge. + +\emph{Case~B: $\varphi(e) = b$.} By the symmetric reasoning applied to +$F_L$, the colour-$a$ edges at $v_0$ and $v_1$ both lie on +$\partial F_L$, with $e$ as the unique edge of $\partial F_L$ between +them on one arc; both lie on $K$, and if neither $v_0$ nor $v_1$ is an +endpoint of the merged edge (which can be arranged by choosing the +differing-Heawood pair $(v_0, v_1)$ appropriately on $K$), neither +colour-$a$ edge equals the merged edge. + +Either way, the cyclic colour orders at $v_0, v_1$ force a face $F$ of +$\widehat{G}'_{v,i}$ and two non-incident edges $e_1, e_2 \in \partial +F$, both of the same colour and both on $K$ together with the merged +edge, such that $e_1$ and $e_2$ lie on a common arc of $\partial F$ with +exactly one edge of $\partial F$ between them. + +The triple $(F, e_1, e_2)$ then satisfies clauses~(1)--(3) of +Conjecture~\ref{conj:face-monochromatic-pair-on-merged-kempe-cycle}. +\end{proof} + +\begin{figure}[h] +\centering +\includegraphics[width=0.98\textwidth]{fig_lemma_kempe_heawood.png} +\caption{The two cases in the proof of +Lemma~\ref{lem:kempe-heawood-constant}. Vertices $v_0, v_1$ are +consecutive on the $\{a, b\}$-Kempe cycle $K$, joined by an edge $e$, +with $h_\varphi(v_0) = +1$ (clockwise colour order $(a, b, c)$) and +$h_\varphi(v_1) = -1$ (clockwise order $(a, c, b)$). \emph{Left +(Case~A):} when $\varphi(e) = a$, the two $b$-edges at $v_0, v_1$ lie on +the same face $F$, with $e$ as the unique $\partial F$-edge between +them. \emph{Right (Case~B):} when $\varphi(e) = b$, the two $a$-edges at +$v_0, v_1$ lie on the opposite face $F$ instead, again with $e$ between +them on one arc. In either case $(F, e_1, e_2)$ witnesses clauses +(1)--(3) of +Conjecture~\ref{conj:face-monochromatic-pair-on-merged-kempe-cycle}.} +\label{fig:lemma-kempe-heawood} +\end{figure} + \begin{remark} \label{rem:conj-3-6-empirical} \sloppy @@ -809,6 +913,11 @@ Four Colour Theorem. \end{remark} \begin{thebibliography}{9} +\bibitem{Heawood1898} +P.~J.~Heawood, +\emph{On the four-colour map theorem}, +Quart. J.~Pure Appl. Math. \textbf{29} (1898), 270--285. + \bibitem{AH77a} K.~Appel and W.~Haken, \emph{Every planar map is four colorable. Part~I: Discharging},