NEW NOTE: boundary_cut_tire.tex (3 pages)
NEW SCRIPT: experiments/boundary_cut_tire.py
CONCEPT: T_∂^(i) per side i = the unique low-side face of H_1
(= face containing all pendants) treated as a virtual root tire.
- Cycle = boundary walk of f_∂ (depth-1 edges)
- OUT pendants = depth-0 cut edges in f_∂'s interior
- IN pendants = depth-2 edges at boundary vertices going into
adjacent high-side faces
T_∂ adjoins the high-side forest as a boundary node: not parent
or child geometrically, but shares edges with adjacent high-side
tires (depth-1 boundary edges, depth-2 in-pendants).
The extended chain DP includes T_∂ and uses edge-sharing
compatibility with adjacent high-side tires.
EMPIRICAL RESULTS (vs. ground truth from brute-force enumeration):
Dodecahedron:
- cut #0 side 0 (|S|=4, H_1 = tree): MATCH 9=9 ✓
[previously high-side DP gave 0, framework failed]
- cut #3 side 1 (|S|=4): MATCH 9=9 ✓
- cut #4 side 0 (|S|=4): MATCH 9=9 ✓
- HM_0 cut #0 side 0 (|S|=4): MATCH 9=9 ✓
Thicker sides: |R_dp| < |R_ground| (DP over-restricts).
This is a separate issue (probably heuristic parent-finding
or shared-edge logic when multiple high-side tires interact),
not the coverage gap.
Some cuts have side too large for brute-force enumeration in
T_∂ (n_edges > 18 limit), marked 'bdy too big'.
KEY WIN: the coverage gap is closed for the thin-side case where
H_d is a tree. The boundary cut tire converts these from
"framework gives R=0" to "framework gives R = ground truth."
NOT YET CLOSED:
- Thicker sides where DP under-counts vs ground truth
(different sets, similar cardinality sometimes)
- Branched per-tire half (T_∂'s cycle can traverse edges twice)
- Strong per-tire extendibility conjecture
But the framework now has principled coverage on ALL sides,
not just those with cycles in H_1.
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