Skip to content

Commit 3ad2f28

Browse files
authored
feat(GreensOpenProblems): 39 (#3804)
# Description > If $A \subset \mathbb{Z}/p\mathbb{Z}$ is random, $|A| = \sqrt{p}$, can we almost surely cover $\mathbb{Z}/p\mathbb{Z}$ with $100\sqrt{p}$ translates of $A$? - Closes #1595 - 🤖 First draft created with help from **Gemini 3.1 Pro**. I then modified it to handle edge cases, improved code modularity, added variants, and simple tests. I then asked Gemini to come up with non-trivial tests by enumeration. - Formulation handles the 3 problem variants mentioned in Green's original comments. # Testing ✅ Builds successfully ```shell $ lake build FormalConjectures/GreensOpenProblems/39.lean Build completed successfully (7982 jobs). ```
1 parent c44a0f9 commit 3ad2f28

1 file changed

Lines changed: 119 additions & 0 deletions

File tree

  • FormalConjectures/GreensOpenProblems
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
/-
2+
Copyright 2026 The Formal Conjectures Authors.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
https://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
-/
16+
17+
import FormalConjectures.Util.ProblemImports
18+
19+
/-!
20+
# Green's Open Problem 39
21+
22+
*References:*
23+
- [Gr24] [Green, Ben. "100 open problems." (2024).](https://people.maths.ox.ac.uk/greenbj/papers/open-problems.pdf#problem.39)
24+
- [BJR11] Bollobás, Béla, Svante Janson, and Oliver Riordan. "On covering by translates of a set."
25+
Random Structures & Algorithms 38.1‐2 (2011): 33-67.
26+
-/
27+
28+
open Filter Topology
29+
open scoped Pointwise
30+
31+
namespace Green39
32+
33+
/--
34+
The proportion of subsets of $\mathbb{Z}/p\mathbb{Z}$ of size $k$ that can cover
35+
$\mathbb{Z}/p\mathbb{Z}$ using at most $c$ translates.
36+
37+
If p = 0 or k > p, return 0 by convention.
38+
-/
39+
def proportionCoverable (p k c : ℕ) : ℚ :=
40+
if h : p = 0 then 0
41+
else if k > p then 0
42+
else
43+
have : NeZero p := ⟨h⟩
44+
let S : Finset (Finset (ZMod p)) := Finset.powersetCard k Finset.univ
45+
let coverable := S.filter (fun A => ∃ T : Finset (ZMod p), T.card ≤ c ∧ A + T = Finset.univ)
46+
(coverable.card : ℚ) / (S.card : ℚ)
47+
48+
@[category test, AMS 5 60]
49+
theorem proportionCoverable_p_p_1 : proportionCoverable 3 3 1 = 1 := by native_decide
50+
51+
@[category test, AMS 5 60]
52+
theorem proportionCoverable_t_0 : proportionCoverable 5 2 0 = 0 := by native_decide
53+
54+
@[category test, AMS 5 60]
55+
theorem proportionCoverable_2_1_2 : proportionCoverable 2 1 2 = 1 := by native_decide
56+
57+
@[category test, AMS 5 60]
58+
theorem proportionCoverable_3_1_2 : proportionCoverable 3 1 2 = 0 := by native_decide
59+
60+
@[category test, AMS 5 60]
61+
theorem proportionCoverable_a_gt_p : proportionCoverable 3 4 2 = 0 := by native_decide
62+
63+
@[category test, AMS 5 60]
64+
theorem proportionCoverable_7_4_2 :
65+
proportionCoverable 7 4 2 = (3 : ℚ) / 5 := by
66+
native_decide
67+
68+
@[category test, AMS 5 60]
69+
theorem proportionCoverable_11_3_4 :
70+
proportionCoverable 11 3 4 = (1 : ℚ) / 3 := by
71+
native_decide
72+
73+
@[category test, AMS 5 60]
74+
theorem proportionCoverable_11_4_3 :
75+
proportionCoverable 11 4 3 = (1 : ℚ) / 6 := by
76+
native_decide
77+
78+
/--
79+
If $A \subset \mathbb{Z}/p\mathbb{Z}$ is random, $|A| = \sqrt{p}$, can we almost surely cover
80+
$\mathbb{Z}/p\mathbb{Z}$ with $100\sqrt{p}$ translates of $A$? [Gr24]
81+
-/
82+
@[category research open, AMS 5 60]
83+
theorem green_39 : answer(sorry) ↔
84+
Tendsto
85+
(fun p : {q : ℕ // q.Prime} ↦
86+
let k := Nat.sqrt p
87+
let c := 100 * k
88+
(proportionCoverable p k c : ℝ))
89+
atTop (𝓝 1) := by
90+
sorry
91+
92+
/--
93+
"I do not know how to answer this even with 100 replaced by 1.01." [Gr24]"
94+
-/
95+
@[category research open, AMS 5 60]
96+
theorem green_39.variant_101 : answer(sorry) ↔
97+
Tendsto
98+
(fun p : {q : ℕ // q.Prime} ↦
99+
let k := Nat.sqrt p
100+
let c := ⌊1.01 * (k : ℝ)⌋₊
101+
(proportionCoverable p k c : ℝ))
102+
atTop (𝓝 1) := by
103+
sorry
104+
105+
/--
106+
Similar questions are interesting with $\sqrt{p}$ replaced by $p^\theta$ for any $\theta \le 1/2$. [Gr24]
107+
-/
108+
@[category research open, AMS 5 60]
109+
theorem green_39.variant_theta : answer(sorry) ↔
110+
∀ (θ : ℝ), 0 < θ → θ ≤ 1/2
111+
∃ C > 1, Tendsto
112+
(fun p : {q : ℕ // q.Prime} ↦
113+
let k := ⌊(p : ℝ) ^ θ⌋₊
114+
let c := ⌊C * (p : ℝ) ^ θ⌋₊
115+
(proportionCoverable p k c : ℝ))
116+
atTop (𝓝 1) := by
117+
sorry
118+
119+
end Green39

0 commit comments

Comments
 (0)