Extends paper with: a notation section for color-class preimages; the
plane diamond coloring definition (4-coloring whose two classes lift to a
2-coloring of some BFS-rooted diamond scaffold); a connectedness lemma
for the scaffold; a proposition reformulating the property as parity-
separation of two color classes by BFS layers; a remark noting this is
strictly stronger than 4CT; and the conjecture that every maximal planar
graph admits such a coloring.
Adds plane_diamond_coloring.py with get_plane_diamond_scaffold and a
counterexample search that reduces the per-root check to 4-colorability
of an auxiliary graph forcing two colors onto opposite parity layers.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Defines distance partition (BFS layers from a chosen vertex) and the diamond
scaffold of a maximal planar graph (G with all same-level edges removed),
then proves the diamond scaffold is 2-colorable by parity of level.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
source_graph/source_canon_id for before state, result_graph/result_coloring/result_canon_id for after state.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace iterative tutte_embedding in lib with numpy direct-solve version from example.py
- Import tutte_embedding into example.py from lib instead of defining it locally
- Fix g._embedding -> g.get_embedding() in outer_face
- Add bash completion to run.sh alongside existing zsh completion
- Use nix-shell -p gcc for plantri build step on NixOS
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replaces is_planar(set_embedding=True) calls in pluck and squish so the embedding
stays consistent with inherited positions across reduction steps.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds outer face detection via face traversal and signed area, Tutte embedding
for clean planar layouts, and moves g/g_prime/coloring_prime into base Operation
type. Pluck and squish now carry positions and recompute embeddings via is_planar.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>