Documentation

Mathlib.Geometry.Manifold.Instances.Real

Constructing examples of manifolds over ℝ #

We introduce the necessary bits to be able to define manifolds modelled over ℝ^n, boundaryless or with boundary or with corners. As a concrete example, we construct explicitly the manifold with boundary structure on the real interval [x, y], and prove that its boundary is indeed {x,y} whenever x < y. As a corollary, a product M × [x, y] with a manifold M without boundary has boundary M × {x, y}.

More specifically, we introduce

Notations #

In the locale Manifold, we introduce the notations

For instance, if a manifold M is boundaryless, smooth and modelled on EuclideanSpace ℝ (Fin m), and N is smooth with boundary modelled on EuclideanHalfSpace n, and f : M → N is a smooth map, then the derivative of f can be written simply as mfderiv (𝓡 m) (𝓡∂ n) f (as to why the model with corners can not be implicit, see the discussion in Geometry.Manifold.IsManifold).

Implementation notes #

The manifold structure on the interval [x, y] = Icc x y requires the assumption x < y as a typeclass. We provide it as [Fact (x < y)].

The half-space in ℝ^n, used to model manifolds with boundary. We only define it when 1 ≤ n, as the definition only makes sense in this case.

Equations

The quadrant in ℝ^n, used to model manifolds with corners, made of all vectors with nonnegative coordinates.

Equations
Equations
Equations
theorem EuclideanQuadrant.ext {n : } (x y : EuclideanQuadrant n) (h : x = y) :
x = y
theorem EuclideanQuadrant.ext_iff {n : } {x y : EuclideanQuadrant n} :
x = y x = y
theorem EuclideanHalfSpace.ext {n : } [NeZero n] (x y : EuclideanHalfSpace n) (h : x = y) :
x = y
theorem EuclideanHalfSpace.ext_iff {n : } [NeZero n] {x y : EuclideanHalfSpace n} :
x = y x = y
theorem EuclideanQuadrant.convex {n : } :
Convex {x : EuclideanSpace (Fin n) | ∀ (i : Fin n), 0 x i}
theorem range_euclideanHalfSpace (n : ) [NeZero n] :
(Set.range fun (x : EuclideanHalfSpace n) => x) = {y : EuclideanSpace (Fin n) | 0 y 0}
@[simp]
theorem interior_halfSpace {n : } (p : ENNReal) (a : ) (i : Fin n) :
interior {y : PiLp p fun (x : Fin n) => | a y i} = {y : PiLp p fun (x : Fin n) => | a < y i}
@[deprecated interior_halfSpace (since := "2024-11-12")]
theorem interior_halfspace {n : } (p : ENNReal) (a : ) (i : Fin n) :
interior {y : PiLp p fun (x : Fin n) => | a y i} = {y : PiLp p fun (x : Fin n) => | a < y i}

Alias of interior_halfSpace.

@[simp]
theorem closure_halfSpace {n : } (p : ENNReal) (a : ) (i : Fin n) :
closure {y : PiLp p fun (x : Fin n) => | a y i} = {y : PiLp p fun (x : Fin n) => | a y i}
@[deprecated closure_halfSpace (since := "2024-11-12")]
theorem closure_halfspace {n : } (p : ENNReal) (a : ) (i : Fin n) :
closure {y : PiLp p fun (x : Fin n) => | a y i} = {y : PiLp p fun (x : Fin n) => | a y i}

Alias of closure_halfSpace.

@[simp]
theorem closure_open_halfSpace {n : } (p : ENNReal) (a : ) (i : Fin n) :
closure {y : PiLp p fun (x : Fin n) => | a < y i} = {y : PiLp p fun (x : Fin n) => | a y i}
@[deprecated closure_open_halfSpace (since := "2024-11-12")]
theorem closure_open_halfspace {n : } (p : ENNReal) (a : ) (i : Fin n) :
closure {y : PiLp p fun (x : Fin n) => | a < y i} = {y : PiLp p fun (x : Fin n) => | a y i}

