Documentation

TauCeti.Geometry.Manifold.Instances.Sphere

The stereographic charts of the sphere, and the smooth embeddings of spheres induced by #

linear isometries

Mathlib charts the unit sphere of an (n + 1)-dimensional real inner product space by stereographic projection, the preferred chart at v projecting from the antipode -v (EuclideanSpace.instChartedSpaceSphere). This file records the facts about these charts that computations in a chart at a chosen point use: which stereographic projection the preferred chart is, that the extended chart at v sends v to the origin of the model space, and that the inverse of a stereographic chart is a smooth embedding of the model space into the sphere. Read in the ambient space, the inverse of stereographic projection has injective derivative, so it is a regular parametrization of the sphere minus a point. Stereographic projection from v is a diffeomorphism from the sphere minus v onto the model space, and from the sphere minus v and -v onto the punctured model space, since it sends exactly -v to the origin.

It then uses the charts to show that a linear isometry ι : F →ₗᵢ[ℝ] E restricts to a smooth embedding of unit spheres, LinearIsometry.unitSphereMap. Stereographic projection is defined from inner products and orthogonal projections, both of which ι preserves, so ι carries the stereographic chart at v to the stereographic chart at ι v: in those two charts, ι reads as a linear isometry LinearIsometry.stereographicModelMap of the model Euclidean spaces, and a linear isometry is the inclusion of a factor in a product decomposition (LinearIsometry.prodOrthogonalRangeEquiv). That is the normal form Mathlib's Manifold.IsImmersionAt asks for, and together with the isometric embedding of the spheres it makes the restriction a smooth embedding. Great circles, the geometric presentation of the unknot, are the case of a linear isometry ℂ →ₗᵢ[ℝ] E. A family of linear isometries depending smoothly on a parameter likewise acts smoothly on the sphere.

Finally, the covering map Circle.exp : ℝ → S¹ has injective derivative everywhere, so that a loop and its lift to ℝ have the same tangent lines, and its local inverse, the argument, is smooth away from -1. A differentiable path or loop in a sphere of dimension at least two omits a point, allowing the entire path or loop to be read in one stereographic chart.

Main results #

The dimension of ℝⁿ⁺¹, in the form Fact (finrank ℝ E = n + 1) taken by the stereographic charts of the unit sphere of E. Installed with attribute [local instance], it lets results stated for the unit sphere of a general E apply to the unit sphere of EuclideanSpace ℝ (Fin (n + 1)).

The inverse of stereographic projection from a unit vector v has injective derivative at every point of the hyperplane (ℝ ∙ v)ᗮ.

The orthogonal complement of a point of the unit sphere of an (n + 2)-dimensional space has dimension n + 1, so its own unit sphere is an n-dimensional manifold. Through the derivative of the inclusion, it is the sphere of unit tangent vectors at the point (range_mvfderiv_subtypeVal).

A point of the sphere followed by the image of a linearly independent family of tangent vectors at it is linearly independent in E: the derivative of the inclusion is injective with range u^⊥, which does not contain u.

The preferred chart of the sphere at v is the stereographic projection from -v.

The preferred extended chart of the sphere at v sends v to the origin.

The inverse of a stereographic chart is a smooth embedding of the model Euclidean space into the sphere, onto the complement of the centre of projection: read in that same chart it is the identity.

Read in the ambient space, the inverse of the stereographic chart stereographic' n v is the inverse stereoInvFunAux v of stereographic projection, precomposed with the linear isometry of ℝⁿ onto the hyperplane (ℝ ∙ v)ᗮ that the chart uses.

Read in the ambient space, the inverse of a stereographic chart is smooth.

Read in the ambient space, the inverse of a stereographic chart has injective derivative at every point.

Stereographic projection from v is a chart in the maximal atlas of the sphere, at every regularity.

