The interval vector of a pitch-class set #
For a pitch-class set A ⊆ ℤ/12, IVraw A k counts the ordered pairs (a, b) ∈ A × A whose
interval class min (a - b).val (b - a).val is k; the textbook interval vector is
IVraw A k / 2. The interval class is written so that invariance under negation is min_comm;
invariance is proved once for every embedding of ℤ/12 preserving differences up to sign, and
transposition and inversion are special cases.
Main results #
IVraw_map: invariance under a difference-class-preserving embedding.IVraw_tpose,IVraw_invert: the interval vector is invariant under transposition and inversion.
References #
- C. Marín, One transform and one duality: a machine-checked core of music theory in Lean 4, Zenodo (2026), doi:10.5281/zenodo.20953767.
Raw interval vector: number of ORDERED pairs (a,b) ∈ A×A with interval class k.
The textbook interval vector is IVraw A k / 2 for k = 1..6 (each unordered pair twice).
Equations
- MusicTheory.IntervalVector.IVraw A k = ∑ a ∈ A, ∑ b ∈ A, if MusicTheory.IntervalVector.ivc (a - b) = k then 1 else 0
Instances For
Transposition Tₙ : a ↦ a + n.
Equations
- MusicTheory.IntervalVector.tpose n A = Finset.map { toFun := fun (x : ZMod 12) => x + n, inj' := ⋯ } A
Instances For
Inversion I : a ↦ −a.
Equations
- MusicTheory.IntervalVector.invert A = Finset.map { toFun := fun (x : ZMod 12) => -x, inj' := MusicTheory.IntervalVector.invert._proof_1 } A