Ternary scale theorems: Difference between revisions

Inthar (talk | contribs)
Inthar (talk | contribs)
mNo edit summary
Line 1: Line 1:
A ''[[arity|ternary]] scale'' is a scale with three (positive) step sizes, with no other constraints such as maximum variety. This page documents known properties of subtypes of ternary scales and their proofs.
A ''[[arity|ternary]] scale'' is a scale with three (positive) step sizes, with no other constraints such as maximum variety. This page documents known properties of subtypes of ternary scales and their proofs.
== Conventions ==
== Conventions ==
* Bolded Latin variables refer to interval sizes (more properly, Parikh vectors), for example step sizes.
* Bolded Latin variables refer to dyad sizes (more properly, Parikh vectors), for example step sizes.
* Indices for all words are 1-indexed.
* Indices for all words are 1-indexed.
** If ''S'' is a circular word and ''i'' < 1 or ''i'' > len(''S''), we first replace ''i'' with ''i'' % len(''S'') + 1 before using it as an argument in ''S''[-].
** If ''S'' is a circular word and ''i'' < 1 or ''i'' > len(''S''), we first replace ''i'' with ''i'' % len(''S'') + 1 before using it as an argument in ''S''[-].
* The notation ''S''('''X'''<sub>1</sub>, ..., '''X'''<sub>''r''</sub>) is used for an ''r''-ary scale word with variables '''X'''<sub>1</sub>, ..., '''X'''<sub>''r''</sub> possibly standing in for any sizes. If ''S''('''X''', '''Y''') = '''XXY''' then ''S''('''A''', '''B''') = '''AAB'''.
* The notation ''S''('''X'''<sub>1</sub>, ..., '''X'''<sub>''r''</sub>) is used for an ''r''-ary scale word with variables '''X'''<sub>1</sub>, ..., '''X'''<sub>''r''</sub> possibly standing in for any sizes. If ''S''('''X''', '''Y''') = '''XXY''' then ''S''('''A''', '''B''') = '''AAB'''.
* We leave the distinction between linear words (words in the ordinary sense) and circular words up to context. We usually also elide the distinction between subwords and the interval sizes that subtend them.
* We leave the distinction between linear words (words in the ordinary sense) and circular words up to context. We usually also elide the distinction between subwords and the dyad sizes that subtend them.
* For a word ''w'' and letter '''x''', |''w''|<sub>'''x'''</sub> denotes the number of occurrences of the letter '''x''' in ''w''. For an abstract interval size '''v''', |'''v'''|<sub>'''x'''</sub> is similar.
* For a word ''w'' and letter '''x''', |''w''|<sub>'''x'''</sub> denotes the number of occurrences of the letter '''x''' in ''w''. For an abstract dyad size '''v''', |'''v'''|<sub>'''x'''</sub> is similar.


