Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

The asymmetry does not depend on the transverse wavenumbers

Proved
PinnedAsymmetryQ.asymmetry_indep_transverse

by ShapeZero · Sep 24, 2026 · Mathlib 0df444a (Lean v4.33.1)

latticemathematical-physicstrigonometry

Let q≥1q \ge 1q≥1, K,c,βK, c, \betaK,c,β real, and let k,k′∈Rqk, k' \in \mathbb{R}^qk,k′∈Rq have the same axis-0 component, k0=k0′k_0 = k'_0k0​=k0′​. Then

ω(k)−ω(kˉ)=ω(k′)−ω(k′ˉ).\omega(k) - \omega(\bar k) = \omega(k') - \omega(\bar{k'}).ω(k)−ω(kˉ)=ω(k′)−ω(k′ˉ).

The asymmetry depends only on k0k_0k0​: it is the same whatever the transverse components of the wavevector. This is the transverse-independence stated in the mission title.

Preamble
import Mathlib
import Definitions.Def_PinnedAsymmetryQ_omega

open Real BigOperators
Formal statement
namespace PinnedAsymmetryQ
theorem asymmetry_indep_transverse (q : ℕ) [NeZero q] (K c β : ℝ)
    (k k' : Fin q → ℝ) (h0 : k 0 = k' 0) :
    omega q K c β k - omega q K c β (flip0 q k)
      = omega q K c β k' - omega q K c β (flip0 q k') := by sorry
end PinnedAsymmetryQ
Source
Shape Zero LLC, "Formal Proofs of the C1 Verification Package" (August 2026), §7, Theorem 7.1 (extended to q axes): https://github.com/ShapeZeroSZ/shape-zero/blob/main/01_source/proofs/ShapeZero_C1_Formal_Proofs.pdf ; corrected in "Errata — C1 Formal Proofs (Sections 3 and 6)", "Related: the pinned asymmetry (Section 7)": https://github.com/ShapeZeroSZ/shape-zero/blob/main/01_source/proofs/ERRATUM_Theorem_6.1.md
Read-back

What the Lean code literally says, in plain math · claude-opus-5-5

Setting. Let qqq be a natural number with q≠0q \neq 0q=0, so q≥1q \ge 1q≥1. This is the only assumption on qqq, and it makes sure the index 000 exists in {0,1,…,q−1}\{0, 1, \dots, q-1\}{0,1,…,q−1}. Let K,c,βK, c, \betaK,c,β be arbitrary real numbers. There are no sign or size conditions on them, so KKK, ccc and β\betaβ may be negative or zero. Let k=(k0,…,kq−1)k = (k_0, \dots, k_{q-1})k=(k0​,…,kq−1​) and k′=(k0′,…,kq−1′)k' = (k'_0, \dots, k'_{q-1})k′=(k0′​,…,kq−1′​) be arbitrary vectors in Rq\mathbb{R}^qRq. The only hypothesis linking them is that their 000-th components are equal:

k0=k0′.k_0 = k'_0 .k0​=k0′​.

The other components kak_aka​ and ka′k'_aka′​ for a≥1a \ge 1a≥1 are completely unconstrained and may differ.

Definitions used. For a vector k∈Rqk \in \mathbb{R}^qk∈Rq, the function ω\omegaω (with parameters q,K,c,βq, K, c, \betaq,K,c,β) is

ω(k)  =  βcsin⁡(k0)  +   (βcsin⁡k0)2+K+2c∑a=0q−1(1−cos⁡ka) .\omega(k) \;=\; \beta c \sin(k_0) \;+\; \sqrt{\,(\beta c \sin k_0)^2 + K + 2c \sum_{a=0}^{q-1} \bigl(1 - \cos k_a\bigr)\,}.ω(k)=βcsin(k0​)+(βcsink0​)2+K+2ca=0∑q−1​(1−coska​)​.

The sum runs over all indices a=0,…,q−1a = 0, \dots, q-1a=0,…,q−1, including a=0a = 0a=0. Here ⋅\sqrt{\cdot}⋅​ is Mathlib's Real.sqrt. It gives the usual non-negative square root when the radicand is ≥0\ge 0≥0. When the radicand is negative it returns 000, not an error or a complex number. So whenever (βcsin⁡k0)2+K+2c∑a(1−cos⁡ka)<0(\beta c \sin k_0)^2 + K + 2c\sum_a(1-\cos k_a) < 0(βcsink0​)2+K+2c∑a​(1−coska​)<0, which can happen because KKK or ccc may be negative, the formula gives ω(k)=βcsin⁡k0\omega(k) = \beta c \sin k_0ω(k)=βcsink0​.

The "flip" of kkk is the vector k~\tilde kk~ that equals kkk except that its 000-th component is negated:

k~0=−k0,k~a=ka  (a≠0).\tilde k_0 = -k_0, \qquad \tilde k_a = k_a \ \ (a \neq 0).k~0​=−k0​,k~a​=ka​  (a=0).

This is Function.update, which overwrites exactly one coordinate. When q=1q = 1q=1, the only coordinate is 000, so k~=(−k0)\tilde k = (-k_0)k~=(−k0​).

Assertion. For all such q,K,c,β,k,k′q, K, c, \beta, k, k'q,K,c,β,k,k′ with k0=k0′k_0 = k'_0k0​=k0′​,

ω(k)−ω(k~)  =  ω(k′)−ω(k′~).\omega(k) - \omega(\tilde k) \;=\; \omega(k') - \omega(\tilde{k'}).ω(k)−ω(k~)=ω(k′)−ω(k′~).

In words, the difference between ω\omegaω at kkk and ω\omegaω at the vector with its 000-th component negated is the same for any two vectors that share the same 000-th component, whatever their remaining components are. Written out,

ω(k~)=−βcsin⁡k0+(βcsin⁡k0)2+K+2c(1−cos⁡k0)+2c∑a≥1(1−cos⁡ka).\omega(\tilde k) = -\beta c \sin k_0 + \sqrt{(\beta c \sin k_0)^2 + K + 2c\bigl(1-\cos k_0\bigr) + 2c\sum_{a\ge1}(1-\cos k_a)}.ω(k~)=−βcsink0​+(βcsink0​)2+K+2c(1−cosk0​)+2ca≥1∑​(1−coska​)​.

This holds because the squared term is unchanged and the a=0a=0a=0 summand becomes 1−cos⁡(−k0)1 - \cos(-k_0)1−cos(−k0​). The statement is asserted for every real K,c,βK, c, \betaK,c,β, including the case where the radicands are negative and the square roots are truncated to 000.

Degenerate cases. When q=1q = 1q=1, the hypothesis k0=k0′k_0 = k'_0k0​=k0′​ forces k=k′k = k'k=k′, so the two sides are literally the same expression. When c=0c = 0c=0, ω(k)=K\omega(k) = \sqrt{K}ω(k)=K​ (truncated) for every kkk, so both sides are 000. When β=0\beta = 0β=0 or sin⁡k0=0\sin k_0 = 0sink0​=0, the linear term vanishes. The proof is left as sorry; this read-back records only what is stated.

Human review
  • Endorsed by Shuze Chen · Sep 24, 2026

    Confirmed by the moderator at approval.

  • Endorsed by ShapeZero · Sep 24, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me