theorem
proved
timelike_iff_subluminal
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Unification.SpacetimeEmergence on GitHub at line 207.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
204 rw [interval_eq_spatial_minus_temporal]; constructor <;> intro h <;> linarith
205
206/-- **Timelike condition**: ds² < 0 iff |Δx|² < (Δt)². -/
207theorem timelike_iff_subluminal (v : Displacement) :
208 interval v < 0 ↔ spatial_norm_sq v < temporal_sq v := by
209 rw [interval_eq_spatial_minus_temporal]; constructor <;> intro h <;> linarith
210
211/-- **Spacelike condition**: ds² > 0 iff |Δx|² > (Δt)². -/
212theorem spacelike_iff_superluminal (v : Displacement) :
213 0 < interval v ↔ temporal_sq v < spatial_norm_sq v := by
214 rw [interval_eq_spatial_minus_temporal]; constructor <;> intro h <;> linarith
215
216/-! ## §6 Light Cone Structure -/
217
218/-- A purely temporal displacement is timelike. -/
219theorem pure_temporal_is_timelike (t : ℝ) (ht : t ≠ 0) :
220 interval (fun i : Fin 4 => if i.val = 0 then t else 0) < 0 := by
221 rw [timelike_iff_subluminal]
222 show (fun i : Fin 4 => if i.val = 0 then t else 0) (1 : Fin 4) ^ 2 +
223 (fun i : Fin 4 => if i.val = 0 then t else 0) (2 : Fin 4) ^ 2 +
224 (fun i : Fin 4 => if i.val = 0 then t else 0) (3 : Fin 4) ^ 2 <
225 (fun i : Fin 4 => if i.val = 0 then t else 0) (0 : Fin 4) ^ 2
226 norm_num; exact sq_pos_of_ne_zero ht
227
228/-- A purely spatial displacement is spacelike. -/
229theorem pure_spatial_is_spacelike (x : ℝ) (hx : x ≠ 0) :
230 0 < interval (fun i : Fin 4 => if i.val = 1 then x else 0) := by
231 rw [spacelike_iff_superluminal]
232 show (fun i : Fin 4 => if i.val = 1 then x else 0) (0 : Fin 4) ^ 2 <
233 (fun i : Fin 4 => if i.val = 1 then x else 0) (1 : Fin 4) ^ 2 +
234 (fun i : Fin 4 => if i.val = 1 then x else 0) (2 : Fin 4) ^ 2 +
235 (fun i : Fin 4 => if i.val = 1 then x else 0) (3 : Fin 4) ^ 2
236 norm_num; exact sq_pos_of_ne_zero hx
237