NEW: chain_dp_joint.py — chain DP tracking full per-tire colorings, edge-tuple-based parent/child sharing, and ground-truth comparison against brute-force G' edge-coloring enumeration. KEY EMPIRICAL FINDING (4th issue in chain_half_analysis): When H_d is a tree (no internal cycles), the high-side cut tire forest is EMPTY. The single H_d face is forced (by the level-set lemma) to be entirely low-side or high-side; for a tree containing the pendants, it's low-side. Hence high-side forest has 0 tires. This happens at dodecahedron cut #0 side 0 (|S_0|=4): - depths {0: 2, 1: 3}, |H|=6, |E(H)|=5 - H_1 is a tree, 1 face of length 6 (= low-side) - No high-side cut tires - DP gives R_dp=0, but ground truth R=36 DP correctly produces non-empty output on side 1 (where H_1 has 2 faces, one high-side), but the high-side framework's coverage is incomplete for thin (small |S_i|) cuts. This is a STRUCTURAL gap, not a code bug. The path forward suggested in chain_half_analysis.tex: introduce a "boundary cut tire" T_0 representing the low-side face + its pendants, so the chain DP runs from leaves through T_0 to the cut. Compounding with prior gaps: (1) cut tires aren't always spoke-only (branched H_d faces) (2) OUT-only projection loses S_3 orbit (3) heuristic parent-finding (vertex overlap) (4) tree H_d → empty high-side forest (this commit) Net: the loose conjecture's chain half is genuinely open and requires framework extension before the DP can be tested cleanly. S_3 equivariance and high-side forest structure are the proven pieces. 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