Upper-branch frequency on a uniform gyroscopic ring
DefinitionPinnedAsymmetry_omegaFix real numbers (on-site stiffness), (neighbour coupling), (gyroscopic strength) and a wavenumber . The upper-branch frequency of a wave with wavenumber on a uniform ring is
When the quantity under the square root is non-negative, is a root of the dispersion relation (milestone M1).
Formalization Note The square root is Real.sqrt, which returns on negative inputs; no sign conditions are placed on .
import Mathlib open Real namespace PinnedAsymmetry /-- Upper-branch frequency on a uniform ring: stiffness K, neighbour coupling c, gyroscopic strength β, wavenumber q. -/ noncomputable def omega (K c β q : ℝ) : ℝ := β * c * sin q + Real.sqrt ((β * c * sin q) ^ 2 + K + 2 * c * (1 - cos q)) end PinnedAsymmetry
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Definition PinnedAsymmetry.omega. This defines a real-valued function of four real arguments , in that order. Nothing restricts the arguments: , and can be any real numbers, including zero and negative values, and is any real number used as an angle in radians inside the real sine and cosine. Write
The definition is
Here is Mathlib's total real square root. For it returns the unique nonnegative with . For every it returns exactly , with no error and no complex value. Its output is always . Only the "" branch of the root appears. Nothing in the definition selects a "" branch, and there is no division.
Edge cases the definition allows:
- The radicand is at most zero. This happens when . Since and , can be negative only if , or if with . In that case the square root silently becomes and .
- The sign of . If , then , so . If and , then is negative.
- Special values.
- When is a multiple of , and , so . This equals when and when .
- When or , , so .
- When , this reduces further to for every and .
The declaration is marked noncomputable. It is only a definition and asserts no property of .
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.