== Definitions ==
== Definitions ==
* ''Dyad'' is used for the musical sense of ''interval'' to avoid confusion with the mathematical sense of ''interval''.
* A circular word ''S'' (representing the steps of a [[periodic scale]]) of size ''n'' is '''generator-offset''' if it satisfies the following properties. The following conditions do not imply that '''g'''<sub>1</sub> and '''g'''<sub>2</sub> are the same number of scale steps. For example, 5-limit [[blackdye]] has '''g'''<sub>1</sub> = 9/5 (a 9-step)  and '''g'''<sub>2</sub> = 5/3 (a 7-step).
* A circular word ''S'' (representing the steps of a [[periodic scale]]) of size ''n'' is '''generator-offset''' if it satisfies the following properties. The following conditions do not imply that '''g'''<sub>1</sub> and '''g'''<sub>2</sub> are the same number of scale steps. For example, 5-limit [[blackdye]] has '''g'''<sub>1</sub> = 9/5 (a 9-step)  and '''g'''<sub>2</sub> = 5/3 (a 7-step).
*# ''S'' is generated by two chains of stacked generators g separated by a fixed offset δ; either both chains are of size ''n''/2, or one chain has size (''n'' + 1)/2 and the second has size (''n''&nbsp;&minus;&nbsp;1)/2. Equivalently, ''S'' can be built by stacking a single chain of alternants '''g'''<sub>1</sub> and '''g'''<sub>2</sub>, resulting in a circle of the form either '''g'''<sub>1</sub> '''g'''<sub>2</sub> ... '''g'''<sub>1</sub> '''g'''<sub>2</sub> '''g'''<sub>1</sub> '''g'''<sub>3</sub> or '''g'''<sub>1</sub> '''g'''<sub>2</sub> ... '''g'''<sub>1</sub> '''g'''<sub>2</sub> '''g'''<sub>3</sub>.
*# ''S'' is generated by two chains of stacked generators g separated by a fixed offset δ; either both chains are of size ''n''/2, or one chain has size (''n'' + 1)/2 and the second has size (''n''&nbsp;&minus;&nbsp;1)/2. Equivalently, ''S'' can be built by stacking a single chain of alternants '''g'''<sub>1</sub> and '''g'''<sub>2</sub>, resulting in a circle of the form either '''g'''<sub>1</sub> '''g'''<sub>2</sub> ... '''g'''<sub>1</sub> '''g'''<sub>2</sub> '''g'''<sub>1</sub> '''g'''<sub>3</sub> or '''g'''<sub>1</sub> '''g'''<sub>2</sub> ... '''g'''<sub>1</sub> '''g'''<sub>2</sub> '''g'''<sub>3</sub>.
Line 52: Line 53:
In case 1, let '''g'''<sub>1</sub> = (2, 1) &minus; (1, 1), '''g'''<sub>2</sub> = (1, 2) &minus; (2, 1), and '''g'''<sub>3</sub> = (1, 1) &minus; (''n''/2, 2) = ((&minus;''n''/2 &minus; 1)*'''g'''<sub>1</sub> &minus; ''n''/2*'''g'''<sub>2</sub>) mod '''e'''. We assume that '''g'''<sub>1</sub>, '''g'''<sub>2</sub> and '''e''' are ℤ-linearly independent. We have the chain '''g'''<sub>1</sub> '''g'''<sub>2</sub> '''g'''<sub>1</sub> '''g'''<sub>2</sub> ... '''g'''<sub>1</sub> '''g'''<sub>3</sub> which visits every note in ''S''.  
In case 1, let '''g'''<sub>1</sub> = (2, 1) &minus; (1, 1), '''g'''<sub>2</sub> = (1, 2) &minus; (2, 1), and '''g'''<sub>3</sub> = (1, 1) &minus; (''n''/2, 2) = ((&minus;''n''/2 &minus; 1)*'''g'''<sub>1</sub> &minus; ''n''/2*'''g'''<sub>2</sub>) mod '''e'''. We assume that '''g'''<sub>1</sub>, '''g'''<sub>2</sub> and '''e''' are ℤ-linearly independent. We have the chain '''g'''<sub>1</sub> '''g'''<sub>2</sub> '''g'''<sub>1</sub> '''g'''<sub>2</sub> ... '''g'''<sub>1</sub> '''g'''<sub>3</sub> which visits every note in ''S''.  


