erdos-problems 0.3.6 → 0.3.7

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "erdos-problems",
3
- "version": "0.3.6",
3
+ "version": "0.3.7",
4
4
  "description": "CLI atlas and workspace tools for Paul Erdos problems.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1,55 @@
1
+ # Problem 848 Anchor Minimality Ledger
2
+
3
+ This note summarizes the current search evidence for small anchor sets drawn from
4
+ the first ten `7 mod 25` elements
5
+
6
+ `7, 32, 57, 82, 107, 132, 157, 182, 207, 232`.
7
+
8
+ Machine-readable packet:
9
+ - `ANCHOR_SUBSET_SEARCH_PREFIX10_K3_K4.json`
10
+
11
+ Reproduction:
12
+
13
+ ```bash
14
+ node packs/number-theory/problems/848/compute/problem848_anchor_subset_search.mjs \
15
+ --max 10000 \
16
+ --candidate-count 10 \
17
+ --set-sizes 3,4 \
18
+ --top 15 \
19
+ --json-output packs/number-theory/problems/848/ANCHOR_SUBSET_SEARCH_PREFIX10_K3_K4.json
20
+ ```
21
+
22
+ ## Best three-anchor set found
23
+
24
+ - anchors: `{32, 82, 132}`
25
+ - failure count in `1..10000`: `41`
26
+ - first fully covered tail found by this set: `n >= 3751`
27
+
28
+ So a three-anchor statement may still exist asymptotically, but among the first
29
+ ten natural candidates it does **not** produce the small startup threshold that
30
+ the four-anchor set does.
31
+
32
+ ## Best four-anchor set found
33
+
34
+ - anchors: `{7, 32, 57, 82}`
35
+ - failure count in `1..10000`: `15`
36
+ - exact covered tail: `n >= 30`
37
+
38
+ Startup failures are exactly:
39
+
40
+ `1, 2, 3, 4, 5, 6, 9, 13, 14, 17, 21, 23, 24, 25, 29`.
41
+
42
+ Among the searched four-anchor subsets, this is the best tail start by a large
43
+ margin. The next-best four-anchor sets only start covering everything from
44
+ `n >= 70`.
45
+
46
+ ## Current read
47
+
48
+ - The set `{7, 32, 57, 82}` is not just one working example.
49
+ - In the current search window it appears genuinely special.
50
+ - That makes it a serious theorem candidate rather than an arbitrary empirical
51
+ artifact.
52
+
53
+ This is still search evidence, not a proof of minimality in the full infinite
54
+ problem. But it is strong enough to justify prioritizing the four-anchor lemma
55
+ over blind interval extension.
@@ -0,0 +1,293 @@
1
+ {
2
+ "generatedAt": "2026-04-05T11:59:54.427Z",
3
+ "method": "anchor_obstruction_scan",
4
+ "problemId": "848",
5
+ "parameters": {
6
+ "anchors": [
7
+ 7,
8
+ 32,
9
+ 57,
10
+ 82
11
+ ],
12
+ "threshold": 30,
13
+ "max": 10000
14
+ },
15
+ "summary": {
16
+ "failureCount": 0,
17
+ "tailStart": 30,
18
+ "allCoveredFromThreshold": true,
19
+ "witnessCounts": {
20
+ "7": 6187,
21
+ "32": 2941,
22
+ "57": 402,
23
+ "82": 42
24
+ }
25
+ },
26
+ "failures": [],
27
+ "residueStats": [
28
+ {
29
+ "residue": 0,
30
+ "witnessCounts": {
31
+ "7": 260,
32
+ "32": 122,
33
+ "57": 17,
34
+ "82": 0
35
+ },
36
+ "firstFailure": null,
37
+ "failureCount": 0
38
+ },
39
+ {
40
+ "residue": 1,
41
+ "witnessCounts": {
42
+ "7": 258,
43
+ "32": 122,
44
+ "57": 17,
45
+ "82": 1
46
+ },
47
+ "firstFailure": null,
48
+ "failureCount": 0
49
+ },
50
+ {
51
+ "residue": 2,
52
+ "witnessCounts": {
53
+ "7": 258,
54
+ "32": 122,
55
+ "57": 17,
56
+ "82": 1
57
+ },
58
+ "firstFailure": null,
59
+ "failureCount": 0
60
+ },
61
+ {
62
+ "residue": 3,
63
+ "witnessCounts": {
64
+ "7": 257,
65
+ "32": 122,
66
+ "57": 17,
67
+ "82": 2
68
+ },
69
+ "firstFailure": null,
70
+ "failureCount": 0
71
+ },
72
+ {
73
+ "residue": 4,
74
+ "witnessCounts": {
75
+ "7": 255,
76
+ "32": 127,
77
+ "57": 16,
78
+ "82": 0
79
+ },
80
+ "firstFailure": null,
81
+ "failureCount": 0
82
+ },
83
+ {
84
+ "residue": 5,
85
+ "witnessCounts": {
86
+ "7": 260,
87
+ "32": 118,
88
+ "57": 18,
89
+ "82": 3
90
+ },
91
+ "firstFailure": null,
92
+ "failureCount": 0
93
+ },
94
+ {
95
+ "residue": 6,
96
+ "witnessCounts": {
97
+ "7": 259,
98
+ "32": 121,
99
+ "57": 16,
100
+ "82": 3
101
+ },
102
+ "firstFailure": null,
103
+ "failureCount": 0
104
+ },
105
+ {
106
+ "residue": 8,
107
+ "witnessCounts": {
108
+ "7": 256,
109
+ "32": 125,
110
+ "57": 17,
111
+ "82": 1
112
+ },
113
+ "firstFailure": null,
114
+ "failureCount": 0
115
+ },
116
+ {
117
+ "residue": 9,
118
+ "witnessCounts": {
119
+ "7": 258,
120
+ "32": 120,
121
+ "57": 19,
122
+ "82": 2
123
+ },
124
+ "firstFailure": null,
125
+ "failureCount": 0
126
+ },
127
+ {
128
+ "residue": 10,
129
+ "witnessCounts": {
130
+ "7": 253,
131
+ "32": 123,
132
+ "57": 20,
133
+ "82": 3
134
+ },
135
+ "firstFailure": null,
136
+ "failureCount": 0
137
+ },
138
+ {
139
+ "residue": 11,
140
+ "witnessCounts": {
141
+ "7": 257,
142
+ "32": 124,
143
+ "57": 17,
144
+ "82": 1
145
+ },
146
+ "firstFailure": null,
147
+ "failureCount": 0
148
+ },
149
+ {
150
+ "residue": 12,
151
+ "witnessCounts": {
152
+ "7": 258,
153
+ "32": 123,
154
+ "57": 17,
155
+ "82": 1
156
+ },
157
+ "firstFailure": null,
158
+ "failureCount": 0
159
+ },
160
+ {
161
+ "residue": 13,
162
+ "witnessCounts": {
163
+ "7": 258,
164
+ "32": 124,
165
+ "57": 14,
166
+ "82": 3
167
+ },
168
+ "firstFailure": null,
169
+ "failureCount": 0
170
+ },
171
+ {
172
+ "residue": 14,
173
+ "witnessCounts": {
174
+ "7": 259,
175
+ "32": 121,
176
+ "57": 17,
177
+ "82": 2
178
+ },
179
+ "firstFailure": null,
180
+ "failureCount": 0
181
+ },
182
+ {
183
+ "residue": 15,
184
+ "witnessCounts": {
185
+ "7": 258,
186
+ "32": 124,
187
+ "57": 15,
188
+ "82": 2
189
+ },
190
+ "firstFailure": null,
191
+ "failureCount": 0
192
+ },
193
+ {
194
+ "residue": 16,
195
+ "witnessCounts": {
196
+ "7": 256,
197
+ "32": 124,
198
+ "57": 17,
199
+ "82": 2
200
+ },
201
+ "firstFailure": null,
202
+ "failureCount": 0
203
+ },
204
+ {
205
+ "residue": 17,
206
+ "witnessCounts": {
207
+ "7": 258,
208
+ "32": 123,
209
+ "57": 17,
210
+ "82": 1
211
+ },
212
+ "firstFailure": null,
213
+ "failureCount": 0
214
+ },
215
+ {
216
+ "residue": 18,
217
+ "witnessCounts": {
218
+ "7": 257,
219
+ "32": 122,
220
+ "57": 15,
221
+ "82": 5
222
+ },
223
+ "firstFailure": null,
224
+ "failureCount": 0
225
+ },
226
+ {
227
+ "residue": 19,
228
+ "witnessCounts": {
229
+ "7": 259,
230
+ "32": 121,
231
+ "57": 16,
232
+ "82": 3
233
+ },
234
+ "firstFailure": null,
235
+ "failureCount": 0
236
+ },
237
+ {
238
+ "residue": 20,
239
+ "witnessCounts": {
240
+ "7": 257,
241
+ "32": 125,
242
+ "57": 17,
243
+ "82": 0
244
+ },
245
+ "firstFailure": null,
246
+ "failureCount": 0
247
+ },
248
+ {
249
+ "residue": 21,
250
+ "witnessCounts": {
251
+ "7": 260,
252
+ "32": 123,
253
+ "57": 13,
254
+ "82": 3
255
+ },
256
+ "firstFailure": null,
257
+ "failureCount": 0
258
+ },
259
+ {
260
+ "residue": 22,
261
+ "witnessCounts": {
262
+ "7": 261,
263
+ "32": 119,
264
+ "57": 19,
265
+ "82": 0
266
+ },
267
+ "firstFailure": null,
268
+ "failureCount": 0
269
+ },
270
+ {
271
+ "residue": 23,
272
+ "witnessCounts": {
273
+ "7": 259,
274
+ "32": 121,
275
+ "57": 18,
276
+ "82": 1
277
+ },
278
+ "firstFailure": null,
279
+ "failureCount": 0
280
+ },
281
+ {
282
+ "residue": 24,
283
+ "witnessCounts": {
284
+ "7": 256,
285
+ "32": 125,
286
+ "57": 16,
287
+ "82": 2
288
+ },
289
+ "firstFailure": null,
290
+ "failureCount": 0
291
+ }
292
+ ]
293
+ }
@@ -0,0 +1,82 @@
1
+ # Problem 848 Anchor Obstruction Recon
2
+
3
+ This note records the first strong structural pattern extracted from the exact
4
+ bounded-verification packet through `N = 10000`.
5
+
6
+ ## Exact-data facts now frozen
7
+
8
+ - The exact verifier currently certifies `alpha(G_N) = |{n <= N : n equiv 7 mod 25}|`
9
+ for every `1 <= N <= 10000`.
10
+ - The stored witness is always the pure `7 mod 25` class.
11
+ - The maximum-clique size only increases when `N equiv 7 mod 25`.
12
+ - Equivalently, for every `N <= 10000`,
13
+
14
+ `alpha(G_N) = max(0, floor((N - 7) / 25) + 1).`
15
+
16
+ So the exact packet is already showing a breakpoint law, not just isolated
17
+ per-`N` confirmations.
18
+
19
+ ## Four-anchor obstruction pattern
20
+
21
+ Let
22
+
23
+ - `a1 = 7`
24
+ - `a2 = 32`
25
+ - `a3 = 57`
26
+ - `a4 = 82`
27
+
28
+ These are the first four members of the `7 mod 25` class.
29
+
30
+ Empirical fact from the exact scan:
31
+
32
+ - for every `30 <= n <= 10000` with `n not equiv 7 mod 25`,
33
+ - at least one of
34
+ - `7n + 1`
35
+ - `32n + 1`
36
+ - `57n + 1`
37
+ - `82n + 1`
38
+ is squarefree.
39
+
40
+ Equivalently, every outsider `n` in that range is incompatible with at least one
41
+ of the four fixed anchors `{7, 32, 57, 82}`.
42
+
43
+ The only failures to this four-anchor witness rule in `1..10000` are the tiny
44
+ startup values
45
+
46
+ `1, 2, 3, 4, 5, 6, 9, 13, 14, 17, 21, 23, 24, 25, 29`.
47
+
48
+ So from `n >= 30` onward, the obstruction appears to be governed by a fixed
49
+ finite anchor set.
50
+
51
+ ## Why this matters
52
+
53
+ This does **not** yet prove optimality of the `7 mod 25` class by itself.
54
+ An outsider being incompatible with one anchor only shows it cannot be added to
55
+ the full anchor-containing clique unchanged.
56
+
57
+ What it does suggest is a more proof-shaped route:
58
+
59
+ 1. Prove a four-anchor obstruction lemma beyond a finite startup range.
60
+ 2. Convert that obstruction into an exchange or packing inequality for cliques.
61
+ 3. Reduce the remaining work to a tiny finite stub plus a breakpoint argument.
62
+
63
+ That route is much closer to a real theorem than “just keep brute-forcing
64
+ larger `N`”.
65
+
66
+ ## Immediate research questions
67
+
68
+ - Can the four-anchor obstruction be proved for all `n >= 30`?
69
+ - Is there a smaller anchor set than `{7, 32, 57, 82}` that already works?
70
+ - Can every large clique be shown to contain enough of these anchors that
71
+ outsider substitutions cannot preserve clique size?
72
+ - Can the breakpoint law
73
+ `alpha(G_N) = alpha(G_{N-1})` for `N not equiv 7 mod 25`
74
+ be derived from the anchor obstruction plus a monotonicity argument?
75
+
76
+ ## Current best guess
77
+
78
+ The exact verifier is now best used as a structure miner:
79
+
80
+ - not mainly to chase larger raw intervals,
81
+ - but to identify the smallest anchor and breakpoint statements that would turn
82
+ the finite-check lane into a short proof plus a bounded startup table.