Local collars of a manifold with boundary #
Boundary.Collar.Chart reads a manifold with boundary in tangential and inward-normal
coordinates, and Boundary.Collar.Manifold proves those coordinates are a C^k atlas. What they
do not provide is a collar: the target of a collar chart is an arbitrary open subset of the
product model, so it does not exhibit any neighbourhood as a product. This file shrinks a collar
chart around a boundary point until its target is a genuine product box V × [0, ε), and reads
off the resulting local product structure.
The shrinking is the elementary half of the collar-neighbourhood theorem: the boxes V × [0, ε)
are a neighbourhood basis of a point of the product model lying on the boundary factor, because
the sets [0, ε) are a neighbourhood basis of the origin of the one-dimensional half-space
model. The remaining, global half is to patch these boxes into a single neighbourhood of the whole
boundary, which is what Hirsch's bump-function argument does and what this file does not do.
Main definitions #
TauCeti.EuclideanHalfSpace.interiorEmbedding: a homeomorphism ofℝⁿ⁺¹onto the open half-space, through which charts of a boundaryless manifold become interior half-space charts.TauCeti.EuclideanHalfSpace.normalRay: the inward normal ray[0, ∞) → EuclideanHalfSpace 1, the parametrization by which the one-dimensional half-space model is a half-line.TauCeti.EuclideanHalfSpace.normalIio: the initial segment[0, ε)of the one-dimensional half-space model, cut out by the normal coordinate, andTauCeti.EuclideanHalfSpace.normalIioOpens: the same segment as an open subspace.TauCeti.IsProductCollarChart: a collar chart whose target is a product boxV × [0, ε), isC^kin both directions, and cuts out the boundary as the zero slice of its normal coordinate.TauCeti.EuclideanHalfSpace.homeomorphNormalIio: that segment, read by its normal coordinate as the real interval[0, ε).TauCeti.IsProductCollarChart.homeomorphProd: the local collar itself, a homeomorphism of the source of a product collar chart onto (its part of) the boundary times[0, ε).TauCeti.IsProductCollarChart.sourceOpensandTauCeti.IsProductCollarChart.sourceBoundaryOpens: the source of a product collar chart and its boundary part, as open subspaces of the ambient manifold and of the canonical boundary manifold.TauCeti.IsProductCollarChart.homeomorphProdOpens: the local collar with all three of those factors read as open subspaces. This is the packaging the smooth local collar ofBoundary.Collar.Diffeomorphis built on.
Main results #
TauCeti.EuclideanHalfSpace.exists_normalIio_subset: the segments[0, ε)are a neighbourhood basis of the origin of the one-dimensional half-space model.TauCeti.exists_isProductCollarChart_of_mem_boundary: every boundary point has a product collar chart. This is the shrinking step.TauCeti.IsProductCollarChart.image_source_inter_boundary: a product collar chart carries the boundary onto the zero sliceV × {0}of its box.TauCeti.IsProductCollarChart.map_homeomorphProd_fst: the first component of the local collar is the boundary retraction, in coordinates the map setting the normal coordinate to zero.TauCeti.exists_homeomorph_prod_Ico_of_mem_boundary: a boundary point has a neighbourhoodUhomeomorphic to(U ∩ ∂M) × [0, ε), the local collar neighbourhood.
Implementation notes #
The height ε of the box is kept as a parameter rather than normalised to 1. Rescaling the
normal coordinate is a diffeomorphism of the model half-space, so nothing is lost, and carrying
ε avoids inserting a rescaling into every chart produced here; the patching step chooses its own
heights anyway.
TauCeti.IsProductCollarChart.homeomorphProd is only a homeomorphism, not a diffeomorphism: its
target (U ∩ ∂M) × [0, ε) is a product of a piece of the boundary manifold of
Boundary.Charts with an interval, and identifying that manifold structure with the one the
chart transports is a separate step. What is smooth here is the chart itself, through
IsProductCollarChart.contMDiffOn and IsProductCollarChart.contMDiffOn_symm. That
identification is carried out downstream in Boundary.Collar.Diffeomorph, where
TauCeti.IsProductCollarChart.diffeomorphProd upgrades homeomorphProdOpens to a C^k
diffeomorphism.
References #
- M. Hirsch, Differential Topology, Springer GTM 33 (1976), Theorem 6.1 (the collar neighbourhood theorem, whose local half is proved here).
- J. Lee, Introduction to Smooth Manifolds, Springer GTM 218, 2nd ed. (2013), Theorem 9.25.
The inward normal ray of the one-dimensional half-space model: the point of
EuclideanHalfSpace 1 at normal distance r from the boundary, for r ≤ 0 the origin.
Truncating at 0 is what makes the ray a globally defined continuous map on ℝ; it is used
only for 0 ≤ r, where normalRay_normalCoord inverts it.
Instances For
The origin of the one-dimensional half-space model has vanishing normal coordinate.
The normal ray starts at the origin.
The normal ray parametrizes the one-dimensional half-space model by its normal coordinate.
The normal ray is the inverse of the model with corners of the half-line, applied to the
reals viewed as ℝ¹.
The normal ray is continuous.
A point of the one-dimensional half-space model vanishes exactly when its normal coordinate does.
The initial segment [0, ε) of the one-dimensional half-space model: the points whose normal
coordinate is smaller than ε. It is empty for ε ≤ 0, and is the model factor of the collar
boxes below.
Instances For
Membership in the initial segment is one inequality on the normal coordinate.
The initial segments are open, being sublevel sets of the continuous normal coordinate.
The initial segment [0, ε) of the one-dimensional half-space model as an open subspace. It
is empty for ε ≤ 0.
Instances For
Membership in the open initial segment is one inequality on the normal coordinate.
An initial segment of positive height contains the origin.
Not @[simp]: mem_normalIio and val_zero_apply already reduce this to 0 < ε.
The segments [0, ε) are a neighbourhood basis of the origin of the one-dimensional
half-space model. This is the only point-set input to the shrinking step: it is what turns an
arbitrary neighbourhood of a boundary point into a product box.
The initial segment [0, ε) of the one-dimensional half-space model is the real interval
[0, ε), by the normal coordinate. It is the identification through which a local collar reads
as a product with a half-open interval.
Instances For
The interval identification is the normal coordinate.
A homeomorphism of ℝⁿ⁺¹ onto the open half-space {x | 0 < x 0}, exponentiating the zeroth
coordinate and keeping the others. Composing the charts of a boundaryless manifold with it gives
charts in the half-space model whose points are all interior points.
Instances For
The zeroth coordinate of interiorEmbedding is the exponential of the zeroth coordinate.
The other coordinates of interiorEmbedding are unchanged.
interiorEmbedding is an open embedding, with image the open half-space
(TauCeti.EuclideanHalfSpace.range_interiorEmbedding).
The image of interiorEmbedding is the open half-space, the interior of the model.
A product collar chart on a manifold with boundary: a C^k chart in tangential and
inward-normal coordinates whose target is a box V × [0, ε), and in which the boundary is the
zero slice of the normal coordinate.
Unlike TauCeti.collarChart, whose target is whatever open set the ambient chart happens to have,
the target here is a product, so the source is a product neighbourhood: that is what makes such a
chart a local collar, TauCeti.IsProductCollarChart.homeomorphProd.
The regularity k is an argument rather than a field of the chart, so that one chart can be a
product collar chart at several regularities.
The collar has positive height.
The chart is onto the product box
V × [0, ε).- contMDiffOn : ContMDiffOn (modelWithCornersEuclideanHalfSpace (n + 1)) ((modelWithCornersSelf ℝ (EuclideanSpace ℝ (Fin n))).prod (modelWithCornersEuclideanHalfSpace 1)) k (↑φ) φ.source
The chart is
C^k. - contMDiffOn_symm : ContMDiffOn ((modelWithCornersSelf ℝ (EuclideanSpace ℝ (Fin n))).prod (modelWithCornersEuclideanHalfSpace 1)) (modelWithCornersEuclideanHalfSpace (n + 1)) k (↑φ.symm) φ.target
The inverse of the chart is
C^k. - mem_boundary_iff (y : M) : y ∈ φ.source → (y ∈ ModelWithCorners.boundary M ↔ (↑(↑φ y).2).ofLp 0 = 0)
The boundary is the zero slice of the normal coordinate.
Instances For
The source of a product collar chart, regarded as an open submanifold of the ambient manifold.
Instances For
Membership in the open source of a product collar chart is membership in the chart source.
The part of the boundary in the source of a product collar chart, regarded as an open submanifold of the canonical boundary manifold.
Instances For
A boundary point belongs to the boundary part of the chart source exactly when its ambient point belongs to the chart source.
The tangential coordinate of a point in the source of a product collar chart lies in its base.
Replacing the normal coordinate of a point in a product collar chart by another coordinate in its normal interval stays in the chart target.
Setting the normal coordinate of a point in a product collar chart to zero stays in the chart target.
The base of a product collar chart is open: it is a factor of the open target.
A product collar chart carries the boundary onto the zero slice of its box.
The boundary points of the source of a product collar chart, as a subtype, are homeomorphic to its base.
Instances For
The identification of the boundary part with the base is the tangential coordinate.
Proved by rfl for want of a usable evaluation lemma for Homeomorph.Set.prod: the
@[simps]-generated Homeomorph.Set.prod_apply is stated for the subtype
{p // p.1 ∈ V ∧ p.2 ∈ {0}}, which does not unify with the ↥(V ×ˢ {0}) occurring here, so
neither simp nor rw can fire it and the composite has to be evaluated definitionally.
The local collar. A product collar chart splits its source as the product of its part of
the boundary with the interval [0, ε).
Instances For
The local collar with its source, boundary part, and normal interval packaged as open
subspaces. Its underlying map is homeomorphProd; only the subtype packaging changes.
Instances For
The boundary component of the open-subspace local collar agrees with that of
homeomorphProd.
The normal component of the open-subspace local collar agrees with that of
homeomorphProd.
The second component of the local collar is the normal coordinate.
Proved by rfl for the same reason as coe_homeomorphBase: Homeomorph.Set.prod_apply does
not match the ↥(V ×ˢ EuclideanHalfSpace.normalIio ε) this composite passes through.
The first component of the local collar is the boundary retraction: in coordinates it
sets the normal coordinate to zero. Together with coe_homeomorphProd_snd this pins the
homeomorphism down: it is the chart, read in the box.
The second component of the open-subspace local collar is the normal coordinate.
The first component of the open-subspace local collar is the boundary retraction in collar coordinates.
Every boundary point has a product collar chart. Shrinking the collar chart of the
preferred ambient chart until its target is a box V × [0, ε) is possible because the target is
open and the boundary point is read in it as a point of the zero slice, where the boxes are a
neighbourhood basis.
This is the local half of the collar neighbourhood theorem; the global statement patches these boxes along the whole boundary.
A local collar neighbourhood of a boundary point. Every boundary point of a C^k
manifold with boundary, k ≠ 0, has an open neighbourhood U homeomorphic to the product of its
part U ∩ ∂M of the boundary with a half-open interval [0, ε).
This is the local collar; the collar neighbourhood theorem is the statement that the U can be
taken to be a single neighbourhood of the whole boundary, with U ∩ ∂M = ∂M.