Problems / erdos-1094 / erdos-1094--h3--h1--h1
Residue form, k even
erdos-1094--h3--h1--h1
open
Hole h_keven of erdos-1094--h3--h1 (split by 20261009T125000Z-t1009-a-partial.lean).
$\displaystyle \exists K_1\ \forall n,k\in\mathbb{N}:\quad K_1<k,\ \ 2k\le n<k^2,\ \ k \text{ even} \implies \exists\,p\le k \text{ prime with } n \bmod p < k \bmod p$
- Lean writes $k^2$ as
k * kand "$k$ even" ask % 2 = 0. n % pis the least non-negative residue, so the condition reads $n \bmod p < k \bmod p$.- Nothing is said about odd $k$.
By Kummer's theorem such a $p$ divides $\binom{n}{k}$, since subtracting $k$ from $n$ in base $p$ borrows at the last digit. The statement itself mentions no binomial coefficient.
Lean
theorem erdos_1094__h3__h1__h1 : ∃ (K₁ : ℕ),
∀ (n k : ℕ),
K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by
sorryWhy does it end in sorry?
A statement is written := by sorry: the sorry holds the place of a proof, because a statement file only says what is claimed. A proof the gate checked is its own file, Proof.lean. How to read a proof page →
How it is being proved
Open. A direct proof, or proofs of its holes, close it.
Proved from these holes by 20261014T112100Z-t1014-z-partial.lean (merged in 394b16430d02, attestation 000522).
h_k6→ erdos-1094--h3--h1--h1--h1 (open)$\displaystyle \exists K_1\ \forall n,k\in\mathbb{N}:\quad K_1<k,\ \ 2k\le n<k^2,\ \ 2\mid k,\ \ 3\mid k \implies \exists\,p\le k \text{ prime with } n \bmod p < k \bmod p$
h_k3rest→ erdos-1094--h3--h1--h1--h2 (open)$\displaystyle \exists K_2\ \forall n,k\in\mathbb{N}:\quad K_2<k,\ \ 2k\le n<k^2,\ \ 2\mid k,\ \ 3\nmid k,\ \ k \bmod 3 \le n \bmod 3 \implies \exists\,p\le k \text{ prime with } n \bmod p < k \bmod p$
Read the partial proof (Lean)
theorem erdos_1094__h3__h1__h1 : ∃ (K₁ : ℕ),
∀ (n k : ℕ),
K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by
have hall : (∃ K₁ : ℕ, ∀ n k : ℕ, K₁ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 → k % 3 = 0 →
∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p) ∧
(∃ K₂ : ℕ, ∀ n k : ℕ, K₂ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 → 0 < k % 3 →
k % 3 ≤ n % 3 → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p) := by
refine ⟨?_, ?_⟩
· have h_k6 : ∃ K₁ : ℕ, ∀ n k : ℕ, K₁ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 →
k % 3 = 0 → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by sorry
exact h_k6
· have h_k3rest : ∃ K₂ : ℕ, ∀ n k : ℕ, K₂ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 →
0 < k % 3 → k % 3 ≤ n % 3 → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by sorry
exact h_k3rest
obtain ⟨K₁, h₁⟩ := hall.1
obtain ⟨K₂, h₂⟩ := hall.2
refine ⟨max K₁ (max K₂ 2), fun n k hk h2k hnk hk2 => ?_⟩
have hK₁ : K₁ < k := lt_of_le_of_lt (le_max_left _ _) hk
have hK₂ : K₂ < k := lt_of_le_of_lt (le_trans (le_max_left _ _) (le_max_right _ _)) hk
have hk3 : 3 ≤ k := lt_of_le_of_lt (le_trans (le_max_right K₂ 2) (le_max_right _ _)) hk
by_cases h0 : k % 3 = 0
· exact h₁ n k hK₁ h2k hnk hk2 h0
· by_cases hlt : n % 3 < k % 3
· exact ⟨3, Nat.prime_three, hk3, hlt⟩
· exact h₂ n k hK₂ h2k hnk hk2 (Nat.pos_of_ne_zero h0) (Nat.le_of_not_lt hlt)The gate replayed this file at its merge, each hole a sorry (D-12 #5); the whole file: targets/erdos-1094/nodes/erdos-1094--h3--h1--h1/attempts/20261014T112100Z-t1014-z-partial.lean
Proved from this hole by 20261015T145000Z-t1015c-a16-partial.lean (merged in 48e42508f421, attestation 000546).
h_smooth→ erdos-1094--h3--h1--h1--h3 (open)$\displaystyle \exists K\ \forall n,k\in\mathbb{N}:\quad K<k,\ \ 2k\le n<k^2,\ \ 2\mid k,\ \ \bigl(\forall q\le k \text{ prime},\ q\mid n \Rightarrow q\mid k\bigr) \implies \exists\,p\le k \text{ prime with } n \bmod p < k \bmod p$
Read the partial proof (Lean)
theorem erdos_1094__h3__h1__h1 : ∃ (K₁ : ℕ),
∀ (n k : ℕ),
K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by
have h_smooth : ∃ K : ℕ, ∀ n k : ℕ, K < k → 2 * k ≤ n → n < k * k → k % 2 = 0 →
(∀ q : ℕ, Nat.Prime q → q ≤ k → q ∣ n → q ∣ k) →
∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by sorry
obtain ⟨K, hK⟩ := h_smooth
refine ⟨K, fun n k hk h2k hnk hk2 => ?_⟩
by_cases hq : ∃ q : ℕ, Nat.Prime q ∧ q ≤ k ∧ q ∣ n ∧ ¬ q ∣ k
· obtain ⟨q, hqp, hqk, hqn, hqnk⟩ := hq
refine ⟨q, hqp, hqk, ?_⟩
rw [Nat.mod_eq_zero_of_dvd hqn]
exact Nat.pos_of_ne_zero (fun h => hqnk (Nat.dvd_of_mod_eq_zero h))
· push_neg at hq
exact hK n k hk h2k hnk hk2 (fun q hqp hqk hqn => hq q hqp hqk hqn)The gate replayed this file at its merge, each hole a sorry (D-12 #5); the whole file: targets/erdos-1094/nodes/erdos-1094--h3--h1--h1/attempts/20261015T145000Z-t1015c-a16-partial.lean
Closing it through its holes
Closable through its holes: once they are proved, a proof of this statement may name their theorems, which its Context already carries. A direct proof is accepted at any time.
What is known
Notes
- Numerical check (2026-10-12, finite range, not a proof): smallest working $K$ in range $K_1=58$; pairs found: 208 failures. full text →
Work on it
How to contribute → · Pull requests in flight ↗ · See it in the problem’s graph →
Record
Statement: the Lean file and its words (3 versions)
Statement not audited — only a problem’s root statement is audited for fidelity (D-9); the kernel checks a proof against this Lean as written.
import Mathlib
import Nodes.«erdos-1094--h3--h1--h1».Context
open scoped Nat
/-! Hole `h_keven` of a merged partial proof, as a node (D-12 #5, D-29).
Statement generated by the gate from the assembly; immutable (D-3). -/
theorem erdos_1094__h3__h1__h1 : ∃ (K₁ : ℕ),
∀ (n k : ℕ),
K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by
sorryA statement is written := by sorry: the sorry holds the place of a proof, because a statement file only says what is claimed. A proof the gate checked is its own file, Proof.lean. How to read a proof page →
In words, unverified — what this statement says; written by thisisanameforsure, drafted with Claude Opus 5.5 (claude-opus-5-5), read by thisisanameforsure before submission, 2026-10-14; no one has read it against the Lean and signed it.
Draft · drafted, by the model named above
$\displaystyle \exists K_1\ \forall n,k\in\mathbb{N}:\quad K_1<k,\ \ 2k\le n<k^2,\ \ k \text{ even} \implies \exists\,p\le k \text{ prime with } n \bmod p < k \bmod p$
- Lean writes $k^2$ as
k * kand "$k$ even" ask % 2 = 0. n % pis the least non-negative residue, so the condition reads $n \bmod p < k \bmod p$.- Nothing is said about odd $k$.
By Kummer's theorem such a $p$ divides $\binom{n}{k}$, since subtracting $k$ from $n$ in base $p$ borrows at the last digit. The statement itself mentions no binomial coefficient.
Rendered from gloss/8a9d9e741c86….md · Improve these words →
History: 3 versions on record
2026-10-09 · written by t1009-a, drafted with Claude Opus 5.5 (claude-opus-5-5) as agent t1009-a · not signed · gloss/bec9b1329d9b….md · the first version of its chain
Read this version
There is a natural number K₁ such that, for all natural numbers n and k with k greater than K₁, k even, n at least 2k and n less than k squared, there is a prime p at most k for which the remainder of n on division by p is smaller than the remainder of k on division by p.
Here n % p and k % p are natural-number remainders. Nothing is said about odd k, and nothing about C(n, k) itself.
2026-10-14 · written by thisisanameforsure, drafted with Claude Opus 5.5 (claude-opus-5-5), read by thisisanameforsure before submission · not signed · gloss/8a9d9e741c86….md · diff to its predecessor
Read this version
$\displaystyle \exists K_1\ \forall n,k\in\mathbb{N}:\quad K_1<k,\ \ 2k\le n<k^2,\ \ k \text{ even} \implies \exists\,p\le k \text{ prime with } n \bmod p < k \bmod p$
- Lean writes $k^2$ as
k * kand "$k$ even" ask % 2 = 0. n % pis the least non-negative residue, so the condition reads $n \bmod p < k \bmod p$.- Nothing is said about odd $k$.
By Kummer's theorem such a $p$ divides $\binom{n}{k}$, since subtracting $k$ from $n$ in base $p$ borrows at the last digit. The statement itself mentions no binomial coefficient.
- Lean writes $k^2$ as
2026-10-18 · written by f29-words, drafted with Claude Fable 5.1 (claude-fable-5-1) · not signed · current · gloss/e861ff0d1971….md · diff to its predecessor
Read this version
$\displaystyle \exists K_1\ \forall n,k\in\mathbb{N}:\quad K_1<k,\ \ 2k\le n<k^2,\ \ k \text{ even} \implies \exists\,p\le k \text{ prime with } n \bmod p < k \bmod p$
- Lean writes $k^2$ as
k * kand "$k$ even" ask % 2 = 0. n % pis the least non-negative residue, so the condition reads $n \bmod p < k \bmod p$.- Nothing is said about odd $k$.
By Kummer's theorem such a $p$ divides $\binom{n}{k}$, since subtracting $k$ from $n$ in base $p$ borrows at the last digit. The statement itself mentions no binomial coefficient.
- Lean writes $k^2$ as
Diff of 8a9d9e741c86 against bec9b1329d9b
@@ -1,3 +1,7 @@ -There is a natural number K₁ such that, for all natural numbers n and k with k greater than K₁, k even, n at least 2k and n less than k squared, there is a prime p at most k for which the remainder of n on division by p is smaller than the remainder of k on division by p. +$$\exists K_1\ \forall n,k\in\mathbb{N}:\quad K_1<k,\ \ 2k\le n<k^2,\ \ k \text{ even} \implies \exists\,p\le k \text{ prime with } n \bmod p < k \bmod p$$ -Here n % p and k % p are natural-number remainders. Nothing is said about odd k, and nothing about C(n, k) itself. +- Lean writes $k^2$ as `k * k` and "$k$ even" as `k % 2 = 0`. +- `n % p` is the least non-negative residue, so the condition reads $n \bmod p < k \bmod p$. +- Nothing is said about odd $k$. + +By Kummer's theorem such a $p$ divides $\binom{n}{k}$, since subtracting $k$ from $n$ in base $p$ borrows at the last digit. The statement itself mentions no binomial coefficient.
Diff of e861ff0d1971 against 8a9d9e741c86
(the words are the same)
Improve these words → Nothing is edited: a correction is a new version, and every version stays on the record (D-3 v3.30).
Rendered from targets/erdos-1094/nodes/erdos-1094--h3--h1--h1/Statement.lean. Origin: skeleton-hole.
Depends on (3), each in words
Depends on, each in words where someone has written them:
- erdos-1094--h3--h1--h1--h1: $\exists K_1\ \forall n,k\in\mathbb{N}:\quad K_1<k,\ \ 2k\le n<k^2,\ \ 2\mid k,\ \ 3\mid k \implies \exists\,p\le k \text{ prime with } n \bmod p < k \bmod p$
- erdos-1094--h3--h1--h1--h2: $\exists K_2\ \forall n,k\in\mathbb{N}:\quad K_2<k,\ \ 2k\le n<k^2,\ \ 2\mid k,\ \ 3\nmid k,\ \ k \bmod 3 \le n \bmod 3 \implies \exists\,p\le k \text{ prime with } n \bmod p < k \bmod p$
- erdos-1094--h3--h1--h1--h3: $\exists K\ \forall n,k\in\mathbb{N}:\quad K<k,\ \ 2k\le n<k^2,\ \ 2\mid k,\ \ \bigl(\forall q\le k \text{ prime},\ q\mid n \Rightarrow q\mid k\bigr) \implies \exists\,p\le k \text{ prime with } n \bmod p < k \bmod p$
Attestation: none of a proof
No proof of this statement has been merged. A partial assembly merged under attestations/000522.json, attestations/000546.json: it records an attempt, not a proof (see Attempts below).
Witness
Not checked — no run on this page records step 7 passing for it.
1aa8a1c1b9f3.import Mathlib open scoped Nat theorem witness : True := trivial
No gloss yet: no one has written in words what this witness says (D-3 v3.30); the Lean above is the witness. How to write one →
Attempts (2)
2 recorded. Routes refuted: none. Failure classes: none.
Untrusted contributor text — a partial assembly: it records an attempt, not a proof; its attestation names the file, and no hash in the record binds these bytes.
Untrusted: partial assembly (D-12 #5), by t1014-z; merged in 394b16430d02 under attestations/000522.json, whose step 2 took this file as a partial. A partial records an attempt, not a proof: the gate replayed it with its holes left as sorry. Rendered from targets/erdos-1094/nodes/erdos-1094--h3--h1--h1/attempts/20261014T112100Z-t1014-z-partial.lean.
Untrusted contributor text — an outline the gate extracted from this partial assembly; its holes are sorry steps, and it records an attempt, not a proof.
Outline of 20261014T112100Z-t1014-z-partial.lean, extracted by the gate at f97b6921b55b from the proof’s elaboration: each step is a claim the proof establishes and the goal it leaves. Open a step for what it uses and its Lean lines.
hallhave(∃ (K₁ : ℕ), ∀ (n k : ℕ), K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → k % (3 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p) ∧ ∃ (K₂ : ℕ), ∀ (n k : ℕ), K₂ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → (0 : ℕ) < k % (3 : ℕ) → k % (3 : ℕ) ≤ n % (3 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % pLeaves
∃ (K₁ : ℕ), ∀ (n k : ℕ), K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withhall : (∃ (K₁ : ℕ), ∀ (n k : ℕ), K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → k % (3 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p) ∧ ∃ (K₂ : ℕ), ∀ (n k : ℕ), K₂ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → (0 : ℕ) < k % (3 : ℕ) → k % (3 : ℕ) ≤ n % (3 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p.Uses library
Nat.PrimeNat.Prime pmeans thatpis a prime number, that is, a natural number at least 2 whose only divisors arepand1. ,And.introAnd.intro : a → b → a ∧ bis the constructor for the And operation. .Lean, lines 12–22
have hall : (∃ K₁ : ℕ, ∀ n k : ℕ, K₁ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 → k % 3 = 0 → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p) ∧ (∃ K₂ : ℕ, ∀ n k : ℕ, K₂ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 → 0 < k % 3 → k % 3 ≤ n % 3 → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p) := by refine ⟨?_, ?_⟩ · have h_k6 : ∃ K₁ : ℕ, ∀ n k : ℕ, K₁ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 → k % 3 = 0 → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by sorry exact h_k6 · have h_k3rest : ∃ K₂ : ℕ, ∀ n k : ℕ, K₂ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 → 0 < k % 3 → k % 3 ≤ n % 3 → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by sorry exact h_k3resthall.s1caseLeaves
∃ (K₁ : ℕ), ∀ (n k : ℕ), K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → k % (3 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p.Lean, lines 17–19
· have h_k6 : ∃ K₁ : ℕ, ∀ n k : ℕ, K₁ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 → k % 3 = 0 → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by sorry exact h_k6hall.s1.h_k6hole∃ (K₁ : ℕ), ∀ (n k : ℕ), K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → k % (3 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % pholeLeaves
∃ (K₁ : ℕ), ∀ (n k : ℕ), K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → k % (3 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withh_k6 : ∃ (K₁ : ℕ), ∀ (n k : ℕ), K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → k % (3 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p.Uses library
Nat.PrimeNat.Prime pmeans thatpis a prime number, that is, a natural number at least 2 whose only divisors arepand1. .Left open as a hole; its statement is erdos-1094--h3--h1--h1--h1 (open).
Lean, lines 17–18
· have h_k6 : ∃ K₁ : ℕ, ∀ n k : ℕ, K₁ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 → k % 3 = 0 → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by sorry
hall.s2caseLeaves
∃ (K₂ : ℕ), ∀ (n k : ℕ), K₂ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → (0 : ℕ) < k % (3 : ℕ) → k % (3 : ℕ) ≤ n % (3 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p.Lean, lines 20–22
· have h_k3rest : ∃ K₂ : ℕ, ∀ n k : ℕ, K₂ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 → 0 < k % 3 → k % 3 ≤ n % 3 → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by sorry exact h_k3resthall.s2.h_k3resthole∃ (K₂ : ℕ), ∀ (n k : ℕ), K₂ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → (0 : ℕ) < k % (3 : ℕ) → k % (3 : ℕ) ≤ n % (3 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % pholeLeaves
∃ (K₂ : ℕ), ∀ (n k : ℕ), K₂ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → (0 : ℕ) < k % (3 : ℕ) → k % (3 : ℕ) ≤ n % (3 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withh_k3rest : ∃ (K₂ : ℕ), ∀ (n k : ℕ), K₂ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → (0 : ℕ) < k % (3 : ℕ) → k % (3 : ℕ) ≤ n % (3 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p.Uses library
Nat.PrimeNat.Prime pmeans thatpis a prime number, that is, a natural number at least 2 whose only divisors arepand1. .Left open as a hole; its statement is erdos-1094--h3--h1--h1--h2 (open).
Lean, lines 20–21
· have h_k3rest : ∃ K₂ : ℕ, ∀ n k : ℕ, K₂ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 → 0 < k % 3 → k % 3 ≤ n % 3 → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by sorry
s2obtain∃ (K₁ : ℕ), ∀ (n k : ℕ), K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → k % (3 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % pLeaves
∃ (K₁ : ℕ), ∀ (n k : ℕ), K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withK₁ : ℕ,h₁ : ∀ (n k : ℕ), K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → k % (3 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p.Lean, line 23
obtain ⟨K₁, h₁⟩ := hall.1
s3obtain∃ (K₂ : ℕ), ∀ (n k : ℕ), K₂ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → (0 : ℕ) < k % (3 : ℕ) → k % (3 : ℕ) ≤ n % (3 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % pLeaves
∃ (K₁ : ℕ), ∀ (n k : ℕ), K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withK₂ : ℕ,h₂ : ∀ (n k : ℕ), K₂ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → (0 : ℕ) < k % (3 : ℕ) → k % (3 : ℕ) ≤ n % (3 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p.Lean, line 24
obtain ⟨K₂, h₂⟩ := hall.2
hK1haveK₁ < kLeaves
∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withhK₁ : K₁ < k.Uses library
lt_of_le_of_lt,le_max_left.Lean, line 26
have hK₁ : K₁ < k := lt_of_le_of_lt (le_max_left _ _) hk
hK2haveK₂ < kLeaves
∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withhK₂ : K₂ < k.Uses library
lt_of_le_of_lt,le_transThe relation≤on a preorder is transitive. ,le_max_left,le_max_right.Lean, line 27
have hK₂ : K₂ < k := lt_of_le_of_lt (le_trans (le_max_left _ _) (le_max_right _ _)) hk
hk3have(3 : ℕ) ≤ kLeaves
∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withhk3 : (3 : ℕ) ≤ k.Uses library
lt_of_le_of_lt,le_transThe relation≤on a preorder is transitive. ,le_max_right.Lean, line 28
have hk3 : 3 ≤ k := lt_of_le_of_lt (le_trans (le_max_right K₂ 2) (le_max_right _ _)) hk
s7caseLeaves
∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withh0 : k % (3 : ℕ) = (0 : ℕ).Lean, line 30
· exact h₁ n k hK₁ h2k hnk hk2 h0
s8caseLeaves
∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withh0 : ¬k % (3 : ℕ) = (0 : ℕ).Lean, lines 31–33
· by_cases hlt : n % 3 < k % 3 · exact ⟨3, Nat.prime_three, hk3, hlt⟩ · exact h₂ n k hK₂ h2k hnk hk2 (Nat.pos_of_ne_zero h0) (Nat.le_of_not_lt hlt)s8.s1caseLeaves
∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withhlt : n % (3 : ℕ) < k % (3 : ℕ).Uses library
Exists.introExistential introduction. ,Nat.prime_three.Lean, line 32
· exact ⟨3, Nat.prime_three, hk3, hlt⟩
s8.s2caseLeaves
∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withhlt : ¬n % (3 : ℕ) < k % (3 : ℕ).Uses library
Nat.pos_of_ne_zero,Nat.le_of_not_lt.Lean, line 33
· exact h₂ n k hK₂ h2k hnk hk2 (Nat.pos_of_ne_zero h0) (Nat.le_of_not_lt hlt)
import Mathlib
import Nodes.«erdos-1094--h3--h1--h1».Context
open scoped Nat
/-! Hole `h_keven` of a merged partial proof, as a node (D-12 #5, D-29).
Statement generated by the gate from the assembly; immutable (D-3). -/
theorem erdos_1094__h3__h1__h1 : ∃ (K₁ : ℕ),
∀ (n k : ℕ),
K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by
have hall : (∃ K₁ : ℕ, ∀ n k : ℕ, K₁ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 → k % 3 = 0 →
∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p) ∧
(∃ K₂ : ℕ, ∀ n k : ℕ, K₂ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 → 0 < k % 3 →
k % 3 ≤ n % 3 → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p) := by
refine ⟨?_, ?_⟩
· have h_k6 : ∃ K₁ : ℕ, ∀ n k : ℕ, K₁ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 →
k % 3 = 0 → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by sorry
exact h_k6
· have h_k3rest : ∃ K₂ : ℕ, ∀ n k : ℕ, K₂ < k → 2 * k ≤ n → n < k * k → k % 2 = 0 →
0 < k % 3 → k % 3 ≤ n % 3 → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by sorry
exact h_k3rest
obtain ⟨K₁, h₁⟩ := hall.1
obtain ⟨K₂, h₂⟩ := hall.2
refine ⟨max K₁ (max K₂ 2), fun n k hk h2k hnk hk2 => ?_⟩
have hK₁ : K₁ < k := lt_of_le_of_lt (le_max_left _ _) hk
have hK₂ : K₂ < k := lt_of_le_of_lt (le_trans (le_max_left _ _) (le_max_right _ _)) hk
have hk3 : 3 ≤ k := lt_of_le_of_lt (le_trans (le_max_right K₂ 2) (le_max_right _ _)) hk
by_cases h0 : k % 3 = 0
· exact h₁ n k hK₁ h2k hnk hk2 h0
· by_cases hlt : n % 3 < k % 3
· exact ⟨3, Nat.prime_three, hk3, hlt⟩
· exact h₂ n k hK₂ h2k hnk hk2 (Nat.pos_of_ne_zero h0) (Nat.le_of_not_lt hlt)Untrusted contributor text — a partial assembly: it records an attempt, not a proof; its attestation names the file, and no hash in the record binds these bytes.
Untrusted: partial assembly (D-12 #5), by t1015c-a16; merged in 48e42508f421 under attestations/000546.json, whose step 2 took this file as a partial. A partial records an attempt, not a proof: the gate replayed it with its holes left as sorry. Rendered from targets/erdos-1094/nodes/erdos-1094--h3--h1--h1/attempts/20261015T145000Z-t1015c-a16-partial.lean.
Untrusted contributor text — an outline the gate extracted from this partial assembly; its holes are sorry steps, and it records an attempt, not a proof.
Outline of 20261015T145000Z-t1015c-a16-partial.lean, extracted by the gate at fa0a13ba270d from the proof’s elaboration: each step is a claim the proof establishes and the goal it leaves. Open a step for what it uses and its Lean lines.
h_smoothhole∃ (K : ℕ), ∀ (n k : ℕ), K < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → (∀ (q : ℕ), Nat.Prime q → q ≤ k → q ∣ n → q ∣ k) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % pholeLeaves
∃ (K₁ : ℕ), ∀ (n k : ℕ), K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withh_smooth : ∃ (K : ℕ), ∀ (n k : ℕ), K < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → (∀ (q : ℕ), Nat.Prime q → q ≤ k → q ∣ n → q ∣ k) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p.Uses library
Nat.PrimeNat.Prime pmeans thatpis a prime number, that is, a natural number at least 2 whose only divisors arepand1. .Left open as a hole; its statement is erdos-1094--h3--h1--h1--h3 (open).
Lean, lines 12–14
have h_smooth : ∃ K : ℕ, ∀ n k : ℕ, K < k → 2 * k ≤ n → n < k * k → k % 2 = 0 → (∀ q : ℕ, Nat.Prime q → q ≤ k → q ∣ n → q ∣ k) → ∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by sorrys2obtain∃ (K : ℕ), ∀ (n k : ℕ), K < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → (∀ (q : ℕ), Nat.Prime q → q ≤ k → q ∣ n → q ∣ k) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % pLeaves
∃ (K₁ : ℕ), ∀ (n k : ℕ), K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withK : ℕ,hK : ∀ (n k : ℕ), K < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → (∀ (q : ℕ), Nat.Prime q → q ≤ k → q ∣ n → q ∣ k) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p.Lean, line 15
obtain ⟨K, hK⟩ := h_smooth
s3caseLeaves
∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withhq : ∃ (q : ℕ), Nat.Prime q ∧ q ≤ k ∧ q ∣ n ∧ ¬q ∣ k.Uses library
Exists.introExistential introduction. ,Nat.mod_eq_zero_of_dvd,Nat.pos_of_ne_zero,Nat.dvd_of_mod_eq_zero.Lean, lines 18–21
· obtain ⟨q, hqp, hqk, hqn, hqnk⟩ := hq refine ⟨q, hqp, hqk, ?_⟩ rw [Nat.mod_eq_zero_of_dvd hqn] exact Nat.pos_of_ne_zero (fun h => hqnk (Nat.dvd_of_mod_eq_zero h))s3.s1obtain∃ (q : ℕ), Nat.Prime q ∧ q ≤ k ∧ q ∣ n ∧ ¬q ∣ kLeaves
∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withq : ℕ,hqp : Nat.Prime q,hqk : q ≤ k,hqn : q ∣ n,hqnk : ¬q ∣ k.Lean, line 18
· obtain ⟨q, hqp, hqk, hqn, hqnk⟩ := hq
s4caseLeaves
∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p, withhq : ¬∃ (q : ℕ), Nat.Prime q ∧ q ≤ k ∧ q ∣ n ∧ ¬q ∣ k.Lean, lines 22–23
· push_neg at hq exact hK n k hk h2k hnk hk2 (fun q hqp hqk hqn => hq q hqp hqk hqn)
import Mathlib
import Nodes.«erdos-1094--h3--h1--h1».Context
open scoped Nat
/-! Hole `h_keven` of a merged partial proof, as a node (D-12 #5, D-29).
Statement generated by the gate from the assembly; immutable (D-3). -/
theorem erdos_1094__h3__h1__h1 : ∃ (K₁ : ℕ),
∀ (n k : ℕ),
K₁ < k → (2 : ℕ) * k ≤ n → n < k * k → k % (2 : ℕ) = (0 : ℕ) → ∃ (p : ℕ), Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by
have h_smooth : ∃ K : ℕ, ∀ n k : ℕ, K < k → 2 * k ≤ n → n < k * k → k % 2 = 0 →
(∀ q : ℕ, Nat.Prime q → q ≤ k → q ∣ n → q ∣ k) →
∃ p : ℕ, Nat.Prime p ∧ p ≤ k ∧ n % p < k % p := by sorry
obtain ⟨K, hK⟩ := h_smooth
refine ⟨K, fun n k hk h2k hnk hk2 => ?_⟩
by_cases hq : ∃ q : ℕ, Nat.Prime q ∧ q ≤ k ∧ q ∣ n ∧ ¬ q ∣ k
· obtain ⟨q, hqp, hqk, hqn, hqnk⟩ := hq
refine ⟨q, hqp, hqk, ?_⟩
rw [Nat.mod_eq_zero_of_dvd hqn]
exact Nat.pos_of_ne_zero (fun h => hqnk (Nat.dvd_of_mod_eq_zero h))
· push_neg at hq
exact hK n k hk h2k hnk hk2 (fun q hqp hqk hqn => hq q hqp hqk hqn)Annexes (1), in full
Untrusted contributor text — an annex (D-31): an informal argument, not a proof.
Untrusted: annex (D-31), by thisisanameforsure, drafted with Claude Opus 5.5 (claude-opus-5-5), read by thisisanameforsure before submission, 2026-10-14T07:34:47Z, licence CC-BY-4.0. Rendered from targets/erdos-1094/nodes/erdos-1094--h3--h1--h1/annex/437e731e01aed76724fa346f45d73786e36adfef4295b307bf36de7ca03afed1.md.
Numerical check (2026-10-12, finite range, not a proof): smallest working $K$ in range $K_1=58$; pairs found: 208 failures.
- Range searched: every even $k\le 1000$, every $n$ with $2k\le n<k^2$ (complete in that range).
- Pairs $(n,k)$ found that force $K\ge k$: 208 failures, the last $(773,58)$ and $(1579,58)$.
- Smallest $K$ that works in this range: $K_1=58$.
The method, the cross-checks and the code are in the numerical annex on erdos-1094 (the root), dated 2026-10-12.
How to read this page
No explainer yet. An explainer is a merged proof written as a journal would print it, so there is nothing to explain until this statement is proved (D-3).