Alias of closure_open_halfSpace.

@[simp]
theorem frontier_halfSpace {n : } (p : ENNReal) (a : ) (i : Fin n) :
frontier {y : PiLp p fun (x : Fin n) => | a y i} = {y : PiLp p fun (x : Fin n) => | a = y i}
@[deprecated frontier_halfSpace (since := "2024-11-12")]
theorem frontier_halfspace {n : } (p : ENNReal) (a : ) (i : Fin n) :
frontier {y : PiLp p fun (x : Fin n) => | a y i} = {y : PiLp p fun (x : Fin n) => | a = y i}

Alias of frontier_halfSpace.

theorem range_euclideanQuadrant (n : ) :
(Set.range fun (x : EuclideanQuadrant n) => x) = {y : EuclideanSpace (Fin n) | ∀ (i : Fin n), 0 y i}

Definition of the model with corners (EuclideanSpace ℝ (Fin n), EuclideanHalfSpace n), used as a model for manifolds with boundary. In the locale Manifold, use the shortcut 𝓡∂ n.

Equations
  • One or more equations did not get rendered due to their size.

Definition of the model with corners (EuclideanSpace ℝ (Fin n), EuclideanQuadrant n), used as a model for manifolds with corners

Equations
  • One or more equations did not get rendered due to their size.

Pretty printer defined by notation3 command.

Equations
  • One or more equations did not get rendered due to their size.

The model space used to define n-dimensional real manifolds without boundary.

Equations

Pretty printer defined by notation3 command.

Equations
  • One or more equations did not get rendered due to their size.

The model space used to define n-dimensional real manifolds with boundary.

Equations
def IccLeftChart (x y : ) [h : Fact (x < y)] :

The left chart for the topological space [x, y], defined on [x,y) and sending x to 0 in EuclideanHalfSpace 1.

Equations
  • One or more equations did not get rendered due to their size.
theorem Fact.Manifold.instLeReal {x y : } [hxy : Fact (x < y)] :
Fact (x y)
theorem iccLeftChart_extend_zero {x y : } [hxy : Fact (x < y)] {p : (Set.Icc x y)} :
theorem IccLeftChart_extend_interior_pos {x y : } [hxy : Fact (x < y)] {p : (Set.Icc x y)} (hp : x < p p < y) :
def IccRightChart (x y : ) [h : Fact (x < y)] :

The right chart for the topological space [x, y], defined on (x,y] and sending y to 0 in EuclideanHalfSpace 1.

Equations
  • One or more equations did not get rendered due to their size.
@[deprecated IccRightChart_extend_top_mem_frontier (since := "2025-01-25")]

Alias of IccRightChart_extend_top_mem_frontier.

instance instIccChartedSpace (x y : ) [h : Fact (x < y)] :

Charted space structure on [x, y], using only two charts taking values in EuclideanHalfSpace 1.

Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem Icc_chartedSpaceChartAt {x y : } [hxy : Fact (x < y)] {z : (Set.Icc x y)} :
theorem Icc_chartedSpaceChartAt_of_le_top {x y : } [hxy : Fact (x < y)] {z : (Set.Icc x y)} (h : z < y) :
theorem Icc_chartedSpaceChartAt_of_top_le {x y : } [hxy : Fact (x < y)] {z : (Set.Icc x y)} (h : y z) :
theorem Icc_isInteriorPoint_interior {x y : } [hxy : Fact (x < y)] {p : (Set.Icc x y)} (hp : x < p p < y) :
theorem boundary_Icc {x y : } [hxy : Fact (x < y)] :
theorem boundary_product {x y : } [hxy : Fact (x < y)] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {H : Type u_2} [TopologicalSpace H] (I : ModelWithCorners E H) {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [I.Boundaryless] :

A product M × [x,y] for M boundaryless has boundary M × {x, y}.

The manifold structure on [x, y] is smooth.

Register the manifold structure on Icc 0 1. These are merely special cases of instIccChartedSpace and instIsManifoldIcc.