erdos-problems 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # erdos-problems
2
2
 
3
- Maintained by Fractal Research Group (`frg.earth`).
3
+ Maintained by SproutSeeds. Research stewardship: Fractal Research Group ([frg.earth](https://frg.earth)).
4
4
 
5
5
  > CLI and workspace for Paul Erdos problems.
6
6
  >
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "erdos-problems",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "CLI atlas and workspace tools for Paul Erdos problems.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -5,6 +5,7 @@ Light starter workspace for number-theory problems in `erdos-problems`.
5
5
  Current seeded pack problems:
6
6
  - `1`: open starter workspace around a distinct-subset-sum lower-bound route
7
7
  - `2`: counterexample/archive workspace for a disproved covering-systems problem
8
+ - `848`: decidable finite-check workspace around explicit threshold extraction and bounded closure
8
9
 
9
10
  Useful commands:
10
11
  - `erdos number-theory status 1`
@@ -0,0 +1,8 @@
1
+ # Problem 848 Checkpoint Template
2
+
3
+ - Active route:
4
+ - Threshold ledger update:
5
+ - Finite-check range clarified:
6
+ - Formalization coverage clarified:
7
+ - Public-status wording rechecked:
8
+ - Next honest move:
@@ -0,0 +1,11 @@
1
+ # Problem 848 Number Theory Pack Context
2
+
3
+ - Family role: finite_check_number_theory_workspace
4
+ - Harness profile: decidable_gap_workspace
5
+ - Active route posture: finite_check_gap_closure
6
+
7
+ This pack slice exists because Problem 848 is no longer a generic open dossier.
8
+ The honest posture is:
9
+ - preserve the sufficiently-large-N theorem
10
+ - isolate the finite unresolved gap
11
+ - keep threshold extraction, finite computation, and formalization coverage distinct
@@ -0,0 +1,87 @@
1
+ # Problem 848 Extraction Checklist
2
+
3
+ This checklist turns the current threshold ledger into the next explicit route task.
4
+
5
+ Goal:
6
+ - identify exactly what must be made numerical before the existential `N0` in Sawhney's note becomes a usable explicit threshold
7
+
8
+ ## Margin ledger from the public note
9
+
10
+ Target extremal density:
11
+ - `1/25 = 0.04`
12
+
13
+ Rounded case bounds recorded in the note:
14
+ - Case 1: `0.0377`
15
+ - Case 2: `0.0358`
16
+ - Case 3: `0.0336`
17
+ - Final mixed-class case: `0.0294`
18
+
19
+ Current margin to the target:
20
+ - Case 1 slack: `0.0400 - 0.0377 = 0.0023`
21
+ - Case 2 slack: `0.0400 - 0.0358 = 0.0042`
22
+ - Case 3 slack: `0.0400 - 0.0336 = 0.0064`
23
+ - Final mixed-class slack: `0.0400 - 0.0294 = 0.0106`
24
+
25
+ Immediate implication:
26
+ - the weakest case is the `0.0377` branch
27
+ - any fully explicit threshold extraction has to force the accumulated error terms in that branch below the available `0.0023 N` slack
28
+ - before spending that full slack, the repo should freeze the exact main-term constants behind `0.0252` and `0.0125`, since the public note only records rounded decimals
29
+
30
+ ## Proof components to quantify
31
+
32
+ ### A. Lemma 2.1 tail and inclusion-exclusion error
33
+
34
+ Need:
35
+ - explicit control of the prime-square tail `sum_{T <= p <= N^(1/2)} N/p^2`
36
+ - explicit control of the small-prime inclusion-exclusion remainder
37
+ - an explicit version of the `N^(o(1))` term coming from the small-prime product
38
+
39
+ Route question:
40
+ - can these be made comfortably smaller than the smallest slack without overcomplicating the rest of the proof?
41
+
42
+ ### B. Lemma 2.2 progression error
43
+
44
+ Need:
45
+ - explicit control of the tail over primes dividing `ab+1`
46
+ - a quantitative replacement for the `<< N / sqrt(log N)` term
47
+
48
+ Route question:
49
+ - is this the actual bottleneck, as the public forum discussion suggests?
50
+
51
+ ### C. Choice of `eta`
52
+
53
+ Need:
54
+ - identify where the proof requires a small absolute `eta`
55
+ - determine whether the proof ever needs a specific lower ceiling on `eta`, or only that `eta` be less than the smallest surviving numerical slack after error absorption
56
+
57
+ ### D. Final case assembly
58
+
59
+ Need:
60
+ - for each case, record the exact main-term bound and the admissible total error budget
61
+ - verify which branch determines the final threshold
62
+
63
+ Current belief:
64
+ - the `0.0377` case is the active bottleneck until a sharper calculation says otherwise
65
+
66
+ ## Work order
67
+
68
+ 1. Freeze the exact or conservatively certified main-term slack for the `0.0377` branch.
69
+ 2. Extract every hidden constant and error input from Lemma 2.1.
70
+ 3. Extract every hidden constant and error input from Lemma 2.2.
71
+ 4. Decide whether the proof can realistically beat the usable branch slack with explicit estimates.
72
+ 5. Only then decide whether to keep pushing analytic extraction or pivot harder into bounded finite computation.
73
+
74
+ Current repo posture:
75
+ - Step 1 is now complete at a conservative numerical level.
76
+ - The next unresolved work is Step 2: make the Lemma 2.1 remainder terms explicit against the branch budget.
77
+
78
+ ## What would count as progress
79
+
80
+ - a line-by-line list of every non-explicit estimate in Lemma 2.1 and Lemma 2.2
81
+ - an exact or conservative usable-slack budget for the weakest branch
82
+ - an explicit declaration of which branch sets the threshold
83
+ - a clean budget statement for how much of the roughly `0.002388` branch slack is available to Lemma 2.1, Lemma 2.2, and `eta`
84
+ - a justified statement like:
85
+ - “the current proof architecture plausibly yields an explicit threshold”
86
+ - or
87
+ - “the current proof architecture is too lossy without a new lemma or better error term”
@@ -0,0 +1,19 @@
1
+ # Problem 848 Frontier Note
2
+
3
+ Problem 848 is a decidable finite-check problem, not a fresh asymptotic frontier.
4
+
5
+ The live route is `finite_check_gap_closure`:
6
+ - keep Sawhney's sufficiently-large-`N` theorem exact
7
+ - do not widen `decidable` into `solved`
8
+ - treat explicit-threshold extraction and finite verification as separate but coupled lanes
9
+
10
+ The smallest honest next move is not “solve 848”.
11
+ It is:
12
+ - use the frozen threshold ledger and weakest-case budget sheet to isolate the real usable slack
13
+ - spend that slack on the first explicit inequality, namely Lemma 2.1
14
+ - only then decide how much of the remainder is computational versus analytic
15
+
16
+ Read first:
17
+ - `THRESHOLD_LEDGER.md`
18
+ - `EXTRACTION_CHECKLIST.md`
19
+ - `WEAKEST_CASE_BUDGET.md`
@@ -0,0 +1,59 @@
1
+ packet_id: nt848_ops_details_v1
2
+ summary: Decidable-gap workspace packet for the squarefree ab+1 extremal set problem.
3
+ routes:
4
+ - route_id: finite_check_gap_closure
5
+ title: Finite-Check Gap Closure
6
+ status: active
7
+ summary: Convert the sufficiently-large-N theorem into a complete all-N resolution without overstating what is already closed.
8
+ why_now: This is the honest live frontier after the public asymptotic result.
9
+ next_move: Spend the now-frozen weakest-branch slack on the first explicit Lemma 2.1 inequality.
10
+ - route_id: formalization_coverage_audit
11
+ title: Formalization Coverage Audit
12
+ status: support
13
+ summary: Determine exactly what the public Lean files certify and what finite remainder they leave open.
14
+ why_now: Formalization chatter is useful support evidence, but it should not be mistaken for full closure.
15
+ next_move: Keep this as support context until the threshold ledger is frozen.
16
+ tickets:
17
+ - ticket_id: N848
18
+ title: Convert the frozen weakest-branch budget into explicit inequalities
19
+ route_id: finite_check_gap_closure
20
+ status: active
21
+ summary: The weakest branch and its conservative slack budget are now frozen; the next job is to quantify the explicit analytic losses against that budget.
22
+ current_blocker: Lemma 2.1 still hides its tail and inclusion-exclusion remainder behind `<<` and `N^(o(1))`.
23
+ next_move: Close `N848.G1.A4`.
24
+ - ticket_id: N848F
25
+ title: Audit public formalization coverage
26
+ route_id: formalization_coverage_audit
27
+ status: support
28
+ summary: Separate asymptotic Lean coverage from finite sample checks and full closure claims.
29
+ current_blocker: The current dossier only records public chatter, not a precise coverage map.
30
+ next_move: Keep as a support lane until the main threshold ledger is stable.
31
+ atoms:
32
+ - atom_id: N848.G1.A1
33
+ title: Enumerate every sufficiently-large input in Sawhney's proof and classify it as explicit, weakly explicit, or existential
34
+ route_id: finite_check_gap_closure
35
+ ticket_id: N848
36
+ status: done
37
+ summary: The threshold ledger is now frozen in canonical pack notes.
38
+ next_move: Keep as support context for the extraction checklist.
39
+ - atom_id: N848.G1.A2
40
+ title: Record the weakest margin case and extract the checklist for making the threshold explicit
41
+ route_id: finite_check_gap_closure
42
+ ticket_id: N848
43
+ status: done
44
+ summary: The weakest branch and its first extraction checklist are now frozen in canonical pack notes.
45
+ next_move: Use the weakest-case budget sheet as the next source-backed frontier surface.
46
+ - atom_id: N848.G1.A3
47
+ title: Freeze the usable slack behind the `0.0377` branch before spending it on explicit error terms
48
+ route_id: finite_check_gap_closure
49
+ ticket_id: N848
50
+ status: done
51
+ summary: The branch budget is now numerically frozen in canonical pack notes.
52
+ next_move: Use the frozen branch slack as the target budget for explicit remainder extraction.
53
+ - atom_id: N848.G1.A4
54
+ title: Make the Lemma 2.1 remainder terms explicit against the frozen weakest-branch budget
55
+ route_id: finite_check_gap_closure
56
+ ticket_id: N848
57
+ status: ready
58
+ summary: The branch-level slack is now frozen; the next unresolved inequality is the Lemma 2.1 tail plus inclusion-exclusion remainder.
59
+ next_move: Write explicit upper bounds for the `N / T` tail and the small-prime inclusion-exclusion remainder with `T = floor(sqrt(log N))`.
@@ -0,0 +1,8 @@
1
+ # Problem 848 Report Template
2
+
3
+ - Route:
4
+ - What changed:
5
+ - Which part of the finite-check gap moved:
6
+ - Which source line or artifact supports that movement:
7
+ - Verification hook:
8
+ - Next route action:
@@ -0,0 +1,9 @@
1
+ # Problem 848 Route History
2
+
3
+ - Initial repo posture: canonical dossier seeded from imported atlas data plus public site review.
4
+ - First refinement: recast the problem from generic open seed into a decidable finite-check workspace.
5
+ - Second refinement: freeze the first threshold ledger separating existential, weakly explicit, and tentative public threshold claims.
6
+ - Third refinement: isolate the `0.0377` branch as the weakest public case and freeze a source-backed branch-budget note for it.
7
+ - Fourth refinement: freeze the weakest-branch main term numerically at about `0.0376113`, with conservative slack about `0.0023887` before analytic error absorption.
8
+ - Current public pack posture: active route `finite_check_gap_closure`, with asymptotic theorem already in hand and the remaining gap centered on explicit remainder extraction, threshold budgeting, and bounded finite verification.
9
+ - Next maturity threshold: replace the Lemma 2.1 `<<` and `N^(o(1))` steps with explicit inequalities against the frozen branch budget.
@@ -0,0 +1,14 @@
1
+ route_packet_id: nt848_finite_check_gap_closure_v1
2
+ route_id: finite_check_gap_closure
3
+ frontier_claim: Preserve the sufficiently-large-N theorem for Problem 848 while turning the remaining finite-check gap into an explicit threshold-plus-verification workspace.
4
+ theorem_module: ""
5
+ checkpoint_packet: CHECKPOINT_TEMPLATE.md
6
+ report_packet: REPORT_TEMPLATE.md
7
+ ready_prompts:
8
+ - Which case in the proof has the smallest slack to 1/25?
9
+ - How much of the roughly `0.002388` weakest-branch slack can be safely assigned to Lemma 2.1?
10
+ - Can the Lemma 2.1 tail and inclusion-exclusion remainder be made explicit without exhausting the branch budget?
11
+ verification_hook:
12
+ - erdos number-theory status 848
13
+ - erdos number-theory routes 848
14
+ - erdos problem show 848
@@ -0,0 +1,132 @@
1
+ # Problem 848 Threshold Ledger
2
+
3
+ This file records the exact shape of the remaining finite-check gap for Problem 848.
4
+
5
+ It is intentionally conservative:
6
+ - do not promote tentative forum bounds to canonical theorem claims
7
+ - separate existential threshold statements from explicit ones
8
+ - separate sample finite checks from full finite closure
9
+
10
+ ## Current route claim
11
+
12
+ - Publicly established: there exists an integer `N0` such that the desired extremal statement holds for all `N >= N0`.
13
+ - Not yet canonically established here: a complete explicit threshold `N0`, or a finished proof for every `N`.
14
+
15
+ ## Source-backed threshold map
16
+
17
+ ### 1. Proposition 1.1 in Sawhney's note
18
+
19
+ Source:
20
+ - Sawhney, `Problem_848.pdf`, page 1
21
+
22
+ Public statement:
23
+ - There exists an integer `N0` such that for all `N >= N0`, if `A ⊆ [N]` and `ab+1` is never squarefree for all `a,b in A`, then
24
+ `|A| <= |{n in [N] : n ≡ 7 mod 25}|`.
25
+ - Equality is achieved by the `7 mod 25` class and possibly the `18 mod 25` class.
26
+
27
+ Classification:
28
+ - `existential`
29
+
30
+ Why:
31
+ - The theorem statement is explicitly existential.
32
+ - The note does not state a usable numerical `N0`.
33
+
34
+ ### 2. Lemma 2.1
35
+
36
+ Source:
37
+ - Sawhney, `Problem_848.pdf`, page 1
38
+
39
+ Public shape:
40
+ - The lemma gives an asymptotic count with error `<< N (log N)^(-1/2)`.
41
+ - The proof also uses an `N^(o(1))` style term through the product over small primes.
42
+
43
+ Classification:
44
+ - `weakly explicit`
45
+
46
+ Why:
47
+ - The proof architecture is explicit enough in principle to support numerical extraction.
48
+ - The constants are not packaged in the note as a direct computational threshold.
49
+
50
+ ### 3. Lemma 2.2
51
+
52
+ Source:
53
+ - Sawhney, `Problem_848.pdf`, pages 1-2
54
+
55
+ Public shape:
56
+ - The lemma gives an asymptotic estimate for squarefree obstructions on arithmetic progressions with error `<< N / sqrt(log N)`.
57
+
58
+ Classification:
59
+ - `weakly explicit`
60
+
61
+ Why:
62
+ - The structure is explicit in principle.
63
+ - The forum discussion repeatedly identifies this lemma as the harder place to sharpen if one wants a realistic explicit threshold.
64
+
65
+ ### 4. Final casework numerics in the proof
66
+
67
+ Source:
68
+ - Sawhney, `Problem_848.pdf`, pages 2-4
69
+
70
+ Public shape:
71
+ - The proof records rounded numerical bounds such as `0.0377`, `0.0358`, `0.0336`, and `0.0294`.
72
+ - These are used after absorbing `o(1)` errors under the assumption that `N` is sufficiently large.
73
+
74
+ Classification:
75
+ - `explicit case numerics + existential threshold absorption`
76
+
77
+ Why:
78
+ - The local case splits and main-term constants are concrete.
79
+ - The point where the error terms become small enough is still not canonically explicit in the note.
80
+
81
+ ## Public threshold-improvement chatter
82
+
83
+ These are useful research leads, not canonical solved artifacts.
84
+
85
+ ### 5. Forum-level explicit thresholds
86
+
87
+ Source:
88
+ - `erdosproblems.com/forum/thread/848`
89
+
90
+ Publicly mentioned:
91
+ - `exp(1958)` from a GPT-assisted threshold-extraction effort discussed by Terence Tao
92
+ - `exp(1420)` as a later plausible improvement discussed on the same thread
93
+
94
+ Classification:
95
+ - `tentative / not canonically frozen here`
96
+
97
+ Why:
98
+ - These values appear in forum discussion, not in the public theorem statement on the main problem page.
99
+ - The thread itself treats them as intermediate and in need of verification or better writeup.
100
+
101
+ ## Public finite-verification coverage
102
+
103
+ ### 6. Finite checks discussed publicly
104
+
105
+ Source:
106
+ - `erdosproblems.com/forum/thread/848`
107
+
108
+ Publicly mentioned:
109
+ - straightforward approaches only checked the problem up to a few hundred in one discussion branch
110
+ - the public Lean thread claims finite verification for `N = 50` and `N = 100`
111
+
112
+ Classification:
113
+ - `partial finite coverage`
114
+
115
+ Why:
116
+ - This is not a complete all-`N` finite closure.
117
+ - It does, however, show that some finite verification machinery already exists in public.
118
+
119
+ ## Immediate implications
120
+
121
+ - The cleanest honest next step is to turn the existential/weakly-explicit split above into a line-by-line extraction checklist from Sawhney's note.
122
+ - The weakest branch is now isolated in `WEAKEST_CASE_BUDGET.md`, including the exact place where the proof spends rounded branch numerics without yet freezing the usable explicit slack.
123
+ - The repo now also has a conservative numerical freeze of that weakest branch, suggesting the real main-term branch bound is about `0.0376113` with slack about `0.0023887` before analytic error absorption.
124
+ - The second step is to decide whether the best near-term route is:
125
+ - improving Lemma 2.2 and related error terms enough to get a practical explicit `N0`, or
126
+ - treating the current explicit-threshold discussion as support context and investing in bounded finite computation.
127
+
128
+ ## What not to claim yet
129
+
130
+ - Do not claim a canonical explicit threshold `N0`.
131
+ - Do not claim the forum bounds `exp(1958)` or `exp(1420)` are fully verified repo truth.
132
+ - Do not claim the public Lean files already close the entire finite remainder.
@@ -0,0 +1,183 @@
1
+ # Problem 848 Weakest-Case Budget
2
+
3
+ This note freezes the current best source-backed picture of the weakest branch
4
+ in Sawhney's proof.
5
+
6
+ Scope:
7
+ - this is only the `0.0377` branch from the proof
8
+ - this is not yet an explicit threshold proof
9
+ - this is the budget sheet that the next explicit-threshold step must respect
10
+
11
+ ## Where the `0.0377` branch comes from
12
+
13
+ Source:
14
+ - Sawhney, `Problem_848.pdf`, Section 3, pages 2-3
15
+
16
+ Branch description:
17
+ - assume `A*` contains an even element
18
+ - then bound `A*` using Lemma 2.1
19
+ - bound `A7 ∪ A18` using Lemma 2.2
20
+ - add the two contributions
21
+
22
+ Public bound recorded in the note:
23
+ - `|A| / N <= 0.0377`
24
+
25
+ Target extremal density:
26
+ - `1/25 = 0.04`
27
+
28
+ Recorded slack to the target:
29
+ - `0.04 - 0.0377 = 0.0023`
30
+
31
+ ## Main-term decomposition from the note
32
+
33
+ ### A. `A*` contribution
34
+
35
+ Source:
36
+ - Sawhney, `Problem_848.pdf`, pages 1-2, especially the proof lines leading to the first case split
37
+
38
+ Displayed bound:
39
+ - `|A*| / N <= (23/25) * (1 - prod_{p ≡ 1 mod 4, p >= 13} (1 - 2/p^2)) + o(1)`
40
+
41
+ Rounded numerical contribution recorded in the note:
42
+ - `0.0252`
43
+
44
+ ### B. `A7 ∪ A18` contribution
45
+
46
+ Source:
47
+ - Sawhney, `Problem_848.pdf`, pages 1-2, first Lemma 2.2 application in the proof
48
+
49
+ Displayed bound:
50
+ - `|A7 ∪ A18| / N <= (2/25) * (1 - prod_{p != 2,5} (1 - 1/p^2)) + o(1)`
51
+
52
+ Rounded numerical contribution recorded in the note:
53
+ - `0.0125`
54
+
55
+ ### C. Combined branch
56
+
57
+ Displayed combination:
58
+ - `|A| / N <= 0.0252 + 0.0125 = 0.0377`
59
+
60
+ Important caution:
61
+ - the note records four-decimal rounded numerics, not a repo-frozen exact Euler-product evaluation
62
+ - therefore the currently usable slack is not yet a rigorously frozen `0.0023`
63
+ - before spending the full `0.0023 N` on explicit error terms, the repo should freeze the exact main-term constants or adopt a deliberate safety reserve
64
+
65
+ ## Non-explicit inputs in this branch
66
+
67
+ ### 1. Lemma 2.1 large-prime tail
68
+
69
+ Source:
70
+ - Sawhney, `Problem_848.pdf`, page 1
71
+
72
+ Public proof move:
73
+ - choose `T = floor(sqrt(log N))`
74
+ - control the tail by
75
+ `sum_{T <= p <= N^(1/2)} N / p^2 << N / T`
76
+
77
+ Current status:
78
+ - structurally explicit
79
+ - not numerically frozen here
80
+
81
+ ### 2. Lemma 2.1 small-prime inclusion-exclusion remainder
82
+
83
+ Source:
84
+ - Sawhney, `Problem_848.pdf`, page 1
85
+
86
+ Public proof move:
87
+ - truncate to primes `p <= T`
88
+ - note `prod_{p <= T} p^2 <= N^(o(1))`
89
+ - conclude the inclusion-exclusion remainder is `N^(o(1))`
90
+
91
+ Current status:
92
+ - this is one of the main non-explicit steps in the branch
93
+ - the proof architecture is clear, but the repo does not yet have a concrete bound replacing `N^(o(1))`
94
+
95
+ ### 3. Lemma 2.2 large-prime tail
96
+
97
+ Source:
98
+ - Sawhney, `Problem_848.pdf`, page 2
99
+
100
+ Public proof move:
101
+ - again choose `T = floor(sqrt(log N))`
102
+ - bound the tail by
103
+ `sum_{T <= p <= N} (N / p^2 + 1) << N / T`
104
+
105
+ Current status:
106
+ - structurally explicit
107
+ - not numerically frozen here
108
+
109
+ ### 4. Lemma 2.2 reduction to Lemma 2.1
110
+
111
+ Source:
112
+ - Sawhney, `Problem_848.pdf`, page 2
113
+
114
+ Public proof move:
115
+ - for each prime `p <= T` with `(p, qb) = 1`, the condition `p^2 | (ab + 1)` determines one residue class
116
+ - the remaining count is then handled by Lemma 2.1
117
+
118
+ Current status:
119
+ - this means the `0.0377` branch inherits the non-explicit part of Lemma 2.1 twice:
120
+ once directly for `A*`, and once indirectly through Lemma 2.2 for `A7 ∪ A18`
121
+
122
+ ### 5. The `eta` absorption step
123
+
124
+ Source:
125
+ - Sawhney, `Problem_848.pdf`, pages 1-2
126
+
127
+ Public proof move:
128
+ - assume `|A| >= (1/25 - eta) N` for a small absolute `eta`
129
+ - absorb `eta` and the `o(1)` errors into the strict inequality between the branch bound and `1/25`
130
+
131
+ Current status:
132
+ - no explicit admissible `eta` is frozen here
133
+ - explicit threshold extraction must budget for both the analytic error terms and the `eta` slack used in the contradiction
134
+
135
+ ## Honest current bottleneck
136
+
137
+ The next true bottleneck is not yet “make Lemma 2.2 explicit.”
138
+
139
+ The first bottleneck is:
140
+ - freeze the exact main-term constants behind `0.0252` and `0.0125`
141
+ - decide how much of the nominal `0.0023` slack is actually safe to spend on explicit error terms
142
+
143
+ Until that is done, any explicit-threshold extraction remains numerically underdetermined at the branch level.
144
+
145
+ ## What this changes
146
+
147
+ - The route no longer needs a generic “find the weakest branch” task; that is now done.
148
+ - The next honest move is to replace rounded branch numerics with an exact or conservatively certified usable slack budget.
149
+
150
+ ## Repo numerical freeze
151
+
152
+ Date:
153
+ - April 5, 2026
154
+
155
+ Method:
156
+ - multiply the Euler-product factors directly over all primes up to `5,000,000`
157
+ - use a crude tail envelope from `sum_{n > P} 1 / n^2 < 1 / P`
158
+ - treat this as a conservative numerical budget note, not yet as a fully formal proof artifact
159
+
160
+ Numerical outputs:
161
+ - `A*` main-term contribution: `0.0251587645...`
162
+ - `A7 ∪ A18` main-term contribution: `0.0124525434...`
163
+ - combined weakest-branch main term: `0.0376113079...`
164
+ - target density: `0.04`
165
+ - numerical slack to the target: `0.0023886920...`
166
+
167
+ Crude omitted-tail envelope from the `5,000,000` cutoff:
168
+ - total branch-level tail contribution below about `3.84e-7`
169
+
170
+ Conservative numerical reading:
171
+ - the branch-level main term appears safely below `0.037612`
172
+ - the real branch slack appears closer to `0.002389` than to the rounded `0.0023`
173
+ - the rounded note therefore seems to hide roughly `8.8e-5` of additional branch slack
174
+
175
+ What this still does **not** do:
176
+ - it does not make Lemma 2.1 explicit
177
+ - it does not make Lemma 2.2 explicit
178
+ - it does not yet absorb the `eta` term
179
+ - it does not produce a final explicit threshold `N0`
180
+
181
+ What it **does** do:
182
+ - it removes uncertainty about whether four-decimal rounding is eating a significant fraction of the apparent branch budget
183
+ - it gives the next explicit-extraction step a more honest target: roughly `0.002388` of branch slack before analytic error absorption
@@ -0,0 +1,41 @@
1
+ problem_id: "848"
2
+ family_role: finite_check_number_theory_workspace
3
+ harness_profile: decidable_gap_workspace
4
+ default_active_route: finite_check_gap_closure
5
+ bootstrap_focus: Freeze the explicit finite-check gap before choosing analytic threshold extraction or direct bounded computation.
6
+ route_story: Problem 848 is already asymptotically resolved in public, but not yet packaged here as a full all-N resolution. The honest job is to map the finite remainder precisely.
7
+ frontier_label: finite_check_gap_closure
8
+ frontier_detail: Keep the route centered on explicit threshold extraction plus bounded finite verification, not on rediscovering the sufficiently-large-N theorem.
9
+ checkpoint_focus: Preserve the distinction between existential N0, explicit N0, sample finite checks, and full closure.
10
+ next_honest_move: Spend the frozen weakest-branch slack on the first explicit inequality, namely the Lemma 2.1 tail plus inclusion-exclusion remainder.
11
+ related_core_problems:
12
+ - "844"
13
+ literature_focus:
14
+ - squarefree values
15
+ - sieve bounds
16
+ - explicit threshold extraction
17
+ artifact_focus:
18
+ - STATEMENT.md
19
+ - REFERENCES.md
20
+ - EVIDENCE.md
21
+ - FORMALIZATION.md
22
+ - THRESHOLD_LEDGER.md
23
+ - EXTRACTION_CHECKLIST.md
24
+ - WEAKEST_CASE_BUDGET.md
25
+ question_ledger:
26
+ open_questions:
27
+ - Can the existing sufficiently-large-N proof be made explicit enough to give a practical threshold?
28
+ - How much of the remaining small-N range has actually been checked publicly?
29
+ - How much of the nominal `0.0023` weakest-branch slack survives once the rounded branch numerics are frozen exactly?
30
+ - Can Lemma 2.1 be made explicit without consuming most of the roughly `0.002388` frozen branch slack?
31
+ active_route_notes:
32
+ - Keep the asymptotic theorem separate from the unresolved finite closure.
33
+ - Treat public Lean claims as support evidence until the exact coverage is audited.
34
+ - Do not spend the full `0.0023` branch slack until the repo freezes the exact main-term constants behind `0.0252` and `0.0125`.
35
+ - The branch budget is now frozen numerically; the next uncertainty is analytic, not case-selection.
36
+ route_breakthroughs:
37
+ - Public asymptotic resolution by Sawhney is already in hand.
38
+ - The threshold ledger separating existential and explicit claims is now frozen.
39
+ - The weakest public branch is now isolated in a dedicated budget sheet.
40
+ - The weakest public branch is now numerically frozen at about `0.0376113`.
41
+ problem_solved: []
@@ -0,0 +1,33 @@
1
+ # Agent Start
2
+
3
+ Fast start:
4
+ - `erdos problem show 848`
5
+ - `erdos workspace show`
6
+ - `erdos preflight`
7
+ - `erdos continuation use route`
8
+ - `erdos checkpoints sync`
9
+
10
+ Working assumptions:
11
+ - Open problem: no
12
+ - Active route: finite_check_gap_closure
13
+ - Repo status: active
14
+ - Harness depth: dossier
15
+ - Site status: decidable
16
+ - Route breakthrough: yes
17
+ - Problem solved: no
18
+
19
+ Read in this order:
20
+ - `STATEMENT.md`
21
+ - `REFERENCES.md`
22
+ - `EVIDENCE.md`
23
+ - `FORMALIZATION.md`
24
+ - `PUBLIC_STATUS_REVIEW.md`
25
+ - `AGENT_WEBSEARCH_BRIEF.md`
26
+
27
+ First honest move:
28
+ - isolate the exact finite remainder left after Sawhney's sufficiently-large-`N` theorem
29
+ - determine whether the missing closure is an explicit threshold extraction problem, a pure
30
+ finite computation problem, or a mixed lane
31
+ - keep every note honest about the gap between `decidable` and fully `solved`
32
+ - read the Sawhney note before touching the forum heuristics, then use the forum only to
33
+ map candidate threshold-improvement strategies and public finite-check coverage
@@ -0,0 +1,21 @@
1
+ # Erdős Problem #848 Agent Websearch Brief
2
+
3
+ Why this exists:
4
+ - do not rely on erdosproblems.com alone as the canonical public truth surface
5
+ - compare the site status with current publicized discussion, literature, and formalization chatter
6
+
7
+ Suggested queries:
8
+ - "Erdos Problem #848"
9
+ - erdos problem 848
10
+ - "Erdos Problem #848" erdos
11
+ - "Erdos Problem #848" explicit N0
12
+ - "Erdos Problem #848" finite check
13
+ - "Problem848.lean"
14
+ - "Problem_848.pdf" Sawhney
15
+
16
+ Review prompts:
17
+ - Does the problem still appear publicly open?
18
+ - Are there recent solution claims, partial claims, or major status updates?
19
+ - Are there recent formalization artifacts, surveys, or project pages worth pulling into the dossier?
20
+ - Has anyone publicly converted the existential threshold into a concrete usable `N0`?
21
+ - Is there any public finite verification beyond the sample checks mentioned in the forum?
@@ -0,0 +1,19 @@
1
+ # Checkpoint Notes
2
+
3
+ - Problem: 848
4
+ - Repo status: active
5
+ - Harness depth: dossier
6
+
7
+ Checkpoint prompts:
8
+ - What changed in the active route since the last honest checkpoint?
9
+ - Which claim level is justified right now: Exact, Verified, Heuristic, or Conjecture?
10
+ - Which upstream/public truth changed, if any?
11
+ - What did the public-status review and agent websearch brief surface beyond erdosproblems.com?
12
+ - Which artifact or literature bundle should the next agent read first?
13
+ - What route, evidence, and formalization notes should be promoted out of scratch space into canonical dossier files?
14
+ - Did we improve the explicit threshold side, the finite-computation side, or only our
15
+ understanding of the gap between them?
16
+ - Is any new `N0` claim actually checked line-by-line against Sawhney's note, or is it still
17
+ forum-level heuristic discussion?
18
+ - What exactly does the current public Lean development certify, and what does it still leave
19
+ open?
@@ -0,0 +1,44 @@
1
+ # Evidence
2
+
3
+ - This dossier was seeded for Erdos Problem #848 from a pull bundle.
4
+ - Imported record included: yes
5
+ - Site snapshot included: yes
6
+ - Public status review included: yes
7
+ - Repo status at seed time: active
8
+ - Harness depth at seed time: dossier
9
+ - Imported status: `decidable`
10
+ - Imported formalization state: `yes`
11
+
12
+ Current public evidence captured locally:
13
+ - The live site snapshot from 2026-04-05 states that the problem is resolved up to a finite
14
+ check.
15
+ - The site records van Doorn's density upper bound and Weisenberg's slight refinement as
16
+ context for why the extremal density is constrained near `1/25`.
17
+ - The site reports that Sawhney solved the problem for all sufficiently large `N`, with a
18
+ stability statement forcing near-extremal sets into the `7 mod 25` or `18 mod 25`
19
+ classes.
20
+ - The public search review surfaced a current Lean formalization thread and a suggested
21
+ arXiv reference for the sufficiently-large-`N` result.
22
+ - Sawhney's public four-page note proves the existence of an `N0`, but does not give an
23
+ explicit threshold in the statement of Proposition 1.1.
24
+ - The public forum discussion says that straightforward threshold extraction is currently
25
+ huge, with one GPT-assisted route reaching `exp(1958)` and later discussion treating
26
+ `exp(1420)` as a plausible intermediate bound rather than a final clean resolution.
27
+ - The same thread suggests the real technical bottleneck is improving the error terms in
28
+ Lemma 2.1 and especially Lemma 2.2 enough to make the explicit threshold and the finite
29
+ range practically closable.
30
+ - The public Lean thread claims a formalization of the sufficiently-large-`N` theorem and
31
+ mentions finite verification for `N = 50` and `N = 100`, but not a full finite closure.
32
+
33
+ Claim-safe local posture:
34
+ - Exact: the public status is `decidable`, not `open` and not fully `solved`.
35
+ - Exact: a formalized statement is publicly claimed by the imported atlas.
36
+ - Exact: the remaining public gap is not a new asymptotic theorem, but the bridge from
37
+ existential `N0` to an explicit or fully checked all-`N` statement.
38
+ - Heuristic: the lowest-friction route from here is to work both sides of the bridge:
39
+ sharpen the explicit threshold while separately understanding how far direct finite
40
+ verification can reasonably go.
41
+
42
+ Next maintainer step:
43
+ - keep the dossier centered on the finite-check gap rather than re-opening the asymptotic
44
+ theorem lane.
@@ -0,0 +1,16 @@
1
+ # Formalization
2
+
3
+ - Local status: statement-formalized
4
+ - Imported formalized state: yes
5
+ - Imported formalized last update: 2026-02-01
6
+ - Public formalization chatter now includes a Lean development for the sufficiently-large-`N`
7
+ theorem discussed on the public problem thread.
8
+ - Public forum claims indicate that the Lean work covers `∃ N0, ∀ N ≥ N0, Problem848Statement N`
9
+ and includes some sample finite checks (`N = 50`, `N = 100`), but not yet a publicly
10
+ stated full finite closure.
11
+
12
+ Local formalization target:
13
+ - keep the statement and the finite-check remainder cleanly separated
14
+ - identify exactly which part of Sawhney's result is already formalized
15
+ - decide whether this repo should mirror a public formal artifact, link it, or rebuild a
16
+ cleaner local version around the finite completion lane
@@ -0,0 +1,16 @@
1
+ # Erdős Problem #848 Public Status Review
2
+
3
+ Fetched at: 2026-04-05T06:30:32.165Z
4
+ Provider: duckduckgo
5
+
6
+ Queries run:
7
+ - "Erdos Problem #848"
8
+ - erdos problem 848
9
+ - "Erdos Problem #848" erdos
10
+
11
+ Top public results:
12
+ - [Erdős Problem #848 - erdosproblems.com](https://duckduckgo.com/l/?uddg=https%3A%2F%2Fwww.erdosproblems.com%2F848&amp;rut=ab6658c984a06053ad3348d748646858fbf56e4f660020ca7ee7bfbfef6ff482)
13
+ - [erdos-banger/formal/lean/Erdos/Problem848_FINAL.lean at main - GitHub](https://duckduckgo.com/l/?uddg=https%3A%2F%2Fgithub.com%2FThe%2DObstacle%2DIs%2DThe%2DWay%2Ferdos%2Dbanger%2Fblob%2Fmain%2Fformal%2Flean%2FErdos%2FProblem848_FINAL.lean&amp;rut=6c864fa6a79183ffd94cce666451b7057530bd905d84b4213d80af6058f78dad)
14
+ - [Problem #848: Is the maximum size of a set $A\subseteq \ {1,\ldots,N ...](https://duckduckgo.com/l/?uddg=https%3A%2F%2Fwww.dumbprime.com%2Ferdos%2Fproblem%2F848%2F&amp;rut=cc6844492d2a1f0f0bc1cea1fa6dbd2c398f0734f7949a83f97a898ac20125fc)
15
+ - [List of Erdős problems](https://duckduckgo.com/l/?uddg=https%3A%2F%2Fwww.math.ucsd.edu%2F~erdosproblems%2Ferdos%2F&amp;rut=8e8ff012d3b3d9f37713038bf55c27bacfac0778281dbaa59eba31fb4ddce652)
16
+ - [Erdos Problem Atlas — Interactive Exploration of 1,184 Classical Problems](https://duckduckgo.com/l/?uddg=https%3A%2F%2Ferdosatlas.org%2F&amp;rut=9519b09e19680c6de399a4eb6980a1262a6b967ba8cca0f04fdab077275b7a8a)
@@ -0,0 +1,21 @@
1
+ # References
2
+
3
+ - Public problem page:
4
+ - <https://www.erdosproblems.com/848>
5
+ - Original source pointer recorded on the public page:
6
+ - `[Er92b, p.239]`
7
+ - Publicly linked sufficiently-large-`N` note:
8
+ - <https://www.math.columbia.edu/~msawhney/Problem_848.pdf>
9
+ - Public discussion thread with explicit-threshold and finite-check remarks:
10
+ - <https://www.erdosproblems.com/forum/thread/848>
11
+ - Publicly surfaced formalization discussion:
12
+ - <https://github.com/The-Obstacle-Is-The-Way/erdos-banger/blob/main/formal/lean/Erdos/Problem848.lean>
13
+ - Public formalization milestone thread:
14
+ - <https://github.com/The-Obstacle-Is-The-Way/erdos-banger/blob/main/formal/lean/Erdos/Problem848_FINAL.lean>
15
+ - Publicly suggested reference from the discussion thread:
16
+ - <https://arxiv.org/abs/2511.16072>
17
+ - External imported atlas data:
18
+ - <https://github.com/teorth/erdosproblems>
19
+ - `data/problems.yaml`
20
+ - Related problem:
21
+ - <https://www.erdosproblems.com/844>
@@ -0,0 +1,59 @@
1
+ # Routes
2
+
3
+ ## Status Ladder
4
+
5
+ - Open problem: no
6
+ - Active route: finite_check_gap_closure
7
+ - Route breakthrough: yes
8
+ - Problem solved: no
9
+
10
+ ## Active route
11
+
12
+ - `finite_check_gap_closure`
13
+ - Goal: convert the public sufficiently-large-`N` theorem into a complete all-`N`
14
+ resolution.
15
+ - Current support:
16
+ - the public page reports an asymptotic solution by Sawhney
17
+ - the public page describes a stability statement near density `1/25`
18
+ - a public Lean formalization thread exists, but the exact finite closure surface still
19
+ needs review
20
+
21
+ ## Subroutes
22
+
23
+ - `explicit_threshold_extraction`
24
+ - extract or improve an explicit `N0` from Sawhney's proof
25
+ - likely pressure points:
26
+ - sharpen Lemma 2.1 with better explicit squarefree-counting bounds
27
+ - sharpen Lemma 2.2, which the public thread identifies as the harder obstacle
28
+ - test whether Montgomery-Vaughan style large-sieve inputs materially beat the current
29
+ coarse error budget
30
+ - `bounded_finite_verification`
31
+ - once an explicit `N0` is available, close `N < N0` by direct computation
32
+ - public evidence suggests that naive finite verification has only reached relatively
33
+ small ranges so far
34
+ - `formalization_coverage_audit`
35
+ - determine exactly what the public Lean files certify
36
+ - separate:
37
+ - asymptotic theorem coverage
38
+ - sample finite checks
39
+ - genuine full finite closure, if any
40
+
41
+ ## Route discipline
42
+
43
+ - Do not widen `decidable` into `solved` without an explicit finite completion artifact.
44
+ - Count a route breakthrough only if we either:
45
+ - extract a fully explicit threshold that reduces the remainder to a bounded finite check, or
46
+ - finish the finite range directly.
47
+ - Treat formalization progress as support evidence unless it clearly covers the exact
48
+ remaining finite gap.
49
+
50
+ ## Immediate next move
51
+
52
+ - Read Sawhney's Proposition 1.1 and enumerate every place where `sufficiently large` enters
53
+ quantitatively.
54
+ - Record whether each such place is:
55
+ - already explicit in the note
56
+ - explicit but very weak
57
+ - still purely existential
58
+ - Only then decide whether the next serious lane is threshold extraction or direct finite
59
+ computation.
@@ -0,0 +1,28 @@
1
+ # Problem 848 Statement
2
+
3
+ Source: <https://www.erdosproblems.com/848>
4
+
5
+ Normalized focus:
6
+ - Let `A ⊆ {1, ..., N}` be such that `ab+1` is never squarefree for all `a, b in A`.
7
+ - Ask whether the largest such sets are given by the residue class `n ≡ 7 (mod 25)`.
8
+ - The public page records a stronger asymptotic statement: for sufficiently large `N`,
9
+ any near-extremal set is contained in either `{n ≡ 7 (mod 25)}` or `{n ≡ 18 (mod 25)}`.
10
+
11
+ Current public posture:
12
+ - Site status: `DECIDABLE`
13
+ - Publicly reported route breakthrough: Sawhney proved the problem for all sufficiently
14
+ large `N`.
15
+ - Remaining gap: close the finite-check range between the asymptotic theorem and a full
16
+ all-`N` resolution.
17
+ - Public theorem shape:
18
+ - there exists an integer `N0` such that for all `N >= N0`, every admissible set has size
19
+ at most `|{n in [N] : n ≡ 7 (mod 25)}|`
20
+ - equality is achieved by the `7 mod 25` class and possibly also by the `18 mod 25`
21
+ class
22
+ - Sawhney's note also proves a stability statement for near-extremal sets
23
+
24
+ Working interpretation for this repo:
25
+ - Treat `848` as a finite-check completion problem, not as a fully open asymptotic frontier.
26
+ - Keep the asymptotic theorem, the stability statement, and the unresolved finite remainder
27
+ separated in every claim.
28
+ - Use related problem `844` only as support context unless a direct reduction is written down.
@@ -0,0 +1,52 @@
1
+ problem_id: "848"
2
+ display_name: "Erdos Problem #848"
3
+ title: Squarefree ab+1 Extremal Set Problem
4
+ source:
5
+ site: erdosproblems.com
6
+ url: https://www.erdosproblems.com/848
7
+ external_id: "848"
8
+ external_source:
9
+ repo: https://github.com/teorth/erdosproblems
10
+ data_file: data/problems.yaml
11
+ number: "848"
12
+ provenance:
13
+ seeded_at: 2026-04-05T06:31:37.131Z
14
+ seeded_from:
15
+ kind: pull_bundle
16
+ imported_record_included: true
17
+ site_snapshot_included: true
18
+ public_search_review_included: true
19
+ status:
20
+ site_status: decidable
21
+ site_badge: DECIDABLE
22
+ repo_status: active
23
+ imported_status: decidable
24
+ imported_last_update: 2025-10-19
25
+ cluster: number-theory
26
+ prize:
27
+ display: no
28
+ related_problems:
29
+ - "844"
30
+ family_tags:
31
+ - squarefree
32
+ - extremal-sets
33
+ - number-theory
34
+ harness:
35
+ depth: dossier
36
+ statement:
37
+ short: Determine the largest subsets A of [N] for which ab+1 is never
38
+ squarefree, with the remaining public gap reduced to a finite check after
39
+ Sawhney's sufficiently-large-N theorem.
40
+ normalized_md_path: STATEMENT.md
41
+ references_path: REFERENCES.md
42
+ evidence_path: EVIDENCE.md
43
+ formalization_path: FORMALIZATION.md
44
+ formalization:
45
+ status: statement-formalized
46
+ imported_state: yes
47
+ imported_last_update: 2026-02-01
48
+ research_state:
49
+ open_problem: false
50
+ active_route: finite_check_gap_closure
51
+ route_breakthrough: true
52
+ problem_solved: false