User:Arseniiv/Three-gap theorem

From Xenharmonic Wiki
Jump to navigation Jump to search

This is my attempt at proving the three-gap theorem with added MOS-related extended facts all with a single construction, so to speak.

Right now (2026-04-15) I'm looking at the interval matrix, reordered to reflect the generator chain.

Preliminaries

TODO: continued fractions are bound to get used, write on their matrix composition representation using [math]\displaystyle{ S = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} }[/math] and [math]\displaystyle{ A = \begin{bmatrix} 1 & 1 \\ 0 & 1 \end{bmatrix} }[/math].

Setting

Here we as usual for this topic work in logarithmic interval domain. Period is just 1, and generator size is g ∈ (0; 1). It's stacked N ≥ 1 times to get N + 1 notes [math]\displaystyle{ a_m = \{ m g \}, m\in 0..N }[/math] where {x} denotes the fractional part of x (equivalently, x mod 1), though it may be useful to replace 0 with 1 in some cases (hopefully not). Note that [math]\displaystyle{ a_m }[/math] go in generator chain order, not in the circular order of their pitch classes.

Denote an interval from [math]\displaystyle{ a_m }[/math] upwards to [math]\displaystyle{ a_n }[/math] as [math]\displaystyle{ (m, n) }[/math]. Let a genchain interval matrix [math]\displaystyle{ I_{m,n} = \{ a_n - a_m \} = \{ (n - m) g \} }[/math] contain sizes of each interval.

Example for 12edo diatonic and N = 3: [math]\displaystyle{ \frac1{12} \begin{bmatrix} 0 & 7 & 2 & 9 \\ 5 & 0 & 7 & 2 \\ 10 & 5 & 0 & 7 \\ 3 & 10 & 5 & 0 \end{bmatrix} }[/math].

This kind of matrix looks like an overkill because all its values repeat in diagonals parallel to the main diagonal. It starts to look less so when we mark current scale steps (select a single element in each row and column, as pitches and steps alternate). Other trivial things to note for now are:

  • matrices for smaller scale sizes are submatrices aligned to the top right;
  • likewise, after stacking another generator up, we just extend the matrix with a row and a column;
  • each interval size is encountered once in the last row and column.

A bit less trivial is that "projecting" an element onto last row and column splits it (modulo 1): [math]\displaystyle{ \{ I_{m,N} + I_{N,n} \} = \{ (N - m + n - N) g \} = \{ (n - m) g \} = I_{m,n} }[/math]. The sum [math]\displaystyle{ I_{m,N} + I_{N,n} }[/math] is always 0 or 1 larger than [math]\displaystyle{ I_{m,n} }[/math], in the former case really splitting the interval.

CLAIM 1a: Two smallest intervals among the bottom-right edge [math]\displaystyle{ (m, N) }[/math] and [math]\displaystyle{ (N, n) }[/math] are the splitting of a step of a scale one generator less.
CLAIM 1b: Only one of m, n can be zero, that is, at least one new step has a size that appears already at this point.
(To be proven later.)

This claim together with the fact that for N = 1 steps are always (0,1) and (1,0), lets us mark steps of any such scale (and discharge split ones): one step always copies diagonally down-right and another is replaced with their difference. One of the steps is always on the right column and another is always on the bottom row, not coinciding in a 0. (That's obvious for another reason: there should be a step in each row and column because the last generated pitch is incident to two steps.)

CLAIM 2: Steps of a scale with only two step sizes occupy the same wrapped diagonal, that is, for some constant C, [math]\displaystyle{ (m, n) }[/math] is a step if and only if [math]\displaystyle{ C = (n-m) \bmod (N+1) }[/math].
(To be proven later from {#LL + #ss} = 0.)
CLAIM 3a: After such a size, one of the new steps is (0, N) or (N, 0).
Because of the Claim 2, one of the old steps projects into a step of another old size and into one of those intervals, which depends on if its genspan was negative or positive (equivalently, if it sat on a lower or upper diagonal).
CLAIM 3b: That means if new steps aren't the same size, that one is a new size.
For now, a meh proof from contradiction: if the new steps are unequal and both happened before, then there should've been steps of both sizes in a scale one generator less, but there's also a third step size that was just split, so there were three step sizes in that scale, whereas we postulated just two.