Documentation

TauCeti.Geometry.Manifold.Instances.AddCircle

The circle AddCircle p as a smooth manifold #

For a positive real p, the circle AddCircle p = ℝ ⧸ pℤ is the orbit space of the action of Multiplicative ℤ on the real line by n • t = t + n p. This action is free and properly discontinuous and acts by analytic maps, so TauCeti.instIsManifoldQuotient makes its orbit space an analytic manifold modelled on ℝ. This file transports that structure to Mathlib's topological circle AddCircle p, along the homeomorphism of the orbit space with AddCircle p. The quotient map ((↑) : ℝ → AddCircle p) is then an analytic local diffeomorphism; it is a covering map by Mathlib's AddCircle.isCoveringMap_coe.

So that ℝ itself does not acquire a p-dependent action of Multiplicative ℤ, the action lives on the type synonym TauCeti.PeriodLine p of ℝ, which carries the topology and the manifold structure of ℝ. The equivalence TauCeti.PeriodLine.ofReal p identifies ℝ with it.

The charts of AddCircle p are local lifts to ℝ: every chart c of the atlas satisfies (c x : AddCircle p) = x on its source (AddCircle.coe_apply_of_mem_atlas). Read in these charts, the quotient map and every translation have derivative 1, and AddCircle p is an analytic additive Lie group. For a second positive period q, the rescaling AddCircle.equivAddCircle p q, sending the class of t to the class of t * (p⁻¹ * q), is an analytic diffeomorphism with derivative p⁻¹ * q.

Main definitions #

Main results #

References #

The real line, as the covering space of the circle AddCircle p: a type synonym of ℝ carrying the action of Multiplicative ℤ by translations by integer multiples of p.

