CRITICAL AUDIT FINDING: experiments/check_subcase_iib.py shows that
Lemma (Flank covering, n_i = 6) is empirically FALSE in full
generality, not just unproven:
Across 142,812 chord-apex+Kempe colourings up to |V(G)| ≤ 20:
- 9,228 (6.46%) reach sub-case (ii.B) of Case (b)
(φ(A_i P_1) = c_1 AND φ(P_1 P_2) = c_0);
- 1,314 (0.92%) of those have P_1 ∉ V(K_b) ∪ V(K_c),
falsifying the lemma's conclusion ∂F_flank^♭ ⊆ V(K_b) ∪ V(K_c).
So the original n_i = 6 lemma cannot be saved by patching the proof;
the conclusion itself is wrong.
Paper changes:
- Lemma (Flank covering, n_i = 6): retracted in full generality.
Restated with a weakened conclusion (true only for Case (a) and
Case (b) sub-case (i)), with explicit acknowledgement that the
sub-case (b)(ii) configuration falsifies the lemma on 1,314
colourings.
- Proof of the lemma: rewritten to honestly stop at the proven sub-
cases; sub-case (b)(ii) is identified as unprovable by local
argument (and now demonstrated empirically false).
- Theorem (Partial proof via flank): restricted from n_i ∈ {5, 6}
to n_i = 5 only.
- Theorem (Extended partial proof): cases relabelled (a'), (b'), (c)
with a' = (n_i = 5), b' = (n_{i+1} = 5), c = (n_{i+2} = n_{i+4} = 5).
- Empirical coverage remark: structural proof covers
7,531 / 7,930 (94.97%) of (G, v, i) configurations up to
|V(G)| ≤ 20. The other 399 (5.03%) have at least one n_k = 6 but
no n_k = 5 in the right position; the flank face on the n_k = 6
side is the natural candidate but is no longer a tight covering.
- Deciding-face conjecture itself remains empirically true on all
142,812 colourings; the proof's structural step is what's open
on the 399 triples.
Lessons from the audit:
- The "+P_2 ∈ V(K_b) ∪ V(K_c) implies P_1 ∈ V(K_b) ∪ V(K_c)"
propagation in the original n_i = 6 proof was wrong: the cycle
type (K_b vs K_c) matters in a way the proof glossed over, and
specifically when φ(P_1 P_2) = c_0 the K_c cycle through P_2
doesn't use that edge.
- A correct n_i = 6 lemma would require a global K_b-walk argument
showing the {c, c_0}-cycle through P_2 coincides with K_b in the
bad sub-case. Empirically this is FALSE in 0.92% of colourings,
so no such argument exists; the n_i = 6 covering must instead come
from a different face entirely for those colourings.
Paper stays at 21 pages.
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