81a9e1fef3
- Generalize Phase 1 to include even interior faces as optional flip
candidates and allow the source-triangle break in $L_0$ to be skipped;
generalize Phase 2 so even outer-incident cycles may have at most one
outer-face edge flipped (odd cycles still must have one).
- Define "simple level resolution" as a triangulation $G'$ obtained from
some $(G, S)$ via the algorithm with bipartite parity subgraphs
(Definition 5.4).
- Add Conjecture 5.7 (simple-resolution md4 surjectivity) and
Observation 5.6: every minimum-degree-4 plane triangulation iso-class
on $n \in \{6, ..., 11\}$ vertices is reached as a simple level
resolution. Counts: 1, 1, 2, 5, 12, 34. The md4 restriction is
necessary -- specific non-md4 iso-classes (iso 5 at n=8; iso 25, 183
at n=10) are not reachable.
- Add experiments/simple_level_resolution_coverage.py implementing the
branched algorithm and coverage check, plus supporting scripts for
Phase 1 cycling debugging, Phase 2 gap diagnosis, inductive-lift
scaffolding (inductive_lift_check.py for the route-1 proof strategy),
and visualizations of the unreached n=10 iso-classes and the original
Phase 2 gap example.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Level Resolution Experiments
Computational investigation of a structural proof strategy for the four color theorem via level resolutions of maximal planar graphs.
See paper.tex for full definitions, conjectures, and findings.
Files
Core library
level_cycles.py— levels, level subgraphs, level cycles, resolution enumeration (used by old-definition coverage).triangulation_gen.py— vertex-insertion + flip closure (good to n=10).triangulation_gen_fast.py— WL-hash pre-filter for n ≥ 11.balanced_layout.py— Tutte-init random-search planar layout.four_color.py— level 4-coloring via parity 2-coloring of L_k.
Experiments
coverage_new_def.py— coverage under the cleaner definition: G' is a level resolution of G via S iff its parity subgraphs are bipartite. Reachability reduces to "G' admits a bipartite 2-partition with cardinality matching some BFS-realizable parity split."coverage.py,coverage_fast.py,coverage_chunked.py— coverage under the OLD (stricter) definition involving specific edge flips on level cycles.face_counting.py— per-target preimage counts (N_iso, N_paths) under the old definition.orbit_check.py— orbit-counting with k-flip reverse-preimages (used for old-definition icosahedron analysis).
Visualizations
plot_oct.py,n7_examples.py,four_color_viz.py.
Summary under the new definition
| n | iso-classes | reachable | md4 reachable |
|---|---|---|---|
| 6 | 2 | 2 | 1/1 |
| 7 | 5 | 5 | 1/1 |
| 8 | 14 | 14 | 2/2 |
| 9 | 50 | 50 | 5/5 |
| 10 | 233 | 233 | 12/12 |
| 11 | 1249 | 1249 | 34/34 |
| 12 | icosahedron | reachable | yes |
Every iso-class is reachable at every tested size. The previously "uncovered" classes T1 (n=7) and T6 (n=8) under the old definition are both reachable under the cleaner definition.
The new definition makes coverage equivalent to 4CT plus a BFS-realizable partition cardinality constraint, raising the question of what additional structure on the preimage G would make the framework non-circular.
Dependencies
pip install networkx matplotlib numpy scipy