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

interval_eq_spatial_minus_temporal

proved
show as:
view math explainer →
module
IndisputableMonolith.Unification.SpacetimeEmergence
domain
Unification
line
195 · github
papers citing
none yet

open explainer

Read the cached plain-language explainer.

open lean source

IndisputableMonolith.Unification.SpacetimeEmergence on GitHub at line 195.

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

 192def temporal_sq (v : Displacement) : ℝ := v (0 : Fin 4) ^ 2
 193
 194/-- **Interval = spatial − temporal** (in signature −,+,+,+). -/
 195theorem interval_eq_spatial_minus_temporal (v : Displacement) :
 196    interval v = spatial_norm_sq v - temporal_sq v := by
 197  unfold interval spatial_norm_sq temporal_sq
 198  simp only [Fin.sum_univ_four]
 199  rw [η_00, η_11, η_22, η_33]; ring
 200
 201/-- **Light cone condition**: ds² = 0 iff |Δx|² = (Δt)². -/
 202theorem lightlike_iff_speed_c (v : Displacement) :
 203    interval v = 0 ↔ spatial_norm_sq v = temporal_sq v := by
 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