Instances For

    The identification of the real line with PeriodLine p.

    Instances For
      theorem TauCeti.PeriodLine.chartAt_apply (p : ℝ) (s t : PeriodLine p) :
      ↑(chartAt ℝ s) t = (ofReal p).symm t

      The chart of PeriodLine p at any point is the identification with ℝ.

      The identification of the real line with PeriodLine p is continuous.

      The identification of PeriodLine p with the real line is continuous.

      The identification of the real line with PeriodLine p is analytic.

      The identification of PeriodLine p with the real line is analytic.

      The identification of the real line with PeriodLine p is a local diffeomorphism.

      The action of Multiplicative ℤ #

      The integer n acts on PeriodLine p by translation by n • p.

      @[simp]

      The integer n acts on PeriodLine p by translation by n • p, read in ℝ.

      @[simp]

      The integer n acts on PeriodLine p by translation by n • p, read in ℝ.

      @[instance_reducible]

      Multiplicative ℤ acts on the real line by translations by integer multiples of p.

      The orbit space #

      Two points of PeriodLine p lie in one orbit exactly when the real numbers they represent have the same image in AddCircle p.

      The orbit space of the action of Multiplicative ℤ on PeriodLine p is homeomorphic to AddCircle p.

      Instances For
        @[simp]

        The orbit of t corresponds to the image of t in AddCircle p.

        @[simp]

        The image of t in AddCircle p corresponds to the orbit of t.

        For positive p, the action is free: a translation by a nonzero multiple of p has no fixed point.

        For positive p, the action is properly discontinuous: only finitely many integers translate a compact set to meet another compact set.

        The manifold structure of AddCircle p #

        @[instance_reducible]
        noncomputable instance AddCircle.instChartedSpace (p : ℝ) [Fact (0 < p)] :

        The charts of AddCircle p, transported from the orbit space of the action of Multiplicative ℤ on PeriodLine p along TauCeti.PeriodLine.quotientHomeomorph p.

        The circle AddCircle p is an analytic manifold modelled on ℝ.

        The orbit space of the action of Multiplicative ℤ on PeriodLine p is diffeomorphic to AddCircle p.

        Instances For
          @[simp]

          The underlying map of the inverse of quotientDiffeomorph p n is the inverse of quotientHomeomorph p.

          The quotient map ℝ → AddCircle p is an analytic local diffeomorphism.

          theorem AddCircle.coe_apply_of_mem_atlas {p : ℝ} [Fact (0 < p)] {c : OpenPartialHomeomorph (AddCircle p) ℝ} (hc : c ∈ atlas ℝ (AddCircle p)) {x : AddCircle p} (hx : x ∈ c.source) :
          ↑(↑c x) = x

          The charts of AddCircle p are local lifts to ℝ: a chart sends each point of its source to a real number representing it.

          theorem AddCircle.symm_apply_of_coe_apply {p : ℝ} {c : OpenPartialHomeomorph (AddCircle p) ℝ} (hc : ∀ x ∈ c.source, ↑(↑c x) = x) {u : ℝ} (hu : u ∈ c.target) :
          ↑c.symm u = ↑u

          The inverse of a local lift of AddCircle p to ℝ is the quotient map on its target.

          A local lift of AddCircle p to ℝ, a partial homeomorphism sending each point of its source to a real number representing it, is a chart of the maximal atlas of AddCircle p.

          theorem AddCircle.exists_eventuallyEq_add_zsmul {p : ℝ} {c c' : OpenPartialHomeomorph (AddCircle p) ℝ} (hc : ∀ x ∈ c.source, ↑(↑c x) = x) (hc' : ∀ x ∈ c'.source, ↑(↑c' x) = x) {x : AddCircle p} (hx : x ∈ c.source) (hx' : x ∈ c'.source) :
          ∃ (k : ℤ), ↑c' =ᶠ[nhds x] fun (y : AddCircle p) => ↑c y + k • p

          Two local lifts of AddCircle p to ℝ differ, near each point of their common source, by a fixed integer multiple of p.

          The additive Lie group structure #

          The circle AddCircle p is an analytic additive Lie group: the quotient map ℝ → AddCircle p is a surjective additive local diffeomorphism.

          The quotient map ℝ → AddCircle p has derivative the identity of ℝ, the tangent spaces of AddCircle p being read in its charts, which are local real lifts.

          @[simp]

          The derivative of the quotient map ℝ → AddCircle p is the identity of ℝ.

          theorem AddCircle.hasMFDerivAt_add_coe_comp {p : ℝ} [Fact (0 < p)] {f : ℝ → ℝ} {f' t : ℝ} (hf : HasDerivAt f f' t) (x : AddCircle p) :
          HasMFDerivAt% (fun (s : ℝ) => x + ↑(f s)) t (ContinuousLinearMap.smulRight 1 f')

          If f : ℝ → ℝ has derivative f' at t, the curve s ↦ x + [f s] of AddCircle p has velocity f' at t, read in the tangent line of AddCircle p.

          theorem AddCircle.mfderiv_comp_coe {p : ℝ} [Fact (0 < p)] {E' : Type u_1} {H' : Type u_2} {N : Type u_3} [NormedAddCommGroup E'] [NormedSpace ℝ E'] [TopologicalSpace H'] {I' : ModelWithCorners ℝ E' H'} [TopologicalSpace N] [ChartedSpace H' N] {g : AddCircle p → N} {t : ℝ} :
          mfderiv% (g ∘ QuotientAddGroup.mk) t = mfderiv% g ↑t

          At the image of t, a map out of AddCircle p has the derivative of its periodic lift at t.

          theorem AddCircle.mfderiv_of_coe_apply {p : ℝ} [Fact (0 < p)] {c : OpenPartialHomeomorph (AddCircle p) ℝ} (hc : ∀ x ∈ c.source, ↑(↑c x) = x) {x : AddCircle p} (hx : x ∈ c.source) :

          A local lift of AddCircle p to ℝ has derivative the identity of ℝ at each point of its source.

          The extended charts of AddCircle p are local lifts to ℝ: an extended chart sends each point of its source to a real number representing it.

          theorem AddCircle.coe_extChartAt_self {p : ℝ} [Fact (0 < p)] (x : AddCircle p) :

          The extended chart of AddCircle p at x sends x to a real number representing it.

          On its target, the inverse of an extended chart of AddCircle p is the quotient map ℝ → AddCircle p.

          At each point of its target, the inverse of an extended chart of AddCircle p has derivative the identity of ℝ: near that point it is the quotient map ℝ → AddCircle p.

          Maps between circles lifting maps of ℝ #

          A map g : AddCircle p → AddCircle q lifting a C^n map f : ℝ → ℝ, in the sense that g ∘ (↑) = (↑) ∘ f, is C^n.

          Conversely, a continuous lift f : ℝ → ℝ of a C^n map g : AddCircle p → AddCircle q, in the sense that g ∘ (↑) = (↑) ∘ f, is C^n, since the quotient map is a local diffeomorphism.

          theorem AddCircle.hasMFDerivAt_of_comp_coe_eq {p : ℝ} [Fact (0 < p)] {q : ℝ} [Fact (0 < q)] {g : AddCircle p → AddCircle q} {f : ℝ → ℝ} {f' : ℝ →L[ℝ] ℝ} {t : ℝ} (h : g ∘ QuotientAddGroup.mk = QuotientAddGroup.mk ∘ f) (hf : HasFDerivAt f f' t) :
          HasMFDerivAt% g (↑t) f'

          A map g : AddCircle p → AddCircle q lifting a map f : ℝ → ℝ, in the sense that g ∘ (↑) = (↑) ∘ f, has at the image of t the derivative of f at t.

          @[simp]
          theorem AddCircle.mfderiv_add_right (p : ℝ) [Fact (0 < p)] (a x : AddCircle p) :
          (mfderiv% fun (x : AddCircle p) => x + a) x = ContinuousLinearMap.id ℝ ℝ

          Every translation of AddCircle p has derivative the identity of ℝ.

          @[simp]
          theorem AddCircle.mfderiv_zsmul (p : ℝ) [Fact (0 < p)] (k : ℤ) (x : AddCircle p) :
          (mfderiv% fun (y : AddCircle p) => k • y) x = k • ContinuousLinearMap.id ℝ ℝ

          Multiplication by an integer k on AddCircle p has derivative multiplication by k, with its sign, at every point.

          Rescaling the period #

          The rescaling AddCircle p ≃ AddCircle q sending the class of t to the class of t * (p⁻¹ * q), as an analytic diffeomorphism. It is AddCircle.equivAddCircle, the descent of multiplication by p⁻¹ * q on ℝ.

          Instances For
            theorem AddCircle.coe_diffeomorphAddCircle (p : ℝ) [Fact (0 < p)] (q : ℝ) [Fact (0 < q)] (n : WithTop ℕ∞) :
            ⇑(diffeomorphAddCircle p q n) = ⇑(equivAddCircle p q ⋯ ⋯)

            The underlying map of diffeomorphAddCircle p q n is AddCircle.equivAddCircle.

            @[simp]
            theorem AddCircle.diffeomorphAddCircle_apply_mk (p : ℝ) [Fact (0 < p)] (q : ℝ) [Fact (0 < q)] (n : WithTop ℕ∞) (t : ℝ) :
            (diffeomorphAddCircle p q n) ↑t = ↑(t * (p⁻¹ * q))

            The rescaling sends the class of t to the class of t * (p⁻¹ * q).

            @[simp]

            The underlying homeomorphism of diffeomorphAddCircle p q n is AddCircle.homeomorphAddCircle.

            @[simp]

            The inverse of the rescaling from AddCircle p to AddCircle q is the rescaling back.

            @[simp]
            theorem AddCircle.diffeomorphAddCircle_add (p : ℝ) [Fact (0 < p)] (q : ℝ) [Fact (0 < q)] (n : WithTop ℕ∞) (x y : AddCircle p) :

            The rescaling is additive.

            @[simp]
            theorem AddCircle.diffeomorphAddCircle_zsmul (p : ℝ) [Fact (0 < p)] (q : ℝ) [Fact (0 < q)] (n : WithTop ℕ∞) (k : ℤ) (x : AddCircle p) :

            The rescaling commutes with integer multiplication.

            @[simp]

            Rescaling AddCircle p to its own period is the identity.

            @[simp]

            Rescaling from AddCircle p to AddCircle q and then to AddCircle r is the rescaling from AddCircle p to AddCircle r.

            @[simp]
            theorem AddCircle.mfderiv_diffeomorphAddCircle (p : ℝ) [Fact (0 < p)] (q : ℝ) [Fact (0 < q)] (n : WithTop ℕ∞) (x : AddCircle p) :

            The rescaling from AddCircle p to AddCircle q has derivative multiplication by p⁻¹ * q at every point.

            The quotient map of a torus of two circles #

            The quotient map ℝ × ℝ → AddCircle p × AddCircle q has derivative the identity of ℝ × ℝ, the tangent spaces of both circles being read in their charts.

            @[simp]

            The derivative of the quotient map ℝ × ℝ → AddCircle p × AddCircle q is the identity of ℝ × ℝ.