erdos-problems 0.3.2 → 0.3.4
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/package.json +1 -1
- package/packs/number-theory/problems/848/BOUNDED_VERIFICATION_PLAN.md +46 -0
- package/packs/number-theory/problems/848/BRANCH_COMPARISON_LEDGER.md +85 -0
- package/packs/number-theory/problems/848/CERTIFIED_NUMERICAL_LEDGER.md +88 -0
- package/packs/number-theory/problems/848/EXACT_SMALL_N_1_2000_CERTIFICATE.md +55 -0
- package/packs/number-theory/problems/848/EXACT_SMALL_N_1_2000_RESULTS.json +102531 -0
- package/packs/number-theory/problems/848/EXTERNAL_VERIFICATION_LEDGER.md +56 -0
- package/packs/number-theory/problems/848/EXTRACTION_CHECKLIST.md +31 -4
- package/packs/number-theory/problems/848/FRONTIER_NOTE.md +39 -8
- package/packs/number-theory/problems/848/INTERVAL_WORK_QUEUE.yaml +43 -0
- package/packs/number-theory/problems/848/LEMMA21_EXPLICIT_BOUND.md +200 -0
- package/packs/number-theory/problems/848/LEMMA21_TRUNCATION_SCAN.md +111 -0
- package/packs/number-theory/problems/848/LEMMA22_EXPLICIT_BOUND.md +133 -0
- package/packs/number-theory/problems/848/LEMMA22_PRIME_COUNT_BOUND.md +58 -0
- package/packs/number-theory/problems/848/OPERATIONAL_THRESHOLD_POSTURE.md +38 -0
- package/packs/number-theory/problems/848/OPS_DETAILS.yaml +140 -9
- package/packs/number-theory/problems/848/PROOF_OBLIGATIONS.md +101 -0
- package/packs/number-theory/problems/848/PROPOSITION_EXPLICIT_CANDIDATE.md +69 -0
- package/packs/number-theory/problems/848/ROUTE_HISTORY.md +19 -2
- package/packs/number-theory/problems/848/ROUTE_PACKET.yaml +7 -4
- package/packs/number-theory/problems/848/THEOREM_STYLE_EXPLICIT_NOTE.md +91 -0
- package/packs/number-theory/problems/848/VERIFICATION_CERTIFICATE_SPEC.md +60 -0
- package/packs/number-theory/problems/848/VERIFICATION_REGIMES.md +89 -0
- package/packs/number-theory/problems/848/WEAKEST_BRANCH_T250_ASSEMBLY.md +109 -0
- package/packs/number-theory/problems/848/WEAKEST_BRANCH_T250_BUDGET.md +107 -0
- package/packs/number-theory/problems/848/compute/problem848_small_n_exact_scan.mjs +170 -0
- package/packs/number-theory/problems/848/context.yaml +22 -15
- package/problems/848/CHECKPOINT_NOTES.md +4 -0
- package/problems/848/EVIDENCE.md +78 -4
- package/problems/848/EXPLICIT_CANDIDATE_REVIEW.md +57 -0
- package/problems/848/REFERENCES.md +4 -0
- package/problems/848/ROUTES.md +30 -8
- package/problems/848/SHARE_READY_SUMMARY.md +37 -0
- package/problems/848/STATEMENT.md +9 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Problem 848 External Verification Ledger
|
|
2
|
+
|
|
3
|
+
This ledger records public verification-style claims that matter to the bounded finite
|
|
4
|
+
verification lane.
|
|
5
|
+
|
|
6
|
+
## Imported public items
|
|
7
|
+
|
|
8
|
+
### Public thread post on 2026-03-16
|
|
9
|
+
|
|
10
|
+
Source:
|
|
11
|
+
- https://www.erdosproblems.com/forum/thread/848
|
|
12
|
+
|
|
13
|
+
Claim:
|
|
14
|
+
- a public post claimed a complete verification framework with computation through `10^7`
|
|
15
|
+
and an intended handoff to Sawhney above that
|
|
16
|
+
|
|
17
|
+
Why it matters:
|
|
18
|
+
- this is exactly the kind of bounded-verification claim the repo should eventually be able
|
|
19
|
+
to absorb, audit, or reject cleanly
|
|
20
|
+
|
|
21
|
+
Public follow-up:
|
|
22
|
+
- the same thread notes that the asymptotic handoff was overstated because Sawhney's theorem
|
|
23
|
+
does not start at `10^7`
|
|
24
|
+
- external review also raised quality and verification concerns, including that the repo was
|
|
25
|
+
difficult to verify and likely incorrect
|
|
26
|
+
|
|
27
|
+
Repo audit posture:
|
|
28
|
+
- do not treat this as a covered interval
|
|
29
|
+
- keep it as a cautionary example motivating stricter certificate requirements
|
|
30
|
+
|
|
31
|
+
### Imported explicit-threshold timeline
|
|
32
|
+
|
|
33
|
+
Source:
|
|
34
|
+
- https://www.erdosproblems.com/forum/thread/848
|
|
35
|
+
|
|
36
|
+
Imported values:
|
|
37
|
+
- `7 x 10^17` on 2026-03-21
|
|
38
|
+
- `3.3 x 10^17` on 2026-03-22
|
|
39
|
+
- `2.64 x 10^17` on 2026-03-23
|
|
40
|
+
|
|
41
|
+
Why it matters:
|
|
42
|
+
- these claims change the size of the remaining finite gap
|
|
43
|
+
- they do not by themselves verify any bounded interval below the threshold
|
|
44
|
+
|
|
45
|
+
Repo audit posture:
|
|
46
|
+
- operationally relevant
|
|
47
|
+
- not yet promoted to repo-owned theorem truth
|
|
48
|
+
|
|
49
|
+
## Current repo rule
|
|
50
|
+
|
|
51
|
+
Imported verification work is welcome, but it only counts toward canonical coverage after the
|
|
52
|
+
repo can answer:
|
|
53
|
+
- what exact interval is covered
|
|
54
|
+
- by what method class
|
|
55
|
+
- with what reproduction path
|
|
56
|
+
- and whether external criticism has been answered
|
|
@@ -39,6 +39,12 @@ Need:
|
|
|
39
39
|
Route question:
|
|
40
40
|
- can these be made comfortably smaller than the smallest slack without overcomplicating the rest of the proof?
|
|
41
41
|
|
|
42
|
+
Current repo answer:
|
|
43
|
+
- yes on explicitization
|
|
44
|
+
- no on comfort: once the bound is written out, the large-prime tail is still too expensive at
|
|
45
|
+
the public candidate thresholds unless the tail treatment or the truncation parameter improves
|
|
46
|
+
- see `LEMMA21_EXPLICIT_BOUND.md`
|
|
47
|
+
|
|
42
48
|
### B. Lemma 2.2 progression error
|
|
43
49
|
|
|
44
50
|
Need:
|
|
@@ -67,13 +73,18 @@ Current belief:
|
|
|
67
73
|
|
|
68
74
|
1. Freeze the exact or conservatively certified main-term slack for the `0.0377` branch.
|
|
69
75
|
2. Extract every hidden constant and error input from Lemma 2.1.
|
|
70
|
-
3.
|
|
71
|
-
4.
|
|
72
|
-
5.
|
|
76
|
+
3. Decide whether the resulting large-prime tail can fit inside the weakest-branch slack at any plausible threshold scale.
|
|
77
|
+
4. If not at `T = floor(sqrt(log N))`, scan larger truncation parameters before demanding a deeper new theorem.
|
|
78
|
+
5. Extract every hidden constant and error input from Lemma 2.2 using the best currently justified truncation choice.
|
|
79
|
+
6. Only then decide whether to keep pushing analytic extraction or pivot harder into bounded finite computation.
|
|
73
80
|
|
|
74
81
|
Current repo posture:
|
|
75
82
|
- Step 1 is now complete at a conservative numerical level.
|
|
76
|
-
-
|
|
83
|
+
- Step 2 is now complete at a one-sided explicit level.
|
|
84
|
+
- Step 3 is now complete: the route should enlarge `T` before asking for a deeper tail theorem.
|
|
85
|
+
- Step 5 is now complete at a witness-budget level.
|
|
86
|
+
- The next unresolved work is no longer mathematical: it is deciding how to commit and review
|
|
87
|
+
the surfaced candidate package.
|
|
77
88
|
|
|
78
89
|
## What would count as progress
|
|
79
90
|
|
|
@@ -81,6 +92,22 @@ Current repo posture:
|
|
|
81
92
|
- an exact or conservative usable-slack budget for the weakest branch
|
|
82
93
|
- an explicit declaration of which branch sets the threshold
|
|
83
94
|
- 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`
|
|
95
|
+
- a clear statement of whether the large-prime tail or the small-prime discretization is the
|
|
96
|
+
real bottleneck
|
|
97
|
+
- a clear statement of whether the proof should first change `T` or first seek a sharper tail
|
|
98
|
+
theorem
|
|
99
|
+
- a line-by-line weakest-branch assembly for at least one concrete witness value of `T`
|
|
100
|
+
- a line-by-line ledger for the surviving `eta` room after all lemma-level costs
|
|
101
|
+
- a branch comparison ledger showing whether the weakest-branch witness already dominates the
|
|
102
|
+
rest of the proof
|
|
103
|
+
- a proposition-level explicit witness note saying exactly what the repo now claims and what it
|
|
104
|
+
still does not claim
|
|
105
|
+
- a proof-obligation ledger saying what still has to be frozen before a public-truth update
|
|
106
|
+
- a certified numerical ledger for every decimal input used in the current witness
|
|
107
|
+
- a theorem-style note that assembles the current witness in one proof-shaped artifact
|
|
108
|
+
- a publication handoff decision for whether that theorem-style note belongs in the paper
|
|
109
|
+
bundle, a public review artifact, or both
|
|
110
|
+
- a short share-ready summary for maintainers or public-facing notes
|
|
84
111
|
- a justified statement like:
|
|
85
112
|
- “the current proof architecture plausibly yields an explicit threshold”
|
|
86
113
|
- or
|
|
@@ -1,19 +1,50 @@
|
|
|
1
1
|
# Problem 848 Frontier Note
|
|
2
2
|
|
|
3
3
|
Problem 848 is a decidable finite-check problem, not a fresh asymptotic frontier.
|
|
4
|
+
The optimization target is full finite-gap closure, not "smallest `N0`" in isolation.
|
|
4
5
|
|
|
5
6
|
The live route is `finite_check_gap_closure`:
|
|
6
7
|
- keep Sawhney's sufficiently-large-`N` theorem exact
|
|
7
8
|
- do not widen `decidable` into `solved`
|
|
8
9
|
- treat explicit-threshold extraction and finite verification as separate but coupled lanes
|
|
9
10
|
|
|
11
|
+
Imported public threshold timeline:
|
|
12
|
+
- `N0 = 7 x 10^17` on 2026-03-21
|
|
13
|
+
- `N0 = 3.3 x 10^17` on 2026-03-22
|
|
14
|
+
- `N0 = 2.64 x 10^17` on 2026-03-23
|
|
15
|
+
|
|
16
|
+
So the repo's current `exp(1420)` candidate should be read as an audited workspace artifact,
|
|
17
|
+
not as the best public threshold.
|
|
18
|
+
|
|
10
19
|
The smallest honest next move is not “solve 848”.
|
|
11
20
|
It is:
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
- keep the current repo candidate claim-safe while turning it into a review unit
|
|
22
|
+
- maintain the distinction between:
|
|
23
|
+
- theorem-style repo candidate
|
|
24
|
+
- public review artifact
|
|
25
|
+
- finished publication proof
|
|
26
|
+
- use the current explicit witness package as the handoff surface, not as a reason to
|
|
27
|
+
silently upgrade the problem to `solved`
|
|
28
|
+
|
|
29
|
+
The current package is already internally reviewed enough for handoff:
|
|
30
|
+
- the paper bundle now has drafted introduction, preliminaries, and related-work sections
|
|
31
|
+
- the surfaced candidate package has no remaining placeholder text
|
|
32
|
+
- tests and publish-surface checks are green
|
|
33
|
+
|
|
34
|
+
Chosen next lane:
|
|
35
|
+
- bounded finite verification under the best imported threshold currently tracked
|
|
36
|
+
|
|
37
|
+
Why this lane wins the next cycle:
|
|
38
|
+
- the real objective is to close the finite remainder, not just publish a smaller `N0`
|
|
39
|
+
- imported threshold progress already exists, so the repo needs an interval-certification
|
|
40
|
+
surface to make use of it
|
|
41
|
+
- the public thread already contains one verification attempt that was later corrected and
|
|
42
|
+
criticized as difficult to verify, so trust and reproducibility have to be first-class
|
|
43
|
+
|
|
44
|
+
Read next:
|
|
45
|
+
- `BOUNDED_VERIFICATION_PLAN.md`
|
|
46
|
+
- `VERIFICATION_REGIMES.md`
|
|
47
|
+
- `VERIFICATION_CERTIFICATE_SPEC.md`
|
|
48
|
+
- `EXTERNAL_VERIFICATION_LEDGER.md`
|
|
49
|
+
- `INTERVAL_WORK_QUEUE.yaml`
|
|
50
|
+
- `EXACT_SMALL_N_1_2000_CERTIFICATE.md`
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
packet_id: nt848_interval_work_queue_v1
|
|
2
|
+
operational_threshold:
|
|
3
|
+
value: "2.64 x 10^17"
|
|
4
|
+
source: forum_thread_2026_03_23
|
|
5
|
+
trust_status: external_public_claim
|
|
6
|
+
usage: sizing_only
|
|
7
|
+
intervals:
|
|
8
|
+
- interval_id: N848.V1
|
|
9
|
+
label: exact_small_n_base_interval
|
|
10
|
+
range: "1..2000"
|
|
11
|
+
status: done
|
|
12
|
+
method_class: exact_small_n
|
|
13
|
+
claim_level: verified
|
|
14
|
+
certificate: EXACT_SMALL_N_1_2000_CERTIFICATE.md
|
|
15
|
+
data_packet: EXACT_SMALL_N_1_2000_RESULTS.json
|
|
16
|
+
next_move: Use this as the first trusted base interval and decide whether the next extension is another exact interval or an imported-computation audit.
|
|
17
|
+
- interval_id: N848.V2
|
|
18
|
+
label: exact_small_n_extension
|
|
19
|
+
range: "2001..?"
|
|
20
|
+
status: ready
|
|
21
|
+
method_class: exact_small_n
|
|
22
|
+
claim_level: target
|
|
23
|
+
certificate: ""
|
|
24
|
+
data_packet: ""
|
|
25
|
+
next_move: Decide how far the exact clique scan can be pushed before a different method class is needed.
|
|
26
|
+
- interval_id: N848.V3
|
|
27
|
+
label: imported_computation_audit
|
|
28
|
+
range: "public_claimed_interval"
|
|
29
|
+
status: support
|
|
30
|
+
method_class: imported_external_computation
|
|
31
|
+
claim_level: external_only
|
|
32
|
+
certificate: EXTERNAL_VERIFICATION_LEDGER.md
|
|
33
|
+
data_packet: ""
|
|
34
|
+
next_move: Audit public computational claims without silently promoting them to canonical coverage.
|
|
35
|
+
- interval_id: N848.VA
|
|
36
|
+
label: asymptotic_handoff
|
|
37
|
+
range: "[2.64 x 10^17, inf)"
|
|
38
|
+
status: support
|
|
39
|
+
method_class: asymptotic_handoff
|
|
40
|
+
claim_level: external_only
|
|
41
|
+
certificate: OPERATIONAL_THRESHOLD_POSTURE.md
|
|
42
|
+
data_packet: ""
|
|
43
|
+
next_move: Keep the imported handoff threshold visible and separate from repo-audited theorem language.
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# Problem 848 Lemma 2.1 Explicit Bound
|
|
2
|
+
|
|
3
|
+
This note closes the current `N848.G1.A4` task:
|
|
4
|
+
- replace the hidden `<<` and `N^(o(1))` steps in Lemma 2.1 with an explicit one-sided bound
|
|
5
|
+
- identify which remainder term is actually binding for the `0.0377` branch
|
|
6
|
+
|
|
7
|
+
Scope:
|
|
8
|
+
- this is still not a full explicit threshold proof
|
|
9
|
+
- this note only packages the first explicit Lemma 2.1 remainder bound
|
|
10
|
+
- the goal is to decide what the next honest analytic move must be
|
|
11
|
+
|
|
12
|
+
## Source surface
|
|
13
|
+
|
|
14
|
+
Primary source:
|
|
15
|
+
- Sawhney, `Problem_848.pdf`, Lemma 2.1, pages 1-2
|
|
16
|
+
|
|
17
|
+
Support source:
|
|
18
|
+
- `erdosproblems.com/forum/thread/848`
|
|
19
|
+
|
|
20
|
+
## Setup
|
|
21
|
+
|
|
22
|
+
Let
|
|
23
|
+
- `U(P; N, q, t)` denote the set of `n in [N]` such that `n ≡ t mod q` and
|
|
24
|
+
`n mod p^2 in R_p` for at least one `p in P`
|
|
25
|
+
- `|R_p| <= 2`
|
|
26
|
+
- `R_p = empty` whenever `(p, q) != 1`
|
|
27
|
+
- `T = floor(sqrt(log N))`
|
|
28
|
+
|
|
29
|
+
Write:
|
|
30
|
+
- `P_<= = {p in P : p <= T}`
|
|
31
|
+
- `P_> = {p in P : T < p <= N^(1/2)}`
|
|
32
|
+
- `x_p = |R_p| / p^2`
|
|
33
|
+
- `m = |P_<=|`
|
|
34
|
+
|
|
35
|
+
The lemma in the note states
|
|
36
|
+
- `|U(P; N, q, t) - (N/q) * (1 - prod_{p in P} (1 - x_p))| << N / sqrt(log N)`
|
|
37
|
+
|
|
38
|
+
For the route, the important question is not the asymptotic statement itself. It is:
|
|
39
|
+
- what explicit upper bound can replace the hidden remainder when we only need a one-sided
|
|
40
|
+
inequality for the density casework?
|
|
41
|
+
|
|
42
|
+
## Explicit large-prime tail
|
|
43
|
+
|
|
44
|
+
For each `p in P_>` and each `r in R_p`, the congruence conditions
|
|
45
|
+
- `n ≡ t mod q`
|
|
46
|
+
- `n ≡ r mod p^2`
|
|
47
|
+
|
|
48
|
+
define at most one residue class modulo `q p^2`, because `(p, q) = 1` whenever `R_p` is
|
|
49
|
+
nonempty. Therefore
|
|
50
|
+
|
|
51
|
+
`|{n in [N] : n ≡ t mod q and n ≡ r mod p^2}| <= N / (q p^2) + 1`.
|
|
52
|
+
|
|
53
|
+
Summing over the at most two allowed residues gives
|
|
54
|
+
|
|
55
|
+
`|{n in [N] : n ≡ t mod q and n mod p^2 in R_p}| <= 2N / (q p^2) + 2`.
|
|
56
|
+
|
|
57
|
+
By a union bound over `p in P_>`,
|
|
58
|
+
|
|
59
|
+
`|U(P_>; N, q, t)| <= (2N/q) * sum_{p in P_>} 1/p^2 + 2|P_>|`.
|
|
60
|
+
|
|
61
|
+
So the proof's hidden large-prime tail is explicitly bounded by
|
|
62
|
+
|
|
63
|
+
`(2N/q) * sum_{p in P, p > T} 1/p^2 + 2 pi(N^(1/2))`.
|
|
64
|
+
|
|
65
|
+
This is the first source-backed place where the route can choose between:
|
|
66
|
+
- the original crude integer tail `sum_{n > T} 1/n^2 < 1/(T - 1)`
|
|
67
|
+
- a sharper prime-only tail, which the public forum discussion identifies as the more
|
|
68
|
+
realistic path
|
|
69
|
+
|
|
70
|
+
## Explicit small-prime inclusion-exclusion remainder
|
|
71
|
+
|
|
72
|
+
Consider the truncated union over `P_<=`.
|
|
73
|
+
|
|
74
|
+
For each nonempty subset `S subseteq P_<=`, inclusion-exclusion introduces the intersection
|
|
75
|
+
|
|
76
|
+
`I_S = | intersection_{p in S} {n in [N] : n mod p^2 in R_p} intersection {n in [N] : n ≡ t mod q} |`.
|
|
77
|
+
|
|
78
|
+
For a fixed choice of one residue from each `R_p`, the congruence system determines exactly
|
|
79
|
+
one residue class modulo `q * prod_{p in S} p^2`. Hence
|
|
80
|
+
|
|
81
|
+
`I_S = (N/q) * prod_{p in S} x_p + E_S`
|
|
82
|
+
|
|
83
|
+
with
|
|
84
|
+
|
|
85
|
+
`|E_S| <= prod_{p in S} |R_p| <= 2^{|S|}`.
|
|
86
|
+
|
|
87
|
+
Summing these errors through inclusion-exclusion gives
|
|
88
|
+
|
|
89
|
+
`|U(P_<=; N, q, t) - (N/q) * (1 - prod_{p in P_<=} (1 - x_p))| <= sum_{empty != S subseteq P_<=} 2^{|S|}`
|
|
90
|
+
|
|
91
|
+
and therefore
|
|
92
|
+
|
|
93
|
+
`|U(P_<=; N, q, t) - (N/q) * (1 - prod_{p in P_<=} (1 - x_p))| <= 3^m - 1`.
|
|
94
|
+
|
|
95
|
+
This is the explicit replacement for the note's `N^(o(1))` step.
|
|
96
|
+
|
|
97
|
+
## One-sided explicit Lemma 2.1 bound
|
|
98
|
+
|
|
99
|
+
Combining the truncated inclusion-exclusion bound with the large-prime union bound yields
|
|
100
|
+
|
|
101
|
+
`|U(P; N, q, t)| <= (N/q) * (1 - prod_{p in P} (1 - x_p)) + (3^m - 1) + (2N/q) * sum_{p in P, p > T} 1/p^2 + 2 pi(N^(1/2))`.
|
|
102
|
+
|
|
103
|
+
This is weaker than the asymptotic note in two ways:
|
|
104
|
+
- it is only one-sided
|
|
105
|
+
- it keeps discrete counting terms instead of burying them in `o(1)`
|
|
106
|
+
|
|
107
|
+
But for the route, it is enough:
|
|
108
|
+
- the casework only needs an upper bound
|
|
109
|
+
- the new expression cleanly separates the tail term from the small-prime discretization
|
|
110
|
+
|
|
111
|
+
## Specialization to the `A*` branch
|
|
112
|
+
|
|
113
|
+
In the weakest `0.0377` branch of the proof:
|
|
114
|
+
- `q = 25`
|
|
115
|
+
- there are `23` residue classes modulo `25` contributing to `A*`
|
|
116
|
+
- `P = {p prime : p ≡ 1 mod 4 and p >= 13}`
|
|
117
|
+
- each active prime contributes exactly `|R_p| = 2`
|
|
118
|
+
|
|
119
|
+
So the explicit density bound becomes
|
|
120
|
+
|
|
121
|
+
`|A*| / N <= (23/25) * (1 - prod_{p ≡ 1 mod 4, p >= 13} (1 - 2/p^2))`
|
|
122
|
+
|
|
123
|
+
plus the explicit remainder
|
|
124
|
+
|
|
125
|
+
`(23/N) * (3^m - 1) + (46/25) * sum_{p > T, p ≡ 1 mod 4} 1/p^2 + 46 * pi_{1 mod 4}(N^(1/2)) / N`
|
|
126
|
+
|
|
127
|
+
where
|
|
128
|
+
- `m = |{p <= T : p ≡ 1 mod 4 and p >= 13}|`
|
|
129
|
+
|
|
130
|
+
## What the explicit bound says at public threshold candidates
|
|
131
|
+
|
|
132
|
+
The small-prime remainder is not the live problem.
|
|
133
|
+
|
|
134
|
+
For the public candidate scales mentioned on the forum:
|
|
135
|
+
|
|
136
|
+
### 1. `N = exp(1420)` so `T = floor(sqrt(log N)) = 37`
|
|
137
|
+
|
|
138
|
+
Numerical support:
|
|
139
|
+
- `m = 4`, so the discrete inclusion-exclusion term is exactly `23 * (3^4 - 1) / N = 1840 / N`
|
|
140
|
+
- summing `1/p^2` over primes `p ≡ 1 mod 4`, `p > 37`, up to `5,000,000`, then adding the
|
|
141
|
+
crude tail envelope `1 / 5,000,000`, gives about `0.00251707`
|
|
142
|
+
- multiplying by the branch coefficient `46/25` gives a tail-density penalty about
|
|
143
|
+
`0.00463141`
|
|
144
|
+
|
|
145
|
+
### 2. `N = exp(1958)` so `T = floor(sqrt(log N)) = 44`
|
|
146
|
+
|
|
147
|
+
Numerical support:
|
|
148
|
+
- `m = 5`, so the discrete inclusion-exclusion term is exactly `23 * (3^5 - 1) / N = 5566 / N`
|
|
149
|
+
- the same prime-tail computation gives about `0.00192219`
|
|
150
|
+
- multiplying by `46/25` gives a tail-density penalty about `0.00353682`
|
|
151
|
+
|
|
152
|
+
### 3. Comparison with the frozen weakest-branch slack
|
|
153
|
+
|
|
154
|
+
From `WEAKEST_CASE_BUDGET.md`, the current branch-level slack before analytic error
|
|
155
|
+
absorption is about `0.00238869`.
|
|
156
|
+
|
|
157
|
+
Therefore:
|
|
158
|
+
- the small-prime discretization term is negligible at these scales
|
|
159
|
+
- the large-prime tail already exceeds the full branch slack at both `exp(1420)` and
|
|
160
|
+
`exp(1958)`
|
|
161
|
+
- this happens before paying for Lemma 2.2 or for the final `eta` absorption
|
|
162
|
+
|
|
163
|
+
If one keeps the proof's even cruder integer-tail estimate
|
|
164
|
+
- `sum_{n > T} 1/n^2 < 1/(T - 1)`
|
|
165
|
+
|
|
166
|
+
then the `A*` density penalty alone is
|
|
167
|
+
- about `0.05111` at `T = 37`
|
|
168
|
+
- about `0.04279` at `T = 44`
|
|
169
|
+
|
|
170
|
+
which is completely incompatible with the frozen branch slack.
|
|
171
|
+
|
|
172
|
+
## Honest route consequence
|
|
173
|
+
|
|
174
|
+
This closes the current question behind `N848.G1.A4`.
|
|
175
|
+
|
|
176
|
+
The new exact route reading is:
|
|
177
|
+
- Lemma 2.1 is now explicit enough to see the structure of the loss
|
|
178
|
+
- the `N^(o(1))` / inclusion-exclusion discretization is not the real blocker
|
|
179
|
+
- the large-prime tail is the live analytic bottleneck
|
|
180
|
+
- keeping `T = floor(sqrt(log N))` and the crude tail treatment is too lossy for the
|
|
181
|
+
public threshold candidates discussed so far
|
|
182
|
+
|
|
183
|
+
So the next honest move is no longer
|
|
184
|
+
- “make Lemma 2.1 explicit”
|
|
185
|
+
|
|
186
|
+
It is:
|
|
187
|
+
- improve the large-prime tail or the truncation parameter before spending time on more
|
|
188
|
+
bookkeeping
|
|
189
|
+
|
|
190
|
+
## Numerical method note
|
|
191
|
+
|
|
192
|
+
The prime-tail support numbers above are not yet formal proof artifacts.
|
|
193
|
+
|
|
194
|
+
They were obtained by:
|
|
195
|
+
- summing over all primes up to `5,000,000`
|
|
196
|
+
- restricting to the `1 mod 4` primes for the `A*` branch
|
|
197
|
+
- adding the crude tail envelope `sum_{n > 5,000,000} 1/n^2 < 1 / 5,000,000`
|
|
198
|
+
|
|
199
|
+
This is conservative enough for route guidance, but not yet the final explicit-threshold
|
|
200
|
+
certificate.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Problem 848 Lemma 2.1 Truncation Scan
|
|
2
|
+
|
|
3
|
+
This note closes `N848.G1.A5`.
|
|
4
|
+
|
|
5
|
+
Question:
|
|
6
|
+
- after making Lemma 2.1 explicit, should the next move be a sharper prime-tail bound or a
|
|
7
|
+
different truncation parameter `T`?
|
|
8
|
+
|
|
9
|
+
Answer:
|
|
10
|
+
- the next move should first be a different `T`
|
|
11
|
+
|
|
12
|
+
## Why the old `T = floor(sqrt(log N))` restriction disappears
|
|
13
|
+
|
|
14
|
+
In Sawhney's note, `T = floor(sqrt(log N))` is used so that
|
|
15
|
+
- `prod_{p <= T} p^2 <= N^(o(1))`
|
|
16
|
+
|
|
17
|
+
and the small-prime inclusion-exclusion remainder can be hidden inside `N^(o(1))`.
|
|
18
|
+
|
|
19
|
+
But the explicit one-sided bound in `LEMMA21_EXPLICIT_BOUND.md` does **not** use that
|
|
20
|
+
compression. It keeps the discrete remainder as
|
|
21
|
+
|
|
22
|
+
- `3^m - 1`
|
|
23
|
+
|
|
24
|
+
with `m = |P_<=|`.
|
|
25
|
+
|
|
26
|
+
So for the one-sided route, there is no longer a structural need to tie `T` to
|
|
27
|
+
`sqrt(log N)`. The argument remains valid for any
|
|
28
|
+
|
|
29
|
+
- `2 <= T <= N^(1/2)`.
|
|
30
|
+
|
|
31
|
+
The real question becomes:
|
|
32
|
+
- how large can `T` be before the discrete term stops being negligible compared with `N`?
|
|
33
|
+
|
|
34
|
+
## Scan for the weakest `A*` branch
|
|
35
|
+
|
|
36
|
+
For the `A*` branch:
|
|
37
|
+
- `q = 25`
|
|
38
|
+
- `P = {p prime : p ≡ 1 mod 4 and p >= 13}`
|
|
39
|
+
- tail-density coefficient: `46/25`
|
|
40
|
+
- discrete density: `(23/N) * (3^m - 1)`
|
|
41
|
+
|
|
42
|
+
The table below compares several truncation choices using the same conservative prime-tail
|
|
43
|
+
numerics as `LEMMA21_EXPLICIT_BOUND.md`.
|
|
44
|
+
|
|
45
|
+
### Candidate thresholds from the public discussion
|
|
46
|
+
|
|
47
|
+
- `N = exp(1420)`
|
|
48
|
+
- `N = exp(1958)`
|
|
49
|
+
|
|
50
|
+
### Truncation scan
|
|
51
|
+
|
|
52
|
+
| `T` | `m = #{p <= T : p ≡ 1 mod 4, p >= 13}` | `23 * (3^m - 1)` | `A*` tail density |
|
|
53
|
+
| --- | ---: | ---: | ---: |
|
|
54
|
+
| `44` | `5` | `5566` | `0.00353682` |
|
|
55
|
+
| `100` | `10` | `1,358,104` | `0.00161416` |
|
|
56
|
+
| `250` | `23` | `2,165,293,112,998` | `0.00056415` |
|
|
57
|
+
| `500` | `43` | `7.55e21` | `0.00025269` |
|
|
58
|
+
| `1000` | `79` | `1.13e39` | `0.00011781` |
|
|
59
|
+
|
|
60
|
+
## What the scan means
|
|
61
|
+
|
|
62
|
+
### 1. The discrete term stays tiny far beyond `sqrt(log N)`
|
|
63
|
+
|
|
64
|
+
At the candidate threshold `N = exp(1420)`:
|
|
65
|
+
- even `T = 1000` gives discrete density below about `exp(-1330)`
|
|
66
|
+
|
|
67
|
+
At `N = exp(1958)`:
|
|
68
|
+
- the same term is even smaller, below about `exp(-1868)`
|
|
69
|
+
|
|
70
|
+
So the discrete inclusion-exclusion remainder is not what forces `T = floor(sqrt(log N))`.
|
|
71
|
+
|
|
72
|
+
### 2. Raising `T` immediately improves the actual live bottleneck
|
|
73
|
+
|
|
74
|
+
The large-prime tail is the live bottleneck from `LEMMA21_EXPLICIT_BOUND.md`.
|
|
75
|
+
|
|
76
|
+
But once `T` is allowed to move:
|
|
77
|
+
- `T = 100` already pushes the `A*` tail below the full weakest-branch slack
|
|
78
|
+
`0.00238869`
|
|
79
|
+
- `T = 250` brings the `A*` tail down to about `0.00056415`
|
|
80
|
+
- `T = 500` brings it down further to about `0.00025269`
|
|
81
|
+
|
|
82
|
+
So the route does not first need a deep new prime-tail theorem just to escape the old
|
|
83
|
+
`sqrt(log N)` cage. Re-optimizing `T` already changes the picture materially.
|
|
84
|
+
|
|
85
|
+
### 3. Prime-tail sharpening is still valuable, but it is now a second-order improvement
|
|
86
|
+
|
|
87
|
+
Sharper prime-tail estimates would still help:
|
|
88
|
+
- they reduce the tail further
|
|
89
|
+
- they lower any eventual explicit threshold
|
|
90
|
+
|
|
91
|
+
But the first decisive move is simpler:
|
|
92
|
+
- stop fixing `T = floor(sqrt(log N))`
|
|
93
|
+
- choose a larger truncation parameter that keeps the discrete term negligible while
|
|
94
|
+
shrinking the tail
|
|
95
|
+
|
|
96
|
+
## Honest route consequence
|
|
97
|
+
|
|
98
|
+
This resolves the question behind `N848.G1.A5`.
|
|
99
|
+
|
|
100
|
+
The next honest move is:
|
|
101
|
+
- keep the explicit one-sided Lemma 2.1 framework
|
|
102
|
+
- choose a larger `T`
|
|
103
|
+
- carry that choice through Lemma 2.2 and the full weakest-branch budget
|
|
104
|
+
|
|
105
|
+
The live unresolved question is no longer
|
|
106
|
+
- “can Lemma 2.1 be made explicit?”
|
|
107
|
+
- or
|
|
108
|
+
- “is `sqrt(log N)` the only viable truncation?”
|
|
109
|
+
|
|
110
|
+
It is:
|
|
111
|
+
- “how far does the full `0.0377` branch close once both lemmas use a larger `T`?”
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Problem 848 Lemma 2.2 Explicit Bound
|
|
2
|
+
|
|
3
|
+
This note is the first half of `N848.G1.A6`.
|
|
4
|
+
|
|
5
|
+
Goal:
|
|
6
|
+
- carry the larger-truncation Lemma 2.1 route into Lemma 2.2 without retreating to
|
|
7
|
+
`T = floor(sqrt(log N))`
|
|
8
|
+
|
|
9
|
+
## Source surface
|
|
10
|
+
|
|
11
|
+
Primary source:
|
|
12
|
+
- Sawhney, `Problem_848.pdf`, Lemma 2.2, page 2
|
|
13
|
+
|
|
14
|
+
Support source:
|
|
15
|
+
- `LEMMA21_EXPLICIT_BOUND.md`
|
|
16
|
+
- `LEMMA21_TRUNCATION_SCAN.md`
|
|
17
|
+
|
|
18
|
+
## Setup
|
|
19
|
+
|
|
20
|
+
Fix:
|
|
21
|
+
- `q` a perfect square
|
|
22
|
+
- `t mod q`
|
|
23
|
+
- `1 <= b <= N`
|
|
24
|
+
|
|
25
|
+
Assume the Lemma 2.2 non-degeneracy condition from the note:
|
|
26
|
+
- there is no prime `p` such that `p^2 | q` and `p^2 | (bt + 1)`
|
|
27
|
+
|
|
28
|
+
Define
|
|
29
|
+
|
|
30
|
+
`V(N, q, t, b) = {a in [N] : a ≡ t mod q and mu(ab + 1) = 0}`.
|
|
31
|
+
|
|
32
|
+
Choose any truncation parameter
|
|
33
|
+
- `2 <= T <= N^(1/2)`.
|
|
34
|
+
|
|
35
|
+
## Large-prime tail
|
|
36
|
+
|
|
37
|
+
If `a in V(N, q, t, b)`, then there exists a prime `p` with
|
|
38
|
+
- `p^2 | (ab + 1)`
|
|
39
|
+
- `(p, qb) = 1`
|
|
40
|
+
|
|
41
|
+
For a fixed prime `p` with `(p, qb) = 1`, the condition `p^2 | (ab + 1)` determines exactly
|
|
42
|
+
one residue class modulo `p^2` for `a`, because `b` is invertible modulo `p^2`.
|
|
43
|
+
|
|
44
|
+
Together with `a ≡ t mod q`, this gives at most one residue class modulo `q p^2`, hence
|
|
45
|
+
|
|
46
|
+
`|{a in [N] : a ≡ t mod q and p^2 | (ab + 1)}| <= N / (q p^2) + 1`.
|
|
47
|
+
|
|
48
|
+
Summing over primes `p > T` gives the explicit large-prime tail
|
|
49
|
+
|
|
50
|
+
`sum_{p > T, (p, qb) = 1} (N / (q p^2) + 1)`
|
|
51
|
+
|
|
52
|
+
and therefore
|
|
53
|
+
|
|
54
|
+
`<= (N/q) * sum_{p > T, (p, qb) = 1} 1/p^2 + pi(N)`.
|
|
55
|
+
|
|
56
|
+
## Small-prime reduction to Lemma 2.1
|
|
57
|
+
|
|
58
|
+
For primes `p <= T` with `(p, qb) = 1`, the condition `p^2 | (ab + 1)` gives exactly one
|
|
59
|
+
residue class modulo `p^2`.
|
|
60
|
+
|
|
61
|
+
So on the truncated range `p <= T`, Lemma 2.2 reduces to Lemma 2.1 with
|
|
62
|
+
- `|R_p| = 1`
|
|
63
|
+
|
|
64
|
+
instead of `|R_p| <= 2`.
|
|
65
|
+
|
|
66
|
+
Applying the one-sided explicit Lemma 2.1 bound to the small-prime part gives
|
|
67
|
+
|
|
68
|
+
`|V_small| <= (N/q) * (1 - prod_{p <= T, (p, qb) = 1} (1 - 1/p^2)) + (2^m - 1)`
|
|
69
|
+
|
|
70
|
+
where
|
|
71
|
+
- `m = #{p <= T : (p, qb) = 1}`.
|
|
72
|
+
|
|
73
|
+
This is sharper than the `A*` branch:
|
|
74
|
+
- the discrete remainder is `2^m - 1`, not `3^m - 1`
|
|
75
|
+
|
|
76
|
+
## One-sided explicit Lemma 2.2 bound
|
|
77
|
+
|
|
78
|
+
Combining the small-prime reduction with the large-prime tail gives
|
|
79
|
+
|
|
80
|
+
`|V(N, q, t, b)| <= (N/q) * (1 - prod_{p, (p, qb) = 1} (1 - 1/p^2)) + (2^m - 1) + (N/q) * sum_{p > T, (p, qb) = 1} 1/p^2 + pi(N)`.
|
|
81
|
+
|
|
82
|
+
This is the explicit one-sided replacement for the note's
|
|
83
|
+
- `<< N / sqrt(log N)` error term in Lemma 2.2.
|
|
84
|
+
|
|
85
|
+
## Specialization to the weakest `0.0377` branch
|
|
86
|
+
|
|
87
|
+
In the branch with an even `b in A*`, Lemma 2.2 is applied to the two residue classes
|
|
88
|
+
- `7 mod 25`
|
|
89
|
+
- `18 mod 25`
|
|
90
|
+
|
|
91
|
+
So `q = 25` and there are two classes total.
|
|
92
|
+
|
|
93
|
+
In the worst case, `b` excludes no additional primes beyond `2` and `5`, so
|
|
94
|
+
|
|
95
|
+
- `m <= pi(T) - 2`
|
|
96
|
+
- `sum_{p > T, (p, qb) = 1} 1/p^2 <= sum_{p > T, p != 2, 5} 1/p^2`
|
|
97
|
+
|
|
98
|
+
Hence the total density remainder for `A7 union A18` is bounded by
|
|
99
|
+
|
|
100
|
+
`(2/N) * (2^m - 1) + (2/25) * sum_{p > T, p != 2, 5} 1/p^2 + 2 pi(N) / N`.
|
|
101
|
+
|
|
102
|
+
## Witness value `T = 250`
|
|
103
|
+
|
|
104
|
+
At `T = 250`:
|
|
105
|
+
- `pi(250) = 53`
|
|
106
|
+
- so the worst-case small-prime count is `m <= 51`
|
|
107
|
+
- the discrete remainder is at most `2 * (2^51 - 1) / N`
|
|
108
|
+
- the prime-tail sum over all primes `p > 250`, using the same conservative cutoff method as
|
|
109
|
+
before, is about `0.00061382`
|
|
110
|
+
- therefore the Lemma 2.2 tail density contribution is about `0.00004911`
|
|
111
|
+
|
|
112
|
+
At the public candidate threshold `N = exp(1420)`:
|
|
113
|
+
- the discrete term is below about `exp(-1384)`
|
|
114
|
+
|
|
115
|
+
But one term is still unresolved here:
|
|
116
|
+
- the additive `pi(N)` contribution coming from the `+1` part of the large-prime count
|
|
117
|
+
|
|
118
|
+
So for the branch under discussion, Lemma 2.2 no longer looks blocked by its
|
|
119
|
+
- `N / (q p^2)` tail
|
|
120
|
+
- or its small-prime inclusion-exclusion remainder
|
|
121
|
+
|
|
122
|
+
but it still needs an explicit prime-counting bound before its full density cost is frozen.
|
|
123
|
+
|
|
124
|
+
## Honest route consequence
|
|
125
|
+
|
|
126
|
+
The explicit route can now say:
|
|
127
|
+
- Lemma 2.1 is explicit
|
|
128
|
+
- Lemma 2.2 is also explicit at the same one-sided level
|
|
129
|
+
- but the Lemma 2.2 prime-count tail is not yet numerically frozen
|
|
130
|
+
|
|
131
|
+
It is:
|
|
132
|
+
- how much total slack remains after the outstanding `pi(N)` term is bounded and both lemmas
|
|
133
|
+
are assembled in the weakest branch?
|