files / problems / hilbert16-degree-8 / compute / q8 / README.md

2.5 KB · on GitHub

One more degree-eight T-curve scheme

Number of nonempty degree-eight T-curve schemes ≥ 2,385. The new scheme is ⟨3 ⊔ 1⟨3⟩ ⊔ 1⟨12⟩⟩: three exterior ovals, one oval containing three ovals, and another containing twelve. It has twenty ovals. Neither of the two open maximal deep nests is decided.

The claim improves the 2,384 baseline consisting of the 2,367 certificates of Geiselmann et al., v4, §4.3 and the notebook's seventeen prior additions. The original archive and those seventeen certificates remain the comparison baseline.

From the repository root, replay the new construction with:

sh problems/hilbert16-degree-8/compute/q8/run_all.sh

This needs Python 3, a C compiler and rustc, with no Python packages to install. It runs positive and negative controls, checks the integer lifting, independently computes the nesting tree in Python and Rust, and checks absence from both baseline sets. Exit zero means the claim holds. A missing or empty certificate is a failure.

The certificate contains all triangles, heights and signs. VERIFICATION.md explains why the two algorithms determine the same mathematical object without sharing the search engine. To repeat the full baseline comparison:

python3 problems/hilbert16-degree-8/compute/q8/controls.py --full-baseline

The search changed one diagonal and at most three signs from each seed. It stopped at the first candidate, after 82 of 1,190 planned balls, and then certified that candidate. The saved prefix has 1,248,532 evaluations, counting repetitions between balls. There are 807 distinct observed schemes. Of these, 806 are in the baseline and one is new; the remaining 1,108 balls were not searched.

# Audit the saved prefix, including every flip and all counts:
sh problems/hilbert16-degree-8/compute/q8/replay_coverage.sh
# Recompute that prefix and compare every scheme frequency:
sh problems/hilbert16-degree-8/compute/q8/replay_coverage.sh --replay

These commands check search coverage separately from the existence claim. The route notes give the exact change from the published seed and record the failed projection method before the successful lifting solve. lift_candidate.py can repeat that solve with NumPy and SciPy; those packages are unnecessary for verification. The search uses one worker and bounded sign balls, with an atomic checkpoint after each ball.