The radicand is unchanged by reversing axis 0
ProvedPinnedAsymmetryQ.radicand_flipFor , all real and every , with ,
The quantity under the square root takes the same value for both propagation directions, since , , and the transverse terms are untouched.
import Mathlib import Definitions.Def_PinnedAsymmetryQ_omega open Real BigOperators
namespace PinnedAsymmetryQ
theorem radicand_flip (q : ℕ) [NeZero q] (K c β : ℝ) (k : Fin q → ℝ) :
(β * c * sin (flip0 q k 0)) ^ 2 + K + 2 * c * ∑ a : Fin q, (1 - cos (flip0 q k a))
= (β * c * sin (k 0)) ^ 2 + K + 2 * c * ∑ a : Fin q, (1 - cos (k a)) := by sorry
end PinnedAsymmetryQRead-back
What the Lean code literally says, in plain math · claude-opus-5-5
Setting. Let be a natural number with (this is the only assumption on ; it guarantees that the index set is nonempty, so the index exists; is allowed). Let be arbitrary real numbers with no sign, size or nonvanishing conditions (in particular may be negative and or may be ). Let be an arbitrary real vector indexed by . There are no further hypotheses.
The flip. Define the vector (the file's flip0) as with only its -th entry replaced by its negative, all other entries unchanged:
When , this is simply .
Claim. For all such , the following equality of real numbers holds:
where are the real sine and cosine (arguments in radians) and . That is, the expression takes the same value at and at . This is an exact equality of the raw expressions; no square root is taken and no nonnegativity of either side is asserted or assumed.
Context from the imported file. The expression is exactly the quantity inside the square root in the imported definition
where is Mathlib's real square root, which returns for negative inputs. However, the theorem itself does not mention ; it states only the equality of the two radicand expressions displayed above.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.