Samplinglib
Lean gate not recorded for this source state main · 9bb7a7394ab0
Samplinglib mathematical lesson

Tangent exponential steps remain on the unit sphere

AutoSamplingTheory.TechnicalLemmas.Geometry.UnitSphere.unitSphereExp_norm_eq_one · theorem · Teaching coverage

Read this first

Mathematical statement

A unit base point and an orthogonal increment produce an exponential-map value with exactly unit norm.

\[\|w\|=1,\ \langle w,z\rangle=0\Longrightarrow\|\operatorname{Exp}_w(z)\|=1\]
Lean statement · unitSphereExp_norm_eq_one

The theorem gives exact feasibility, not an asymptotic estimate.

Braces mark parameters Lean can infer; square brackets request structures such as a measurable space or probability measure. Named hypotheses are mathematical premises, not facts established by this declaration. Section parameters are described in the mathematical hypotheses above; the module link retains their exact source context.

theorem unitSphereExp_norm_eq_one
    {w z : E}
    (hw : ‖w‖ = 1)
    (htan : ⟪w, z⟫_ℝ = 0) :
    ‖unitSphereExp w z‖ = 1

Exact module and namespace context

Proof roadmap

  1. 1Handle zero increment

    At z=0, the exponential formula is w.

  2. 2Use orthogonality

    The cosine and sinc components have zero cross inner product.

  3. 3Apply Pythagoras and trigonometry

    The two squared norms are cos²r and sin²r.

  4. 4Use nonnegativity of norm

    A nonnegative real with square one equals one.

Full assumptions and notation

All objects and hypotheses

  • E is a real inner-product space.
  • ‖w‖=1.
  • ⟪w,z⟫=0.
  • z=0 is allowed.

Mathematical proof

1. Handle zero increment

At z=0, the exponential formula is w.

\[z=0\Rightarrow\operatorname{Exp}_w(z)=w\]
Corresponding Lean step

Simplification uses the unit-norm premise.

2. Use orthogonality

The cosine and sinc components have zero cross inner product.

\[\langle\cos(r)w,\operatorname{sinc}(r)z\rangle=0\]
Corresponding Lean step

Inner-product scalar rules reduce this to ⟪w,z⟫=0.

3. Apply Pythagoras and trigonometry

The two squared norms are cos²r and sin²r.

\[\|\operatorname{Exp}_w(z)\|^2=\cos^2r+\sin^2r=1\]
Corresponding Lean step

norm_add_sq_real, Real.sinc_of_ne_zero, and Real.sin_sq_add_cos_sq prove the identity.

4. Use nonnegativity of norm

A nonnegative real with square one equals one.

\[x\ge0,\ x^2=1\Rightarrow x=1\]
Corresponding Lean step

Nonlinear arithmetic closes the final scalar step.

Lean verification

The exact proof begins folded immediately after the mathematical argument; the statement is folded beside the claim above.

Lean proof · unitSphereExp_norm_eq_one

The proof is the orthogonal norm identity plus sin²+cos²=1.

Braces mark parameters Lean can infer; square brackets request structures such as a measurable space or probability measure. Named hypotheses are mathematical premises, not facts established by this declaration. Section parameters are described in the mathematical hypotheses above; the module link retains their exact source context.

Download module (.lean)
theorem unitSphereExp_norm_eq_one
    {w z : E}
    (hw : ‖w‖ = 1)
    (htan : ⟪w, z⟫_ℝ = 0) :
    ‖unitSphereExp w z‖ = 1 := by
  by_cases hz : z = 0
  · subst z
    simp [unitSphereExp, hw]
  · have hr : ‖z‖ ≠ 0 := norm_ne_zero_iff.mpr hz
    have hcross :
        ⟪Real.cos ‖z‖ • w, Real.sinc ‖z‖ • z⟫_ℝ = 0 := by
      simp [real_inner_smul_left, real_inner_smul_right, htan]
    have hpyth :
        ‖unitSphereExp w z‖ ^ (2 : ℕ) =
          ‖Real.cos ‖z‖ • w‖ ^ (2 : ℕ) +
          ‖Real.sinc ‖z‖ • z‖ ^ (2 : ℕ) := by
      rw [unitSphereExp, norm_add_sq_real, hcross]
      ring
    have hfirst :
        ‖Real.cos ‖z‖ • w‖ ^ (2 : ℕ) =
          Real.cos ‖z‖ ^ (2 : ℕ) := by
      simp [norm_smul, hw, sq_abs]
    have hsinc :
        Real.sinc ‖z‖ = Real.sin ‖z‖ / ‖z‖ :=
      Real.sinc_of_ne_zero hr
    have hsecond :
        ‖Real.sinc ‖z‖ • z‖ ^ (2 : ℕ) =
          Real.sin ‖z‖ ^ (2 : ℕ) := by
      rw [norm_smul, Real.norm_eq_abs, hsinc]
      have hrpos : 0 < ‖z‖ := norm_pos_iff.mpr hz
      rw [abs_div, abs_of_pos hrpos]
      rw [div_mul_cancel₀ _ hr]
      exact sq_abs (Real.sin ‖z‖)
    have hsq : ‖unitSphereExp w z‖ ^ (2 : ℕ) = 1 := by
      rw [hpyth, hfirst, hsecond]
      nlinarith [Real.sin_sq_add_cos_sq ‖z‖]
    have hnonneg : 0 ≤ ‖unitSphereExp w z‖ := norm_nonneg _
    nlinarith


end

end AutoSamplingTheory.TechnicalLemmas.Geometry.UnitSphere

Exact module and namespace context

Scope and omitted-condition boundaries
  • No algorithmic convergence theorem is included.
Sources, dependencies, and reuse

Source and reuse

Samplinglib parents called

    Mathlib API called (external library)

    No direct Mathlib call recorded; see the Samplinglib parents.

    Mathematical sources

    Samplinglib prose is not a quotation or a source-equivalence certificate. Definitions and aliases are explained as constructions, not counted as new mathematical proofs.