Research source · python
verify_transport_spectrum.py
site/public/research-artifacts/stationary-transport-spectrum/verify_transport_spectrum.py
208 lines. Source is displayed for inspection; it is not executed by this page.
File fingerprint
SHA-256: 10748a144710c8ac83112f4347291d46dfe8cecf43877b34a63230d676b95454
#!/usr/bin/env python3
"""Finite audit for FPRD-T157 stationary transport spectra."""
from __future__ import annotations
import json
from dataclasses import dataclass
from itertools import product
from pathlib import Path
Point = tuple[int, ...]
Descriptor = None | str | tuple[int, ...]
def leq(left: Point, right: Point) -> bool:
return all(a <= b for a, b in zip(left, right))
def minimal_basis(points: set[Point]) -> set[Point]:
return {point for point in points if not any(other != point and leq(other, point) for other in points)}
def upward_closure(points: set[Point], grid: tuple[range, ...]) -> set[Point]:
universe = set(product(*grid))
return {target for target in universe if any(leq(source, target) for source in points)}
def audit_finite_bases() -> dict[str, int]:
grid2 = (range(1, 5), range(1, 5))
universe2 = list(product(*grid2))
subsets = 0
closure_reconstructions = 0
antichain_checks = 0
for mask in range(1 << len(universe2)):
subset = {point for index, point in enumerate(universe2) if (mask >> index) & 1}
closure = upward_closure(subset, grid2)
basis = minimal_basis(closure)
assert upward_closure(basis, grid2) == closure
assert all(not leq(left, right) for left in basis for right in basis if left != right)
subsets += 1
closure_reconstructions += 1
antichain_checks += 1
four_dimensional_families = 0
four_dimensional_basis_checks = 0
for seed in range(4096):
points = {
(
1 + ((seed + 3 * index) % 4),
1 + ((seed // 3 + 5 * index) % 4),
1 + ((seed // 7 + 7 * index) % 4),
1 + ((seed // 11 + 11 * index) % 4),
)
for index in range(1 + seed % 9)
}
basis = minimal_basis(points)
assert all(any(leq(source, point) for source in basis) for point in points)
assert all(not leq(left, right) for left in basis for right in basis if left != right)
four_dimensional_families += 1
four_dimensional_basis_checks += 1
return {
"two_dimensional_subsets": subsets,
"closure_reconstructions": closure_reconstructions,
"antichain_checks": antichain_checks,
"four_dimensional_families": four_dimensional_families,
"four_dimensional_basis_checks": four_dimensional_basis_checks,
}
@dataclass(frozen=True)
class TinyMachine:
seed: int
degree: int
def step(self, state: int, symbol: int, old_label: int | None) -> tuple[int, int, tuple[Descriptor, ...]]:
label_value = 0 if old_label is None else old_label
new_state = (state + symbol + label_value + self.seed) % 2
new_label = (state ^ symbol ^ label_value ^ self.seed) & 1
descriptors: list[Descriptor] = []
for port in range(self.degree):
code = (self.seed + 2 * state + 3 * symbol + 5 * label_value + port) % 3
if code == 0:
descriptors.append(None)
elif code == 1:
descriptors.append("SELF")
else:
descriptors.append((port,))
return new_state, new_label, tuple(descriptors)
def resolve(old_rows: list[tuple[int, tuple[int | None, ...]]], descriptor: Descriptor) -> int | None | str:
if descriptor is None or descriptor == "SELF":
return descriptor
if not old_rows:
return None
node = len(old_rows) - 1
for port in descriptor:
target = old_rows[node][1][port]
if target is None:
return None
node = target
return node
def run_single(machine: TinyMachine, word: tuple[int, ...]) -> tuple[int, list[tuple[int, tuple[int | None, ...]]]]:
state = 0
rows: list[tuple[int, tuple[int | None, ...]]] = []
for symbol in word:
old_label = rows[-1][0] if rows else None
state, label, descriptors = machine.step(state, symbol, old_label)
new_index = len(rows)
ports = tuple(
new_index if descriptor == "SELF" else resolve(rows, descriptor)
for descriptor in descriptors
)
rows.append((label, ports))
return state, rows
def translate(descriptor: Descriptor, offset: int) -> Descriptor:
if descriptor is None or descriptor == "SELF":
return descriptor
return tuple(offset + port for port in descriptor)
def run_pair(first: TinyMachine, second: TinyMachine, word: tuple[int, ...]) -> tuple[tuple[int, int], list[tuple[tuple[int, int], tuple[int | None, ...]]]]:
state = (0, 0)
rows: list[tuple[tuple[int, int], tuple[int | None, ...]]] = []
for symbol in word:
old_labels = rows[-1][0] if rows else (None, None)
next1, label1, desc1 = first.step(state[0], symbol, old_labels[0])
next2, label2, desc2 = second.step(state[1], symbol, old_labels[1])
descriptors = tuple(translate(item, 0) for item in desc1) + tuple(
translate(item, first.degree) for item in desc2
)
old_projection = [
(
0,
row[1],
)
for row in rows
]
new_index = len(rows)
ports = tuple(
new_index if descriptor == "SELF" else resolve(old_projection, descriptor)
for descriptor in descriptors
)
rows.append(((label1, label2), ports))
state = (next1, next2)
return state, rows
def audit_pairing() -> dict[str, int]:
machines = [TinyMachine(seed, 1 + seed % 2) for seed in range(24)]
machine_pairs = 0
paired_runs = 0
projected_row_checks = 0
boolean_output_checks = 0
words = [word for length in range(7) for word in product((0, 1), repeat=length)]
for first, second in product(machines, repeat=2):
machine_pairs += 1
for word in words:
state1, rows1 = run_single(first, word)
state2, rows2 = run_single(second, word)
pair_state, paired = run_pair(first, second, word)
assert pair_state == (state1, state2)
assert len(rows1) == len(rows2) == len(paired)
for index, ((label1, ports1), (label2, ports2), (labels, ports)) in enumerate(zip(rows1, rows2, paired)):
assert labels == (label1, label2)
assert ports[: first.degree] == ports1
assert ports[first.degree :] == ports2
assert all(target is None or 0 <= target <= index for target in ports)
projected_row_checks += 1
for truth_table in range(16):
left = state1 & 1
right = state2 & 1
paired_answer = (truth_table >> (2 * left + right)) & 1
expected = (truth_table >> (2 * (pair_state[0] & 1) + (pair_state[1] & 1))) & 1
assert paired_answer == expected
boolean_output_checks += 1
paired_runs += 1
return {
"tiny_machines": len(machines),
"machine_pairs": machine_pairs,
"paired_runs": paired_runs,
"projected_row_checks": projected_row_checks,
"boolean_output_checks": boolean_output_checks,
}
def run() -> dict[str, object]:
result: dict[str, object] = {"status": "pass"}
result.update(audit_finite_bases())
result.update(audit_pairing())
return result
if __name__ == "__main__":
result = run()
output = Path(__file__).with_name("checker-output.json")
output.write_text(json.dumps(result, indent=2) + "\n", encoding="utf-8")
print(json.dumps(result, indent=2))