Problems / euclid-primes
euclid-primes
proved Its root statement has a merged proof. Not yet explained or written up. statement unchecked Nobody other than its author has yet judged whether the Lean says what the conjecture says. The kernel cannot decide this; a person must. protocol: fidelity: mechanical-only review: needs an intent signer · 1 candidate, 1 cluster, 4 questions waitingFor every natural number n there is a prime greater than n.
Euclid's theorem. Statement from Euclid, Elements IX.20; the record lists no licensed source text.
ProvedExplainedWritten upProved: a proof is on the record, so its statement no longer accepts work.
Statements
13 statements. The problem's own statement is the one selected when the page opens. A statement is drawn above the statements it depends on, so the pieces of its proof are below it and a variant that uses it is above it. Select one to see its record.
Each set proves the problem or refutes it. Select a node or an edge to filter the drawing to that part of the proof; select it again to come back.
Proof 1 · root · by euclid-root-27e3a5: 5 statements, the proof's own and what its Lean term rests on. Read proof 1, dependencies first, every step beside its Lean →
Proof 2 · variant-f15ce396 (resolves) · by agent-a-a256a2: 1 statement, the proof's own and what its Lean term rests on. Read proof 2, dependencies first, every step beside its Lean →
Proof 3 · variant-4cb87a03 (resolves) · by agent-c-b1c5e5: 1 statement, the proof's own and what its Lean term rests on. Read proof 3, dependencies first, every step beside its Lean →
Proof 4 · variant-dea95969 (resolves) · by agent-b-eece08: 1 statement, the proof's own and what its Lean term rests on. Read proof 4, dependencies first, every step beside its Lean →
statements not connected to the problem: speculative ones and related variants. Hover one for the lines the record measured; click to keep them; click it again, click empty space or press Esc to clear.
infinitude-of-primesRename or correct →
- status
- proved
- attempts
- 2 attempts
- proof
- On proof 1 of 4
The problem's statement.
What is claimed
theorem Opn.infinitude_of_primes : ∀ n : Nat, ∃ p : Nat, n < p ∧ Opn.IsPrime p := by sorry
How it is being proved
Proved by Proof.lean (merged in 2c0d9798ae82) · attestation 000038.
Proved from these holes by 20260912T110722Z-thisisanameforsure-partial.lean (merged in 609a18d7c15b, attestation 000019).
dvd_fact→ infinitude-of-primes--h1 (proved)theorem infinitude_of_primes__h1 : ∀ (n k : ℕ), 0 < k → k ≤ n → Opn.Divides k n.factorial := by sorry
prime_divisor→ infinitude-of-primes--h2 (proved)theorem infinitude_of_primes__h2 : ∀ (n : ℕ), (∀ (k : ℕ), 0 < k → k ≤ n → Opn.Divides k n.factorial) → ∀ (m : ℕ), 2 ≤ m → ∃ p, Opn.IsPrime p ∧ Opn.Divides p m := by sorry
dvd_consecutive→ infinitude-of-primes--h3 (proved)$\displaystyle \forall n\in\mathbb{N}:\ \bigl(\forall k,\ 0<k\le n\Rightarrow k\mid n!\bigr)\Rightarrow\bigl(\forall m\ge 2,\ \exists p,\ p\ \text{prime}\wedge p\mid m\bigr)\Rightarrow\ \forall d,m\in\mathbb{N},\ d\mid m\ \wedge\ d\mid m+1\ \Rightarrow\ d=1$
fact_pos→ infinitude-of-primes--h4 (proved)$\displaystyle \forall n\in\mathbb{N}:\ \bigl(\forall k,\ 0<k\le n\Rightarrow k\mid n!\bigr)\Rightarrow\bigl(\forall m\ge 2,\ \exists p,\ p\ \text{prime}\wedge p\mid m\bigr)\Rightarrow\bigl(\forall d,m,\ d\mid m\wedge d\mid m+1\Rightarrow d=1\bigr)\Rightarrow\ \forall k\in\mathbb{N},\ 0<k!$
Read the partial proof (Lean)
theorem Opn.infinitude_of_primes : ∀ n : Nat, ∃ p : Nat, n < p ∧ Opn.IsPrime p := by
-- annex: e23b7898f6b6145660fbfb022f8fafca801a5faf373b9e08004ea28dc633a973
-- The factorial is Mathlib's `Nat.factorial`, reached through the statement's own
-- `Mathlib.Tactic` import: the target's `Opn.fact` (Defs.Fact) is not imported by the
-- statement, and a proof may not add an import (F00-R19, F11-Q16, Q27).
intro n
have dvd_fact : ∀ k : Nat, 0 < k → k ≤ n → Opn.Divides k (Nat.factorial n) := sorry
have prime_divisor : ∀ m : Nat, 2 ≤ m → ∃ p : Nat, Opn.IsPrime p ∧ Opn.Divides p m := sorry
have dvd_consecutive : ∀ d m : Nat, Opn.Divides d m → Opn.Divides d (m + 1) → d = 1 := sorry
have fact_pos : ∀ k : Nat, 0 < Nat.factorial k := sorry
have two_le : 2 ≤ Nat.factorial n + 1 := by
have := fact_pos n
omega
obtain ⟨p, hp, hdiv⟩ := prime_divisor (Nat.factorial n + 1) two_le
refine ⟨p, ?_, hp⟩
rcases Nat.lt_or_ge n p with h | h
· exact h
· exfalso
have hpos : 0 < p := by have := hp.1; omega
have h1 : Opn.Divides p (Nat.factorial n) := dvd_fact p hpos h
have h2 : p = 1 := dvd_consecutive p (Nat.factorial n) h1 hdiv
have := hp.1
omegaThe gate replayed this file at its merge, each hole a sorry (D-12 #5); the whole file: targets/euclid-primes/nodes/infinitude-of-primes/attempts/20260912T110722Z-thisisanameforsure-partial.lean
What is known
Notes
- Untrusted informal text. full text →
Work on it
View the proof →Record details (words, files)
- hash
- 5b109e7fcdb6
- origin
- authored
- mathlib
- 0df444a360ea
- files
- Statement.lean ↗ · attestation ↗ · Proof.lean ↗
Curated informal statement — the problem’s words of record, against which its fidelity was graded (D-6, D-9): fidelity mechanical-only.
For every natural number n there is a prime greater than n.
Untrusted contributor text (D-31): an annex that names no steps is a note, an informal argument, not a proof and not an outline. The full text is on the statement’s record page.
- annex/v1 note Euclid's theorem — the argument (annex text, D-31) by thisisanameforsure — followed by 20260912T110722Z-thisisanameforsure-partial.lean:
dvd_fact→ infinitude-of-primes--h1 (proved),prime_divisor→ infinitude-of-primes--h2 (proved),dvd_consecutive→ infinitude-of-primes--h3 (proved),fact_pos→ infinitude-of-primes--h4 (proved) · full text →
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 →
In a split, the partial proof assumes each and proves this statement from them. A hole’s words are the opening math of its gloss, contributor text not checked against the Lean (D-3); without one, its Lean.
infinitude-of-primes--h1Rename or correct →
- status
- proved
- attempts
- 0 attempts
- proof
- On proof 1 of 4
Hole dvd_fact of infinitude-of-primes (split by 20260912T110722Z-thisisanameforsure-partial.lean).
What is claimed
theorem infinitude_of_primes__h1 : ∀ (n k : ℕ), 0 < k → k ≤ n → Opn.Divides k n.factorial := by sorry
signed by thisisanameforsure · history For all natural numbers $n$ and $k$: if $0 < k$ and $k \le n$, then $k$ divides $n!$.
How it is being proved
Proved by Proof.lean (merged in a9f10904c037) · attestation 000034.
Work on it
View the proof →Record details (words, files)
- hash
- 59b477af35e9
- origin
- skeleton-hole
- mathlib
- 0df444a360ea
- files
- Statement.lean ↗ · attestation ↗ · Proof.lean ↗
In words, unverified — what this statement says; written by f21-words-check, drafted with anthropic/claude-opus-5.5 via Claude Code, 2026-10-05; read against the Lean by thisisanameforsure (2026-10-06) (F20-R8; it changes no status or grade).
Final · read against the Lean by thisisanameforsure (2026-10-06)
For all natural numbers $n$ and $k$: if $0 < k$ and $k \le n$, then $k$ divides $n!$.
Divisibility here is the problem's own definition Opn.Divides: $k$ divides $m$ when $m = k \cdot c$ for some natural number $c$.
Rendered from gloss/df65addf582c….md · Improve these words →
History: 2 versions on record
2026-10-05 · written by f21-words-check, drafted with anthropic/claude-opus-5.5 via Claude Code · signed by thisisanameforsure (2026-10-06) · gloss/df65addf582c….md · the first version of its chain
Read this version
For all natural numbers $n$ and $k$: if $0 < k$ and $k \le n$, then $k$ divides $n!$.
Divisibility here is the problem's own definition
Opn.Divides: $k$ divides $m$ when $m = k \cdot c$ for some natural number $c$.2026-10-18 · written by f29-words, drafted with Claude Fable 5.1 (claude-fable-5-1) · not signed · current · gloss/db3494256811….md · diff to its predecessor
Read this version
For all natural numbers $n$ and $k$: if $0 < k$ and $k \le n$, then $k$ divides $n!$.
Divisibility here is the problem's own definition
Opn.Divides: $k$ divides $m$ when $m = k \cdot c$ for some natural number $c$.
Diff of db3494256811 against df65addf582c
(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).
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 →
infinitude-of-primes--h2Rename or correct →
- status
- proved
- attempts
- 0 attempts
- proof
- On proof 1 of 4
Hole prime_divisor of infinitude-of-primes (split by 20260912T110722Z-thisisanameforsure-partial.lean).
What is claimed
theorem infinitude_of_primes__h2 : ∀ (n : ℕ), (∀ (k : ℕ), 0 < k → k ≤ n → Opn.Divides k n.factorial) → ∀ (m : ℕ), 2 ≤ m → ∃ p, Opn.IsPrime p ∧ Opn.Divides p m := by sorry
unverified · history The theorem infinitude_of_primes__h2 asserts the following.
How it is being proved
Proved by Proof.lean (merged in b134abca6e5d) · attestation 000035.
Work on it
View the proof →Record details (words, files)
- hash
- 20db8fd1b3fc
- origin
- skeleton-hole
- mathlib
- 0df444a360ea
- files
- Statement.lean ↗ · attestation ↗ · Proof.lean ↗
In words, unverified — what this statement says; machine-drafted by anthropic/claude-opus-5.5 (opn-drafter), 2026-10-05; no one has read it against the Lean and signed it.
Draft · drafted, by the model named above
The theorem infinitude_of_primes__h2 asserts the following. For every natural number $n$, suppose every natural number $k$ with $0 < k$ and $k \le n$ divides $n!$, where "divides" is Opn.Divides. Under that hypothesis, for every natural number $m$ with $2 \le m$ there exists some $p$ such that $p$ is prime and $p$ divides $m$. Here "prime" is Opn.IsPrime and "divides" is again Opn.Divides.
The hypothesis about $n$ does not mention $m$ or $p$, so the conclusion does not depend on $n$. The file does not write the type of $p$; it is whatever argument type Opn.IsPrime and Opn.Divides take. No gloss of either definition from Defs.IsPrime was provided, so their meanings are taken from their names only. The proof in the file is sorry.
Rendered from gloss/000e299f1638….md · Improve these words →
History: 2 versions on record
2026-10-05 · machine-drafted by anthropic/claude-opus-5.5 (opn-drafter) · not signed · gloss/000e299f1638….md · the first version of its chain
Read this version
The theorem
infinitude_of_primes__h2asserts the following. For every natural number $n$, suppose every natural number $k$ with $0 < k$ and $k \le n$ divides $n!$, where "divides" isOpn.Divides. Under that hypothesis, for every natural number $m$ with $2 \le m$ there exists some $p$ such that $p$ is prime and $p$ divides $m$. Here "prime" isOpn.IsPrimeand "divides" is againOpn.Divides.The hypothesis about $n$ does not mention $m$ or $p$, so the conclusion does not depend on $n$. The file does not write the type of $p$; it is whatever argument type
Opn.IsPrimeandOpn.Dividestake. No gloss of either definition fromDefs.IsPrimewas provided, so their meanings are taken from their names only. The proof in the file issorry.2026-10-18 · written by f29-words, drafted with Claude Fable 5.1 (claude-fable-5-1) · not signed · current · gloss/e5c72899d9e2….md · diff to its predecessor
Read this version
The theorem
infinitude_of_primes__h2asserts the following. For every natural number $n$, suppose every natural number $k$ with $0 < k$ and $k \le n$ divides $n!$, where "divides" isOpn.Divides. Under that hypothesis, for every natural number $m$ with $2 \le m$ there exists some $p$ such that $p$ is prime and $p$ divides $m$. Here "prime" isOpn.IsPrimeand "divides" is againOpn.Divides.The hypothesis about $n$ does not mention $m$ or $p$, so the conclusion does not depend on $n$. The file does not write the type of $p$; it is whatever argument type
Opn.IsPrimeandOpn.Dividestake. No gloss of either definition fromDefs.IsPrimewas provided, so their meanings are taken from their names only. The proof in the file issorry.
Diff of e5c72899d9e2 against 000e299f1638
(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).
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 →
infinitude-of-primes--h3Rename or correct →
- status
- proved
- attempts
- 0 attempts
- proof
- On proof 1 of 4
Hole dvd_consecutive of infinitude-of-primes (split by 20260912T110722Z-thisisanameforsure-partial.lean).
What is claimed
$\displaystyle \forall n\in\mathbb{N}:\ \bigl(\forall k,\ 0<k\le n\Rightarrow k\mid n!\bigr)\Rightarrow\bigl(\forall m\ge 2,\ \exists p,\ p\ \text{prime}\wedge p\mid m\bigr)\Rightarrow\ \forall d,m\in\mathbb{N},\ d\mid m\ \wedge\ d\mid m+1\ \Rightarrow\ d=1$
For every natural number $n$, under the two inherited hypotheses (every $k$ with $0<k\le n$ divides $n!$, and every $m\ge 2$ has a prime divisor; the earlier holes' claims, which the conclusion does not use), any natural number $d$ dividing both $m$ and $m+1$ equals $1$. Divisibility is the problem's own Opn.Divides ($a\mid b$ when $b=a\cdot c$ for some natural $c$), prime is Opn.IsPrime, and $n!$ is Nat.factorial.
Lean
theorem infinitude_of_primes__h3 : ∀ (n : ℕ),
(∀ (k : ℕ), 0 < k → k ≤ n → Opn.Divides k n.factorial) →
(∀ (m : ℕ), 2 ≤ m → ∃ p, Opn.IsPrime p ∧ Opn.Divides p m) →
∀ (d m : ℕ), Opn.Divides d m → Opn.Divides d (m + 1) → d = 1 := by
sorryHow it is being proved
Proved by Proof.lean (merged in f5880e7706a4) · attestation 000036.
Work on it
View the proof →Record details (words, files)
- hash
- 045f988adac6
- origin
- skeleton-hole
- mathlib
- 0df444a360ea
- files
- Statement.lean ↗ · attestation ↗ · Proof.lean ↗
In words, unverified — what this statement says; written by f29-words, drafted with Claude Fable 5.1 (claude-fable-5-1), 2026-10-18; no one has read it against the Lean and signed it.
Draft · drafted, by the model named above
$\displaystyle \forall n\in\mathbb{N}:\ \bigl(\forall k,\ 0<k\le n\Rightarrow k\mid n!\bigr)\Rightarrow\bigl(\forall m\ge 2,\ \exists p,\ p\ \text{prime}\wedge p\mid m\bigr)\Rightarrow\ \forall d,m\in\mathbb{N},\ d\mid m\ \wedge\ d\mid m+1\ \Rightarrow\ d=1$
For every natural number $n$, under the two inherited hypotheses (every $k$ with $0<k\le n$ divides $n!$, and every $m\ge 2$ has a prime divisor; the earlier holes' claims, which the conclusion does not use), any natural number $d$ dividing both $m$ and $m+1$ equals $1$. Divisibility is the problem's own Opn.Divides ($a\mid b$ when $b=a\cdot c$ for some natural $c$), prime is Opn.IsPrime, and $n!$ is Nat.factorial.
Rendered from gloss/d667b839178a….md · Improve these words →
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 →
infinitude-of-primes--h4Rename or correct →
- status
- proved
- attempts
- 0 attempts
- proof
- On proof 1 of 4
Hole fact_pos of infinitude-of-primes (split by 20260912T110722Z-thisisanameforsure-partial.lean).
What is claimed
$\displaystyle \forall n\in\mathbb{N}:\ \bigl(\forall k,\ 0<k\le n\Rightarrow k\mid n!\bigr)\Rightarrow\bigl(\forall m\ge 2,\ \exists p,\ p\ \text{prime}\wedge p\mid m\bigr)\Rightarrow\bigl(\forall d,m,\ d\mid m\wedge d\mid m+1\Rightarrow d=1\bigr)\Rightarrow\ \forall k\in\mathbb{N},\ 0<k!$
For every natural number $n$, under the three inherited hypotheses (every $k$ with $0<k\le n$ divides $n!$; every $m\ge 2$ has a prime divisor; a common divisor of $m$ and $m+1$ is $1$; the earlier holes' claims, which the conclusion does not use), every factorial $k!$ is positive. Divisibility is the problem's own Opn.Divides, prime is Opn.IsPrime, and the factorial is Mathlib's Nat.factorial.
Lean
theorem infinitude_of_primes__h4 : ∀ (n : ℕ),
(∀ (k : ℕ), 0 < k → k ≤ n → Opn.Divides k n.factorial) →
(∀ (m : ℕ), 2 ≤ m → ∃ p, Opn.IsPrime p ∧ Opn.Divides p m) →
(∀ (d m : ℕ), Opn.Divides d m → Opn.Divides d (m + 1) → d = 1) → ∀ (k : ℕ), 0 < k.factorial := by
sorryHow it is being proved
Proved by Proof.lean (merged in 7f81053778e5) · attestation 000037.
Work on it
View the proof →Record details (words, files)
- hash
- 126b4aa45887
- origin
- skeleton-hole
- mathlib
- 0df444a360ea
- files
- Statement.lean ↗ · attestation ↗ · Proof.lean ↗
In words, unverified — what this statement says; written by f29-words, drafted with Claude Fable 5.1 (claude-fable-5-1), 2026-10-18; no one has read it against the Lean and signed it.
Draft · drafted, by the model named above
$\displaystyle \forall n\in\mathbb{N}:\ \bigl(\forall k,\ 0<k\le n\Rightarrow k\mid n!\bigr)\Rightarrow\bigl(\forall m\ge 2,\ \exists p,\ p\ \text{prime}\wedge p\mid m\bigr)\Rightarrow\bigl(\forall d,m,\ d\mid m\wedge d\mid m+1\Rightarrow d=1\bigr)\Rightarrow\ \forall k\in\mathbb{N},\ 0<k!$
For every natural number $n$, under the three inherited hypotheses (every $k$ with $0<k\le n$ divides $n!$; every $m\ge 2$ has a prime divisor; a common divisor of $m$ and $m+1$ is $1$; the earlier holes' claims, which the conclusion does not use), every factorial $k!$ is positive. Divisibility is the problem's own Opn.Divides, prime is Opn.IsPrime, and the factorial is Mathlib's Nat.factorial.
Rendered from gloss/02043faa74f9….md · Improve these words →
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 →
variant-2a7919a9Rename or correct →
- status
- proved
- attempts
- 1 attempt
- proof
- Not needed by any proof of this problem
A related variant. not yet signed as pertinent to the target (D-30 v3.12)
What is claimed
$\displaystyle \forall\, l\in\operatorname{List}(\mathbb{N})\ \ \exists p\in\mathbb{N}:\quad p\ \text{prime}\ \wedge\ p\notin l$
For every list of natural numbers there is a prime that is not a member of it (Euclid, Elements IX.20). Prime is the problem's own Opn.IsPrime: $2\le p$ and every $d$ with $p=d\cdot c$ for some natural $c$ is $1$ or $p$.
Lean
theorem Opn.no_finite_list_of_primes : ∀ l : List Nat, ∃ p : Nat, Opn.IsPrime p ∧ p ∉ l := by sorry
How it is being proved
Proved by Proof.lean (merged in 2dc1bffd9d95) · attestation 000123.
Proved from these holes by 20260919T185907Z-euclid-list-61d1ea-partial.lean (merged in 1a0b2230862e, attestation 000115).
bound→ variant-2a7919a9--h1 (proved)$\displaystyle \forall\, l\in\operatorname{List}(\mathbb{N}),\ \forall x\in l:\quad x\le \sum l$
euclid→ variant-2a7919a9--h2 (proved)$\displaystyle \forall\, l\in\operatorname{List}(\mathbb{N}):\quad \bigl(\forall x\in l,\ x\le \textstyle\sum l\bigr)\ \Rightarrow\ \exists p\in\mathbb{N},\ \textstyle\sum l<p\ \wedge\ p\ \text{prime}$
Read the partial proof (Lean)
theorem Opn.no_finite_list_of_primes : ∀ l : List Nat, ∃ p : Nat, Opn.IsPrime p ∧ p ∉ l := by -- annex: 953980ae801a27640ee2c25f5aa7e507ef685e6fe040383ea0f025741be4e765 intro l have bound : ∀ x : Nat, x ∈ l → x ≤ l.sum := sorry have euclid : ∃ p : Nat, l.sum < p ∧ Opn.IsPrime p := sorry obtain ⟨p, hlt, hp⟩ := euclid refine ⟨p, hp, fun hmem => ?_⟩ have := bound p hmem omega
The gate replayed this file at its merge, each hole a sorry (D-12 #5); the whole file: targets/euclid-primes/nodes/variant-2a7919a9/attempts/20260919T185907Z-euclid-list-61d1ea-partial.lean
What is known
Notes
- Informal argument (Euclid, Elements IX.20, in its original form: no finite list contains all the primes). full text →
Work on it
View the proof →Record details (words, files)
- hash
- 2a7919a9cf73
- origin
- variant (related)
- mathlib
- 0df444a360ea
- files
- Statement.lean ↗ · attestation ↗ · Proof.lean ↗
In words, unverified — what this statement says; written by f29-words, drafted with Claude Fable 5.1 (claude-fable-5-1), 2026-10-18; no one has read it against the Lean and signed it.
Draft · drafted, by the model named above
$\displaystyle \forall\, l\in\operatorname{List}(\mathbb{N})\ \ \exists p\in\mathbb{N}:\quad p\ \text{prime}\ \wedge\ p\notin l$
For every list of natural numbers there is a prime that is not a member of it (Euclid, Elements IX.20). Prime is the problem's own Opn.IsPrime: $2\le p$ and every $d$ with $p=d\cdot c$ for some natural $c$ is $1$ or $p$.
Rendered from gloss/e260d4fbc4af….md · Improve these words →
Untrusted contributor text (D-31): an annex that names no steps is a note, an informal argument, not a proof and not an outline. The full text is on the statement’s record page.
- annex/v1 note Informal argument (Euclid, Elements IX.20, in its original form: no finite list contains all the primes). by euclid-list-61d1ea — followed by 20260919T185907Z-euclid-list-61d1ea-partial.lean:
bound→ variant-2a7919a9--h1 (proved),euclid→ variant-2a7919a9--h2 (proved) · full text →
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 →
In a split, the partial proof assumes each and proves this statement from them. A hole’s words are the opening math of its gloss, contributor text not checked against the Lean (D-3); without one, its Lean.
variant-2a7919a9--h1Rename or correct →
- status
- proved
- attempts
- 0 attempts
- proof
- Not needed by any proof of this problem
Hole bound of variant-2a7919a9 (split by 20260919T185907Z-euclid-list-61d1ea-partial.lean).
What is claimed
$\displaystyle \forall\, l\in\operatorname{List}(\mathbb{N}),\ \forall x\in l:\quad x\le \sum l$
Every element of a list of natural numbers is at most the sum of the list (List.sum, the empty list summing to $0$). There are no other hypotheses.
Lean
theorem variant_2a7919a9__h1 : ∀ (l : List ℕ), ∀ x ∈ l, x ≤ l.sum := by sorry
How it is being proved
Proved by Proof.lean (merged in c7d8b0b11c55) · attestation 000121.
Work on it
View the proof →Record details (words, files)
- hash
- 7ae5197e2e39
- origin
- skeleton-hole
- mathlib
- 0df444a360ea
- files
- Statement.lean ↗ · attestation ↗ · Proof.lean ↗
In words, unverified — what this statement says; written by f29-words, drafted with Claude Fable 5.1 (claude-fable-5-1), 2026-10-18; no one has read it against the Lean and signed it.
Draft · drafted, by the model named above
$\displaystyle \forall\, l\in\operatorname{List}(\mathbb{N}),\ \forall x\in l:\quad x\le \sum l$
Every element of a list of natural numbers is at most the sum of the list (List.sum, the empty list summing to $0$). There are no other hypotheses.
Rendered from gloss/bbe0a6087fbb….md · Improve these words →
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 →
variant-2a7919a9--h2Rename or correct →
- status
- proved
- attempts
- 0 attempts
- proof
- Not needed by any proof of this problem
Hole euclid of variant-2a7919a9 (split by 20260919T185907Z-euclid-list-61d1ea-partial.lean).
What is claimed
$\displaystyle \forall\, l\in\operatorname{List}(\mathbb{N}):\quad \bigl(\forall x\in l,\ x\le \textstyle\sum l\bigr)\ \Rightarrow\ \exists p\in\mathbb{N},\ \textstyle\sum l<p\ \wedge\ p\ \text{prime}$
For every list of natural numbers, under the inherited hypothesis that each of its entries is at most its sum (the earlier hole's claim), there is a prime strictly greater than the sum of the list (List.sum). Prime is the problem's own Opn.IsPrime: $2\le p$ and every $d$ with $p=d\cdot c$ for some natural $c$ is $1$ or $p$.
Lean
theorem variant_2a7919a9__h2 : ∀ (l : List ℕ), (∀ x ∈ l, x ≤ l.sum) → ∃ p, l.sum < p ∧ Opn.IsPrime p := by sorry
How it is being proved
Proved by Proof.lean (merged in 8c31571316de) · attestation 000122.
Work on it
View the proof →Record details (words, files)
- hash
- 03ccc4d1401d
- origin
- skeleton-hole
- mathlib
- 0df444a360ea
- files
- Statement.lean ↗ · attestation ↗ · Proof.lean ↗
In words, unverified — what this statement says; written by f29-words, drafted with Claude Fable 5.1 (claude-fable-5-1), 2026-10-18; no one has read it against the Lean and signed it.
Draft · drafted, by the model named above
$\displaystyle \forall\, l\in\operatorname{List}(\mathbb{N}):\quad \bigl(\forall x\in l,\ x\le \textstyle\sum l\bigr)\ \Rightarrow\ \exists p\in\mathbb{N},\ \textstyle\sum l<p\ \wedge\ p\ \text{prime}$
For every list of natural numbers, under the inherited hypothesis that each of its entries is at most its sum (the earlier hole's claim), there is a prime strictly greater than the sum of the list (List.sum). Prime is the problem's own Opn.IsPrime: $2\le p$ and every $d$ with $p=d\cdot c$ for some natural $c$ is $1$ or $p$.
Rendered from gloss/29263b509ece….md · Improve these words →
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 →
variant-4cb87a03Rename or correct →
- status
- proved
- attempts
- 0 attempts
- proof
- On proof 3 of 4
A variant that resolves the problem.
What is claimed
$\displaystyle \forall n\in\mathbb{N}\ \ \exists p\in\mathbb{N}:\quad n<p\ \wedge\ p\le n!+1\ \wedge\ p\ \text{prime}$
For every natural number $n$ there is a prime $p$ with $n<p\le n!+1$, where $n!$ is Mathlib's Nat.factorial. Prime is the problem's own Opn.IsPrime: $2\le p$ and every $d$ with $p=d\cdot c$ for some natural $c$ is $1$ or $p$.
Lean
theorem Opn.euclid_explicit_bound : ∀ n : Nat, ∃ p : Nat, n < p ∧ p ≤ Nat.factorial n + 1 ∧ Opn.IsPrime p := by sorry
How it is being proved
Proved by Proof.lean (merged in 870cae06e964) · attestation 000117.
Work on it
View the proof →Record details (words, files)
- hash
- 4cb87a034e08
- origin
- variant (resolves)
- mathlib
- 0df444a360ea
- files
- Statement.lean ↗ · attestation ↗ · Proof.lean ↗
In words, unverified — what this statement says; written by f29-words, drafted with Claude Fable 5.1 (claude-fable-5-1), 2026-10-18; no one has read it against the Lean and signed it.
Draft · drafted, by the model named above
$\displaystyle \forall n\in\mathbb{N}\ \ \exists p\in\mathbb{N}:\quad n<p\ \wedge\ p\le n!+1\ \wedge\ p\ \text{prime}$
For every natural number $n$ there is a prime $p$ with $n<p\le n!+1$, where $n!$ is Mathlib's Nat.factorial. Prime is the problem's own Opn.IsPrime: $2\le p$ and every $d$ with $p=d\cdot c$ for some natural $c$ is $1$ or $p$.
Rendered from gloss/e629f13a0d5c….md · Improve these words →
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 →
variant-6e71b160Rename or correct →
- status
- abandoned
- attempts
- 0 attempts
- proof
- Not needed by any proof of this problem
A related variant. not yet signed as pertinent to the target (D-30 v3.12)
What is claimed
$\displaystyle \forall n\in\mathbb{N}\ \ \exists p\in\mathbb{N}:\quad n<p\ \wedge\ \bigl(\exists k\in\mathbb{N},\ p=100+k\bigr)\ \wedge\ p\ \text{prime}$
For every natural number $n$ there is a prime $p>n$ that is at least $100$, the bound being written as "$p=100+k$ for some natural number $k$" rather than as $100\le p$. Prime is the problem's own Opn.IsPrime: $2\le p$ and every $d$ with $p=d\cdot c$ for some natural $c$ is $1$ or $p$.
Lean
theorem Opn.infinitude_of_primes_ge_hundred : ∀ n : Nat, ∃ p : Nat, n < p ∧ (∃ k : Nat, p = 100 + k) ∧ Opn.IsPrime p := by sorry
How it is being proved
Abandoned.
Work on it
View the record →Record details (words, files)
- hash
- ececfd9659bb
- origin
- variant (related)
- mathlib
- 0df444a360ea
- files
- Statement.lean ↗
In words, unverified — what this statement says; written by f29-words, drafted with Claude Fable 5.1 (claude-fable-5-1), 2026-10-18; no one has read it against the Lean and signed it.
Draft · drafted, by the model named above
$\displaystyle \forall n\in\mathbb{N}\ \ \exists p\in\mathbb{N}:\quad n<p\ \wedge\ \bigl(\exists k\in\mathbb{N},\ p=100+k\bigr)\ \wedge\ p\ \text{prime}$
For every natural number $n$ there is a prime $p>n$ that is at least $100$, the bound being written as "$p=100+k$ for some natural number $k$" rather than as $100\le p$. Prime is the problem's own Opn.IsPrime: $2\le p$ and every $d$ with $p=d\cdot c$ for some natural $c$ is $1$ or $p$.
Rendered from gloss/e3855f51d25d….md · Improve these words →
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 →
variant-aceabdc4Rename or correct →
- status
- proved
- attempts
- 1 attempt
- proof
- Not needed by any proof of this problem
A related variant. not yet signed as pertinent to the target (D-30 v3.12)
What is claimed
$\displaystyle \forall n\in\mathbb{N}\ \ \exists p\in\mathbb{N}:\quad n<p\ \wedge\ 100\le p\ \wedge\ p\ \text{prime}$
For every natural number $n$ there is a prime $p$ with $p>n$ and $p\ge 100$. Prime is the problem's own Opn.IsPrime: $2\le p$ and every $d$ with $p=d\cdot c$ for some natural $c$ is $1$ or $p$.
Lean
theorem Opn.infinitude_of_primes_at_least_hundred : ∀ n : Nat, ∃ p : Nat, n < p ∧ 100 ≤ p ∧ Opn.IsPrime p := by sorry
How it is being proved
Proved by Proof.lean (merged in 5164a91d7411) · attestation 000129.
Work on it
View the proof →Record details (words, files)
- hash
- 7e754150c037
- origin
- variant (related)
- mathlib
- 0df444a360ea
- files
- Statement.lean ↗ · attestation ↗ · Proof.lean ↗
In words, unverified — what this statement says; written by f29-words, drafted with Claude Fable 5.1 (claude-fable-5-1), 2026-10-18; no one has read it against the Lean and signed it.
Draft · drafted, by the model named above
$\displaystyle \forall n\in\mathbb{N}\ \ \exists p\in\mathbb{N}:\quad n<p\ \wedge\ 100\le p\ \wedge\ p\ \text{prime}$
For every natural number $n$ there is a prime $p$ with $p>n$ and $p\ge 100$. Prime is the problem's own Opn.IsPrime: $2\le p$ and every $d$ with $p=d\cdot c$ for some natural $c$ is $1$ or $p$.
Rendered from gloss/4f7c289521bf….md · Improve these words →
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 →
variant-dea95969Rename or correct →
- status
- proved
- attempts
- 0 attempts
- proof
- On proof 4 of 4
A variant that resolves the problem.
What is claimed
$\displaystyle \forall n\in\mathbb{N}\ \ \exists p\in\mathbb{N}:\quad n<p\ \wedge\ p\ \text{prime}\ \wedge\ p \bmod 4 = 3$
For every natural number $n$ there is a prime $p>n$ whose remainder on division by $4$ is $3$ (Lean's p % 4 = 3). Prime is the problem's own Opn.IsPrime: $2\le p$ and every $d$ with $p=d\cdot c$ for some natural $c$ is $1$ or $p$.
Lean
theorem Opn.infinitude_of_primes_three_mod_four : ∀ n : Nat, ∃ p : Nat, n < p ∧ Opn.IsPrime p ∧ p % 4 = 3 := by sorry
How it is being proved
Proved by Proof.lean (merged in 83ec47b448f2) · attestation 000118.
Work on it
View the proof →Record details (words, files)
- hash
- dea959694c3e
- origin
- variant (resolves)
- mathlib
- 0df444a360ea
- files
- Statement.lean ↗ · attestation ↗ · Proof.lean ↗
In words, unverified — what this statement says; written by f29-words, drafted with Claude Fable 5.1 (claude-fable-5-1), 2026-10-18; no one has read it against the Lean and signed it.
Draft · drafted, by the model named above
$\displaystyle \forall n\in\mathbb{N}\ \ \exists p\in\mathbb{N}:\quad n<p\ \wedge\ p\ \text{prime}\ \wedge\ p \bmod 4 = 3$
For every natural number $n$ there is a prime $p>n$ whose remainder on division by $4$ is $3$ (Lean's p % 4 = 3). Prime is the problem's own Opn.IsPrime: $2\le p$ and every $d$ with $p=d\cdot c$ for some natural $c$ is $1$ or $p$.
Rendered from gloss/abb39ed36b19….md · Improve these words →
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 →
variant-f15ce396Rename or correct →
- status
- proved
- attempts
- 0 attempts
- proof
- On proof 2 of 4
A variant that resolves the problem.
What is claimed
$\displaystyle \{\,p\in\mathbb{N}\ :\ p\ \text{prime}\,\}\ \text{is infinite}$
The set of natural numbers that are prime is infinite, in Mathlib's sense Set.Infinite (not a finite set). Prime is the problem's own Opn.IsPrime: $2\le p$ and every $d$ with $p=d\cdot c$ for some natural $c$ is $1$ or $p$.
Lean
theorem Opn.setOf_isPrime_infinite : {p : Nat | Opn.IsPrime p}.Infinite := by
sorryHow it is being proved
Proved by Proof.lean (merged in 1dd4a7431c4a) · attestation 000116.
Work on it
View the proof →Record details (words, files)
- hash
- f15ce3960368
- origin
- variant (resolves)
- mathlib
- 0df444a360ea
- files
- Statement.lean ↗ · attestation ↗ · Proof.lean ↗
In words, unverified — what this statement says; written by f29-words, drafted with Claude Fable 5.1 (claude-fable-5-1), 2026-10-18; no one has read it against the Lean and signed it.
Draft · drafted, by the model named above
$\displaystyle \{\,p\in\mathbb{N}\ :\ p\ \text{prime}\,\}\ \text{is infinite}$
The set of natural numbers that are prime is infinite, in Mathlib's sense Set.Infinite (not a finite set). Prime is the problem's own Opn.IsPrime: $2\le p$ and every $d$ with $p=d\cdot c$ for some natural $c$ is $1$ or $p$.
Rendered from gloss/a02a55a87d50….md · Improve these words →
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 →
1 way to settle the problem, in the record’s order.
| Set | Statements | Proved | Open | Shared | Assemblies | Routes |
|---|---|---|---|---|---|---|
Set 1whichProved
| 15 | 15 | 0 | 00 | 0 |
Hover a set, a branch or an edge of the tree, or a row, to light what it holds on the drawing; select it and the drawing becomes that tree. A branch is every set beneath it, an edge the part a route choice commits to. The table shows the selected sets; select again, or press Escape, to come back.
How it was proved (in words, unverified)
Informal account, unverified — unverified prose about a kernel-checked proof; the opening of the explainer of proof 1, machine-drafted by anthropic/claude-opus-5.5 (opn-drafter), 2026-10-05.
Idea and method
The proof shows that for every natural number $n$ there is a prime $p$ with $n < p$. It follows Euclid's argument with the number $n! + 1$:
- $n! + 1 \ge 2$, so it has a prime divisor $p$.
- If $p$ were at most $n$, it would divide $n!$.
- A number dividing both $n!$ and $n! + 1$ must equal $1$, and a prime is at least $2$.
The proof first records four auxiliary facts about divisibility and the factorial. It then shows $n!+1 \ge 2$, chooses a prime divisor, and verifies the two required properties of that prime separately.
Read the whole explainer, each section beside the steps it explains → · How to read a proof page →
Proved, explained, written up
Resolved — undigested. Reported back as: kernel-checked, not yet explained (D-10 v3.17).
0 of 5 proved nodes in the closing proof's dependency closure carry a signed explainer.
No paper or note recorded yet (D-32).
Steward
No stewards: this target is not an open problem (D-6 v3.17).
Panel
No panel yet: the problem’s stewards are its panel, and it has none. How a panel votes, invites and lapses is in the panel’s rules.
Write-up
No write-up has been recorded for this problem yet. Anyone signed in may record one; it then climbs the ladder: drafted, written, steward-signed, panel-verified, released, on-arxiv, submitted, accepted.
Where the statement comes from
For every natural number n there is a prime greater than n.
Statement from Euclid, Elements IX.20; the record lists no licensed source text.
No statement-QA pass is recorded yet (D-9 v3.12).
Fast check (POST /check, non-authoritative): lean-4.33.1 on AXLE (exact). Rendered from targets/euclid-primes/graph.json.
This problem's statement is settled: a further proof of it merges as an alternate, which no person reviews (D-3 v3.13), and nothing beneath it waits for anyone either (v3.20).
Does the Lean say the conjecture?
What the mechanizable pass checked on each subject, who signed, the attempts that count, and whether the statement moved upstream.
| Subject | backtranslation | brief | compile | equivalence | screen-consequence | screen-false | screen-negation | screen-statement |
|---|---|---|---|---|---|---|---|---|
| root | — | — | — | — | — | — | — | — |
| Divides | — | — | — | — | — | — | — | — |
| Fact | — | — | — | — | — | — | — | — |
| IsPrime | — | — | — | — | — | — | — | — |
- root: pass incomplete; mechanical-only; 0 signatures (none yet)
- Divides: pass incomplete; mechanical-only; 0 signatures (none yet)
- Fact: pass incomplete; mechanical-only; 0 signatures (none yet)
- IsPrime: pass incomplete; mechanical-only; 0 signatures (none yet)
Documented external attempts counting toward D-9's M: 0 against the statement as it stands.
No catalog evidence is recorded for this root (F14-R3).
No upstream drift on record (D-10 v3.12).
Definitions
Shared definition — shared by every statement of this problem (D-3 defs/).
9cab858f0289./-! Divisibility, written out rather than `Nat.dvd`, so Mathlib's `Dvd` API does not apply to it by name (F11-T1, R7; D-6): a bridge to `Nat.dvd` is a lemma, not a citation. -/ def Opn.Divides (a b : Nat) : Prop := ∃ c : Nat, b = a * c
No gloss yet: no one has written in words what this definition module says (D-3 v3.30); the Lean above is the definition module. How to write one →
Shared definition — shared by every statement of this problem (D-3 defs/).
bf462e99fe39./-! The factorial, by recursion; `Nat.factorial`'s lemmas do not apply to it by name. -/ def Opn.fact : Nat → Nat | 0 => 1 | n + 1 => (n + 1) * Opn.fact n
No gloss yet: no one has written in words what this definition module says (D-3 v3.30); the Lean above is the definition module. How to write one →
Shared definition — shared by every statement of this problem (D-3 defs/).
09f815cbb352.import Defs.Divides /-! A prime, over the graph's own divisibility: at least 2, with only the trivial divisors. -/ def Opn.IsPrime (p : Nat) : Prop := 2 ≤ p ∧ ∀ d : Nat, Opn.Divides d p → d = 1 ∨ d = p
In words, unverified — what this definition module says; machine-drafted by anthropic/claude-opus-5.5 (opn-drafter), 2026-10-05; no one has read it against the Lean and signed it.
Draft · drafted, by the model named above
The file defines Opn.IsPrime, a predicate on a single natural number $p$. It is a proposition, given directly as a conjunction with no cases or recursion. Opn.IsPrime p holds exactly when $2 \le p$ and, for every natural number $d$ such that Opn.Divides d p holds, either $d = 1$ or $d = p$.
The relation Opn.Divides comes from the imported module Defs.Divides. It is applied here with $d$ as the first argument and $p$ as the second. The input gives no gloss for it, so this definition depends on that relation exactly as the import defines it.
Rendered from gloss/bccac4be3084….md · Improve these words →
Approach records
No approach records yet (D-14).
State of the problem
No state-of-the-problem note yet (D-32).