Recursive structure of MOS scales: Difference between revisions
→Finding a generator: Fixed an error in one of the algorithms; replace some pseudocode with python code; will revisit for further rewriting (to newer, personal standards) |
|||
Line 409: | Line 409: | ||
Here, pᵢ + qᵢ = k and p₂ - p₁ ≥ 2. | Here, pᵢ + qᵢ = k and p₂ - p₁ ≥ 2. | ||
Let K = p₁(r + 1) + q₁r + k. | Let K = p₁(r + 1) + q₁r + k. Consider the following sizes for (K+1)-steps: | ||
# w₁(L, s) = the word sW₁(L<sup>r+1</sup>s, L<sup>r</sup>s) [W₁ interpreted as a subword of the original mos], with (k + 1) s's | # w₁(L, s) = the word sW₁(L<sup>r+1</sup>s, L<sup>r</sup>s) [W₁ interpreted as a subword of the original mos], with (k + 1) s's | ||
# w₂(L, s) = the first K+1 letters of W₂(L<sup>r+1</sup>s, L<sup>r</sup>s) | # w₂(L, s) = the first K+1 letters of W₂(L<sup>r+1</sup>s, L<sup>r</sup>s) | ||
Line 429: | Line 429: | ||
w3: <L ... sXL ... sXL ... sXL ... s> | w3: <L ... sXL ... sXL ... sXL ... s> | ||
Truncate the strings as follows: | Truncate the strings as follows, to get three distinct K-steps in w: | ||
w1': L ... [lop off the s at the beginning of w1, so we have k s's] | w1': L ... [lop off the s at the beginning of w1, so we have k s's] | ||
w2': <L ... sXL ... sXL ... sXL ... ] [lop off one s at the end of w2, so one fewer s than w3] | w2': <L ... sXL ... sXL ... sXL ... ] [lop off one s at the end of w2, so this has one fewer s than w3'] | ||
w3': <L ... sXL ... sXL ... sXL ... s> [lop off an L at the beginning of w3, result has at most k-1 s's] | w3': <L ... sXL ... sXL ... sXL ... s> [lop off an L at the beginning of w3, result has at most k-1 s's] | ||
so this contradicts our original scale being a mos. | so this contradicts our original scale being a mos. |