COMPUTATIONAL ORACLE: The Semicircle Census
Verified by Python brute-force enumeration (test/verify_census.py).
Lean's Finset.toList is noncomputable, so the census runs outside
the kernel. The results below are ground truth.
Cycle Distributions (0-indexed, γ = finRotate) #
n=1: [2] total=1, genus-0: 1 = C₁ n=2: [3, 3, 1] total=3, genus-0: 2 = C₂ n=3: [4×5, 2×10] total=15, genus-0: 5 = C₃ n=4: [5×14, 3×70, 1×21] total=105, genus-0: 14 = C₄ n=5: [6×42, 4×420, 2×483] total=945, genus-0: 42 = C₅
Harer-Zagier Table (genus distribution) #
2n= 2: g0=1 = 1 2n= 4: g0=2 + g1=1 = 3 2n= 6: g0=5 + g1=10 = 15 2n= 8: g0=14 + g1=70 + g2=21 = 105 2n=10: g0=42 + g1=420 + g2=483 = 945 2n=12: g0=132 + g1=2310 + g2=6468 + g3=1485 = 10395
The genus-0 column is the Catalan sequence: 1, 2, 5, 14, 42, 132. Cycle count c and genus g satisfy: c = n + 1 - 2g. Maximum cycles = n + 1 ↔ genus 0 ↔ noncrossing.
Key Structural Facts (verified computationally through n=6) #
- All cycle counts have the same parity as n + 1.
- Cycle counts range from n + 1 (genus 0) down to 1 or 2.
- The genus distribution satisfies the Harer-Zagier recurrence: (n+1) · ε_g(n) = (4n-2) · ε_g(n-1) + (2n-1)(n-1) · ε_{g-1}(n-1)
- Total pairings = (2n-1)!! = 1·3·5···(2n-1).
Specific pairings for small n, defined computably for formal verification #
The unique pairing on Fin 2: swap 0 ↔ 1.
Equations
Instances For
The adjacent noncrossing pairing on Fin 4: pairs 0↔1 and 2↔3.
Equations
Instances For
The nested noncrossing pairing on Fin 4: pairs 0↔3 and 1↔2.
Equations
Instances For
The crossing pairing on Fin 4.