Since ''S'' is generator-offset it is well-formed with respect to the aggregate generator '''g''' = ('''g'''<sub>2</sub> + '''g'''<sub>1</sub>). Since '''g'''<sub>1</sub> and '''g'''<sub>2</sub> subtend the same number of steps, all multiples of the aggregate generator '''g''' must be even-steps, and those intervals that are "offset" by '''g'''<sub>1</sub> must be odd-steps. Letting ''M'' be the subset consisting of all even-numbered notes (which are generated by '''g''') and considering ''M'' as a scale by dividing degree indices in ''M'' by two, ''M'' is well-formed with respect to '''g''', thus ''M'' (and its offset) must be a mos subset. Hence ('''g'''<sub>3</sub> + '''g'''<sub>1</sub>), the imperfect generator of the mos generated by '''g''', subtends the same number of steps as '''g'''. Thus '''g'''<sub>2</sub> and '''g'''<sub>3</sub> subtend the same number of steps, a fact we need in order to be able to substitute one instance of '''g'''<sub>2</sub> with '''g'''<sub>3</sub> in the next part.
Since ''S'' is generator-offset it is well-formed with respect to the aggregate generator '''g''' = ('''g'''<sub>2</sub> + '''g'''<sub>1</sub>). Since '''g'''<sub>1</sub> and '''g'''<sub>2</sub> subtend the same number of steps, all multiples of the aggregate generator '''g''' must be even-steps, and those dyads that are "offset" by '''g'''<sub>1</sub> must be odd-steps. Letting ''M'' be the subset consisting of all even-numbered notes (which are generated by '''g''') and considering ''M'' as a scale by dividing degree indices in ''M'' by two, ''M'' is well-formed with respect to '''g''', thus ''M'' (and its offset) must be a mos subset. Hence ('''g'''<sub>3</sub> + '''g'''<sub>1</sub>), the imperfect generator of the mos generated by '''g''', subtends the same number of steps as '''g'''. Thus '''g'''<sub>2</sub> and '''g'''<sub>3</sub> subtend the same number of steps, a fact we need in order to be able to substitute one instance of '''g'''<sub>2</sub> with '''g'''<sub>3</sub> in the next part.


Let ''r'' be odd and ''r'' ≥ 3. Consider the following abstract sizes for the interval class of ''k''-steps reached by stacking ''r'' generators:
Let ''r'' be odd and ''r'' ≥ 3. Consider the following abstract sizes for the dyad class of ''k''-steps reached by stacking ''r'' generators:
# from '''g'''<sub>1</sub> '''g'''<sub>2</sub> ... '''g'''<sub>1</sub>, we get a<sub>1</sub> = (''r'' &minus; 1)/2 * '''g''' + '''g'''<sub>1</sub> = ceil(''r''/2) '''g'''<sub>1</sub> + floor(''r''/2) '''g'''<sub>2</sub>  
# from '''g'''<sub>1</sub> '''g'''<sub>2</sub> ... '''g'''<sub>1</sub>, we get a<sub>1</sub> = (''r'' &minus; 1)/2 * '''g''' + '''g'''<sub>1</sub> = ceil(''r''/2) '''g'''<sub>1</sub> + floor(''r''/2) '''g'''<sub>2</sub>  
# from '''g'''<sub>2</sub> '''g'''<sub>1</sub> ... '''g'''<sub>2</sub>, we get a<sub>2</sub> = (''r'' &minus; 1)/2 * '''g''' + '''g'''<sub>2</sub> = floor(''r''/2) '''g'''<sub>1</sub> + ceil(''r''/2) '''g'''<sub>2</sub>
# from '''g'''<sub>2</sub> '''g'''<sub>1</sub> ... '''g'''<sub>2</sub>, we get a<sub>2</sub> = (''r'' &minus; 1)/2 * '''g''' + '''g'''<sub>2</sub> = floor(''r''/2) '''g'''<sub>1</sub> + ceil(''r''/2) '''g'''<sub>2</sub>
Line 70: Line 71:


