Add medial tire graph definition and color bound

This commit is contained in:
2026-06-08 14:44:35 -04:00
parent a00bc70fec
commit d83703abd0
8 changed files with 413 additions and 108 deletions
@@ -0,0 +1,206 @@
"""Draw the medial tire graph for the tire example in Figure 2.
The example uses the same random tire parameters as fig_tire_example:
m=6, k=4, one chord of O, seed=3. The medial tire graph is built from
the plane graph obtained by omitting the chord edges of O, and then
deleting medial edges between two outer-boundary edges or two
inner-boundary edges. Its vertices are placed at the midpoints of the
retained tire edges.
"""
import os
import sys
HERE = os.path.dirname(os.path.abspath(__file__))
DUAL_EXP = os.path.abspath(
os.path.join(HERE, '..', '..', 'coloring_nested_tire_dual_graphs', 'experiments')
)
sys.path.insert(0, DUAL_EXP)
import matplotlib.pyplot as plt
import matplotlib.patches as patches
from tire_graph import random_tire, planar_positions
def edge_key(u, v):
return tuple(sorted((u, v)))
def is_inner_chord(edge, m, k):
u, v = edge
if not (m <= u < m + k and m <= v < m + k):
return False
a, b = u - m, v - m
d = abs(a - b)
return min(d, k - d) != 1
def is_outer_boundary_edge(edge, outer):
outer_set = set(outer)
if not set(edge) <= outer_set:
return False
m = len(outer)
idx = {v: i for i, v in enumerate(outer)}
a, b = idx[edge[0]], idx[edge[1]]
return (a - b) % m in (1, m - 1)
def is_inner_boundary_edge(edge, inner):
inner_set = set(inner)
if not set(edge) <= inner_set:
return False
k = len(inner)
idx = {v: i for i, v in enumerate(inner)}
a, b = idx[edge[0]], idx[edge[1]]
return (a - b) % k in (1, k - 1)
def suppress_boundary_medial_edge(e1, e2, outer, inner):
return (
is_outer_boundary_edge(e1, outer) and is_outer_boundary_edge(e2, outer)
) or (
is_inner_boundary_edge(e1, inner) and is_inner_boundary_edge(e2, inner)
)
def face_edges(face):
return [edge_key(face[i], face[(i + 1) % len(face)]) for i in range(len(face))]
def build_medial_tire(tire):
m, k = tire['m'], tire['k']
outer = tire['outer']
inner = tire['inner']
omitted = {edge_key(m + a, m + b) for a, b in tire['inner_chords']}
retained_edges = sorted(
edge_key(u, v)
for u, v in tire['edges']
if edge_key(u, v) not in omitted
)
retained = set(retained_edges)
faces = [tuple(tri) for tri in tire['triangles']]
faces.append(tuple(outer))
faces.append(tuple(reversed(inner)))
medial_edges = set()
for face in faces:
boundary = [e for e in face_edges(face) if e in retained]
for i, e in enumerate(boundary):
nxt = boundary[(i + 1) % len(boundary)]
if suppress_boundary_medial_edge(e, nxt, outer, inner):
continue
medial_edges.add(tuple(sorted((e, nxt))))
return retained_edges, sorted(medial_edges), omitted
def draw_medial_tire_graph(tire, filename):
m, k = tire['m'], tire['k']
outer_set = set(tire['outer'])
inner_set = set(tire['inner'])
pos = planar_positions(tire, R_out=1.0, R_in=0.45)
medial_vertices, medial_edges, omitted = build_medial_tire(tire)
medial_pos = {
e: ((pos[e[0]][0] + pos[e[1]][0]) / 2, (pos[e[0]][1] + pos[e[1]][1]) / 2)
for e in medial_vertices
}
C = {
'outer_cycle': '#1f77b4',
'inner_cycle': '#d62728',
'inner_chord': '#ff7f0e',
'annular': '#c7c7c7',
'medial_edge': '#0f766e',
'medial_vertex': '#134e4a',
}
fig, ax = plt.subplots(figsize=(7.2, 7.2))
for r in (1.04, 0.41):
ax.add_patch(patches.Circle((0, 0), r, fill=False,
edgecolor='lightgray',
linewidth=0.5, linestyle='--'))
for u, v in sorted(edge_key(u, v) for u, v in tire['edges']):
x1, y1 = pos[u]
x2, y2 = pos[v]
e = edge_key(u, v)
if e in omitted:
color, lw, ls, alpha = C['inner_chord'], 1.6, (0, (4, 3)), 0.45
elif u in outer_set and v in outer_set:
color, lw, ls, alpha = C['outer_cycle'], 2.0, '-', 0.35
elif u in inner_set and v in inner_set:
color, lw, ls, alpha = C['inner_cycle'], 2.0, '-', 0.35
else:
color, lw, ls, alpha = C['annular'], 1.0, '-', 0.55
ax.plot([x1, x2], [y1, y2], color=color, linewidth=lw,
linestyle=ls, alpha=alpha, zorder=1)
for e1, e2 in medial_edges:
x1, y1 = medial_pos[e1]
x2, y2 = medial_pos[e2]
ax.plot([x1, x2], [y1, y2], color=C['medial_edge'],
linewidth=1.8, alpha=0.92, zorder=3)
for idx, e in enumerate(medial_vertices):
x, y = medial_pos[e]
ax.scatter([x], [y], s=58, color=C['medial_vertex'],
edgecolors='white', linewidths=0.8, zorder=4)
ax.annotate(f"$m_{{{idx}}}$", (x, y), xytext=(3, 3),
textcoords='offset points', color=C['medial_vertex'],
fontsize=6.5, zorder=5)
for v in tire['outer']:
x, y = pos[v]
ax.scatter([x], [y], s=150, color=C['outer_cycle'],
edgecolors='white', linewidths=0.8, alpha=0.6, zorder=2)
for v in tire['inner']:
x, y = pos[v]
ax.scatter([x], [y], s=135, color=C['inner_cycle'],
edgecolors='white', linewidths=0.8, alpha=0.6, zorder=2)
legend_items = [
plt.Line2D([], [], color=C['medial_edge'], linewidth=1.8,
label=r'medial tire graph edge'),
plt.Line2D([], [], marker='o', color='w',
markerfacecolor=C['medial_vertex'], markeredgecolor='white',
markersize=7, label=r'medial vertex at an edge midpoint'),
plt.Line2D([], [], color=C['inner_chord'], linewidth=1.6,
linestyle=(0, (4, 3)), alpha=0.55,
label=r'chord of $O$ omitted from medial construction'),
plt.Line2D([], [], color=C['annular'], linewidth=1.0,
label=r'underlying tire graph, faint'),
]
ax.legend(handles=legend_items, loc='upper left',
bbox_to_anchor=(1.0, 1.0), fontsize=9, frameon=False)
ax.set_xlim(-1.24, 1.24)
ax.set_ylim(-1.24, 1.24)
ax.set_aspect('equal')
ax.axis('off')
ax.set_title(
r"Medial tire graph $M_{\mathrm{tire}}(T)$ for Figure 2's tire"
"\n"
r"midpoint vertices; no medial edges between consecutive boundary edges",
fontsize=11,
)
fig.savefig(filename, dpi=180, bbox_inches='tight')
plt.close(fig)
print(f"wrote {filename}")
print(f"retained tire edges: {len(medial_vertices)}")
print(f"medial edges: {len(medial_edges)}")
print(f"omitted O chords: {sorted(omitted)}")
def main():
paper_dir = os.path.abspath(os.path.join(HERE, '..'))
tire = random_tire(m=6, k=4, n_chords=1, seed=3)
out = os.path.join(paper_dir, 'fig_medial_tire_example.png')
draw_medial_tire_graph(tire, out)
if __name__ == '__main__':
main()
Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

