Any computation whose behaviour involves only finitely many bits (i.e. is finitely realizable) can be implemented by a permutation (or by a finite composition of permutations) of 2N positions, provided the hyper-finite N is larger than the finite resources used by the computation.

I use “permutation” to mean a permutation of the set of positions ({1,⋯,2N}); such a permutation acts on bitstrings of length 2N by permuting coordinates.


1. The model

Remark: Permutations preserve the multiset of bit values (so the number of ones is fixed: here always N). That is not a problem for universality because we will encode finite data and computations into the arrangement of ones (and zeros) among the many available positions.


2. Encoding finite data inside the hyperfinite string

The starting observation is simple and fundamental:

Thus any finite configuration of finitely many logical bits can be encoded by specifying the contents of finitely many positions in our 2N-length string; all other positions are left in their default values from s0.


3. Elementary lemma about permutations extending finite bijections

This is the combinatorial heart.

Lemma (finite-extension). Let A,B⊂{1,⋯,2N} be finite (standard-finite) disjoint subsets of positions with |A|=|B|=M. Any bijection σ:A→B extends to a permutation σ~∈S2N of all 2N positions.

Proof. Pick any bijection between the finite complements so that together they define a permutation of the whole finite set ({1,⋯,2N}). Concretely one can define σ~ by:

(There is no obstruction: every finite partial bijection of a finite set extends to a full permutation; the nonstandard/hyperfinite size of the ambient set only makes it easier to choose disjoint blocks.) ∎


4. Realizing finite (classical) computations

Fix any classical finite computation C you want to realize. By “finitely realizable computation” we mean: C is a function

f : {0,1}k ⊇ dom (f) ⟶ {0,1}ℓ

or more generally a partial function whose behavior depends only on finitely many input bits and uses only finitely many workspace bits and a finite number of steps. (Equivalently: C can be implemented by a finite circuit or a finite reversible circuit/finite Turing computation that uses only finitely many tape cells and steps.)

We show how to implement C as a permutation (or finite composition of permutations) of positions, acting on s0 after suitable encoding.

Step A — Make the computation reversible.

Classical trick: every finite (possibly irreversible) computation f can be embedded into a finite reversible permutation on a larger finite state space (Bennett/Toffoli style). Concretely there exists a finite n and a reversible bijection (permutation) F on n-bit strings such that for every input x∈{0,1}k we have

F (x,0n-k) = (x,f(x),garbagex) ,

or some reversible form that lets us recover f(x). So F is a finite permutation of the finite set {0,1}n.

Step B — encode the 2n-sized state space into positions.

Represent each n-bit string by a distinct position (one-hot encoding); i.e. choose a block of M=2n reserved positions (P={p1,⋯,p2n}) inside the 2N coordinates. Encode an n-bit string u by putting a single 1 in the position that corresponds to u and zeros in the other positions of the block. Because 2N is hyperfinite and 2n is standard finite, we can make such a choice with room to spare.

Under this encoding, a permutation F of the 2n-element set of n-bit strings corresponds exactly to the permutation of the 2n positions that permutes the corresponding one-hot positions. By the finite-extension lemma we can extend that finite permutation of the P-block to a global permutation ΠF∈S2N of all positions (fixing all other positions outside a finite set).

Step C — realize f.

Given an input x (a k-bit string), form the corresponding n-bit input encoding (pad with zeros if needed), then create the one-hot encoding inside P (this is a permutation of positions applied to s0 that moves the token into the appropriate position representing the input — we can construct that since input choice is finite and we reserve specific positions for inputs). Now apply the global permutation ΠF (or a composition realizing the reversible circuit as permutations). After ΠF the one-hot token will have moved to the position representing the output F(u), which encodes f(x) in a known place. Reading out the result is again a permutation that moves that token out to whatever output block we chose.

So the whole computation — encode input, apply ΠF, decode output — is realized by a finite composition of permutations of the 2N coordinate positions. Each of these permutations is supported on a finite set of positions (a finite transposition/product); by Lemma they extend to permutations of all 2N positions.

Thus the composite permutation sends the initial state-with-encoded-input to an initial state with the encoded output. Because each permutation was a bijection on positions, it is valid in the model.


5. Why the hyperfinite N is important


6. Formal statement and proof sketch

Proposition (universality). Let C be any computation that is realizable using only finitely many bit positions, finitely many elementary reversible steps, and finitely many time steps. Then there exists a finite composition of coordinate permutations (Π∈⟨S2N⟩) (supported on a finite set of positions) such that, when the input of C is encoded into specified finite reserved positions of s0, the result of applying Π to that encoded initial state yields the encoding of C's output.

Proof (sketch).

  1. Convert C to a finite reversible permutation F on an n-bit state space (standard reversible-computation construction).
  2. Reserve a disjoint finite block P of 2n positions in the 2N coordinates and choose a bijection between n-bit strings and positions of P; encode inputs as one-hot tokens inside P.
  3. Realize F as a permutation on P; extend it to a permutation ΠF∈S2N (Lemma).
  4. The composition of permutations that encodes the input into P, then applies ΠF, then decodes the output, is a finite composition of allowed operations and realizes C.

Because each step uses only finitely many positions and N is hyperfinite (so we have room), this works for any standard finite computation C. ∎


7. Remarks and variants


8. Conclusion (informal)

Because a hyper-finite string of length 2N contains arbitrarily large finite blocks, and because any finite bijection can be extended to a global permutation, every standard finite computation can be implemented inside this permutation-only model by reserving finite regions for encoding and wiring and realising the computation as a finite permutation of positions. Thus the model is universal for all finitely realizable computations.