==== Statement (3) ====
==== Statement (3) ====
We only need to see that if len(''S'') is odd and ''S'' is SGA, ''S'' is abstractly SV3. But the argument in case 2 above works when you substitute any odd-step interval classes in ''S'' instead of a 1-step (abstract SV3 wasn't used). To get even-step interval classes, we can take octave complements. Hence any interval class in such a scale comes in (abstractly) exactly 3 sizes.
We only need to see that if len(''S'') is odd and ''S'' is SGA, ''S'' is abstractly SV3. But the argument in case 2 above works when you substitute any odd-step dyad classes in ''S'' instead of a 1-step (abstract SV3 wasn't used). To get even-step dyad classes, we can take octave complements. Hence any dyad class in such a scale comes in (abstractly) exactly 3 sizes.


==== Statement (4) ====
==== Statement (4) ====
Line 130: Line 131:


==== Two sizes of ''k''-steps in ''S'' project to ''S''<sub>1</sub>'s perfect generator ====
==== Two sizes of ''k''-steps in ''S'' project to ''S''<sub>1</sub>'s perfect generator ====
We can write sizes of intervals in ''S'' as vectors (''p'', ''q'', ''r'') using the basis ('''a''', '''b''', '''c''').  
We can write sizes of dyads in ''S'' as vectors (''p'', ''q'', ''r'') using the basis ('''a''', '''b''', '''c''').  


Suppose for sake of contradiction that only one size of ''k''-step ('''α''', '''β''', '''γ''') in ''S'' projects to '''P''' in ''S''<sub>1</sub>. Then projecting to ''S''<sub>2</sub> shows that ''S''<sub>2</sub>'s generator is the ''k''-step (α + γ)*('''a'''~'''c''') + β'''b''', and Σ<sub>2</sub>'s imperfect generator is located at index ''n'', like Σ<sub>1</sub>'s imperfect generator is. Then ''S''<sub>1</sub> and ''S''<sub>2</sub> are the same mode of the same mos pattern (up to knowing which step size is the bigger one). Assume the '''L''' of ''S''<sub>1</sub> (it could be '''s''', but it doesn't matter) is the result of identifying '''b''' and '''c''', and all '''s''' steps in ''S''<sub>1</sub> come from '''a'''. Then the steps of ''S''<sub>2</sub> corresponding to the '''L''' of ''S''<sub>1</sub> must be either all '''b''''s or all '''a'''~'''c''''s, thus these steps are all '''b''''s in ''S'' (otherwise they would be identified with the '''a''', against the assumption that ''S''<sub>1</sub> and ''S''<sub>2</sub> are the same mos pattern and mode). So ''S'' has only two step sizes (a and b), contradicting the assumption that ''S'' is ternary.
Suppose for sake of contradiction that only one size of ''k''-step ('''α''', '''β''', '''γ''') in ''S'' projects to '''P''' in ''S''<sub>1</sub>. Then projecting to ''S''<sub>2</sub> shows that ''S''<sub>2</sub>'s generator is the ''k''-step (α + γ)*('''a'''~'''c''') + β'''b''', and Σ<sub>2</sub>'s imperfect generator is located at index ''n'', like Σ<sub>1</sub>'s imperfect generator is. Then ''S''<sub>1</sub> and ''S''<sub>2</sub> are the same mode of the same mos pattern (up to knowing which step size is the bigger one). Assume the '''L''' of ''S''<sub>1</sub> (it could be '''s''', but it doesn't matter) is the result of identifying '''b''' and '''c''', and all '''s''' steps in ''S''<sub>1</sub> come from '''a'''. Then the steps of ''S''<sub>2</sub> corresponding to the '''L''' of ''S''<sub>1</sub> must be either all '''b''''s or all '''a'''~'''c''''s, thus these steps are all '''b''''s in ''S'' (otherwise they would be identified with the '''a''', against the assumption that ''S''<sub>1</sub> and ''S''<sub>2</sub> are the same mos pattern and mode). So ''S'' has only two step sizes (a and b), contradicting the assumption that ''S'' is ternary.
Line 167: Line 168:
# the stack has only copies of '''Q''' and '''R'''; or
# the stack has only copies of '''Q''' and '''R'''; or
# the stack has one '''T''' and does not contain any '''R''' (since it's more than ''f'' &minus; 1 generators away).
# the stack has one '''T''' and does not contain any '''R''' (since it's more than ''f'' &minus; 1 generators away).
These give exactly three distinct sizes for every interval class. Hence ''S'' is SV3.
These give exactly three distinct sizes for every dyad class. Hence ''S'' is SV3.


In this case S has two chains of '''Q''', one with floor(''n''/2) notes and one offset by '''Q'''<sup>(''f''&minus;1)</sup>R with ceil(''n''/2) notes. Every instance of Q must be a ''k''-step, since by ℤ-linear independence '''Q''' = α'''a''' + β'''b''' + γ'''c''' is the only way to write '''Q''' in the basis ('''a''', '''b''', '''c'''); so ''S'' is well-formed with respect to '''Q'''. Thus ''S'' also satisfies the generator-offset property with generator '''Q'''.
In this case S has two chains of '''Q''', one with floor(''n''/2) notes and one offset by '''Q'''<sup>(''f''&minus;1)</sup>R with ceil(''n''/2) notes. Every instance of Q must be a ''k''-step, since by ℤ-linear independence '''Q''' = α'''a''' + β'''b''' + γ'''c''' is the only way to write '''Q''' in the basis ('''a''', '''b''', '''c'''); so ''S'' is well-formed with respect to '''Q'''. Thus ''S'' also satisfies the generator-offset property with generator '''Q'''.
Line 224: Line 225:
All pairwise-well-formed scales are [[balanced]].
All pairwise-well-formed scales are [[balanced]].
=== Proof ===
=== Proof ===
Let ''S'' be a PWF scale. The case where ''S'' is equivalent to '''XYXZXYX''' can be manually verified, so by Theorem 4, the only remaining case is when ''S'' can be constructed by stacking two alternating sizes, '''g'''<sub>1</sub> and '''g'''<sub>2</sub>, of ''k''-steps. We assume that ''S'' has scale signature ''a'''''X''' ''b'''''Y''' ''b'''''Z''' where ''a'' is odd. This ''k'' corresponds to a class of generators of the primitive MOS ''a'''''X''' 2''b'''''W'''. This MOS is obtained from ''S'' by applying the function π such that π('''X''') = '''X''' and π('''Y''') = π('''Z''') = '''W'''. Naturally, π applies to abstract interval sizes. Additionally, we can choose ''k'' so that the two sizes of ''k''-steps in π(''S'') are:
Let ''S'' be a PWF scale. The case where ''S'' is equivalent to '''XYXZXYX''' can be manually verified, so by Theorem 4, the only remaining case is when ''S'' can be constructed by stacking two alternating sizes, '''g'''<sub>1</sub> and '''g'''<sub>2</sub>, of ''k''-steps. We assume that ''S'' has scale signature ''a'''''X''' ''b'''''Y''' ''b'''''Z''' where ''a'' is odd. This ''k'' corresponds to a class of generators of the primitive MOS ''a'''''X''' 2''b'''''W'''. This MOS is obtained from ''S'' by applying the function π such that π('''X''') = '''X''' and π('''Y''') = π('''Z''') = '''W'''. Naturally, π applies to abstract dyad sizes. Additionally, we can choose ''k'' so that the two sizes of ''k''-steps in π(''S'') are:
* the perfect generator '''g''' = ''t'''''X''' + (''k'' &minus; ''t'')'''W''' (note (''k'' &minus; ''t'') is odd by a previous proof), and
* the perfect generator '''g''' = ''t'''''X''' + (''k'' &minus; ''t'')'''W''' (note (''k'' &minus; ''t'') is odd by a previous proof), and
* the imperfect generator '''i''' = (''t'' + 1)'''X''' + (''k'' &minus; ''t'' &minus; 1)'''W'''.
* the imperfect generator '''i''' = (''t'' + 1)'''X''' + (''k'' &minus; ''t'' &minus; 1)'''W'''.