pith. machine review for the scientific record. sign in
theorem

spatialNormSq_nonneg

proved
show as:
view math explainer →
module
IndisputableMonolith.Relativity.Calculus.Derivatives
domain
Relativity
line
131 · github
papers citing
none yet

open explainer

Read the cached plain-language explainer.

open lean source

IndisputableMonolith.Relativity.Calculus.Derivatives on GitHub at line 131.

browse module

All declarations in this module, on Recognition.

explainer page

A cached Ask Recognition explainer exists for this declaration.

open explainer

depends on

used by

formal source

 128/-- Spatial norm squared `x₁² + x₂² + x₃²`. -/
 129def spatialNormSq (x : Fin 4 → ℝ) : ℝ := x 1 ^ 2 + x 2 ^ 2 + x 3 ^ 2
 130
 131theorem spatialNormSq_nonneg (x : Fin 4 → ℝ) : 0 ≤ spatialNormSq x := by
 132  unfold spatialNormSq
 133  positivity
 134
 135theorem spatialNormSq_eq_zero_iff (x : Fin 4 → ℝ) : spatialNormSq x = 0 ↔ x 1 = 0 ∧ x 2 = 0 ∧ x 3 = 0 := by
 136  unfold spatialNormSq
 137  constructor
 138  · intro h
 139    have h1 := sq_nonneg (x 1)
 140    have h2 := sq_nonneg (x 2)
 141    have h3 := sq_nonneg (x 3)
 142    have h1_zero : x 1 ^ 2 = 0 := by linarith
 143    have h2_zero : x 2 ^ 2 = 0 := by linarith
 144    have h3_zero : x 3 ^ 2 = 0 := by linarith
 145    simp only [sq_eq_zero_iff] at h1_zero h2_zero h3_zero
 146    exact ⟨h1_zero, h2_zero, h3_zero⟩
 147  · intro h
 148    simp [h]
 149
 150/-- Spatial radius `r = √(x₁² + x₂² + x₃²)`. -/
 151noncomputable def spatialRadius (x : Fin 4 → ℝ) : ℝ := Real.sqrt (spatialNormSq x)
 152
 153theorem spatialRadius_pos_iff (x : Fin 4 → ℝ) : 0 < spatialRadius x ↔ 0 < spatialNormSq x := by
 154  unfold spatialRadius
 155  rw [Real.sqrt_pos]
 156
 157theorem spatialRadius_ne_zero_iff (x : Fin 4 → ℝ) : spatialRadius x ≠ 0 ↔ spatialNormSq x ≠ 0 := by
 158  unfold spatialRadius
 159  rw [Real.sqrt_ne_zero (spatialNormSq_nonneg x)]
 160
 161/-- Nonzero spatial radius is automatically positive. -/