\documentclass[11pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath,amssymb}
\usepackage{booktabs}
\usepackage{hyperref}

\title{The Research Journey:\\From RNN to Universal Model}
\author{Claude and MJC}
\date{10 February 2026}

\begin{document}
\maketitle

\begin{abstract}
This paper chronicles ten days of intensive research (31 January--10 February 2026)
into the interpretability of recurrent neural networks through the lens of the
Universal Model (UM) framework. Starting from a simple question---``can we understand
what an RNN learns?''---we developed a complete theory connecting gradient-based
learning to explicit pattern extraction, discovered fundamental limits of
quantization, and demonstrated that RNN weights can be constructed from data
patterns without backpropagation. This narrative explains what happened at each
stage, what insights were picked up, what hypotheses were dropped, and how the
understanding evolved from initial confusion to a coherent framework.
\end{abstract}

\section{Introduction: The Starting Point}

On 31 January 2026, we had:
\begin{itemize}
\item A trained RNN (128 hidden neurons, tanh activation) achieving 5.69~bpc on enwik9
\item The CMP paper's Universal Model framework (Clement, 2026)
\item A hypothesis: RNNs could be translated into interpretable UM patterns
\item No concrete method for doing this translation
\end{itemize}

The central question was: \emph{What does the RNN know?} Not in terms of weights
and gradients, but in terms of patterns---explicit rules like ``when you see X,
expect Y with strength S.''

\section{Phase 1: The Doubled-E Isomorphism (31 Jan)}

\subsection{The Breakthrough}

The first major result came from \texttt{rnn-um-mapping.pdf} (archive 20260131):
we discovered that RNNs are \emph{already} Universal Models. The key insight was
the doubled-E isomorphism:

\begin{equation}
\tanh(x) = 2\sigma(2x) - 1
\end{equation}

Each hidden neuron $h_j$ with activation $\tanh(a_j)$ can be rewritten as a
binary event space $\{h_j^+, h_j^-\}$ with softmax probabilities. Pattern
strengths become $2|w|$ where $w$ is the RNN weight. With floating-point
arithmetic, this translation is \emph{exact}: 0.000\% bpc difference.

\textbf{What this meant:} The RNN wasn't doing something fundamentally different
from the UM. It was a UM with a particular factorization (through 128 binary
event spaces) and particular pattern strengths (learned by BPTT).

\textbf{What we picked up:} The concept of ``strength = $2|w|$'' as the
translation key. The realization that interpretability is a refactoring problem:
finding the domain-natural decomposition hidden within the architecture-natural one.

\subsection{Early Hypotheses}

We formulated several predictions in \texttt{activation-probing.pdf}:
\begin{itemize}
\item \textbf{H1:} Digits form an event space (neurons cluster when processing 0--9)
\item \textbf{H2:} Punctuation forms an event space
\item \textbf{H3:} Vowels form an event space
\item \textbf{H4:} Consonants form an event space
\end{itemize}

Testing these (archive 20260131, \texttt{hypothesis-results.html}):
\begin{itemize}
\item H1: \textbf{Validated} (correlation 0.9996)
\item H2: \textbf{Validated} (correlation 0.999)
\item H3: \textbf{Validated} (correlation 0.988)
\item H4: \textbf{Refuted} (consonants too diverse, no single cluster)
\end{itemize}

\textbf{What we learned:} The RNN does form natural event spaces, but they're
not always aligned with linguistic categories. Consonants are too functionally
diverse to cluster together.

\section{Phase 2: The Tock Methodology (31 Jan, session 2)}

\subsection{Formalizing Interpretation}

Archive 20260131\_2 introduced the ``tick-tock'' cycle:
\begin{itemize}
\item \textbf{Tick:} Train an RNN (gradient descent, BPTT)
\item \textbf{Tock:} Extract interpretable structure (UM patterns, event spaces)
\end{itemize}

The key papers:
\begin{itemize}
\item \texttt{tock.pdf}: Methodology for ES extraction
\item \texttt{quotient.pdf}: The $Q = \lambda$ unification
\item \texttt{critique.pdf}: Critical analysis of early claims
\end{itemize}

