Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
56b4840
Create NegDim.lean
or4nge19 Mar 1, 2026
a624ac0
Update Defs.lean
or4nge19 Mar 1, 2026
4a56197
Update Defs.lean
or4nge19 Mar 1, 2026
843e24f
Create Defs.lean
or4nge19 Mar 1, 2026
5461e14
add MetricTensor
or4nge19 Mar 1, 2026
6b93d73
Update NegDim.lean
or4nge19 Mar 1, 2026
10e2166
Update Defs.lean
or4nge19 Mar 1, 2026
9b037f9
Update Defs.lean
or4nge19 Mar 2, 2026
bb54203
Update Defs.lean
or4nge19 Mar 2, 2026
dc5d0c4
refactor existence predicate to PSR
or4nge19 Mar 2, 2026
415f472
remove noncomputable section
or4nge19 Mar 2, 2026
a2692e1
Update Defs.lean
or4nge19 Mar 2, 2026
3d4041b
Update Defs.lean
or4nge19 Mar 2, 2026
c2b50df
refactor
or4nge19 Mar 2, 2026
175594a
Change import from QuadraticForm.Index to NegDim
or4nge19 Mar 2, 2026
a62f40f
misc
or4nge19 Mar 2, 2026
3856a2b
refactor
or4nge19 Mar 3, 2026
1cf3af7
refactor!
or4nge19 Mar 3, 2026
0bfff8a
Merge branch 'Pseudo-RIemannian' of https://github.com/or4nge19/HepLe…
or4nge19 Mar 3, 2026
9283f59
fix
or4nge19 Mar 3, 2026
f27a67d
refactor-golf
or4nge19 Mar 3, 2026
6611e34
fix lints + minor improvements
or4nge19 Mar 3, 2026
634eed2
fix lints
or4nge19 Mar 3, 2026
0ba2585
Update NegDim.lean
or4nge19 Mar 3, 2026
d77efc9
Update Defs.lean
or4nge19 Mar 3, 2026
2129af0
fix lints + minor fixes
or4nge19 Mar 3, 2026
f257611
Update Defs.lean
or4nge19 Mar 3, 2026
8f5b14b
Update PhysLean.lean
or4nge19 Mar 3, 2026
367cee2
Update PhysLean.lean
or4nge19 Mar 3, 2026
3b2b425
Update NegDim.lean
or4nge19 Mar 3, 2026
9d6e71c
Update NegDim.lean
or4nge19 Mar 3, 2026
7d28d7f
Update Defs.lean
or4nge19 Mar 3, 2026
d171fe4
Update Defs.lean
or4nge19 Mar 3, 2026
161a098
Update PhysLean.lean
or4nge19 Mar 3, 2026
8cdc4a0
Reorder imports for QuadraticForm module
or4nge19 Mar 3, 2026
da43227
Delete PhysLean/Mathematics/Geometry/Metric/QuadraticForm/Sylvester.lean
or4nge19 Mar 3, 2026
723018d
Update PhysLean.lean
or4nge19 Mar 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions PhysLean.lean
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@ import PhysLean.Mathematics.Distribution.PowMul
import PhysLean.Mathematics.FDerivCurry
import PhysLean.Mathematics.Fin
import PhysLean.Mathematics.Fin.Involutions
import PhysLean.Mathematics.Geometry.Metric.Lorentzian.Defs
import PhysLean.Mathematics.Geometry.Metric.PseudoRiemannian.Defs
import PhysLean.Mathematics.Geometry.Metric.QuadraticForm.NegDim
import PhysLean.Mathematics.Geometry.Metric.Riemannian.Defs
import PhysLean.Mathematics.InnerProductSpace.Adjoint
import PhysLean.Mathematics.InnerProductSpace.Basic
Expand Down
61 changes: 61 additions & 0 deletions PhysLean/Mathematics/Geometry/Metric/Lorentzian/Defs.lean
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/-
Copyright (c) 2026 Matteo Cipollina. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Matteo Cipollina
-/

import PhysLean.Mathematics.Geometry.Metric.PseudoRiemannian.Defs

/-!
# Lorentzian metrics
This file records the Lorentzian condition (index `1`) for a pseudo-Riemannian metric.
## Main definitions
* `PseudoRiemannianMetric.IsLorentzianMetric`: the Prop-valued predicate asserting
`(g.toQuadraticForm x).negDim = 1` for all `x`.
## Tags
Lorentzian, pseudo-Riemannian, index
-/

namespace PseudoRiemannianMetric

noncomputable section

open scoped Manifold

section

variable {E : Type v} [NormedAddCommGroup E] [NormedSpace ℝ E]
variable {H : Type w} [TopologicalSpace H]
variable {M : Type w} [TopologicalSpace M] [ChartedSpace H M]
variable {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞}
variable [IsManifold I (n + 1) M]
variable [∀ x : M, FiniteDimensional ℝ (TangentSpace I x)]

/-- Predicate asserting that a pseudo-Riemannian metric has index `1` at every point. -/
class IsLorentzianMetric (g : PseudoRiemannianMetric E H M n I) : Prop where
negDim_eq_one : ∀ x : M, (g.toQuadraticForm x).negDim = 1

namespace IsLorentzianMetric

variable (g : PseudoRiemannianMetric E H M n I)

/-- For a Lorentzian metric, the index is `1` at every point. -/
lemma index_eq_one (x : M) [IsLorentzianMetric (g := g)] :
g.index x = 1 := by
simpa [PseudoRiemannianMetric.index] using
(IsLorentzianMetric.negDim_eq_one (g := g) x)

end IsLorentzianMetric

end

end

end PseudoRiemannianMetric

#lint
Loading