@[simp]
theorem TauCeti.stereographic'_apply_neg {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] (v : ↑(Metric.sphere 0 1)) :
↑(stereographic' n v) (-v) = 0

Stereographic projection from v sends the antipode -v to the origin.

theorem TauCeti.stereographic'_eq_zero_iff {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] {v x : ↑(Metric.sphere 0 1)} (hx : x ≠ v) :
↑(stereographic' n v) x = 0 ↔ x = -v

Away from the centre v of projection, stereographic projection from v sends exactly the antipode -v to the origin.

theorem TauCeti.compl_singleton_sup_compl_singleton_neg_eq_top {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace ℝ E] (v : ↑(Metric.sphere 0 1)) :
{ carrier := {v}ᶜ, is_open' := ⋯ } ⊔ { carrier := {-v}ᶜ, is_open' := ⋯ } = ⊤

The complements of two antipodal points cover the sphere.

Stereographic projection from v, as a smooth diffeomorphism from the sphere minus v onto the model space ℝⁿ.

Instances For
    @[simp]
    theorem TauCeti.stereographicDiffeomorph_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] (v : ↑(Metric.sphere 0 1)) (x : ↥{ carrier := {v}ᶜ, is_open' := ⋯ }) :

    The diffeomorphism TauCeti.stereographicDiffeomorph v is stereographic projection from v.

    @[simp]

    The inverse of TauCeti.stereographicDiffeomorph v is inverse stereographic projection.

    noncomputable def TauCeti.stereographicPuncturedDiffeomorph {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] (v : ↑(Metric.sphere 0 1)) :
    Diffeomorph (modelWithCornersSelf ℝ (EuclideanSpace ℝ (Fin n))) (modelWithCornersSelf ℝ (EuclideanSpace ℝ (Fin n))) ↥{ carrier := {v}ᶜ ∩ {-v}ᶜ, is_open' := ⋯ } ↥{ carrier := {0}ᶜ, is_open' := ⋯ } ↑⊤

    Stereographic projection from v, as a smooth diffeomorphism from the sphere minus v and -v onto the punctured model space ℝⁿ \ {0}.

    Instances For
      @[simp]
      theorem TauCeti.coe_stereographicPuncturedDiffeomorph_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] (v : ↑(Metric.sphere 0 1)) (x : ↥{ carrier := {v}ᶜ ∩ {-v}ᶜ, is_open' := ⋯ }) :

      The diffeomorphism TauCeti.stereographicPuncturedDiffeomorph v is stereographic projection from v.

      @[simp]
      theorem TauCeti.coe_stereographicPuncturedDiffeomorph_symm_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] (v : ↑(Metric.sphere 0 1)) (y : ↥{ carrier := {0}ᶜ, is_open' := ⋯ }) :

      The inverse of TauCeti.stereographicPuncturedDiffeomorph v is inverse stereographic projection.

      Smooth embeddings of spheres induced by linear isometries #

      Stereographic projection commutes with a linear isometry ι: the projection from ι v of the image of x is the image of the projection from v of x, read in the orthogonal complement of ι v through LinearIsometry.orthogonalComplementSingletonMap.

      The linear isometry of model Euclidean spaces through which the stereographic charts at v and at ι v read the map ι of unit spheres: conjugate the restriction of ι to the orthogonal complement of v by the orthonormal bases that stereographic' uses.

      Instances For

        In the stereographic charts at v and at ι v, the map of unit spheres induced by ι reads as the linear isometry LinearIsometry.stereographicModelMap of the model spaces.

        The restriction of a linear isometry to the unit spheres is an immersion at every point: in the preferred stereographic charts it is a linear isometry of model spaces, hence the inclusion of a factor of a product decomposition of the target model.

        The restriction of a linear isometry to the unit spheres is a C^k immersion.

        The restriction of a linear isometry to the unit spheres is a C^k smooth embedding.

        Smooth families of linear isometries acting on the sphere #

        theorem TauCeti.contMDiff_unitSphereEquiv_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] {EM : Type u_2} {H : Type u_3} {M : Type u_4} [NormedAddCommGroup EM] [NormedSpace ℝ EM] [TopologicalSpace H] {J : ModelWithCorners ℝ EM H} [TopologicalSpace M] [ChartedSpace H M] {k : WithTop ℕ∞} [IsManifold J k M] {R : ℝ → E ≃ₗᵢ[ℝ] E} (hR : ContDiff ℝ k fun (p : ℝ × E) => (R p.1) p.2) {t : M → ℝ} {x : M → ↑(Metric.sphere 0 1)} (ht : ContMDiff J (modelWithCornersSelf ℝ ℝ) k t) (hx : ContMDiff J (modelWithCornersSelf ℝ (EuclideanSpace ℝ (Fin n))) k x) :
        ContMDiff J (modelWithCornersSelf ℝ (EuclideanSpace ℝ (Fin n))) k fun (p : M) => (R (t p)).unitSphereEquiv (x p)

        A family R of linear isometries depending smoothly on a real parameter acts smoothly on the unit sphere: for smooth t : M → ℝ and x : M → Sⁿ, the map p ↦ R (t p) (x p) into the sphere is smooth.

        The derivative of the circle exponential #

        The derivative of Circle.exp : ℝ → S¹ is injective at every point.

        The derivative of Circle.exp : ℝ → S¹ is surjective at every point, both spaces being one-dimensional.

        The argument is smooth on the circle away from -1.

        theorem TauCeti.toSpanSingleton_deriv_comp_circleExp {V : Type u_1} [NormedAddCommGroup V] [NormedSpace ℝ V] {f : Circle → V} {t : ℝ} (hf : MDiffAt f (Circle.exp t)) :

        The chain rule for a map f of the circle read along Circle.exp: the derivative of s ↦ f (exp (s i)) at t, as a map out of ℝ, is the derivative of f at exp (t i) after that of Circle.exp at t.

        theorem TauCeti.toSpanSingleton_deriv_chart_comp_circleExp {V : Type u_1} [NormedAddCommGroup V] [NormedSpace ℝ V] {M : Type u_2} [TopologicalSpace M] [ChartedSpace V M] {n : WithTop ℕ∞} (hn : n ≠ 0) {f : Circle → M} {t : ℝ} (hf : MDiffAt f (Circle.exp t)) {φ : OpenPartialHomeomorph M V} (hφ : φ ∈ IsManifold.maximalAtlas (modelWithCornersSelf ℝ V) n M) (hft : f (Circle.exp t) ∈ φ.source) :
        ContinuousLinearMap.toSpanSingleton ℝ (deriv (fun (s : ℝ) => ↑φ (f (Circle.exp s))) t) = mfderiv% ↑φ (f (Circle.exp t)) ∘SL mfderiv% f (Circle.exp t) ∘SL mfderiv% ⇑Circle.exp t

        The chain rule for a map f of the circle into a manifold, read along Circle.exp in a chart φ of the maximal atlas at f (exp (t i)): the derivative of s ↦ φ (f (exp (s i))) at t, as a map out of ℝ, is the derivative of Circle.exp at t, followed by those of f and of φ.

        theorem TauCeti.contDiffOn_chart_comp_circleExp {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_3} [TopologicalSpace M] [ChartedSpace E M] {n : WithTop ℕ∞} {f : Circle → M} {r : ℝ} {φ : OpenPartialHomeomorph M E} (hφ : φ ∈ IsManifold.maximalAtlas (modelWithCornersSelf ℝ E) n M) (hf : ContMDiff (modelWithCornersSelf ℝ (EuclideanSpace ℝ (Fin 1))) (modelWithCornersSelf ℝ E) n f) (hfφ : ∀ (t : ℝ), |t| < r → f (Circle.exp t) ∈ φ.source) :
        ContDiffOn ℝ n (fun (t : ℝ) => ↑φ (f (Circle.exp t))) (Set.Ioo (-r) r)

        A Cⁿ map of the circle, read in a chart φ of the maximal atlas along Circle.exp on an arc mapped into φ.source, is Cⁿ.

        theorem TauCeti.deriv_chart_comp_circleExp_eq {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_3} [TopologicalSpace M] [ChartedSpace E M] {n : WithTop ℕ∞} (hn : n ≠ 0) {K L : Circle → M} {t : ℝ} {φ : OpenPartialHomeomorph M E} (hφ : φ ∈ IsManifold.maximalAtlas (modelWithCornersSelf ℝ E) n M) (hK₀ : K (Circle.exp t) ∈ φ.source) (hK : MDiffAt K (Circle.exp t)) (hL : MDiffAt L (Circle.exp t)) (h₀ : K (Circle.exp t) = L (Circle.exp t)) (h₁ : mfderiv% K (Circle.exp t) = mfderiv% L (Circle.exp t)) :
        deriv (fun (s : ℝ) => ↑φ (K (Circle.exp s))) t = deriv (fun (s : ℝ) => ↑φ (L (Circle.exp s))) t

        If two maps K and L of the circle, differentiable at Circle.exp t, agree to first order there, then read in a chart φ of the maximal atlas around K (Circle.exp t) along Circle.exp they have the same velocity at t.

        A map of the circle which is an immersion at Circle.exp t, read in a chart φ of the maximal atlas around its value there along Circle.exp, has nonzero velocity at t.

        theorem TauCeti.deriv_comp_circleExp_ne_zero_and_range_mfderiv {V : Type u_1} [NormedAddCommGroup V] [NormedSpace ℝ V] {f : Circle → V} (hf : ContMDiff (modelWithCornersSelf ℝ (EuclideanSpace ℝ (Fin 1))) (modelWithCornersSelf ℝ V) 1 f) (himm : ∀ (z : Circle), Function.Injective ⇑(mfderiv% f z)) (t : ℝ) :
        deriv (f ∘ ⇑Circle.exp) t ≠ 0 ∧ (↑(mfderiv% f (Circle.exp t))).range = ℝ ∙ deriv (f ∘ ⇑Circle.exp) t

        For a C¹ immersion f of the circle, the derivative of t ↦ f (exp (t i)) is nonzero and spans the range of the derivative of f.

        theorem TauCeti.mfderiv_eq_of_deriv_comp_circleExp_eq {V : Type u_1} [NormedAddCommGroup V] [NormedSpace ℝ V] {f g : Circle → V} {t : ℝ} (hf : MDiffAt f (Circle.exp t)) (hg : MDiffAt g (Circle.exp t)) (h : deriv (f ∘ ⇑Circle.exp) t = deriv (g ∘ ⇑Circle.exp) t) :
        mfderiv% f (Circle.exp t) = mfderiv% g (Circle.exp t)

        The velocity along Circle.exp determines the derivative, for maps of the circle into a real normed space.

        theorem TauCeti.injective_mfderiv_of_deriv_comp_circleExp_ne_zero {V : Type u_1} [NormedAddCommGroup V] [NormedSpace ℝ V] {f : Circle → V} {t : ℝ} (hf : MDiffAt f (Circle.exp t)) (ht : deriv (f ∘ ⇑Circle.exp) t ≠ 0) :
        Function.Injective ⇑(mfderiv% f (Circle.exp t))

        A map f of the circle, differentiable at exp (t i), has injective derivative there as soon as the curve s ↦ f (exp (s i)) has nonzero derivative at t.

        Loops in a sphere read along Circle.exp #

        theorem TauCeti.smul_deriv_coe_comp_circleExp {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] {f : Circle → ↑(Metric.sphere 0 1)} {t : ℝ} (hf : MDiffAt f (Circle.exp t)) (s : ℝ) :
        s • deriv (fun (r : ℝ) => ↑(f (Circle.exp r))) t = (d% Subtype.val (f (Circle.exp t))) ((mfderiv% f (Circle.exp t)) ((mfderiv% ⇑Circle.exp t) s))

        The chain rule for a loop f in a sphere read along Circle.exp and in the ambient space: s times the derivative of r ↦ f (exp (r i)) at t is the derivative of f at exp (t i) applied to the derivative of Circle.exp at t in the direction s, read in the ambient space through the inclusion of the sphere.

        theorem TauCeti.inner_deriv_coe_comp_circleExp_eq_zero {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] {f : Circle → ↑(Metric.sphere 0 1)} {t : ℝ} (hf : MDiffAt f (Circle.exp t)) :
        inner ℝ (↑(f (Circle.exp t))) (deriv (fun (s : ℝ) => ↑(f (Circle.exp s))) t) = 0

        The velocity of a loop in a sphere, read along Circle.exp in the ambient space, is tangent to the sphere: it is orthogonal to the point of the loop.

        theorem TauCeti.deriv_coe_comp_circleExp_ne_zero {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] {f : Circle → ↑(Metric.sphere 0 1)} {t : ℝ} (hf : MDiffAt f (Circle.exp t)) (hinj : Function.Injective ⇑(mfderiv% f (Circle.exp t))) :
        deriv (fun (s : ℝ) => ↑(f (Circle.exp s))) t ≠ 0

        A loop in a sphere with injective derivative at exp (t i), read along Circle.exp in the ambient space, has nonzero velocity at t.

        theorem TauCeti.mfderiv_eq_of_deriv_coe_comp_circleExp_eq {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] {f g : Circle → ↑(Metric.sphere 0 1)} {t : ℝ} (hf : MDiffAt f (Circle.exp t)) (hg : MDiffAt g (Circle.exp t)) (h₀ : f (Circle.exp t) = g (Circle.exp t)) (h₁ : deriv (fun (s : ℝ) => ↑(f (Circle.exp s))) t = deriv (fun (s : ℝ) => ↑(g (Circle.exp s))) t) :
        mfderiv% f (Circle.exp t) = mfderiv% g (Circle.exp t)

        The velocity along Circle.exp determines the derivative. Two loops in a sphere which take the same value at exp (t i), and whose velocities at t read along Circle.exp in the ambient space agree, have the same derivative at exp (t i).

        theorem TauCeti.deriv_coe_comp_circleExp_eq_of_mfderiv_eq {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] {f g : Circle → ↑(Metric.sphere 0 1)} {t : ℝ} (hf : MDiffAt f (Circle.exp t)) (hg : MDiffAt g (Circle.exp t)) (h₀ : f (Circle.exp t) = g (Circle.exp t)) (h₁ : mfderiv% f (Circle.exp t) = mfderiv% g (Circle.exp t)) :
        deriv (fun (s : ℝ) => ↑(f (Circle.exp s))) t = deriv (fun (s : ℝ) => ↑(g (Circle.exp s))) t

        The derivative determines the velocity along Circle.exp. Two loops in a sphere which take the same value and have the same derivative at exp (t i) have the same velocity at t, read along Circle.exp in the ambient space. This is the converse of TauCeti.mfderiv_eq_of_deriv_coe_comp_circleExp_eq.

        Maps of the cylinder over the circle, read along Circle.exp #

        theorem TauCeti.mfderiv_eq_of_deriv_comp_circleExp_eq_prod {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] {f g : Circle × ℝ → ↑(Metric.sphere 0 1) × ℝ} {θ t : ℝ} (hf : MDiffAt f (Circle.exp θ, t)) (hg : MDiffAt g (Circle.exp θ, t)) (hline : ∀ (s : ℝ), f (Circle.exp θ, s) = g (Circle.exp θ, s)) (h₁ : deriv (fun (θ' : ℝ) => ↑(f (Circle.exp θ', t)).1) θ = deriv (fun (θ' : ℝ) => ↑(g (Circle.exp θ', t)).1) θ) (h₂ : deriv (fun (θ' : ℝ) => (f (Circle.exp θ', t)).2) θ = deriv (fun (θ' : ℝ) => (g (Circle.exp θ', t)).2) θ) :
        mfderiv% f (Circle.exp θ, t) = mfderiv% g (Circle.exp θ, t)

        The first order of a map of the cylinder along a line. Two maps f and g of the cylinder S¹ × ℝ into Sⁿ × ℝ, differentiable at (exp (θ i), t), which agree on the whole line {exp (θ i)} × ℝ, and whose slices θ' ↦ f (exp (θ' i), t) and θ' ↦ g (exp (θ' i), t) have the same velocity at θ in E × ℝ, have the same derivative at (exp (θ i), t).

        theorem TauCeti.deriv_coe_fst_comp_circleExp_ne_zero {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] {Γ : Circle × ℝ → ↑(Metric.sphere 0 1) × ℝ} {θ t : ℝ} {y : ↑(Metric.sphere 0 1)} (hΓ : MDiffAt Γ (Circle.exp θ, t)) (hinj : Function.Injective ⇑(mfderiv% Γ (Circle.exp θ, t))) (hline : ∀ (s : ℝ), Γ (Circle.exp θ, s) = (y, s)) :
        deriv (fun (θ' : ℝ) => ↑(Γ (Circle.exp θ', t)).1) θ ≠ 0

        A map Γ of the cylinder S¹ × ℝ into Sⁿ × ℝ which is the line s ↦ (y, s) over exp (θ i), and has injective derivative at (exp (θ i), t), has a slice θ' ↦ Γ (exp (θ' i), t) whose sphere component has nonzero velocity at θ. Otherwise the derivative of Γ would kill a vector (u, -c), with u tangent to the circle and c the time component of the slice velocity.

        theorem TauCeti.exists_contMDiff_circle_hasDerivAt (θ₀ : ℝ) {δ : ℝ} (hδ : 0 < δ) :
        ∃ (h : Circle → ℝ), ContMDiff (modelWithCornersSelf ℝ (EuclideanSpace ℝ (Fin 1))) (modelWithCornersSelf ℝ ℝ) (↑⊤) h ∧ h (Circle.exp θ₀) = 0 ∧ HasDerivAt (fun (θ : ℝ) => h (Circle.exp θ)) 1 θ₀ ∧ ∀ (z : Circle), |h z| ≤ δ

        A smooth real function on the circle, of absolute value at most δ, which vanishes at exp (θ₀ i) and has velocity 1 there along Circle.exp: κ arctan (sin (θ - θ₀) / κ) with κ = δ / 2.

        Points omitted by differentiable loops #

        theorem TauCeti.exists_notMem_range_real_sphere {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] (hn : 2 ≤ n) {f : ℝ → ↑(Metric.sphere 0 1)} (hf : MDiff f) :
        ∃ (p : ↑(Metric.sphere 0 1)), p ∉ Set.range f

        A differentiable path ℝ → Sⁿ in a sphere of dimension at least two omits a point. No immersion or injectivity assumption is needed.

        theorem TauCeti.exists_notMem_range_circle_sphere {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace ℝ E] {n : ℕ} [Fact (Module.finrank ℝ E = n + 1)] (hn : 2 ≤ n) {f : Circle → ↑(Metric.sphere 0 1)} (hf : MDiff f) :
        ∃ (p : ↑(Metric.sphere 0 1)), p ∉ Set.range f

        A differentiable loop in a sphere of dimension at least two omits a point. No immersion or injectivity assumption is needed.

        The unit sphere in the punctured space #

        The radial projection x ↦ x / ‖x‖ is smooth on the punctured space E \ {0}, an open subset of E.

        The inclusion of the unit sphere of E into the punctured space E \ {0}, an open subset of E, is smooth.

        The radial projection x ↦ x / ‖x‖ of the punctured space E \ {0}, an open subset of E, onto the unit sphere is smooth.

        Complex conjugation on the unit circle #

        def TauCeti.conjSphere (z : ↑(Metric.sphere 0 1)) :
        ↑(Metric.sphere 0 1)

        Complex conjugation, restricted to the unit circle of ℂ.

        Instances For
          @[simp]
          theorem TauCeti.coe_conjSphere (z : ↑(Metric.sphere 0 1)) :
          ↑(conjSphere z) = (starRingEnd ℂ) ↑z