\subsection{The 53\% Claim: Refuted}

Early analysis suggested that identified event spaces explained 53\% of the
model's compression. \texttt{critique.pdf} demolished this:

\begin{quote}
``The 53\% figure conflates \emph{coverage} (what fraction of events are touched)
with \emph{explanatory power} (what fraction of bpc is explained). Actual
explanatory power: $\leq 3.7\%$ theoretical maximum. The identified ES captures
only 15.9\% of the Markov mutual information.''
\end{quote}

\textbf{What we dropped:} The idea that a few hand-identified event spaces could
explain most of the model's behavior.

\textbf{What we picked up:} Rigor. The need to distinguish coverage from
explanatory power. The realization that most of the model's knowledge was still
hidden in the 4,183 recurrent patterns we hadn't analyzed.

\section{Phase 3: Pattern Injection and Unification (31 Jan, sessions 3--4)}

\subsection{Can We Go Backwards?}

Archive 20260131\_3 asked: if RNN $\to$ UM is possible, what about UM $\to$ RNN?

\texttt{pattern-injection.pdf} demonstrated SVD-based pattern injection:
\begin{itemize}
\item Start with UM bigram patterns (from data)
\item Factor them via SVD: $P^T = U \cdot S \cdot V^T$
\item Assign $W_{ih} = V^T$ and $W_{ho} = U \cdot S$
\item Result: 1 bit/char head start (5.46 $\to$ 4.47 bpc) without any training
\end{itemize}

\textbf{What this meant:} You can initialize an RNN with explicit knowledge.
The effective dimension was $\sim$64 (out of 128 neurons), suggesting massive
redundancy.

\subsection{The $Q = \lambda$ Unification}

Archive 20260131\_4 (\texttt{unification.pdf}) unified five seemingly disparate
concepts:
\begin{enumerate}
\item \textbf{Bayes:} Luck $\lambda = 1/p$, log-luck $\Lambda = -\log p$
\item \textbf{Thermodynamics:} Microstates $|E|$, remaining states $|E|/\lambda$
\item \textbf{Quotient:} Layer compression $q_i = |\text{inputs}|/|\text{outputs}|$
\item \textbf{Encoding:} Mixed-radix $(e_1, \ldots, e_k) \to N$
\item \textbf{Factor maps:} $\phi: E \to A \times B$, commuting translators
\end{enumerate}

The unifying identity: \textbf{The quotient equals the luck.}

Positions in the dataset are microstates. An event partitions them. The
compression ratio (quotient) equals the reciprocal probability (luck). This
gives a Bayesian interpretation of every layer in the network.

\textbf{What we picked up:} A principled way to think about compression,
probability, and information flow. The realization that bpc = average log-luck.

\section{Phase 4: Lexicon and Word-Level Structure (1--4 Feb)}

\subsection{The Path to Lexicon}

Archive 20260204 (\texttt{lexicon-path.pdf}) investigated whether the RNN
encodes word identity. Initial hypothesis: hidden states should cluster by word.

\textbf{Result:} \emph{Refuted.} Word recognition accuracy from hidden states:
4.9--6.4\%. Words are \emph{emergent}, not explicit.

What the RNN \emph{does} encode:
\begin{itemize}
\item \textbf{ES1 (h2):} Word boundary detector. $\Delta h_2 > 0.95$ marks
  word-start with 99.6\% accuracy. Space $\to$ h2$-$ (strength 8), letters
  $\to$ h2$+$ (strength 1).
\item \textbf{ES2 (h35):} Syllable momentum. Tracks CV (consonant-vowel)
  structure. Decays over word length via negative self-connection ($-0.184$).
\end{itemize}

\textbf{What we learned:} The RNN encodes \emph{character transition patterns},
not word identity. The ``lexicon'' is implicit: patterns of character transitions
that covary. Word boundaries are detected; word content is predicted character-by-character.

\subsection{The UM Interpretation}

