The script src/21-gravity/validate_fold_echo.py of the validation package of the paper 21-grav, rendered with an anchor per line. ▶ run the predicates on Google Colab.
1#!/usr/bin/env python32"""O3 toy: the fold-return criterion at dev scale, exact over F_17.34Model: chain C_8 with interior block I = {0..3} (beyond the fold) and exterior5E = {4..7}. The fold converts the interior to its conjugate chart: F_I is the6exact DFT on the interior block (8|16, so the 4-point DFT lives in F_17 with7i = 4). U is the reversible chain shift. Criterion (Rem. rem:exponential):8the period-averaged exterior return through the fold,9 A = (1/T) sum_n P_E F_I U^n F_I^{-1} P_E ,10must carry no stationary exterior component above the uniform Fourier floor.11Verified exactly: A restricted to E equals the rank-one uniform-floor operator12(all matrix entries equal), i.e. the only surviving exterior return is the13featureless 1/N_I overlap -- no prompt echo structure at toy scale.14"""15p_ = 1716i4 = 4 # i in F_17 (4^2 = 16 = -1)17inv4 = pow(4, p_-2, p_) # 1/N_I for the 4-point DFT18N = 8; NI = 419def matmul(A, B):20 return [[sum(A[i][k]*B[k][j] for k in range(N)) % p_ for j in range(N)] for i in range(N)]21I8 = [[1 if i==j else 0 for j in range(N)] for i in range(N)]22# U: cyclic shift on C_823U = [[1 if j == (i-1) % N else 0 for j in range(N)] for i in range(N)]24# F_I: 4-point DFT on sites 0..3 (kernel i^{jk}), identity on 4..725F = [[0]*N for _ in range(N)]26for j in range(NI):27 for k in range(NI):28 F[j][k] = pow(i4, j*k, p_)29for j in range(NI, N):30 F[j][j] = 131# F^{-1}: kernel i^{-jk} / N_I32Fi = [[0]*N for _ in range(N)]33for j in range(NI):34 for k in range(NI):35 Fi[j][k] = pow(i4, -j*k % (p_-1), p_) * inv4 % p_36for j in range(NI, N):37 Fi[j][j] = 138assert matmul(F, Fi) == I839PE = [[1 if (i==j and i >= NI) else 0 for j in range(N)] for i in range(N)]40# period-average over the full recurrence of U (T = 8; 8 invertible mod 17)41T = N42acc = [[0]*N for _ in range(N)]43Un = I844for n in range(T):45 M = matmul(PE, matmul(F, matmul(Un, matmul(Fi, PE))))46 acc = [[(acc[i][j] + M[i][j]) % p_ for j in range(N)] for i in range(N)]47 Un = matmul(U, Un)48invT = pow(T, p_-2, p_)49A = [[acc[i][j]*invT % p_ for j in range(N)] for i in range(N)]50ext = [[A[i][j] for j in range(NI, N)] for i in range(NI, N)]51vals = {ext[i][j] for i in range(NI) for j in range(NI)}52ok = len(vals) <= 2 and all(all(v == ext[0][0] or v == 0 for v in row) for row in ext)53# rank-one uniform check: all nonzero entries equal54nonzero = {v for row in ext for v in row if v != 0}55print("exterior block of the period-averaged fold return (mod 17):")56for row in ext: print(" ", row)57uniform = len(nonzero) <= 158print(("PASS " if uniform else "FAIL ") + "period-averaged exterior return is the uniform floor operator (no stationary structure above 1/N_I)")59raise SystemExit(0 if uniform else 1)60