Encyclopedia Acoustics Acoustics Music Pitch Jndfrom Jcost Pitch Jndfraction Pos
ARTICLE 4 claims 2 theorems 1 model
Acoustics Music Pitch Jndfrom Jcost Pitch Jndfraction Pos
A machine-checked theorem proves the framework's proposed pitch discrimination step is a positive fraction of an octave, but the link to human hearing remains a prediction.
The pitch JND fraction
The just-noticeable difference (JND) for musical pitch is the smallest frequency change a listener can reliably detect. Trained listeners typically hear changes of about 5 to 10 cents, where 100 cents make a semitone and 1200 make an octave. Untrained listeners need roughly a full semitone. The Recognition Science framework, a research program that derives physical structure from a forced cost of recognition, offers a specific candidate for this perceptual step.
In the framework, the canonical pitch JND is tied to the recognition quantum J(φ) ≈ 0.118, where φ is the golden ratio (about 1.618). The proposed step is one-eighth of a semitone, derived from an eight-tick recognition cycle. The framework's library, a machine-checked collection of formal theorems, defines the pitch JND fraction as the reciprocal of φ raised to the eighth power: 1/φ⁸. The theorem pitchJNDFraction_pos proves this value is greater than zero, and a companion theorem proves it is less than one. Together they certify that the proposed step is a proper fraction of an octave, not zero, not negative, and not larger than the whole octave.
Numerically, 1/φ⁸ is about 0.0081, and the corresponding frequency ratio is about 1.0057. That ratio translates to roughly 5.7 cents, squarely inside the 3 to 20 cent range reported for trained listeners. The framework's account models the pitch JND as a small, fixed fraction of the octave, and the mathematics guarantees that fraction is well-behaved: positive, less than one, and consistent with the cost function being zero at unison and nonnegative for all positive frequency ratios.
What the theorem does not do is measure human hearing. The value 5.7 cents is a prediction, not a measurement. The framework names its falsifier: any psychoacoustic study showing trained-listener pitch JND consistently outside the 3 to 20 cent range would count against the prediction. The theorem itself only proves a fact about a defined real number; it says nothing about whether that number matches perception. That comparison is an empirical check, not a formal result.
THEOREM pitchJNDFraction_pos · IndisputableMonolith/Acoustics/MusicPitchJNDFromJCost.lean
theorem pitchJNDFraction_pos : 0 < pitchJNDFraction := by
unfold pitchJNDFraction
apply inv_pos.mpr
apply pow_pos Constants.phi_pos
THEOREM pitchJNDFraction_lt_one · IndisputableMonolith/Acoustics/MusicPitchJNDFromJCost.lean
theorem pitchJNDFraction_lt_one : pitchJNDFraction < 1 := by
unfold pitchJNDFraction
rw [inv_lt_one_iff₀]
right
apply one_lt_pow₀ one_lt_phi
norm_num
MODEL pitchJNDFraction · IndisputableMonolith/Acoustics/MusicPitchJNDFromJCost.lean
/-- Pitch JND fraction of the octave: 1/φ⁸. -/
def pitchJNDFraction : ℝ := (phi ^ (8 : ℕ))⁻¹
HYPOTHESIS pitchJNDFraction · IndisputableMonolith/Acoustics/MusicPitchJNDFromJCost.lean
/-- Pitch JND fraction of the octave: 1/φ⁸. -/
def pitchJNDFraction : ℝ := (phi ^ (8 : ℕ))⁻¹
What this page does not claim
The theorem does not prove that human listeners actually have a 5.7 cent JND. The theorem does not establish that the golden ratio appears in human auditory perception. The theorem does not measure the JND; it only proves a property of a defined number.
Verify this page
Every tagged claim above names its theorem. To check one yourself rather than trust this page, elaborate the source module with Lean 4 and audit its axiom basis:
$ lake env lean IndisputableMonolith/Acoustics/MusicPitchJNDFromJCost.lean
expected axiom basis: [propext, Classical.choice, Quot.sound] (the Lean kernel's standard three; no RS-specific axioms)
A page whose claims cannot be reproduced this way does not ship. In production, every anchor links to the exact declaration in the public source release, and this block carries the build receipt for the page itself.
Derived articles
This page is generated by a question-recursion engine: the questions its answers raise become the next pages. The current agenda, with open targets marked red:
- What psychoacoustic evidence currently supports or challenges the 3 to 20 cent trained-listener JND range?
- How does the eight-tick recognition cycle derive from the forced cost function?
- Does the framework predict a JND for untrained listeners, and if so, what value?
- How does the pitch JND fraction relate to the framework's derivation of three spatial dimensions?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM pitchJNDFraction_pos · IndisputableMonolith/Acoustics/MusicPitchJNDFromJCost.lean
theorem pitchJNDFraction_pos : 0 < pitchJNDFraction := by unfold pitchJNDFraction apply inv_pos.mpr apply pow_pos Constants.phi_posThe theorem pitchJNDFraction_pos proves this value is greater than zero. pitchJNDFraction_pos · IndisputableMonolith/Acoustics/MusicPitchJNDFromJCost.leanTHEOREM pitchJNDFraction_lt_one · IndisputableMonolith/Acoustics/MusicPitchJNDFromJCost.lean
theorem pitchJNDFraction_lt_one : pitchJNDFraction < 1 := by unfold pitchJNDFraction rw [inv_lt_one_iff₀] right apply one_lt_pow₀ one_lt_phi norm_numA companion theorem proves it is less than one. pitchJNDFraction_lt_one · IndisputableMonolith/Acoustics/MusicPitchJNDFromJCost.leanMODEL pitchJNDFraction · IndisputableMonolith/Acoustics/MusicPitchJNDFromJCost.lean
/-- Pitch JND fraction of the octave: 1/φ⁸. -/ def pitchJNDFraction : ℝ := (phi ^ (8 : ℕ))⁻¹The framework's account models the pitch JND as a small, fixed fraction of the octave. pitchJNDFraction · IndisputableMonolith/Acoustics/MusicPitchJNDFromJCost.leanHYPOTHESIS pitchJNDFraction · IndisputableMonolith/Acoustics/MusicPitchJNDFromJCost.lean
/-- Pitch JND fraction of the octave: 1/φ⁸. -/ def pitchJNDFraction : ℝ := (phi ^ (8 : ℕ))⁻¹The value 5.7 cents is a prediction, not a measurement. pitchJNDFraction · IndisputableMonolith/Acoustics/MusicPitchJNDFromJCost.lean