Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions FormalConjectures/ErdosProblems/888.lean
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,14 @@ import FormalConjectures.Util.ProblemImports
# Erdős Problem 888

*Reference:* [erdosproblems.com/888](https://www.erdosproblems.com/888)

Let $f(n)$ be the size of the largest $A \subseteq \{1,\dots,n\}$ with $ad = bc$ whenever
$a \le b \le c \le d \in A$ and $abcd$ is a perfect square. The order of growth was determined
in 2026: the semiprimes (noted by Cambie and Weisenberg) give
$f(n) \ge (1 + o(1)) \frac{n \log\log n}{\log n}$, and a matching upper bound
$f(n) \ll \frac{n \log\log n}{\log n}$ was proved by GPT-5.5 Pro (prompted by Chojecki),
so $f(n) = \Theta\!\left(\frac{n \log\log n}{\log n}\right)$. The exact value of $f(n)$
remains open.
-/

open Classical Filter
Expand Down Expand Up @@ -53,3 +61,19 @@ theorem erdos_888.variants.sarkozy : (fun n ↦ (Nat.findGreatest (p n) n : ℝ)
@[category research solved, AMS 11]
theorem erdos_888.variants.primes : (fun n : ℕ ↦ (Nat.findGreatest (p n) n : ℝ )) ≫ (fun n : ℕ ↦ n / (n : ℝ).log) := by
sorry

/-- The **semiprimes** $\le n$ satisfy the condition, and there are
$(1 + o(1)) \frac{n \log\log n}{\log n}$ of them, giving the sharp lower bound.
Noted by Cambie and Weisenberg. -/
@[category research solved, AMS 11]
theorem erdos_888.variants.semiprimes :
(fun n : ℕ ↦ (Nat.findGreatest (p n) n : ℝ)) ≫ (fun n : ℕ ↦ n * (n : ℝ).log.log / (n : ℝ).log) := by
sorry

/-- **Matching upper bound** (proved by GPT-5.5 Pro, prompted by Chojecki, 2026):
$f(n) \ll \frac{n \log\log n}{\log n}$. Together with `semiprimes` this determines
the order of growth of $f(n)$. -/
@[category research solved, AMS 11]
theorem erdos_888.variants.upper_bound :
(fun n : ℕ ↦ (Nat.findGreatest (p n) n : ℝ)) ≪ (fun n : ℕ ↦ n * (n : ℝ).log.log / (n : ℝ).log) := by
sorry
Loading