The Hilbert-hotel row bijection of a companion #
For an allowed path π and a threshold N, shiftRows hπ N : Row A ⊕ Unit ≃ Row A sends the
path row to the prefix π|ₙ, each tail prefix π|ₖ with k ≥ N to π|ₖ₊₁, and every other
row to itself. Its inverse sends π|ₙ back to the path row, π|ₖ₊₁ (k ≥ N) to π|ₖ, and fixes
the rest. The case N = 0 shifts every prefix and sends the path row to the empty row.
This layer has no component language or structure parameters: it is a bijection of rows, well
defined because prefixes of different lengths are different rows (prefixRow_injective). The
tail-prefix predicate has the finite characterization isTailPrefix_iff: a row is a tail prefix
iff its length is at least N and it is the prefix of its own length; no search over an unknown
length is needed. The construction is noncomputable (classical decisions); no effectiveness is
claimed.
Tail prefixes #
A row is a tail prefix of π at threshold N: some π|ₖ with k ≥ N.
Equations
- FirstOrder.Language.FiberAssembly.IsTailPrefix hπ N r = ∃ (k : ℕ), N ≤ k ∧ r = FirstOrder.Language.FiberAssembly.prefixRow hπ k
Instances For
The finite characterization: a tail prefix is the prefix of its own length, which is at
least N.
The length of a tail prefix is at least N.
A tail prefix is the prefix of its own length.
The bijection #
The Hilbert-hotel row bijection at threshold N: the path row goes to π|ₙ, each tail
prefix π|ₖ (k ≥ N) to π|ₖ₊₁, every other row to itself.
Equations
- One or more equations did not get rendered due to their size.