\texttt{um-interpretation.pdf} (archive 20260204) catalogued the full pattern
inventory:
\begin{itemize}
\item 302 significant patterns (49 input$\to$hidden, 253 hidden$\to$output)
\item 4,183 recurrent patterns (hidden$\to$hidden)
\item 128 neurons cluster into $\sim$18 natural event spaces (correlation $r > 0.9$)
\item Coverage: $\sim$31\% of events touched, $<5\%$ of bpc explained
\end{itemize}

\textbf{What we dropped:} The hope that a small number of patterns would explain
everything.

\textbf{What we picked up:} A complete inventory. The realization that the
recurrent patterns (4,183 of them) were the real knowledge, and we needed a
better way to analyze them.

\section{Phase 5: Synthesis and Saturation (6 Feb)}

\subsection{Eight Days in Review}

Archive 20260206 (\texttt{synthesis.pdf}) synthesized all findings from
20260131--20260204 into a single 11-page document. Key validated discoveries:
\begin{itemize}
\item ES1 (word boundary), ES2 (syllable momentum)
\item Pattern injection via SVD (1 bit/char head start)
\item 18 natural event spaces from clustering
\item Doubled-E exact isomorphism
\end{itemize}

Key refuted hypotheses:
\begin{itemize}
\item 53\% compression claim (actually $\leq 3.7\%$)
\item Spectral radius $\approx 1$ (measured $|\lambda_{\max}| = 2.52$)
\item Word identity encoding (4.9--6.4\% accuracy)
\end{itemize}

\subsection{The Saturation Experiment}

\texttt{saturation.pdf} (archive 20260206) trained an RNN to near-memorization
on 1024 bytes:
\begin{itemize}
\item RNN: 0.079~bpc after 4000 epochs (near-memorization)
\item UM bigram: 2.05~bpc (1 pass, no training)
\item UM trigram: 0.555~bpc
\end{itemize}

\textbf{Why 1024 bytes?} At this scale, generalization is minimal. The model
memorizes. This makes artifact detection straightforward: double the dataset
and see which patterns survive.

\textbf{What we picked up:} A concrete model (sat-rnn) to analyze in detail.
The realization that saturation simplifies interpretation---there's no
generalization to confuse the signal.

\section{Phase 6: The Export Gap (7 Feb)}

\subsection{The Problem}

Archive 20260207 (\texttt{export-gap.pdf}) asked: can we export the sat-rnn
to integer-valued SN format?

The doubled-E isomorphism works with floating-point weights. But the SN format
uses integer strengths in $[0, 255]$. What happens when we quantize?

\textbf{Result:} Chaos. The quantized model achieves 0.09--2.1~bpc depending
on parameters, compared to the float model's 0.079~bpc.

\subsection{The Diagnosis}

Three sources of loss:
\begin{enumerate}
\item \textbf{Threshold:} Dropping weights with $|w| < 0.01$ removes 96.3\%
  of weights. But these contribute to long-range patterns.
\item \textbf{Rounding:} Quantizing to 8 bits per weight.
\item \textbf{Recurrent amplification:} Errors compound through $W_h$ over
  1024 timesteps.
\end{enumerate}

The bottleneck: $W_h$ (hidden$\to$hidden). Quantizing $W_h$ alone costs
0.80~bpc. Quantizing $W_y$ (hidden$\to$output) costs only 0.0003~bpc.

\textbf{The key insight:} The chaos is a BPTT-50 artifact. The RNN was trained
with 50-step truncation. At test time, we run it for 1024 steps. Errors
accumulate over 974 uncontrolled timesteps beyond the training horizon.

\textbf{What we learned:} 8-bit resolution is adequate \emph{per weight}. The
loss is a signal about skip connections through time that we haven't captured
as explicit patterns. The export gap isn't a failure---it's telling us where
the knowledge lives.

\section{Phase 7: Pattern Chains (7--8 Feb)}

\subsection{Bypassing the Export Gap}

If exporting the RNN to UM is hard, what about building the UM directly from data?

