def
definition
parityCount
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Foundation.IntegrationGap on GitHub at line 48.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
45
46/-- The parity count (number of independent ledger parities): `D²`.
47 At `D = 3`, this equals `9`. -/
48def parityCount (d : ℕ) : ℕ := d ^ 2
49
50/-- The integration gap: parity count times configuration dimension. -/
51def integrationGap (d : ℕ) : ℕ := parityCount d * configDim d
52
53theorem configDim_at_D3 : configDim D = 5 := by native_decide
54
55theorem parityCount_at_D3 : parityCount D = 9 := by native_decide
56
57theorem integrationGap_at_D3 : integrationGap D = 45 := by native_decide
58
59theorem integrationGap_factors : integrationGap D = 9 * 5 := by native_decide
60
61/-! ## Coprimality forces odd dimension -/
62
63/-- For odd `D = 2k+1`, `D²(D+2)` is odd (a product of odd numbers),
64 hence coprime with any power of `2`. -/
65theorem coprimality_odd (k : ℕ) :
66 Nat.Coprime (2 ^ (2 * k + 1)) ((2 * k + 1) ^ 2 * (2 * k + 3)) := by
67 suffices h : Nat.Coprime 2 ((2 * k + 1) ^ 2 * (2 * k + 3)) from h.pow_left _
68 show Nat.gcd 2 ((2 * k + 1) ^ 2 * (2 * k + 3)) = 1
69 have hodd : (2 * k + 1) ^ 2 * (2 * k + 3) =
70 2 * (4 * k ^ 3 + 10 * k ^ 2 + 7 * k + 1) + 1 := by ring
71 rw [hodd]
72 set n := 4 * k ^ 3 + 10 * k ^ 2 + 7 * k + 1
73 rw [Nat.gcd_rec]
74 have : (2 * n + 1) % 2 = 1 := by omega
75 rw [this]
76 decide
77
78/-- For even `D = 2k` (with `k ≥ 1`), `D²(D+2)` is even, so the gcd is `> 1`. -/