+55 -51
View File
@@ -19,60 +19,64 @@
\newlabel{fig:dual-depth}{{1}{3}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces A tire graph with non-degenerate boundaries: outer boundary $B_{\mathrm {out}}$ a $6$-cycle on vertices $0,\dots ,5$ (blue), inner boundary $B_{\mathrm {in}}$ a $4$-cycle on vertices $6,\dots ,9$ (red), inner outerplanar graph $O = B_{\mathrm {in}} \cup \{7\text {--}9\}$ (with one chord, orange), and $E_{\mathrm {ann}}$ (grey) tiling the annulus between $B_{\mathrm {out}}$ and $B_{\mathrm {in}}$ by ten triangular faces.}}{4}{}\protected@file@percent }
\newlabel{fig:tire-example}{{2}{4}}
\newlabel{rem:tire-counts}{{1.7}{4}}
\newlabel{prop:no-level-d-pinch}{{1.8}{4}}
\newlabel{def:medial-tire-graph}{{1.7}{4}}
\newlabel{thm:annular-medial-colour-bound}{{1.8}{4}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces The medial tire graph for the tire in Figure\nonbreakingspace 2\hbox {}. The chord of $O$ is drawn faintly and omitted before taking the medial graph; medial edges between consecutive outer-boundary edges or consecutive inner-boundary edges are also omitted. Each medial vertex is placed at the midpoint of its corresponding retained tire edge.}}{5}{}\protected@file@percent }
\newlabel{fig:medial-tire-example}{{3}{5}}
\newlabel{rem:tire-counts}{{1.9}{5}}
\newlabel{prop:no-level-d-pinch}{{1.10}{6}}
\newlabel{lem:tire-component}{{1.11}{6}}
\citation{bauerfeld-depth}
\newlabel{lem:tire-component}{{1.9}{5}}
\citation{bauerfeld-depth}
\newlabel{thm:tread-partition}{{1.10}{6}}
\newlabel{rem:tire-component-degenerate}{{1.11}{7}}
\newlabel{rem:tire-no-extra-hypotheses}{{1.12}{7}}
\newlabel{thm:inner-dual-outerplanar}{{1.13}{8}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Case 1 ($R$ = disk, $k = 6$). The apex $v_0$ sits at the centre; the non-degenerate boundary $B_{\mathrm {non-deg}}$ (red) is the hexagonal outer cycle; spokes (grey) triangulate the disk into a fan of $6$ triangles around $v_0$. Each triangle has two spoke edges (interior, contributing $\Gamma $-edges) and one boundary edge (contributing a leaf in $D(T)$, no $\Gamma $-edge). The inner dual $\Gamma $ (blue) is the cycle $C_6$ formed by the six annular face centroids, a manifestly outerplanar graph.}}{8}{}\protected@file@percent }
\newlabel{fig:inner-dual-disk-case}{{3}{8}}
\newlabel{thm:tread-partition}{{1.12}{8}}
\newlabel{rem:tire-component-degenerate}{{1.13}{8}}
\newlabel{rem:tire-no-extra-hypotheses}{{1.14}{8}}
\newlabel{thm:inner-dual-outerplanar}{{1.15}{9}}
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Case 1 ($R$ = disk, $k = 6$). The apex $v_0$ sits at the centre; the non-degenerate boundary $B_{\mathrm {non-deg}}$ (red) is the hexagonal outer cycle; spokes (grey) triangulate the disk into a fan of $6$ triangles around $v_0$. Each triangle has two spoke edges (interior, contributing $\Gamma $-edges) and one boundary edge (contributing a leaf in $D(T)$, no $\Gamma $-edge). The inner dual $\Gamma $ (blue) is the cycle $C_6$ formed by the six annular face centroids, a manifestly outerplanar graph.}}{10}{}\protected@file@percent }
\newlabel{fig:inner-dual-disk-case}{{4}{10}}
\citation{bauerfeld-nested-tire-duals}
\citation{bauerfeld-nested-tire-duals}
\newlabel{rem:hamilton-cycle-spoke-only}{{1.14}{9}}
\newlabel{rem:bridge-case-theta}{{1.15}{9}}
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Case 2 ($R$ = annulus) with $O$ a barbell. $B_{\mathrm {out}}$ is the outer hexagon (red); $O$ has two triangles $\{a_1, a_2, a_3\}$ and $\{b_1, b_2, b_3\}$ joined by the bridge $a_3\text {--}b_1$ (all light red). The annulus is triangulated by $14$ annular triangles: $6$ ``outer-cap'' triangles (one per outer edge), $6$ ``inner-cap'' triangles (one per non-bridge edge of $O$), and $2$ ``bridge-cap'' triangles $\{u_0, a_3, b_1\}$ and $\{u_3, a_3, b_1\}$ adjacent to the bridge. Each blue dot sits at the centroid of an annular triangle; blue edges connect dual vertices whose triangles share an interior annular edge (spoke or bridge). The two bridge-cap vertices have $\Gamma $-degree $3$ (their triangles have no boundary edge) and are joined by the dashed blue \emph {chord} corresponding to the bridge; the remaining $13$ edges form the Hamilton cycle that wraps around the annulus. All $14$ vertices lie on the outer face of the cycle-with-chord embedding, so $\Gamma \cong \Theta (1, 7, 7)$ is outerplanar.}}{11}{}\protected@file@percent }
\newlabel{fig:inner-dual-annulus-case}{{5}{11}}
\newlabel{rem:hamilton-cycle-spoke-only}{{1.16}{11}}
\newlabel{rem:bridge-case-theta}{{1.17}{11}}
\citation{tait-original}
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Case 2 ($R$ = annulus) with $O$ a barbell. $B_{\mathrm {out}}$ is the outer hexagon (red); $O$ has two triangles $\{a_1, a_2, a_3\}$ and $\{b_1, b_2, b_3\}$ joined by the bridge $a_3\text {--}b_1$ (all light red). The annulus is triangulated by $14$ annular triangles: $6$ ``outer-cap'' triangles (one per outer edge), $6$ ``inner-cap'' triangles (one per non-bridge edge of $O$), and $2$ ``bridge-cap'' triangles $\{u_0, a_3, b_1\}$ and $\{u_3, a_3, b_1\}$ adjacent to the bridge. Each blue dot sits at the centroid of an annular triangle; blue edges connect dual vertices whose triangles share an interior annular edge (spoke or bridge). The two bridge-cap vertices have $\Gamma $-degree $3$ (their triangles have no boundary edge) and are joined by the dashed blue \emph {chord} corresponding to the bridge; the remaining $13$ edges form the Hamilton cycle that wraps around the annulus. All $14$ vertices lie on the outer face of the cycle-with-chord embedding, so $\Gamma \cong \Theta (1, 7, 7)$ is outerplanar.}}{10}{}\protected@file@percent }
\newlabel{fig:inner-dual-annulus-case}{{4}{10}}
\newlabel{thm:tait-tire}{{1.16}{10}}
\newlabel{rem:count-general-outerplanar}{{1.17}{11}}
\newlabel{def:boundary-state-transfer}{{1.18}{11}}
\newlabel{thm:tire-chromatic-polynomial-transfer}{{1.19}{12}}
\newlabel{rem:spoke-only-chromatic-transfer}{{1.20}{12}}
\newlabel{thm:tread-tree}{{1.21}{13}}
\newlabel{rem:tree-multiple-children}{{1.22}{14}}
\newlabel{thm:tire-tree-decomposition}{{1.23}{14}}
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Tire-tree decomposition (Theorem\nonbreakingspace 1.23\hbox {}) on a $13$-vertex maximal planar example $G$ with five BFS levels. $(a)$ $G$ with vertex source $v_0$ and $\ell _G \in \{0,1,2,3,4\}$; four nested seams are highlighted, $C_{T_R} = \{a,b,c\}$ (orange), $C_{T_L} = \{a,c,d\}$ (red, including the chord $a$-$c$ shared with $C_{T_R}$), $C_{T_{LL}} = \{f_1, f_2, f_3\}$ (purple), $C_{T_{LLL}} = \{g_1, g_2, g_3\}$ (teal). Inset: the rooted tree of tire treads $\mathcal {T}(G, \{v_0\})$ branches at $T_0$ into the leaf $T_R$ (containing $e$) and a chain $T_L \to T_{LL} \to T_{LLL}$ (the highlighted sub-tree). $(b)$ The disk $G_{T_L}$ inside the seam $C_{T_L}$, drawn standalone with $C_{T_L}$ as cycle source and vertex labels rotated to match the new (cycle-source) role of the boundary triangle. $\ell _{G_{T_L}}(\cdot ) = \ell _G(\cdot ) - 1$ on $V(G_{T_L})$ (verified by the generator script), and $\mathcal {T}(G_{T_L}, C_{T_L})$ is the chain $T_L \to T_{LL} \to T_{LLL}$, iso to the highlighted sub-tree of $(a)$.}}{16}{}\protected@file@percent }
\newlabel{fig:tire-tree-decomposition}{{5}{16}}
\newlabel{rem:tree-coloring-factorisation}{{1.24}{16}}
\newlabel{rem:level-cycle-motivation}{{1.25}{17}}
\newlabel{def:level-cycle-three-colour-restriction}{{1.26}{17}}
\newlabel{conj:false-universal-level-cycle-three-colour}{{1.27}{17}}
\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces The $8$-vertex counterexample to the universal-source form. With source $S=\{7\}$, the level cycle $(3,4,5,8)$ lies in $L_2$ and forces all four colours in every proper $4$-vertex-colouring.}}{17}{}\protected@file@percent }
\newlabel{fig:universal-level-cycle-counterexample}{{6}{17}}
\newlabel{ex:universal-level-cycle-counterexample}{{1.28}{18}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{}{An inner-boundary refinement}}{18}{}\protected@file@percent }
\newlabel{def:tire-inner-boundary-three-colour}{{1.29}{18}}
\newlabel{conj:tire-inner-boundary-three-colour}{{1.30}{18}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{}{A counterexample at $n=14$}}{18}{}\protected@file@percent }
\newlabel{ex:inner-boundary-counterexample}{{1.31}{18}}
\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces The $14$-vertex counterexample $G^\star $ to Conjecture\nonbreakingspace 1.30\hbox {} in a planar embedding. The six degree-$3$ vertices split into two triples, $\{3,5,10\}$ each adjacent to a triangle in the core $\{1,2,4,6\}$, and $\{11,13,14\}$ each adjacent to a triangle in the core $\{7,8,9,12\}$; the two cores are joined by the edges $17,28,69$ together with $12$.}}{19}{}\protected@file@percent }
\newlabel{fig:inner-boundary-counterexample}{{7}{19}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{}{The surviving level-cycle conjecture}}{19}{}\protected@file@percent }
\newlabel{conj:level-cycle-three-colour}{{1.32}{19}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{}{Enumeration for small $n$}}{20}{}\protected@file@percent }
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Exhaustive vertex-source search for the level-cycle three-colour conjecture on all triangulation isomorphism classes with $4 \leq n \leq 13$. Every triangulation in this range admits at least one vertex source witnessing the conjecture.}}{20}{}\protected@file@percent }
\newlabel{tab:level-cycle-three-colour-counts}{{1}{20}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{}{The $5$-connected slice at $n \leq 24$}}{20}{}\protected@file@percent }
\@writefile{lot}{\contentsline {table}{\numberline {2}{\ignorespaces The $5$-connected triangulations at $14 \leq n \leq 24$ generated by \texttt {plantri -c5 -a}. All $9732$ graphs in this slice admit a vertex source witnessing the level-cycle three-colour conjecture.}}{20}{}\protected@file@percent }
\newlabel{tab:level-cycle-three-colour-c5-14-16}{{2}{20}}
\newlabel{def:seam}{{1.33}{21}}
\newlabel{def:partial-tire-tree}{{1.34}{21}}
\newlabel{lem:seam-edge-shared}{{1.35}{21}}
\newlabel{conj:seam-counterexample}{{1.36}{21}}
\newlabel{thm:tait-tire}{{1.18}{12}}
\newlabel{rem:count-general-outerplanar}{{1.19}{12}}
\newlabel{def:boundary-state-transfer}{{1.20}{13}}
\newlabel{thm:tire-chromatic-polynomial-transfer}{{1.21}{13}}
\newlabel{rem:spoke-only-chromatic-transfer}{{1.22}{14}}
\newlabel{thm:tread-tree}{{1.23}{14}}
\newlabel{rem:tree-multiple-children}{{1.24}{15}}
\newlabel{thm:tire-tree-decomposition}{{1.25}{15}}
\newlabel{rem:tree-coloring-factorisation}{{1.26}{17}}
\newlabel{rem:level-cycle-motivation}{{1.27}{17}}
\newlabel{def:level-cycle-three-colour-restriction}{{1.28}{17}}
\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Tire-tree decomposition (Theorem\nonbreakingspace 1.25\hbox {}) on a $13$-vertex maximal planar example $G$ with five BFS levels. $(a)$ $G$ with vertex source $v_0$ and $\ell _G \in \{0,1,2,3,4\}$; four nested seams are highlighted, $C_{T_R} = \{a,b,c\}$ (orange), $C_{T_L} = \{a,c,d\}$ (red, including the chord $a$-$c$ shared with $C_{T_R}$), $C_{T_{LL}} = \{f_1, f_2, f_3\}$ (purple), $C_{T_{LLL}} = \{g_1, g_2, g_3\}$ (teal). Inset: the rooted tree of tire treads $\mathcal {T}(G, \{v_0\})$ branches at $T_0$ into the leaf $T_R$ (containing $e$) and a chain $T_L \to T_{LL} \to T_{LLL}$ (the highlighted sub-tree). $(b)$ The disk $G_{T_L}$ inside the seam $C_{T_L}$, drawn standalone with $C_{T_L}$ as cycle source and vertex labels rotated to match the new (cycle-source) role of the boundary triangle. $\ell _{G_{T_L}}(\cdot ) = \ell _G(\cdot ) - 1$ on $V(G_{T_L})$ (verified by the generator script), and $\mathcal {T}(G_{T_L}, C_{T_L})$ is the chain $T_L \to T_{LL} \to T_{LLL}$, iso to the highlighted sub-tree of $(a)$.}}{18}{}\protected@file@percent }
\newlabel{fig:tire-tree-decomposition}{{6}{18}}
\newlabel{conj:false-universal-level-cycle-three-colour}{{1.29}{18}}
\newlabel{ex:universal-level-cycle-counterexample}{{1.30}{18}}
\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces The $8$-vertex counterexample to the universal-source form. With source $S=\{7\}$, the level cycle $(3,4,5,8)$ lies in $L_2$ and forces all four colours in every proper $4$-vertex-colouring.}}{19}{}\protected@file@percent }
\newlabel{fig:universal-level-cycle-counterexample}{{7}{19}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{}{An inner-boundary refinement}}{19}{}\protected@file@percent }
\newlabel{def:tire-inner-boundary-three-colour}{{1.31}{19}}
\newlabel{conj:tire-inner-boundary-three-colour}{{1.32}{19}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{}{A counterexample at $n=14$}}{20}{}\protected@file@percent }
\newlabel{ex:inner-boundary-counterexample}{{1.33}{20}}
\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces The $14$-vertex counterexample $G^\star $ to Conjecture\nonbreakingspace 1.32\hbox {} in a planar embedding. The six degree-$3$ vertices split into two triples, $\{3,5,10\}$ each adjacent to a triangle in the core $\{1,2,4,6\}$, and $\{11,13,14\}$ each adjacent to a triangle in the core $\{7,8,9,12\}$; the two cores are joined by the edges $17,28,69$ together with $12$.}}{20}{}\protected@file@percent }
\newlabel{fig:inner-boundary-counterexample}{{8}{20}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{}{The surviving level-cycle conjecture}}{21}{}\protected@file@percent }
\newlabel{conj:level-cycle-three-colour}{{1.34}{21}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{}{Enumeration for small $n$}}{21}{}\protected@file@percent }
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Exhaustive vertex-source search for the level-cycle three-colour conjecture on all triangulation isomorphism classes with $4 \leq n \leq 13$. Every triangulation in this range admits at least one vertex source witnessing the conjecture.}}{21}{}\protected@file@percent }
\newlabel{tab:level-cycle-three-colour-counts}{{1}{21}}
\@writefile{toc}{\contentsline {subsection}{\tocsubsection {}{}{The $5$-connected slice at $n \leq 24$}}{21}{}\protected@file@percent }
\newlabel{def:seam}{{1.35}{21}}
\@writefile{lot}{\contentsline {table}{\numberline {2}{\ignorespaces The $5$-connected triangulations at $14 \leq n \leq 24$ generated by \texttt {plantri -c5 -a}. All $9732$ graphs in this slice admit a vertex source witnessing the level-cycle three-colour conjecture.}}{22}{}\protected@file@percent }
\newlabel{tab:level-cycle-three-colour-c5-14-16}{{2}{22}}
\newlabel{def:partial-tire-tree}{{1.36}{22}}
\newlabel{lem:seam-edge-shared}{{1.37}{22}}
\newlabel{conj:seam-counterexample}{{1.38}{22}}
\bibcite{tait-original}{1}
\bibcite{bauerfeld-depth}{2}
\bibcite{bauerfeld-nested-tire-duals}{3}
@@ -89,5 +93,5 @@
\newlabel{tocindent1}{17.77782pt}
\newlabel{tocindent2}{0pt}
\newlabel{tocindent3}{0pt}
\@writefile{toc}{\contentsline {section}{\tocsection {}{}{References}}{22}{}\protected@file@percent }
\gdef \@abspage@last{22}
\@writefile{toc}{\contentsline {section}{\tocsection {}{}{References}}{23}{}\protected@file@percent }
\gdef \@abspage@last{23}
@@ -1,5 +1,5 @@
# Fdb version 3
["pdflatex"] 1780415103 "paper.tex" "paper.pdf" "paper" 1780415105
["pdflatex"] 1780943955 "paper.tex" "paper.pdf" "paper" 1780943957
"/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 ""
@@ -144,11 +144,12 @@
"/usr/local/texlive/2022/texmf.cnf" 1647878952 577 209b46be99c9075fd74d4c0369380e8c ""
"fig_dual_depth.png" 1779857443 255786 cb48aab5aa40fc161d13a75df0544511 ""
"fig_inner_boundary_counterexample.png" 1780363332 86866 e15e4311e42fec20179ac6bb90683dea ""
"fig_medial_tire_example.png" 1780943640 209003 4349824e4f016bde4b938be6b2cb5b2c ""
"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" 1780415105 9575 5bc3b6429f986d3a3f92f9358d9c8487 "pdflatex"
"paper.tex" 1780414965 82330 193cfffcd3ef710f6995d7f672780ac4 ""
"paper.aux" 1780943957 10167 b77d8e1ff2e4a1b03fd4e31e583defb0 "pdflatex"
"paper.tex" 1780943947 86241 c3ce5f87def8730855ab5ccd29b7016c ""
(generated)
"paper.aux"
"paper.log"
@@ -459,6 +459,11 @@ INPUT ./fig_tire_example.png
INPUT fig_tire_example.png
INPUT ./fig_tire_example.png
INPUT ./fig_tire_example.png
INPUT ./fig_medial_tire_example.png
INPUT ./fig_medial_tire_example.png
INPUT fig_medial_tire_example.png
INPUT ./fig_medial_tire_example.png
INPUT ./fig_medial_tire_example.png
INPUT /usr/local/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmti7.tfm
INPUT /usr/local/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmti7.tfm
INPUT /usr/local/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmr9.tfm
+64 -54
View File
@@ -1,4 +1,4 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex 2022.10.5) 2 JUN 2026 11:45
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex 2022.10.5) 8 JUN 2026 14:39
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
@@ -510,84 +510,94 @@ File: fig_tire_example.png Graphic file (type png)
<use fig_tire_example.png>
Package pdftex.def Info: fig_tire_example.png used on input line 244.
(pdftex.def) Requested size: 280.79956pt x 188.56097pt.
[4 <./fig_tire_example.png>] [5] [6] [7]
<fig_medial_tire_example.png, id=37, 658.8615pt x 444.4605pt>
File: fig_medial_tire_example.png Graphic file (type png)
<use fig_medial_tire_example.png>
Package pdftex.def Info: fig_medial_tire_example.png used on input line 278.
(pdftex.def) Requested size: 280.79956pt x 189.42558pt.
LaTeX Warning: `h' float specifier changed to `ht'.
[4 <./fig_tire_example.png>] [5 <./fig_medial_tire_example.png>] [6] [7]
[8]
LaTeX Warning: `h' float specifier changed to `ht'.
[9] [10] [11] [12]
Underfull \vbox (badness 3396) has occurred while \output is active []
[13]
[14] [15]
<fig_tire_tree_decomposition.png, id=82, 1101.3145pt x 633.9685pt>
[9] [10] [11] [12] [13] [14] [15] [16]
<fig_tire_tree_decomposition.png, id=87, 1101.3145pt x 633.9685pt>
File: fig_tire_tree_decomposition.png Graphic file (type png)
<use fig_tire_tree_decomposition.png>
Package pdftex.def Info: fig_tire_tree_decomposition.png used on input line 12
55.
Package pdftex.def Info: fig_tire_tree_decomposition.png used on input line 13
34.
(pdftex.def) Requested size: 341.9989pt x 196.86678pt.
[16 <./fig_tire_tree_decomposition.png>]
<fig_universal_level_cycle_counterexample.png, id=87, 614.295pt x 343.2825pt>
LaTeX Warning: `h' float specifier changed to `ht'.
[17]
<fig_universal_level_cycle_counterexample.png, id=91, 614.295pt x 343.2825pt>
File: fig_universal_level_cycle_counterexample.png Graphic file (type png)
<use fig_universal_level_cycle_counterexample.png>
Package pdftex.def Info: fig_universal_level_cycle_counterexample.png used on
input line 1337.
input line 1416.
(pdftex.def) Requested size: 280.79956pt x 156.91663pt.
[17 <./fig_universal_level_cycle_counterexample.png>] [18]
<fig_inner_boundary_counterexample.png, id=96, 584.584pt x 324.8135pt>
[18 <./fig_tire_tree_decomposition.png>] [19 <./fig_universal_level_cycle_coun
terexample.png>]
<fig_inner_boundary_counterexample.png, id=101, 584.584pt x 324.8135pt>
File: fig_inner_boundary_counterexample.png Graphic file (type png)
<use fig_inner_boundary_counterexample.png>
Package pdftex.def Info: fig_inner_boundary_counterexample.png used on input l
ine 1446.
ine 1525.
(pdftex.def) Requested size: 280.79956pt x 156.02269pt.
[19 <./fig_inner_boundary_counterexample.png>]
[20]
Overfull \hbox (1.78508pt too wide) in paragraph at lines 1635--1637
[20 <./fig_inner_boundary_counterexample.png>] [21]
[22]
Overfull \hbox (1.78508pt too wide) in paragraph at lines 1714--1716
[]\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
/it/10 C\OT1/cmr/m/n/10 )\OMS/cmsy/m/n/10 j ^^U
[]
[21] [22] (./paper.aux) )
[23] (./paper.aux) )
Here is how much of TeX's memory you used:
14107 strings out of 478268
281211 string characters out of 5846347
567570 words of memory out of 5000000
31928 multiletter control sequences out of 15000+600000
14117 strings out of 478268
281512 string characters out of 5846347
565616 words of memory out of 5000000
31937 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
84i,12n,89p,1168b,801s stack positions out of 10000i,1000n,20000p,200000b,200000s
</usr/local/texlive/2022/texmf-dist/fonts/type1/public
/amsfonts/cm/cmbx10.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/
amsfonts/cm/cmbx8.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/am
sfonts/cm/cmcsc10.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/am
sfonts/cm/cmex10.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/ams
fonts/cm/cmmi10.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsf
onts/cm/cmmi5.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfon
ts/cm/cmmi6.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts
/cm/cmmi7.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/c
m/cmmi8.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/
cmmi9.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cm
r10.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr5
.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pf
b></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb><
/usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb></us
r/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr9.pfb></usr/l
ocal/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/lo
cal/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy5.pfb></usr/loca
l/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy6.pfb></usr/local/
texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb></usr/local/te
xlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy9.pfb></usr/local/texl
ive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb></usr/local/texli
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, 1085011 bytes).
</usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsf
onts/cm/cmbx10.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfo
nts/cm/cmbx8.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfont
s/cm/cmcsc10.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfont
s/cm/cmex10.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts
/cm/cmmi10.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/
cm/cmmi5.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm
/cmmi6.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/c
mmi7.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmm
i8.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi9
.pfb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.p
fb></usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr5.pfb>
</usr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb></u
sr/local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb></usr/
local/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb></usr/loc
al/texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmr9.pfb></usr/local/
texlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/local/t
exlive/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy5.pfb></usr/local/tex
live/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy6.pfb></usr/local/texli
ve/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb></usr/local/texlive
/2022/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy9.pfb></usr/local/texlive/2
022/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb></usr/local/texlive/20
22/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/texlive/2
022/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb>
Output written on paper.pdf (23 pages, 1252642 bytes).
PDF statistics:
220 PDF objects out of 1000 (max. 8388607)
132 compressed objects within 2 object streams
225 PDF objects out of 1000 (max. 8388607)
134 compressed objects within 2 object streams
0 named destinations out of 1000 (max. 500000)
38 words of extra memory for PDF output out of 10000 (max. 10000000)
43 words of extra memory for PDF output out of 10000 (max. 10000000)
Binary file not shown.
@@ -252,6 +252,85 @@ triangular faces.}
\label{fig:tire-example}
\end{figure}
\begin{definition}[Medial tire graph]
\label{def:medial-tire-graph}
Let $T = (B_{\mathrm{out}}, O, E_{\mathrm{ann}})$ be a tire graph.
Let $T^{\circ}$ be the plane graph obtained from $T$ by deleting every
edge of $O$ that is not on the inner boundary walk $B_{\mathrm{in}}$.
Equivalently, $T^{\circ}$ keeps $B_{\mathrm{out}}$, $B_{\mathrm{in}}$,
and the annular edges, but omits the chords of the inner outerplanar
graph $O$.
The \emph{medial tire graph} of $T$, denoted $M_{\mathrm{tire}}(T)$,
is obtained from the medial graph $M(T^{\circ})$ by deleting every
medial edge whose two endpoint-vertices correspond either to two edges
of $B_{\mathrm{out}}$ or to two edges of $B_{\mathrm{in}}$. Thus
$V(M_{\mathrm{tire}}(T))$ is naturally indexed by the non-chord edges
of $T$, and two such vertices are adjacent exactly when the
corresponding edges are consecutive on the boundary of a face of
$T^{\circ}$, except for consecutive pairs lying wholly along one of
the two boundary walks. The medial vertices corresponding to edges of
$E_{\mathrm{ann}}$ are called the \emph{annular medial vertices}.
\end{definition}
\begin{figure}[h]
\centering
\includegraphics[width=0.78\textwidth]{fig_medial_tire_example.png}
\caption{The medial tire graph for the tire in
Figure~\ref{fig:tire-example}. The chord of $O$ is drawn faintly and
omitted before taking the medial graph; medial edges between consecutive
outer-boundary edges or consecutive inner-boundary edges are also
omitted. Each medial vertex is placed at the midpoint of its
corresponding retained tire edge.}
\label{fig:medial-tire-example}
\end{figure}
\begin{theorem}[Annular medial colour bound]
\label{thm:annular-medial-colour-bound}
Let $T = (B_{\mathrm{out}}, O, E_{\mathrm{ann}})$ be a tire graph with
non-degenerate boundaries and simple inner boundary $B_{\mathrm{in}}$.
Let $A(T)$ be the subgraph of $M_{\mathrm{tire}}(T)$ induced by the
annular medial vertices. For a graph $H$, write
$\operatorname{Col}_3(H)$ for the set of proper $3$-vertex-colourings
of $H$. Then $A(T)$ is a cycle and
\[
|\operatorname{Col}_3(M_{\mathrm{tire}}(T))|
\;\leq\; |\operatorname{Col}_3(A(T))|.
\]
\end{theorem}
\begin{proof}
Since the tread is a triangulated annulus with no vertices in its
interior, each annular face has exactly one boundary edge, lying either
on $B_{\mathrm{out}}$ or on $B_{\mathrm{in}}$, and exactly two annular
edges. As the annular faces are traversed cyclically around the tread,
consecutive faces share one annular edge. Equivalently, the annular
edges occur in a cyclic order in which each annular face contains two
consecutive annular edges. Hence the subgraph of
$M_{\mathrm{tire}}(T)$ induced by the annular medial vertices is a
cycle.
Consider the restriction map from proper $3$-colourings of
$M_{\mathrm{tire}}(T)$ to colourings of this annular medial cycle
$A(T)$. We claim that this map is injective. Let $x$ be a
non-annular medial vertex. Then $x$ corresponds to an edge of
$B_{\mathrm{out}}$ or $B_{\mathrm{in}}$, since the chords of $O$ were
omitted before forming $M_{\mathrm{tire}}(T)$. This boundary edge is
incident to a unique annular face of $T^{\circ}$, and the other two
edges of that face are annular edges. Therefore $x$ is adjacent in
$M_{\mathrm{tire}}(T)$ to the two annular medial vertices corresponding
to those two annular edges.
Those two annular medial vertices are adjacent to each other, because
their annular edges are consecutive on the same triangular annular
face. In any proper $3$-colouring they therefore receive two distinct
colours, and $x$ is forced to receive the remaining third colour.
Thus every non-annular medial vertex has its colour uniquely determined
by the colouring of $A(T)$. Two colourings of $M_{\mathrm{tire}}(T)$
with the same restriction to $A(T)$ are identical, so the restriction
map is injective. The stated inequality follows.
\end{proof}
\begin{remark}
\label{rem:tire-counts}
Let $\mu = |V(B_{\mathrm{out}})|$ and $\nu = |V(B_{\mathrm{in}})|$. By