The Object
The definition, the deleted place, the first fourteen
rungs and what is born along them.
The identity
A channel is a residue window: reduction at one finite place. The
rung Z/pk# reads the first k windows
simultaneously — every element is a unique k-tuple of residues,
arithmetic decomposes window by window, no window sees another's
content:
Each rung is nested in the next,
Z/6 ⊂ Z/30 ⊂ Z/210 ⊂ ⋯, and each is a finite
section of one ambient object: the product of all prime fields.
The CRT encode/decode and per-channel arithmetic the verifier
scripts import is one small shared library,
crt.py.
The limit
object rule
The inverse limit of the tower along its rungs is the full
product of the prime fields, one free residue per prime:
Every exponent stays 1, so no Zp ever
forms: the limit is not the profinite completion
Ẑ = ∏p Zp. The
two differ by exactly the radical,
∏p Fp =
Ẑ/J(Ẑ): the tower's limit is the semisimple
quotient.
Scope. The transition maps are
channel-forgetting projections (checked exhaustively for k ≤ 5,
sampled at k = 6, 7); the identification of the limit is
algebraic.
verifier:
explore_limit_object.py
The deleted place
The construction removes exactly one window: the archimedean
place. Size, sign, comparison, carries, overflow — none is a channel
quantity, and no reading of a proper subset of windows recovers one:
to every strict channel subset, the size of an element is essentially
uniform. Measuring this deletion and its echoes — which functions can
be read through which windows, and at what price — is its own section
(Walls).
The blueprint — the handful of properties the construction
fixes, stated in full on the front page — has
one entry that quietly re-imports what was deleted: the
error-correction guarantee is a height cut on integer points.
Redundancy is a property of the integers under a bound, never of the
product ring — in the limit there is no archimedean place, no height
cut, and no code.
The first fourteen rungs
The table is recomputed from the definitions at every build:
N = pk# is the modulus, φ counts the
units, and λ is the Carmichael exponent (below). The
error-correcting code comes from the tower split — the first k−3
primes carry data, the last 3 parity, an MDS code of distance 4 from
k = 4 on (more data than parity from k = 7), so the ECC rate
is (k−3)/k. N and φ are shown as magnitudes; the exact
values are in
explore_lambda_tower.py.
The sieve
identity property
Along the primorial trajectory the tower is the algebraic form of
the sieve of Eratosthenes — identity, not analogy: sieving by p is
reading the window at p and discarding the zero fiber. The survivors
of the k-prime sieve are exactly the units of
Z/pk#; each sieve step is the CRT
projection onto one channel; the 2k
inclusion–exclusion terms are the 2k idempotents;
the survivor count is φ(pk#), the
inclusion–exclusion formula itself.
Scope. A term-by-term dictionary — units,
idempotents, φ, λ, the error-correcting split — with
each computable row verified in the script.
verifier:
explore_sieve_connection.py
Read the units as the sieve's survivors and one question becomes
arithmetic about the channels: step off a non-survivor by ±g for
a ring prime g — does the step land on a survivor?
The generator-step
escape rule
Let n be a non-unit, S the set of ring primes
dividing it — the channels where n reads 0 — and take the
coupling class of n to be every element with exactly that null
set. For a signed generator step ±g: if g ∈ S no
member of the class escapes at all, since g divides both the
element and the step. If g ∉ S, exactly
(g−1)·∏(p−2) of the class's ∏(p−1) members land
on a unit, both products running over the primes outside S and
the first also skipping g — an escape probability
The factor at p = 2 forces a parity dichotomy: an odd
non-unit escapes only via ±2, every odd step landing even — the
2-boost — while an even one escapes via any odd g ∉
S and never via ±2.
Every nonzero class has positive escape probability and the class {0}
alone has none. The law is class-level, not per-element — individual
stuck non-units exist, 122 of them in Z/2310, among them 119
with both ±2 neighbours non-units.
Run the same product with no channel dead at all — a survivor
stepping by 2 rather than a non-survivor escaping — and it is a known
density:
∏3≤p≤pk(p−2)/(p−1)
is exactly the conditional twin-survivor density of the k-prime sieve,
the chance that n + 2 survives given that n does —
22,275/92,160 = 0.2417 at k = 7 — with Mertens asymptotic
2C2e−γ/ln pk
for C2 the twin prime constant (ratio 0.9999 by
k = 10⁵). The twin-survivor density is a built-in channel statistic.
Scope. Proved for all k within a class — CRT
runs the non-null residues over every nonzero tuple exactly once —
and verified exhaustively for k ≤ 7.
verifier:
explore_unit_escape.py
The genesis ladder
Reading the rungs as a chronology: which capabilities exist at
rung k, and for how long. The
provenance ladder pins each
obstruction down to its minimal carrier; the genesis ladder is its
mirror — each capability pinned up to its birth rung.
The genesis
ladder rule
Channels only accumulate along the trajectory, so a capability's
temporal fate is its quantifier shape over channels. An ∃-shaped
capability (some channel carries the defining property) is
monotone: born at the rung of the least qualifying prime, immortal.
A ∀-shaped one is anti-monotone: dead at the rung of the least
failing prime, forever — 2 and 3 are permanent vetoes. A
conjunction of the two is born and mortal (the Fano-plane
structure, born at rung 5, dead at rung 6, is the chart's one
specimen); walls are ∃-shaped over substructure, so walls never
heal. The chart saturates: every mortal row is dead by rung 6, and
the last qualitative birth — an ECC rate above 1/2 — lands at
rung 7. Past it, births are parametric and Linnik-priced: an
order-m element exists at rung k iff m | λ(k), so its
birthday is set by least primes in arithmetic progressions — order
23 arrives at rung 15 while order 19 waits until rung 43, and
m ≤ 200 already needs the prime 3547 (rung 497).
The i specimen: √−1 — the archimedean form of i — dies
at rung 2 under 3's veto, while i as rotation (an order-4 element)
is born at rung 3, immortal. The tower keeps the turn and discards
the square root.
Scope. The fate rule and the birthday
formula are proved; accumulation is the only ingredient, so a
designed tower chooses its own vetoes (skip 3 and √−1 lives on
every rung whose odd primes are ≡ 1 mod 4). The chart is computed
per rung with each row's direction verified; the birthday formula
is swept exact for m ≤ 200.
verifier:
explore_genesis_ladder.py
Lambda and transparency
The universal period of the power maps at rung k is the Carmichael
exponent λ(k) = lcm(p1−1, …,
pk−1): every unit satisfies xλ =
1. Along the tower it runs 1, 2, 4, 12, 60, 60, 240, 720, 7920,
55440, … — and the repeats are the interesting part.
The transparency
criterion property
Adding pk jumps λ iff
pk − 1 introduces a prime-power factor not
already present in λ. Otherwise pk is
lambda-transparent: capacity grows (φ, idempotents)
but no new dynamical complexity appears. The criterion:
pk is transparent at rung k iff
(pk − 1) | λ(k−1).
Scope. All k, by construction. Computed
landscape k = 1..50; the first transparent prime is 13 at k = 6,
where φ(13) = 12 divides λ(5) = 60.
verifier:
explore_lambda_tower.py
The tower thus alternates between two growth modes:
complexity rungs, where λ jumps and new orbit
periods appear, and capacity rungs, where a transparent prime
adds space on the same dynamical skeleton. In the limit the balance
tips entirely to capacity — the transparency density approaches 1, a
theorem whose proof and rate live in the
density theorem.
The primes that appear as factors of λ enter in an order of
their own, governed by Linnik's function L(q) = the least
prime p ≡ 1 (mod q) — the same function that prices the
element birthdays in the
genesis ladder above, since an order-q
element and the prime q in λ arrive at the very same rung.
It inverts the natural order: 11
enters before 7 (L(11) = 23 < L(7) = 29), 23 before 13
(47 < 53), and 17 — a ring prime already at rung 7, where it
contributes 2⁴ — becomes a factor of λ in its own right only at
rung 27, via p = 103.
The Linnik
ordering rule
No rung's pk − 1 ever contributes two
never-before-seen prime factors to λ: each rung introduces at
most one new prime, so the introductions are injective and the
entry order is well defined. Verified exhaustively through
k = 3,001,134 — every prime p ≤ 5·10⁷.
The margin is not thin. In every one of the 414,894 introductions
the new prime is the largest factor of p − 1, and near
misses — a co-factor of p − 1 that entered outside the first
10% of the rungs below k — die out at k = 43, nine events in total,
the last at p = 191. A collision needs a prime
p ≡ 1 (mod 2q1q2) for two
new primes q1, q2 at once, each of
them having dodged roughly the other's size over
ln(q1q2) earlier chances to
enter.
Scope. Exhaustive to p ≤ 5·10⁷; a proof
for all k is open, so always injective stays a conjecture. Under
a Cramér/Dirichlet model the expected number of collisions beyond the
checked horizon is about 10−8031 — a heuristic, not
evidence of the kind the rule above rests on. The
serial ledger below certifies injectivity
itself much further, for every p ≤ 10¹⁶.
verifier:
explore_linnik_injectivity.py
The ordering rules out two never-before-seen primes arriving at one
rung. The full ledger law is stronger: counting prime powers —
so that a rung raising an exponent already present (2² at p = 5,
2⁴ at p = 17, 3² at p = 19) counts as a birth too — every
jump of λ still delivers exactly one.
The serial
ledger rule
Every jump of λ introduces exactly one new prime
power, never two — at k ≤ 2000 the 468 jumps split into 438 that
bring a new prime and 30 that only raise the exponent of one
already present, none both. What the law
is: write L(m) for the least prime
≡ 1 (mod m), Linnik's function above read at prime-power
moduli. Adding the prime p raises the exponent of q in
λ iff p = L(qj) for some
j ≥ 1 — iff p is a record, the first prime a
progression 1 mod qj ever sees. The record sets
{L(qj) : j ≥ 1} are classical objects — in
base 2 the record is 2j + 1 exactly when that
number is prime, the Fermat primes — and the law claims nothing
about any one of them: it says they are pairwise disjoint
across bases. A violation would be a single prime standing as the
least in two prime-power progressions with distinct bases; both
moduli then divide p − 1, and being coprime so does their
product, so the smaller is ≤ √(p − 1): every violating prime
up to 10¹⁶ is the record of some modulus below 10⁸. Scanning them
all, then testing each record prime against every prime-power
divisor of its p − 1 — so the larger witness is caught
without being scanned — decides every prime up to 10¹⁶, and finds
no violation: 5,762,848
record primes, zero collisions. The closest call anywhere is
7 = L(3) against L(2) = 3, a ratio of 7/3; above
p = 600 no ratio is below 34.6.
Scope. The record characterization is proved
(a criterion); disjointness — hence the law — is verified for every
prime p ≤ 10¹⁶. Beyond that it is a conjecture with a
convergent price: a rival modulus m at a record prime
p requires every prime below p to have missed a
progression of density 1/φ(m) — chance about
exp(−π(p)/φ(m)), summable over the records with
its mass at the small primes already enumerated. So the law should
hold for every p while sitting past the same wall as the
ordering above: a proof needs least-prime control at every modulus
and scale at once.
verifier:
explore_double_birth.py
Designed towers
The primorial path is one trajectory through a lattice: any
squarefree set of primes is a tower ring with the full blueprint —
fields, total division, idempotents, an MDS code where the split is
sized.
The sieve identity is primorial-specific; the blueprint is not. The
Walls section carries the charted specimens, including the
internet-checksum ring Z/(216−1) and its
machine-word family.
The seed-flower
A sub-ring on m of the tower primes,
N their product, carries the integer −χ =
N(m−1) − Σ N/pi, whose prime
factors are routinely tower primes the sub-ring does not contain — {3, 5}
gives 7 — and one congruence governs every such naming: an absent prime
s divides −χ exactly when the members' inverses mod s sum to
m − 1, so naming reads residues and nothing else. The long-run supply of
new namings is a Hardy–Littlewood sum over the factorizations of
pk + 1; the fraction of sub-rings whose −χ is
itself prime decays with no floor, at a rate derived within a
conditioned model; a missed prime is a
subset-sum accident at the rate a random model predicts; and iterated,
the naming map is fixed-point-free and drains almost every orbit to the
empty set: The seed-flower.