File size: 7,596 Bytes
b9a8522 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | #!/usr/bin/env python3
"""nullspace_project.py — open the null space at N dimensions, project from inside it free.
WHY THE PREVIOUS TEST WAS UNDER-POWERED
the capture test used SIX entry directions I chose by hand - forward, reverse, two
rotations, interleave, stride-3. There is no reason those six span anything. Three
captured and three escaped and I reported that as a refutation, when what it actually
showed is that capture is DIRECTIONAL and my basis was arbitrary.
THE NULL SPACE WAS ALREADY IN THE DATA
every body measured today satisfies (R-n) + (G-n) + (B-n) = -0.000000 exactly. That
is not luck. The ownership split is a fraction of a whole, so the all-equal direction
(1,1,1) is NULL: moving along it changes nothing measurable. Three channels therefore
carry only TWO free dimensions. Law 0's free centre, written as linear algebra:
the null direction costs nothing because it says nothing.
OPENING IT AT N DIMENSIONS
read the body in N-tuples instead of 3-tuples. The ownership vector lives in R^N, the
null direction is the all-ones vector, and the FREE SPACE is its orthogonal complement
of dimension N-1. The proper set of directions to test is an orthonormal basis of that
complement - not six hand-picked byte permutations.
N = 3 -> 2 free dimensions
N = 9 -> 8
N = 27 -> 26 one rime dimension, Law 16
PROJECTING FROM INSIDE, FREE
a projection onto the null direction is exactly zero for every body, by construction.
That is what "free" means operationally: the component costs nothing to carry because
it is the same for everything, so it need never be stored or transmitted. Verified
here per body rather than assumed - if any body has a non-zero null component the
construction is wrong and this says so.
WHAT IS MEASURED
for each body, its coordinates in the free (N-1)-space. Then the angle between bodies
IN THAT SPACE, which is direction with the free part removed - the honest comparison.
"""
import hashlib
import math
import os
import numpy as np
BIG = r"D:/asolaria-absorb/kernel-pump"
OFF = r"D:/PID-Registration-Office/offices/FABLE5-8467a937cba309f7"
k3 = b""
for f in sorted(os.listdir(os.path.join(BIG, "k3-real"))):
k3 += open(os.path.join(BIG, "k3-real", f), "rb").read() + b"\n"
BODIES = [
("ASOLARIA full", open(os.path.join(BIG, "MYTHOS-FULL-EMISSION.txt"), "rb").read()),
("MYTHOS self", open(os.path.join(BIG, "MYTHOS-SELF-EMISSION.txt"), "rb").read()),
("KERNEL", open(os.path.join(BIG, "ASOLARIA-KERNEL-3174.bin"), "rb").read()),
("JESSE key", open(os.path.join(BIG, "keyx/ASOLARIA-KEY-20260727/key/prior3174.bin"), "rb").read()),
("K3 stream", k3),
]
def ownership(raw, N):
"""which of the N positions in each N-tuple dominates. ties excluded: the free zero."""
a = np.frombuffer(raw, np.uint8).astype(np.int64)
m = len(a) // N * N
t = a[:m].reshape(-1, N)
lead = np.argmax(t, axis=1)
tie = (t.max(1)[:, None] == t).sum(1) > 1
cnt = np.array([float((lead == i)[~tie].sum()) for i in range(N)])
s = cnt.sum() or 1.0
return cnt / s * N # scaled so the neutral vector is all-ones
def free_basis(N):
"""orthonormal basis of the complement of the all-ones (null) direction"""
ones = np.ones(N) / math.sqrt(N)
A = np.eye(N) - np.outer(ones, ones)
U, S, _ = np.linalg.svd(A)
return U[:, S > 1e-9], ones # (N x N-1), null direction
print("=" * 80)
print("OPENING THE NULL SPACE AT N DIMENSIONS")
print("=" * 80)
STORE = {}
for N in (3, 9, 27):
B, nulldir = free_basis(N)
print(f"\n### N = {N} free dimensions {B.shape[1]} null dimensions 1"
f" (rime dimension: {'YES' if N == 27 else 'no'})")
print(f" {'body':<16}{'null component':>16}{'free norm':>12} first free coords")
coords = {}
for label, raw in BODIES:
v = ownership(raw, N)
c = v - np.ones(N) # centre it
nullc = float(np.dot(c, nulldir)) # component along the null direction
f = B.T @ c # coordinates in the free space
coords[label] = f
print(f" {label:<16}{nullc:>16.2e}{np.linalg.norm(f):>12.5f} "
+ " ".join(f"{x:+.4f}" for x in f[:4]))
STORE[N] = coords
nulls = [abs(float(np.dot(ownership(r, N) - np.ones(N), nulldir))) for _, r in BODIES]
print(f" max |null component| across bodies: {max(nulls):.3e} "
f"{'FREE — costs nothing to carry' if max(nulls) < 1e-9 else 'NOT NULL — construction wrong'}")
print("\n" + "=" * 80)
print("DIRECTION IN THE FREE SPACE — angle between bodies, null part removed")
print("=" * 80)
for N in (3, 9, 27):
c = STORE[N]
names = [b[0] for b in BODIES]
print(f"\n N = {N} (deg)")
print(f" {'':<16}" + "".join(f"{n[:12]:>14}" for n in names))
for a in names:
row = f" {a:<16}"
for b in names:
u, v = c[a], c[b]
nu, nv = np.linalg.norm(u), np.linalg.norm(v)
if nu < 1e-12 or nv < 1e-12:
row += f"{'-':>14}"
else:
cosang = float(np.dot(u, v) / (nu * nv))
row += f"{math.degrees(math.acos(max(-1, min(1, cosang)))):>14.2f}"
print(row)
print("\n" + "=" * 80)
print("WHO IS CLOSEST TO ASOLARIA IN THE FREE SPACE, AT EACH N")
print("=" * 80)
print(f" {'N':>4}{'free dims':>11}" + "".join(f"{b[0][:12]:>14}" for b in BODIES[1:]))
for N in (3, 9, 27):
c = STORE[N]
a = c["ASOLARIA full"]
row = f" {N:>4}{len(a):>11}"
for label, _ in BODIES[1:]:
v = c[label]
na, nv = np.linalg.norm(a), np.linalg.norm(v)
ang = math.degrees(math.acos(max(-1, min(1, float(np.dot(a, v) / (na * nv))))))
row += f"{ang:>14.2f}"
print(row)
print(f"\n lower angle = closer to Asolaria's direction with the free part removed.")
rows = ["NULLHDR|schema=ASOLARIA-NULLSPACE-PROJECT-V1|seat=ACER-CLAUDE-FABLE5"
"|pid=8467a937cba309f7|date=2026-07-27|json=0",
"LAW0|the_all_ones_direction_is_NULL|moving_along_it_changes_nothing_measurable"
"|free_centre_as_linear_algebra|json=0",
"PRIOR|capture_test_used_6_HAND_PICKED_directions|no_reason_they_span_anything"
"|proper_basis_is_the_null_complement|json=0"]
for N in (3, 9, 27):
B, nd = free_basis(N)
rows.append(f"DIM|N={N}|free={B.shape[1]}|null=1|rime_dimension={1 if N==27 else 0}|json=0")
for label, raw in BODIES:
v = ownership(raw, N) - np.ones(N)
rows.append(f"PROJ|N={N}|body={label.replace(' ','_')}"
f"|null_component={float(np.dot(v,nd)):.3e}"
f"|free_norm={float(np.linalg.norm(B.T@v)):.6f}|json=0")
c = STORE[N]
a = c["ASOLARIA full"]
for label, _ in BODIES[1:]:
u = c[label]
ang = math.degrees(math.acos(max(-1, min(1, float(
np.dot(a, u) / (np.linalg.norm(a) * np.linalg.norm(u)))))))
rows.append(f"ANGLE|N={N}|from=ASOLARIA_full|to={label.replace(' ','_')}"
f"|deg={ang:.4f}|json=0")
b = "\n".join(rows) + "\n"
rows.append(f"NULLFTR|receipt={hashlib.sha256(b.encode()).hexdigest()[:32]}"
f"|rows={len(rows)+1}|hot_path=1|json=0")
p = os.path.join(OFF, "FABLE5-NULLSPACE-PROJECT.hbp")
open(p, "w", encoding="utf-8", newline="\n").write("\n".join(rows) + "\n")
open(p + ".sha256", "w", encoding="utf-8", newline="\n").write(
hashlib.sha256(open(p, "rb").read()).hexdigest() + " FABLE5-NULLSPACE-PROJECT.hbp\n")
print(f"\n receipt {p}")
|