Brieskorn spheres, lens spaces, , and realizations of simplicial complexes
Definitionhsbb_spacesConcrete 3-manifolds for the homology-ball mission.
Brieskorn manifolds. For ,
with the subspace topology. The Poincaré homology sphere is .
Lens spaces. is the quotient of the unit sphere by the relation iff for some , where , with the quotient topology.
The double of a punctured manifold. For a space with an atlas modelled on , a point and a radius , let be the chart at , and . The double is the quotient of two copies of in which each point of in the first copy is identified with the same point in the second copy. When the closed ball lies in the chart target, is homeomorphic to the connected sum .
Realizations of simplicial complexes. A finite simplicial complex is a list of simplices, each a list of vertex labels in . Its realization is
with the subspace topology of the product topology. This is the input format for algorithms on 3-manifolds.
Formalization Note. For the formula gives ; lens spaces are only used with in this mission.
import Mathlib
/-!
# Concrete 3-manifolds for the homology-ball mission
Brieskorn spheres, lens spaces, the double of a manifold minus an open chart ball
(a model of `M # (-M)`), and geometric realizations of finite simplicial complexes
(used to feed 3-manifolds to an algorithm).
-/
open scoped Manifold
namespace HomologySpheresBoundBalls
/-- The Brieskorn manifold `Σ(p,q,r) = {z ∈ ℂ³ : z₀^p + z₁^q + z₂^r = 0, |z| = 1}`,
with the subspace topology from `ℂ³`. -/
def BrieskornSphere (p q r : ℕ) : Set (EuclideanSpace ℂ (Fin 3)) :=
{z | z 0 ^ p + z 1 ^ q + z 2 ^ r = 0 ∧ ‖z‖ = 1}
/-- The Poincaré homology sphere (Poincaré dodecahedral space) `Σ(2,3,5)`. -/
abbrev PoincareSphere : Set (EuclideanSpace ℂ (Fin 3)) := BrieskornSphere 2 3 5
/-- The unit 3-sphere in `ℂ²`. -/
abbrev ComplexSphere3 : Type := Metric.sphere (0 : EuclideanSpace ℂ (Fin 2)) 1
/-- The relation on `S³ ⊆ ℂ²` whose classes are the orbits of the `ℤ/p`-action generated by
`(z₀, z₁) ↦ (ζ z₀, ζ^q z₁)`, `ζ = e^{2πi/p}`. -/
def lensRel (p q : ℕ) (a b : ComplexSphere3) : Prop :=
∃ k : ℕ, (b : EuclideanSpace ℂ (Fin 2)) 0 =
Complex.exp (2 * Real.pi * Complex.I / p) ^ k * (a : EuclideanSpace ℂ (Fin 2)) 0 ∧
(b : EuclideanSpace ℂ (Fin 2)) 1 =
Complex.exp (2 * Real.pi * Complex.I / p) ^ (q * k) * (a : EuclideanSpace ℂ (Fin 2)) 1
/-- The lens space `L(p,q) = S³ / (ℤ/p)`, with the quotient topology. -/
def LensSpace (p q : ℕ) : Type := Quot (lensRel p q)
instance (p q : ℕ) : TopologicalSpace (LensSpace p q) :=
inferInstanceAs (TopologicalSpace (Quot (lensRel p q)))
section Double
variable {M : Type} [TopologicalSpace M] [ChartedSpace (EuclideanSpace ℝ (Fin 3)) M]
/-- The open chart ball `B(x,r) = φ⁻¹(ball(φ x, r))` for the chart `φ` at `x`. -/
def chartBall (x : M) (r : ℝ) : Set M :=
(chartAt (EuclideanSpace ℝ (Fin 3)) x).symm ''
Metric.ball (chartAt (EuclideanSpace ℝ (Fin 3)) x x) r
/-- The chart sphere `φ⁻¹(sphere(φ x, r))`. -/
def chartSphere (x : M) (r : ℝ) : Set M :=
(chartAt (EuclideanSpace ℝ (Fin 3)) x).symm ''
Metric.sphere (chartAt (EuclideanSpace ℝ (Fin 3)) x x) r
/-- `M` with the open chart ball `B(x,r)` removed. -/
abbrev Punctured (x : M) (r : ℝ) : Type := ↥((chartBall x r)ᶜ)
/-- Gluing relation for the double: a point of the boundary sphere in the first copy is
identified with the same point in the second copy. -/
def doubleRel (x : M) (r : ℝ) : Punctured x r ⊕ Punctured x r → Punctured x r ⊕ Punctured x r → Prop
| .inl a, .inr b => a = b ∧ (a : M) ∈ chartSphere x r
| _, _ => False
/-- The double `D(M ∖ B) = (M ∖ B) ∪_{∂B} (M ∖ B)` of `M` minus an open chart ball,
with the quotient topology. Topologically this is the connected sum `M # (-M)`. -/
def PuncturedDouble (x : M) (r : ℝ) : Type := Quot (doubleRel x r)
instance (x : M) (r : ℝ) : TopologicalSpace (PuncturedDouble x r) :=
inferInstanceAs (TopologicalSpace (Quot (doubleRel x r)))
end Double
/-- The geometric realization `|K| ⊆ ℝ^ℕ` of a finite simplicial complex `K` given by a list
of simplices, each simplex a list of vertex labels in `ℕ`: the union over `σ ∈ K` of the
standard simplices `{x ≥ 0, supp x ⊆ σ, ∑_{i ∈ σ} x_i = 1}`. Topology: subspace of the product. -/
def realization (K : List (List ℕ)) : Set (ℕ → ℝ) :=
{x | ∃ σ ∈ K, (∀ i, 0 ≤ x i) ∧ (∀ i, i ∉ σ → x i = 0) ∧ ∑ i ∈ σ.toFinset, x i = 1}
end HomologySpheresBoundBalls
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.