\texttt{pattern-chain.pdf} (archive 20260207) implemented explicit n-gram
patterns:
\begin{itemize}
\item Order 0 (marginal): 4.74~bpc
\item Order 1 (bigram): 2.05~bpc
\item Order 2 (trigram): 0.56~bpc
\item Order 10: 0.076~bpc (surpasses sat-rnn at 0.079)
\item Order 12: 0.067~bpc (6,180 patterns)
\end{itemize}

\textbf{What this meant:} You don't need the RNN. You can build a UM directly
from data that \emph{surpasses} the trained model.

\subsection{The Backward Trie}

The pattern-chain UM is a backward trie: for each output byte, store all
observed contexts (up to length 12). At prediction time, walk backward from
the current position, accumulating evidence from all matching patterns.

This is \emph{exactly} what attention does, but made explicit.

\textbf{What we picked up:} The backward trie as the ground-truth attention map.
The realization that the RNN compresses this into a fixed $W_h$ highway, which
is lossy (0.079 vs 0.067~bpc).

\section{Phase 8: Skip-Patterns (8 Feb)}

\subsection{The Greedy Offset Experiment}

\texttt{pattern-prior.pdf} (archive 20260207) asked: do we need \emph{contiguous}
bytes, or can we skip?

Greedy offset selection by complementary mutual information:
\begin{itemize}
\item Offset 1: 2.69 bits of MI
\item Offset 8: chosen \emph{before} offset 2 (XML tag structure)
\item 4 offsets $[1,8,20,3]$: 0.069~bpc with 712 patterns
\item 12 contiguous offsets: 0.067~bpc with 6,180 patterns
\end{itemize}

\textbf{Result:} Skip-4-gram nearly matches contiguous-12 with 9$\times$ fewer
patterns.

\subsection{Why Offset 8 Before Offset 2?}

