Documentation

Mathlib.Topology.Instances.AddCircle

The additive circle #

We define the additive circle AddCircle p as the quotient 𝕜 ⧸ (ℤ ∙ p) for some period p : 𝕜.

See also Circle and Real.angle. For the normed group structure on AddCircle, see AddCircle.NormedAddCommGroup in a later file.

Main definitions and results: #

Implementation notes: #

Although the most important case is 𝕜 = ℝ we wish to support other types of scalars, such as the rational circle AddCircle (1 : ℚ), and so we set things up more generally.

TODO #

theorem continuous_right_toIcoMod {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [Archimedean 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} (hp : 0 < p) (a : 𝕜) (x : 𝕜) :
theorem continuous_left_toIocMod {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [Archimedean 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} (hp : 0 < p) (a : 𝕜) (x : 𝕜) :
theorem toIcoMod_eventuallyEq_toIocMod {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [Archimedean 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} (hp : 0 < p) (a : 𝕜) {x : 𝕜} (hx : ↑x ≠ ↑a) :
(nhds x).EventuallyEq (toIcoMod hp a) (toIocMod hp a)
theorem continuousAt_toIcoMod {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [Archimedean 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} (hp : 0 < p) (a : 𝕜) {x : 𝕜} (hx : ↑x ≠ ↑a) :
theorem continuousAt_toIocMod {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [Archimedean 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} (hp : 0 < p) (a : 𝕜) {x : 𝕜} (hx : ↑x ≠ ↑a) :
@[reducible, inline]
abbrev AddCircle {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) :
Type u_1

The "additive circle": 𝕜 ⧸ (ℤ ∙ p). See also Circle and Real.angle.

Equations
Instances For
    theorem AddCircle.coe_nsmul {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] (p : 𝕜) {n : ℕ} {x : 𝕜} :
    ↑(n • x) = n • ↑x
    theorem AddCircle.coe_zsmul {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] (p : 𝕜) {n : ℤ} {x : 𝕜} :
    ↑(n • x) = n • ↑x
    theorem AddCircle.coe_add {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] (p : 𝕜) (x : 𝕜) (y : 𝕜) :
    ↑(x + y) = ↑x + ↑y
    theorem AddCircle.coe_sub {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] (p : 𝕜) (x : 𝕜) (y : 𝕜) :
    ↑(x - y) = ↑x - ↑y
    theorem AddCircle.coe_neg {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] (p : 𝕜) {x : 𝕜} :
    ↑(-x) = -↑x
    theorem AddCircle.coe_eq_zero_iff {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] (p : 𝕜) {x : 𝕜} :
    ↑x = 0 ↔ ∃ (n : ℤ), n • p = x
    theorem AddCircle.coe_eq_zero_of_pos_iff {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] (p : 𝕜) (hp : 0 < p) {x : 𝕜} (hx : 0 < x) :
    ↑x = 0 ↔ ∃ (n : ℕ), n • p = x
    theorem AddCircle.coe_period {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] (p : 𝕜) :
    ↑p = 0
    theorem AddCircle.coe_add_period {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] (p : 𝕜) (x : 𝕜) :
    ↑(x + p) = ↑x
    def AddCircle.equivIco {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] :
    AddCircle p ≃ ↑(Set.Ico a (a + p))

    The equivalence between AddCircle p and the half-open interval [a, a + p), whose inverse is the natural quotient map.

    Equations
    Instances For
      def AddCircle.equivIoc {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] :
      AddCircle p ≃ ↑(Set.Ioc a (a + p))

      The equivalence between AddCircle p and the half-open interval (a, a + p], whose inverse is the natural quotient map.

      Equations
      Instances For
        def AddCircle.liftIco {𝕜 : Type u_1} {B : Type u_2} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] (f : 𝕜 → B) :
        AddCircle p → B

        Given a function on 𝕜, return the unique function on AddCircle p agreeing with f on [a, a + p).

        Equations
        Instances For
          def AddCircle.liftIoc {𝕜 : Type u_1} {B : Type u_2} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] (f : 𝕜 → B) :
          AddCircle p → B

          Given a function on 𝕜, return the unique function on AddCircle p agreeing with f on (a, a + p].

          Equations
          Instances For
            theorem AddCircle.coe_eq_coe_iff_of_mem_Ico {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} [hp : Fact (0 < p)] {a : 𝕜} [Archimedean 𝕜] {x : 𝕜} {y : 𝕜} (hx : x ∈ Set.Ico a (a + p)) (hy : y ∈ Set.Ico a (a + p)) :
            ↑x = ↑y ↔ x = y
            theorem AddCircle.liftIco_coe_apply {𝕜 : Type u_1} {B : Type u_2} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} [hp : Fact (0 < p)] {a : 𝕜} [Archimedean 𝕜] {f : 𝕜 → B} {x : 𝕜} (hx : x ∈ Set.Ico a (a + p)) :
            AddCircle.liftIco p a f ↑x = f x
            theorem AddCircle.liftIoc_coe_apply {𝕜 : Type u_1} {B : Type u_2} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} [hp : Fact (0 < p)] {a : 𝕜} [Archimedean 𝕜] {f : 𝕜 → B} {x : 𝕜} (hx : x ∈ Set.Ioc a (a + p)) :
            AddCircle.liftIoc p a f ↑x = f x
            theorem AddCircle.eq_coe_Ico {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} [hp : Fact (0 < p)] [Archimedean 𝕜] (a : AddCircle p) :
            ∃ b ∈ Set.Ico 0 p, ↑b = a
            theorem AddCircle.coe_eq_zero_iff_of_mem_Ico {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} [hp : Fact (0 < p)] {a : 𝕜} [Archimedean 𝕜] (ha : a ∈ Set.Ico 0 p) :
            ↑a = 0 ↔ a = 0
            theorem AddCircle.continuous_equivIco_symm {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] :
            theorem AddCircle.continuous_equivIoc_symm {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] :
            theorem AddCircle.continuousAt_equivIco {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] {x : AddCircle p} (hx : x ≠ ↑a) :
            theorem AddCircle.continuousAt_equivIoc {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] {x : AddCircle p} (hx : x ≠ ↑a) :
            @[simp]
            theorem AddCircle.partialHomeomorphCoe_symm_apply {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] [DiscreteTopology ↥(AddSubgroup.zmultiples p)] (x : AddCircle p) :
            @[simp]
            theorem AddCircle.partialHomeomorphCoe_target {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] [DiscreteTopology ↥(AddSubgroup.zmultiples p)] :
            @[simp]
            theorem AddCircle.partialHomeomorphCoe_apply {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] [DiscreteTopology ↥(AddSubgroup.zmultiples p)] (a : 𝕜) :
            @[simp]
            theorem AddCircle.partialHomeomorphCoe_source {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] [DiscreteTopology ↥(AddSubgroup.zmultiples p)] :

            The quotient map 𝕜 → AddCircle p as a partial homeomorphism.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem AddCircle.isLocalHomeomorph_coe {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] [Archimedean 𝕜] [DiscreteTopology ↥(AddSubgroup.zmultiples p)] [DenselyOrdered 𝕜] :
              IsLocalHomeomorph QuotientAddGroup.mk
              @[simp]
              theorem AddCircle.coe_image_Ico_eq {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] :
              QuotientAddGroup.mk '' Set.Ico a (a + p) = Set.univ

              The image of the closed-open interval [a, a + p) under the quotient map 𝕜 → AddCircle p is the entire space.

              @[simp]
              theorem AddCircle.coe_image_Ioc_eq {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] :
              QuotientAddGroup.mk '' Set.Ioc a (a + p) = Set.univ

              The image of the closed-open interval [a, a + p) under the quotient map 𝕜 → AddCircle p is the entire space.

              @[simp]
              theorem AddCircle.coe_image_Icc_eq {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] (a : 𝕜) [Archimedean 𝕜] :
              QuotientAddGroup.mk '' Set.Icc a (a + p) = Set.univ

              The image of the closed interval [0, p] under the quotient map 𝕜 → AddCircle p is the entire space.

              def AddCircle.equivAddCircle {𝕜 : Type u_1} [LinearOrderedField 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) (q : 𝕜) (hp : p ≠ 0) (hq : q ≠ 0) :

              The rescaling equivalence between additive circles with different periods.

              Equations
              Instances For
                @[simp]
                theorem AddCircle.equivAddCircle_apply_mk {𝕜 : Type u_1} [LinearOrderedField 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) (q : 𝕜) (hp : p ≠ 0) (hq : q ≠ 0) (x : 𝕜) :
                (AddCircle.equivAddCircle p q hp hq) ↑x = ↑(x * (p⁻¹ * q))
                @[simp]
                theorem AddCircle.equivAddCircle_symm_apply_mk {𝕜 : Type u_1} [LinearOrderedField 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) (q : 𝕜) (hp : p ≠ 0) (hq : q ≠ 0) (x : 𝕜) :
                (AddCircle.equivAddCircle p q hp hq).symm ↑x = ↑(x * (q⁻¹ * p))
                def AddCircle.homeomorphAddCircle {𝕜 : Type u_1} [LinearOrderedField 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) (q : 𝕜) (hp : p ≠ 0) (hq : q ≠ 0) :

                The rescaling homeomorphism between additive circles with different periods.

                Equations
                Instances For
                  @[simp]
                  theorem AddCircle.homeomorphAddCircle_apply_mk {𝕜 : Type u_1} [LinearOrderedField 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) (q : 𝕜) (hp : p ≠ 0) (hq : q ≠ 0) (x : 𝕜) :
                  (AddCircle.homeomorphAddCircle p q hp hq) ↑x = ↑(x * (p⁻¹ * q))
                  @[simp]
                  theorem AddCircle.homeomorphAddCircle_symm_apply_mk {𝕜 : Type u_1} [LinearOrderedField 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) (q : 𝕜) (hp : p ≠ 0) (hq : q ≠ 0) (x : 𝕜) :
                  (AddCircle.homeomorphAddCircle p q hp hq).symm ↑x = ↑(x * (q⁻¹ * p))
                  @[simp]
                  theorem AddCircle.coe_equivIco_mk_apply {𝕜 : Type u_1} [LinearOrderedField 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] [FloorRing 𝕜] (x : 𝕜) :
                  ↑((AddCircle.equivIco p 0) ↑x) = Int.fract (x / p) * p
                  instance AddCircle.instDivisibleByInt {𝕜 : Type u_1} [LinearOrderedField 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] [FloorRing 𝕜] :
                  Equations
                  theorem AddCircle.addOrderOf_period_div {𝕜 : Type u_1} [LinearOrderedField 𝕜] {p : 𝕜} [hp : Fact (0 < p)] {n : ℕ} (h : 0 < n) :
                  addOrderOf ↑(p / ↑n) = n
                  theorem AddCircle.gcd_mul_addOrderOf_div_eq {𝕜 : Type u_1} [LinearOrderedField 𝕜] (p : 𝕜) [hp : Fact (0 < p)] {n : ℕ} (m : ℕ) (hn : 0 < n) :
                  m.gcd n * addOrderOf ↑(↑m / ↑n * p) = n
                  theorem AddCircle.addOrderOf_div_of_gcd_eq_one {𝕜 : Type u_1} [LinearOrderedField 𝕜] {p : 𝕜} [hp : Fact (0 < p)] {m : ℕ} {n : ℕ} (hn : 0 < n) (h : m.gcd n = 1) :
                  addOrderOf ↑(↑m / ↑n * p) = n
                  theorem AddCircle.addOrderOf_div_of_gcd_eq_one' {𝕜 : Type u_1} [LinearOrderedField 𝕜] {p : 𝕜} [hp : Fact (0 < p)] {m : ℤ} {n : ℕ} (hn : 0 < n) (h : m.natAbs.gcd n = 1) :
                  addOrderOf ↑(↑m / ↑n * p) = n
                  theorem AddCircle.addOrderOf_coe_rat {𝕜 : Type u_1} [LinearOrderedField 𝕜] {p : 𝕜} [hp : Fact (0 < p)] {q : ℚ} :
                  addOrderOf ↑(↑q * p) = q.den
                  theorem AddCircle.addOrderOf_eq_pos_iff {𝕜 : Type u_1} [LinearOrderedField 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} [hp : Fact (0 < p)] {u : AddCircle p} {n : ℕ} (h : 0 < n) :
                  addOrderOf u = n ↔ ∃ m < n, m.gcd n = 1 ∧ ↑(↑m / ↑n * p) = u
                  theorem AddCircle.exists_gcd_eq_one_of_isOfFinAddOrder {𝕜 : Type u_1} [LinearOrderedField 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} [hp : Fact (0 < p)] {u : AddCircle p} (h : IsOfFinAddOrder u) :
                  ∃ (m : ℕ), m.gcd (addOrderOf u) = 1 ∧ m < addOrderOf u ∧ ↑(↑m / ↑(addOrderOf u) * p) = u
                  def AddCircle.setAddOrderOfEquiv {𝕜 : Type u_1} [LinearOrderedField 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] {n : ℕ} (hn : 0 < n) :
                  ↑{u : AddCircle p | addOrderOf u = n} ≃ ↑{m : ℕ | m < n ∧ m.gcd n = 1}

                  The natural bijection between points of order n and natural numbers less than and coprime to n. The inverse of the map sends m ↦ (m/n * p : AddCircle p) where m is coprime to n and satisfies 0 ≤ m < n.

                  Equations
                  Instances For
                    @[simp]
                    theorem AddCircle.card_addOrderOf_eq_totient {𝕜 : Type u_1} [LinearOrderedField 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] {n : ℕ} :
                    Nat.card { u : AddCircle p // addOrderOf u = n } = n.totient
                    theorem AddCircle.finite_setOf_add_order_eq {𝕜 : Type u_1} [LinearOrderedField 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) [hp : Fact (0 < p)] {n : ℕ} (hn : 0 < n) :
                    {u : AddCircle p | addOrderOf u = n}.Finite

                    The "additive circle" ℝ ⧸ (ℤ ∙ p) is compact.

                    Equations
                    • ⋯ = ⋯

                    The action on ℝ by right multiplication of its the subgroup zmultiples p (the multiples of p:ℝ) is properly discontinuous.

                    Equations
                    • ⋯ = ⋯
                    instance instZeroLTOne {𝕜 : Type u_1} [StrictOrderedSemiring 𝕜] :
                    Fact (0 < 1)
                    Equations
                    • ⋯ = ⋯
                    @[reducible, inline]

                    The unit circle ℝ ⧸ ℤ.

                    Equations
                    Instances For

                      This section proves that for any a, the natural map from [a, a + p] ⊂ 𝕜 to AddCircle p gives an identification of AddCircle p, as a topological space, with the quotient of [a, a + p] by the equivalence relation identifying the endpoints.

                      inductive AddCircle.EndpointIdent {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] (p : 𝕜) (a : 𝕜) [hp : Fact (0 < p)] :
                      ↑(Set.Icc a (a + p)) → ↑(Set.Icc a (a + p)) → Prop

                      The relation identifying the endpoints of Icc a (a + p).

                      Instances For
                        def AddCircle.equivIccQuot {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) (a : 𝕜) [hp : Fact (0 < p)] [Archimedean 𝕜] :

                        The equivalence between AddCircle p and the quotient of [a, a + p] by the relation identifying the endpoints.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          theorem AddCircle.equivIccQuot_comp_mk_eq_toIcoMod {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) (a : 𝕜) [hp : Fact (0 < p)] [Archimedean 𝕜] :
                          ⇑(AddCircle.equivIccQuot p a) ∘ Quotient.mk'' = fun (x : 𝕜) => Quot.mk (AddCircle.EndpointIdent p a) ⟨toIcoMod ⋯ a x, ⋯⟩
                          theorem AddCircle.equivIccQuot_comp_mk_eq_toIocMod {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) (a : 𝕜) [hp : Fact (0 < p)] [Archimedean 𝕜] :
                          ⇑(AddCircle.equivIccQuot p a) ∘ Quotient.mk'' = fun (x : 𝕜) => Quot.mk (AddCircle.EndpointIdent p a) ⟨toIocMod ⋯ a x, ⋯⟩
                          def AddCircle.homeoIccQuot {𝕜 : Type u_1} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] (p : 𝕜) (a : 𝕜) [hp : Fact (0 < p)] [Archimedean 𝕜] :

                          The natural map from [a, a + p] ⊂ 𝕜 with endpoints identified to 𝕜 / ℤ • p, as a homeomorphism of topological spaces.

                          Equations
                          Instances For

                            We now show that a continuous function on [a, a + p] satisfying f a = f (a + p) is the pullback of a continuous function on AddCircle p.

                            theorem AddCircle.liftIco_eq_lift_Icc {𝕜 : Type u_1} {B : Type u_2} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} {a : 𝕜} [hp : Fact (0 < p)] [Archimedean 𝕜] {f : 𝕜 → B} (h : f a = f (a + p)) :
                            AddCircle.liftIco p a f = Quot.lift ((Set.Icc a (a + p)).restrict f) ⋯ ∘ ⇑(AddCircle.equivIccQuot p a)
                            theorem AddCircle.liftIco_continuous {𝕜 : Type u_1} {B : Type u_2} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} {a : 𝕜} [hp : Fact (0 < p)] [Archimedean 𝕜] [TopologicalSpace B] {f : 𝕜 → B} (hf : f a = f (a + p)) (hc : ContinuousOn f (Set.Icc a (a + p))) :
                            theorem AddCircle.liftIco_zero_coe_apply {𝕜 : Type u_1} {B : Type u_2} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} [hp : Fact (0 < p)] [Archimedean 𝕜] {f : 𝕜 → B} {x : 𝕜} (hx : x ∈ Set.Ico 0 p) :
                            AddCircle.liftIco p 0 f ↑x = f x
                            theorem AddCircle.liftIco_zero_continuous {𝕜 : Type u_1} {B : Type u_2} [LinearOrderedAddCommGroup 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {p : 𝕜} [hp : Fact (0 < p)] [Archimedean 𝕜] [TopologicalSpace B] {f : 𝕜 → B} (hf : f 0 = f p) (hc : ContinuousOn f (Set.Icc 0 p)) :