Adds a new note describing a cut-and-depth-label procedure for
the dual G' of a maximal planar G:
1. Find a 6-edge cut C in G'.
2. Remove cut edges → G'_0, G'_1.
3. In each G'_i:
a. V_i = degree-2 vertices (vertices incident to exactly 1
cut edge, hence degree 3-1=2 in induced subgraph).
b. For each v ∈ V_i, add a pendant edge to a new vertex.
Label pendants depth 0.
c. BFS-propagate: edges adjacent to a depth-d edge get
depth d+1, until all edges are labelled.
Worked example on Holton-McKay graph #0 (38-vertex non-Hamiltonian
cubic plane graph, dual of a 21-vertex triangulation):
- 128 distinct 6-edge cuts found by greedy search.
- Best matching cut: |S| = 10, cut = 6 edges with 12 distinct
endpoints (6 per side).
- G'_0: 10 + 6 = 16 vertices, max depth 2.
- G'_1: 28 + 6 = 34 vertices, max depth 7.
The procedure mirrors the 4CT cut-and-reglue reducibility scheme:
each G'_i has pendants restoring cubicity at the boundary; the
depth labels organize G'_i into concentric layers by distance to
the cut. This is the dual analogue of plane depth from a level
cycle (cf. the level-cycle generalization discussion).
Files:
experiments/cut_depth_label.py
notes/cut_depth_label.tex (3 pages)
notes/fig_cut_depth_label.png
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
math-research
Personal mathematics research repository by Eric Bauerfeld. Papers are written in AMS-LaTeX using the amsart document class.
Papers
kempe_style_search_for_smaller_contradiction
Humans Suffice: A Novel Proof of the Four Color Theorem
An in-progress proof of the Four Color Theorem via a minimal counterexample argument. The paper builds on Kempe's 1879 strategy — establishing valid cases for vertices of degree ≤ 4, then extending the argument to the degree-5 case using properties of non-adjacent degree-5 vertices, merged subgraphs, and locked colorings.
plane_depth_labelling
Plane Depth Labelling
Early-stage paper. Title and author information set; content in progress.
Creating a New Paper
Use run.sh to scaffold a new paper from the AMS-LaTeX template:
./run.sh init_paper "Your Paper Title"
This creates a new directory (name derived from the title) containing a paper.tex pre-filled with the title and author.
Setup
The Python library code in lib/ requires SageMath. Run setup once per machine:
./run.sh setup <sage_python_path> <sage_site_packages> [system_name]
sage_python_path— path to the SageMath Python interpreter (e.g./opt/sage/local/bin/python3)sage_site_packages— path to SageMath's site-packages directorysystem_name— optional label for this machine (defaults tohostname -s); used to store per-machine env files as.env.<system_name>
On subsequent runs the paths default to whatever was saved in .env, so ./run.sh setup alone re-runs setup with the existing configuration.
Setup also compiles the plantri submodule via make.
Running Sage
To run a Sage script with plantri available on PATH:
./run.sh sage <script.py> [args...]
Or to open an interactive Sage session:
./run.sh sage
Linting
./run.sh lint
Runs pyright and pylint on lib/ using the SageMath Python interpreter.
Shell Completion
To enable tab-completion for run.sh in zsh, add this to your .zshrc:
eval "$(path/to/run.sh completion)"
Or source it once in the current shell session:
eval "$(./run.sh completion)"
Building
Papers are compiled with LaTeX. From within a paper directory:
latexmk -pdf paper.tex