Babbitt's common-tone theorem and the generalised hexachord theorem over ℤ_n #
For S ⊆ ℤ_n, the tones common to S and its transposition S + k number the k-th entry of the
interval class vector for 2k < n, and twice it at the tritone 2k = n (Babbitt). For every n
and every S with |S| = s, the interval class vectors of S and its complement differ by exactly
n − 2s in every entry 2i < n and by n/2 − s at the tritone (the generalised hexachord theorem,
with signs and for odd n too). Proof: the n ordered pairs (a, a + d) split into pairs inside
S, inside the complement and across.
Main results #
Hexachord.card_inter_image_add: Babbitt: |S ∩ (S + k)| = icv_k (2k < n), = 2 icv_k (2k = n)Hexachord.icv_compl: generalised hexachord theorem with signs, every nHexachord.babbitt_and_hexachord: both (Theorem of the Day)
References #
- R. Whitty, Theorem of the Day, «Milton Babbitt's Theorem» (MusicAndArt/Babbitt) and «The Generalised Hexachord Theorem» (MusicAndArt/Hexachord).
- M. Babbitt, D. Lewin (1950s); E. Amiot, A. Fourier-proof of the hexachord theorem (2006).
The i-th entry of the interval class vector of S ⊆ ℤ_n: the number of pairs a < b in S (by value in
{0, …, n−1}) with min (b − a) (n − (b − a)) = i.
Equations
Instances For
Babbitt's common-tone theorem, both parts.
theorem
Hexachord.babbitt_and_hexachord
(n : ℕ)
[NeZero n]
(S : Finset (ZMod n))
:
(∀ (k : ℕ), 1 ≤ k → 2 * k < n → (S ∩ Finset.image (fun (x : ZMod n) => x + ↑k) S).card = icv S k) ∧ (∀ (k : ℕ), 1 ≤ k → 2 * k = n → (S ∩ Finset.image (fun (x : ZMod n) => x + ↑k) S).card = 2 * icv S k) ∧ (∀ (i : ℕ), 1 ≤ i → 2 * i < n → ↑(icv Sᶜ i) = ↑(icv S i) + (↑n - 2 * ↑S.card)) ∧ ∀ (i : ℕ), 1 ≤ i → 2 * i = n → ↑(icv Sᶜ i) = ↑(icv S i) + (↑i - ↑S.card)