forked from google-deepmind/formal-conjectures
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGoldbachAnchor.lean
More file actions
36 lines (28 loc) · 1022 Bytes
/
Copy pathGoldbachAnchor.lean
File metadata and controls
36 lines (28 loc) · 1022 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/-
GoldbachAnchor.lean — TIGHT theorem BES-3 (single anchor)
G(214) = 8 = 2^N_c at the framework anchor S = 2K.
-/
import Bes.Definitions
import Mathlib.Data.Nat.Prime.Basic
namespace Bes
/-- Goldbach pair count: pairs (p, q) with p ≤ q, p + q = n, both prime. -/
def GoldbachCount (n : ℕ) : ℕ :=
(Finset.range (n + 1)).filter
(fun p => p ≤ n - p ∧ Nat.Prime p ∧ Nat.Prime (n - p))
|>.card
/-- BES-3 (anchor): G(214) = 8 = 2^N_c.
The 8 Goldbach pairs summing to 214 are:
(3, 211), (17, 197), (23, 191), (41, 173),
(47, 167), (83, 131), (101, 113), (107, 107).
Note (107, 107) = (K, K) — the M_K-fixed pair at the framework anchor.
-/
theorem goldbach_at_S : GoldbachCount S_atlas = 8 := by
native_decide
/-- 2^N_c = 8 holds (sanity check). -/
theorem two_pow_Nc_eq_eight : 2 ^ N_c = 8 := by
rfl
/-- The Goldbach anchor identity: G(2K) = 2^N_c. -/
theorem goldbach_anchor : GoldbachCount (2 * K_atlas) = 2 ^ N_c := by
show GoldbachCount 214 = 8
native_decide
end Bes