The dataset is enwik9 (Wikipedia XML). Tags like \texttt{<title>} create
long-range dependencies. Offset 8 captures ``what tag am I in?'' which is more
informative than offset 2 (``what's the previous character?'').

\textbf{What we learned:} Complementary MI, not autocorrelation, drives offset
selection. The RNN implicitly learns this; skip-$k$-grams make it explicit.

\subsection{Pattern Survival Under DSS Doubling}

Train on 1024 bytes, then double to 2048. Which patterns survive?

\textbf{Result:} $\sim$80\% of skip-2-gram patterns vanish. The surviving 20\%
carry 60--71\% of occurrences, with count correlation $r > 0.8$.

\textbf{What this meant:} A clean separation between structural patterns (survive)
and overfitting artifacts (vanish). The $Q = \lambda$ framework predicts this:
artifacts partition the wrong microstates, so their quotient values don't
generalize.

\section{Phase 9: Weight Construction (8 Feb)}

\subsection{Can We Build RNN Weights from Data?}

\texttt{pattern-prior.pdf} Section 7 demonstrated write-back construction:
\begin{enumerate}
\item Encode input bytes as random binary hashes (128-bit)
\item Use a shift register or direct construction for multi-offset context
\item Optimize only the readout $W_y$ (linear regression, no BPTT)
\end{enumerate}

Results:
\begin{itemize}
\item Bigram construction: 2.10~bpc (matches counting baseline 2.05)
\item Shift-register 8 groups: 0.25~bpc train, 5.43~bpc test
\item Greedy-8 offsets $[1,8,20,3,27,2,12,7]$: 0.190~bpc train, 5.59~bpc test
\item Sat-rnn comparison: 0.079~bpc train, 8.22~bpc test
\end{itemize}

\textbf{Key finding:} Construction generalizes \emph{better} than training
(5.43--5.59 vs 8.22~bpc on unseen data).

\subsection{The Readout Loss}

The gap between constructed models and the UM floor (0.043~bpc for skip-8) is
0.147~bpc. This is the \emph{readout loss}: the linear softmax can't fully
exploit the hash features.

An MLP readout (256 hidden units) recovers 36\% of this loss (0.147 $\to$ 0.094~bpc).

\textbf{What we learned:} RNN training decomposes into three independent problems:
\begin{enumerate}
\item Offset selection (which bytes to attend to)
\item Encoding (how to represent them)
\item Readout (how to predict from the representation)
\end{enumerate}

BPTT solves all three jointly. Construction solves them separately, which aids
interpretability.

\section{Phase 10: The Factor Map (9 Feb)}

\subsection{Mapping Patterns onto Neurons}

Archive 20260208 (\texttt{pattern-chains.pdf}) asked: which neurons encode
which patterns?

For each neuron $h_j$, fit:
\begin{equation}
h_j \approx f(\text{byte}[t-d_1], \text{byte}[t-d_2], \text{word\_len}, \text{in\_tag})
\end{equation}

Results:
\begin{itemize}
\item Mean $R^2 = 0.837$ across all 128 neurons (120/128 $\geq 0.80$)
\item Dominant offset pair $(1,7)$: 52/128 neurons
\item Then $(1,8)$: 20 neurons, $(8,2)$: 18 neurons
\item \texttt{word\_len} is the dominant state feature for \emph{all} 128 neurons
\item Adding \texttt{word\_len} + \texttt{in\_tag} closes gap to 0.43~bpc
  (92.5\% of the RNN's gain)
\end{itemize}

\textbf{What this meant:} Every neuron is a 2-offset conjunction detector,
modulated by accumulated state (word length, tag status). The factor map from
architecture-natural (128 neurons) to domain-natural (data patterns) captures
92.5\% of the RNN's bpc gain.

\subsection{Neuron Permutation Symmetry}

Train two RNNs (same architecture, same seed) on 1024 and 2048 bytes.

$W_h$ correlation: $r = 0.06$ (effectively zero).

\textbf{What this meant:} Individual weights are meaningless across training runs.
Neurons permute. Patterns, not weights, are the correct abstraction.

\section{Phase 11: Sparse Diff (9 Feb)}

\subsection{The Sparse Difference Operator}

Archive 20260209 (\texttt{sparse-diff.pdf}) introduced the sparse difference
operator: for each neuron, compute $\Delta h_j = h_j(\text{byte } b) - h_j(\text{byte } b')$
across all byte pairs.

This reveals which neurons are sensitive to which byte distinctions.

Key findings:
\begin{itemize}
\item Neurons cluster by sensitivity profile (e.g., vowel-sensitive, digit-sensitive)
\item The sparse diff structure matches the factor map structure
\item Visualization: \texttt{sparse-diff-view.html} (interactive)
\end{itemize}

\textbf{What we picked up:} A tool for neuron permutation matching. By comparing
sensitivity profiles (not raw weights), we can align neurons across training runs.

\section{What We Learned: The Big Picture}

\subsection{Validated Insights}

\begin{enumerate}
\item \textbf{RNNs are UMs.} The doubled-E isomorphism is exact (0.000\% bpc diff).
\item \textbf{Patterns, not weights.} Neuron permutation symmetry ($r = 0.06$)
  means individual weights are meaningless. Patterns are the right abstraction.
\item \textbf{Skip-patterns compress the inventory.} 4 non-contiguous bytes
  match 12 contiguous bytes with 9$\times$ fewer patterns.
\item \textbf{Construction beats training on generalization.} Write-back
  construction: 5.43--5.59~bpc test. Sat-rnn: 8.22~bpc test.
\item \textbf{The backward trie is the ground truth.} The RNN compresses it
  into a fixed $W_h$ highway, which is lossy (0.079 vs 0.067~bpc).
\item \textbf{Every neuron is a 2-offset conjunction detector.} Mean $R^2 = 0.837$.
  Modulated by accumulated state (word length, tag status).
\item \textbf{The export gap is a signal.} Quantization chaos points to
  skip connections through time that aren't captured as explicit patterns.
\end{enumerate}

\subsection{Refuted Hypotheses}

\begin{enumerate}
\item \textbf{53\% compression claim.} Actually $\leq 3.7\%$. Coverage $\neq$
  explanatory power.
\item \textbf{Spectral radius $\approx 1$.} Measured $|\lambda_{\max}| = 2.52$.
  Stability via tanh saturation, not eigenvalue tuning.
\item \textbf{Word identity encoding.} 4.9--6.4\% accuracy. Words are emergent,
  not explicit.
\item \textbf{Consonants form an ES.} Too diverse. Vowels, digits, punctuation
  do cluster.
\end{enumerate}

\subsection{Open Questions}

\begin{enumerate}
\item \textbf{Scaling.} How does this extend from 1024 bytes to enwik9 ($10^9$ bytes)?
\item \textbf{Reverse isomorphism.} Can we map pattern-chain patterns back onto
  RNN weights? Neuron permutation is the blocker.
\item \textbf{Adaptive encoding.} The sat-rnn uses all 128 neurons as a single
  adaptive representation. Construction partitions them into independent hash
  groups. What's the optimal middle ground?
\item \textbf{Readout gap.} Can a nonlinear readout close the 0.147~bpc gap
  without reintroducing BPTT?
\item \textbf{Pattern length distribution.} Is it exponential? What's the rate?
\end{enumerate}

\section{The Narrative Arc: What Was Picked Up and Dropped}

\subsection{Picked Up}

\begin{itemize}
\item \textbf{Doubled-E isomorphism} (31 Jan): The foundation. RNNs are UMs.
\item \textbf{$Q = \lambda$ unification} (31 Jan): Quotient equals luck. Bayesian
  interpretation of compression.
\item \textbf{Rigor} (31 Jan): Distinguishing coverage from explanatory power.
  The 53\% claim refutation.
\item \textbf{Pattern injection} (31 Jan): UM $\to$ RNN via SVD. 1 bit/char
  head start.
\item \textbf{Word boundary ES} (4 Feb): h2 as word-start detector (99.6\% accuracy).
\item \textbf{Saturation} (6 Feb): 1024-byte memorization simplifies interpretation.
\item \textbf{Export gap as signal} (7 Feb): Chaos points to missing skip patterns.
\item \textbf{Pattern chains} (7 Feb): Direct UM from data surpasses RNN (0.067
  vs 0.079~bpc).
\item \textbf{Backward trie} (7 Feb): Ground-truth attention map.
\item \textbf{Skip-$k$-grams} (8 Feb): Complementary MI, 9$\times$ pattern compression.
\item \textbf{DSS doubling} (8 Feb): Artifact detection via pattern survival.
\item \textbf{Write-back construction} (8 Feb): RNN weights from data, no BPTT.
  Better generalization.
\item \textbf{Factor map} (9 Feb): 2-offset conjunctions + state. 92.5\% of
  RNN's gain.
\item \textbf{Neuron permutation symmetry} (8 Feb): Weights are meaningless,
  patterns are real.
\item \textbf{Sparse diff} (9 Feb): Sensitivity profiles for neuron matching.
\end{itemize}

\subsection{Dropped}

\begin{itemize}
\item \textbf{53\% compression claim} (31 Jan): Conflated coverage with
  explanatory power.
\item \textbf{Spectral radius $\approx 1$} (31 Jan): Measured 2.52. Stability
  is via tanh, not eigenvalues.
\item \textbf{Word identity encoding} (4 Feb): RNN encodes transitions, not words.
\item \textbf{Consonant ES} (31 Jan): Too diverse to cluster.
\item \textbf{Hope for simple explanations} (4 Feb): 302 significant patterns,
  4,183 recurrent. No shortcuts.
\item \textbf{Integer SN as primary representation} (7 Feb): Export gap shows
  float patterns are necessary for recurrent models.
\end{itemize}

\subsection{The Evolution of Understanding}

\textbf{Week 1 (31 Jan):} ``RNNs can be translated to UMs.'' Excitement about
doubled-E. Early hypotheses (digits, vowels, words). The $Q = \lambda$ unification.

\textbf{Week 2 (1--4 Feb):} ``Most of the knowledge is in recurrent patterns.''
Refutation of word identity. Discovery of word boundary and syllable momentum.
Full pattern inventory: 302 + 4,183.

\textbf{Week 3 (6--8 Feb):} ``We can bypass the RNN entirely.'' Saturation
experiment. Export gap diagnosis. Pattern chains surpass the RNN. Skip-$k$-grams
compress the inventory. Write-back construction generalizes better than training.

\textbf{Week 4 (9 Feb):} ``Every neuron is a 2-offset conjunction.'' Factor map
captures 92.5\% of gain. Neuron permutation symmetry: patterns are real, weights
are artifacts. Sparse diff for neuron matching.

\section{Conclusion: Where We Are Now}

We started with a simple RNN and a question: ``What does it know?''

We now have:
\begin{itemize}
\item A complete theory connecting RNNs to UMs (doubled-E isomorphism)
\item A method for building UMs directly from data (pattern chains, skip-$k$-grams)
\item A method for constructing RNN weights from data (write-back, no BPTT)
\item A factor map from architecture-natural to domain-natural representations
\item A diagnostic for artifacts (DSS doubling, pattern survival)
\item A Bayesian interpretation of compression ($Q = \lambda$)
\end{itemize}

The central insight: \textbf{Patterns, not weights, are the correct abstraction.}

The RNN learns patterns. BPTT compresses them into a fixed $W_h$ highway. This
compression is lossy (0.079 vs 0.067~bpc). But it's also what makes the RNN
efficient: 128 neurons vs 6,180 explicit patterns.

The next step: scale from 1024 bytes to enwik9 ($10^9$ bytes). The pattern-chain
approach scales polynomially in data but exponentially in order. Skip-$k$-grams
mitigate this. The RNN scales polynomially in both but with a compression
bottleneck. Finding the crossover is the engineering question.

But the theory is complete. We understand what RNNs learn, how they learn it,
and how to extract it. The rest is implementation.

\section*{Papers in This Narrative}

\subsection*{Archive 20260131}
\begin{itemize}
\item \texttt{rnn-um-mapping.pdf} --- Doubled-E isomorphism
\item \texttt{activation-probing.pdf} --- Hypothesis testing (digits, vowels, etc.)
\end{itemize}

\subsection*{Archive 20260131\_2}
\begin{itemize}
\item \texttt{tock.pdf} --- Tock methodology
\item \texttt{quotient.pdf} --- $Q = \lambda$ unification
\item \texttt{critique.pdf} --- Refutation of 53\% claim
\end{itemize}

\subsection*{Archive 20260131\_3}
\begin{itemize}
\item \texttt{pattern-injection.pdf} --- SVD-based UM $\to$ RNN
\end{itemize}

\subsection*{Archive 20260131\_4}
\begin{itemize}
\item \texttt{unification.pdf} --- Five-way unification ($Q = \lambda$)
\end{itemize}

\subsection*{Archive 20260204}
\begin{itemize}
\item \texttt{lexicon-path.pdf} --- Word boundary, syllable momentum
\item \texttt{um-interpretation.pdf} --- Full pattern inventory (302 + 4,183)
\end{itemize}

\subsection*{Archive 20260206}
\begin{itemize}
\item \texttt{synthesis.pdf} --- Eight days in review
\item \texttt{saturation.pdf} --- 1024-byte memorization experiment
\item \texttt{pattern-chains.pdf} --- Early pattern chain analysis
\end{itemize}

\subsection*{Archive 20260207}
\begin{itemize}
\item \texttt{export-gap.pdf} --- SN quantization chaos diagnosis
\item \texttt{pattern-chain.pdf} --- Direct UM from data (order 0--12)
\item \texttt{pattern-prior.pdf} --- Skip-$k$-grams, write-back construction
\item \texttt{hidden-quotient.pdf} --- Forward/backward quotients
\item \texttt{sn-visibility-sat.pdf} --- Full SN export (2,999 patterns)
\item \texttt{summary.pdf} --- Definitions, taxonomy, results
\end{itemize}

\subsection*{Archive 20260208}
\begin{itemize}
\item \texttt{pattern-chains.pdf} --- Factor map (2-offset conjunctions)
\end{itemize}

\subsection*{Archive 20260209}
\begin{itemize}
\item \texttt{sparse-diff.pdf} --- Sparse difference operator
\item \texttt{factor-map.pdf} --- Neuron sensitivity profiles
\end{itemize}

\end{document}


