Documentation

Mathlib.Analysis.Normed.Field.UnitBall

Algebraic structures on unit balls and spheres #

In this file we define algebraic structures (Semigroup, CommSemigroup, Monoid, CommMonoid, Group, CommGroup) on Metric.ball (0 : ๐•œ) 1, Metric.closedBall (0 : ๐•œ) 1, and Metric.sphere (0 : ๐•œ) 1. In each case we use the weakest possible typeclass assumption on ๐•œ, from NonUnitalSeminormedRing to NormedField.

Algebraic structures on Metric.ball 0 1 #

def Subsemigroup.unitBall (๐•œ : Type u_2) [NonUnitalSeminormedRing ๐•œ] :
Subsemigroup ๐•œ

Unit ball in a non-unital seminormed ring as a bundled Subsemigroup.

Equations
    Instances For
      instance Metric.unitBall.instSemigroup {๐•œ : Type u_1} [NonUnitalSeminormedRing ๐•œ] :
      Semigroup โ†‘(ball 0 1)
      Equations
        instance Metric.unitBall.instContinuousMul {๐•œ : Type u_1} [NonUnitalSeminormedRing ๐•œ] :
        ContinuousMul โ†‘(ball 0 1)
        instance Metric.unitBall.instCommSemigroup {๐•œ : Type u_1} [SeminormedCommRing ๐•œ] :
        CommSemigroup โ†‘(ball 0 1)
        Equations
          instance Metric.unitBall.instHasDistribNeg {๐•œ : Type u_1} [NonUnitalSeminormedRing ๐•œ] :
          HasDistribNeg โ†‘(ball 0 1)
          Equations
            @[simp]
            theorem Metric.unitBall.coe_mul {๐•œ : Type u_1} [NonUnitalSeminormedRing ๐•œ] (x y : โ†‘(ball 0 1)) :
            โ†‘(x * y) = โ†‘x * โ†‘y
            instance Metric.unitBall.instZero {๐•œ : Type u_1} [Zero ๐•œ] [PseudoMetricSpace ๐•œ] :
            Zero โ†‘(ball 0 1)
            Equations
              @[simp]
              theorem Metric.unitBall.coe_zero {๐•œ : Type u_1} [Zero ๐•œ] [PseudoMetricSpace ๐•œ] :
              โ†‘0 = 0
              @[simp]
              theorem Metric.unitBall.coe_eq_zero {๐•œ : Type u_1} [Zero ๐•œ] [PseudoMetricSpace ๐•œ] {a : โ†‘(ball 0 1)} :
              โ†‘a = 0 โ†” a = 0
              instance Metric.unitBall.instSemigroupWithZero {๐•œ : Type u_1} [NonUnitalSeminormedRing ๐•œ] :
              SemigroupWithZero โ†‘(ball 0 1)
              Equations
                instance Metric.unitBall.instIsCancelMulZero {๐•œ : Type u_1} [NonUnitalSeminormedRing ๐•œ] [IsCancelMulZero ๐•œ] :
                IsCancelMulZero โ†‘(ball 0 1)

                Algebraic instances for Metric.closedBall 0 1 #

                def Subsemigroup.unitClosedBall (๐•œ : Type u_2) [NonUnitalSeminormedRing ๐•œ] :
                Subsemigroup ๐•œ

                Closed unit ball in a non-unital seminormed ring as a bundled Subsemigroup.

                Equations
                  Instances For
                    instance Metric.unitClosedBall.instSemigroup {๐•œ : Type u_1} [NonUnitalSeminormedRing ๐•œ] :
                    Semigroup โ†‘(closedBall 0 1)
                    Equations
                      Equations
                        @[simp]
                        theorem Metric.unitClosedBall.coe_mul {๐•œ : Type u_1} [NonUnitalSeminormedRing ๐•œ] (x y : โ†‘(closedBall 0 1)) :
                        โ†‘(x * y) = โ†‘x * โ†‘y
                        instance Metric.unitClosedBall.instZero {๐•œ : Type u_1} [Zero ๐•œ] [PseudoMetricSpace ๐•œ] :
                        Zero โ†‘(closedBall 0 1)
                        Equations
                          @[simp]
                          theorem Metric.unitClosedBall.coe_zero {๐•œ : Type u_1} [Zero ๐•œ] [PseudoMetricSpace ๐•œ] :
                          โ†‘0 = 0
                          @[simp]
                          theorem Metric.unitClosedBall.coe_eq_zero {๐•œ : Type u_1} [Zero ๐•œ] [PseudoMetricSpace ๐•œ] {a : โ†‘(closedBall 0 1)} :
                          โ†‘a = 0 โ†” a = 0
                          def Submonoid.unitClosedBall (๐•œ : Type u_2) [SeminormedRing ๐•œ] [NormOneClass ๐•œ] :
                          Submonoid ๐•œ

                          Closed unit ball in a seminormed ring as a bundled Submonoid.

                          Equations
                            Instances For
                              instance Metric.unitClosedBall.instMonoid {๐•œ : Type u_1} [SeminormedRing ๐•œ] [NormOneClass ๐•œ] :
                              Monoid โ†‘(closedBall 0 1)
                              Equations
                                instance Metric.unitClosedBall.instCommMonoid {๐•œ : Type u_1} [SeminormedCommRing ๐•œ] [NormOneClass ๐•œ] :
                                CommMonoid โ†‘(closedBall 0 1)
                                Equations
                                  @[simp]
                                  theorem Metric.unitClosedBall.coe_one {๐•œ : Type u_1} [SeminormedRing ๐•œ] [NormOneClass ๐•œ] :
                                  โ†‘1 = 1
                                  @[simp]
                                  theorem Metric.unitClosedBall.coe_eq_one {๐•œ : Type u_1} [SeminormedRing ๐•œ] [NormOneClass ๐•œ] {a : โ†‘(closedBall 0 1)} :
                                  โ†‘a = 1 โ†” a = 1
                                  @[simp]
                                  theorem Metric.unitClosedBall.coe_pow {๐•œ : Type u_1} [SeminormedRing ๐•œ] [NormOneClass ๐•œ] (x : โ†‘(closedBall 0 1)) (n : โ„•) :
                                  โ†‘(x ^ n) = โ†‘x ^ n
                                  instance Metric.unitClosedBall.instMonoidWithZero {๐•œ : Type u_1} [SeminormedRing ๐•œ] [NormOneClass ๐•œ] :
                                  Equations
                                    instance Metric.unitClosedBall.instIsCancelMulZero {๐•œ : Type u_1} [SeminormedRing ๐•œ] [IsCancelMulZero ๐•œ] [NormOneClass ๐•œ] :

                                    Algebraic instances on the unit sphere #

                                    def Submonoid.unitSphere (๐•œ : Type u_2) [SeminormedRing ๐•œ] [NormMulClass ๐•œ] [NormOneClass ๐•œ] :
                                    Submonoid ๐•œ

                                    Unit sphere in a seminormed ring (with strictly multiplicative norm) as a bundled Submonoid.

                                    Equations
                                      Instances For
                                        @[simp]
                                        theorem Submonoid.coe_unitSphere (๐•œ : Type u_2) [SeminormedRing ๐•œ] [NormMulClass ๐•œ] [NormOneClass ๐•œ] :
                                        โ†‘(unitSphere ๐•œ) = Metric.sphere 0 1
                                        instance Metric.unitSphere.instInv {๐•œ : Type u_1} [NormedDivisionRing ๐•œ] :
                                        Inv โ†‘(sphere 0 1)
                                        Equations
                                          @[simp]
                                          theorem Metric.unitSphere.coe_inv {๐•œ : Type u_1} [NormedDivisionRing ๐•œ] (x : โ†‘(sphere 0 1)) :
                                          โ†‘xโปยน = (โ†‘x)โปยน
                                          instance Metric.unitSphere.instDiv {๐•œ : Type u_1} [NormedDivisionRing ๐•œ] :
                                          Div โ†‘(sphere 0 1)
                                          Equations
                                            @[simp]
                                            theorem Metric.unitSphere.coe_div {๐•œ : Type u_1} [NormedDivisionRing ๐•œ] (x y : โ†‘(sphere 0 1)) :
                                            โ†‘(x / y) = โ†‘x / โ†‘y
                                            instance Metric.unitSphere.instZPow {๐•œ : Type u_1} [NormedDivisionRing ๐•œ] :
                                            Pow โ†‘(sphere 0 1) โ„ค
                                            Equations
                                              @[simp]
                                              theorem Metric.unitSphere.coe_zpow {๐•œ : Type u_1} [NormedDivisionRing ๐•œ] (x : โ†‘(sphere 0 1)) (n : โ„ค) :
                                              โ†‘(x ^ n) = โ†‘x ^ n
                                              instance Metric.unitSphere.instMonoid {๐•œ : Type u_1} [SeminormedRing ๐•œ] [NormMulClass ๐•œ] [NormOneClass ๐•œ] :
                                              Monoid โ†‘(sphere 0 1)
                                              Equations
                                                instance Metric.unitSphere.instCommMonoid {๐•œ : Type u_1} [SeminormedCommRing ๐•œ] [NormMulClass ๐•œ] [NormOneClass ๐•œ] :
                                                CommMonoid โ†‘(sphere 0 1)
                                                Equations
                                                  @[simp]
                                                  theorem Metric.unitSphere.coe_one {๐•œ : Type u_1} [SeminormedRing ๐•œ] [NormMulClass ๐•œ] [NormOneClass ๐•œ] :
                                                  โ†‘1 = 1
                                                  @[simp]
                                                  theorem Metric.unitSphere.coe_mul {๐•œ : Type u_1} [SeminormedRing ๐•œ] [NormMulClass ๐•œ] [NormOneClass ๐•œ] (x y : โ†‘(sphere 0 1)) :
                                                  โ†‘(x * y) = โ†‘x * โ†‘y
                                                  @[simp]
                                                  theorem Metric.unitSphere.coe_pow {๐•œ : Type u_1} [SeminormedRing ๐•œ] [NormMulClass ๐•œ] [NormOneClass ๐•œ] (x : โ†‘(sphere 0 1)) (n : โ„•) :
                                                  โ†‘(x ^ n) = โ†‘x ^ n
                                                  def unitSphereToUnits (๐•œ : Type u_2) [NormedDivisionRing ๐•œ] :
                                                  โ†‘(Metric.sphere 0 1) โ†’* ๐•œหฃ

                                                  Monoid homomorphism from the unit sphere in a normed division ring to the group of units.

                                                  Equations
                                                    Instances For
                                                      @[simp]
                                                      theorem unitSphereToUnits_apply_coe {๐•œ : Type u_1} [NormedDivisionRing ๐•œ] (x : โ†‘(Metric.sphere 0 1)) :
                                                      โ†‘((unitSphereToUnits ๐•œ) x) = โ†‘x
                                                      theorem unitSphereToUnits_injective {๐•œ : Type u_1} [NormedDivisionRing ๐•œ] :
                                                      instance Metric.unitSphere.instGroup {๐•œ : Type u_1} [NormedDivisionRing ๐•œ] :
                                                      Group โ†‘(sphere 0 1)
                                                      Equations
                                                        instance Metric.sphere.instHasDistribNeg {๐•œ : Type u_1} [SeminormedRing ๐•œ] [NormMulClass ๐•œ] [NormOneClass ๐•œ] :
                                                        HasDistribNeg โ†‘(sphere 0 1)
                                                        Equations
                                                          instance Metric.sphere.instContinuousMul {๐•œ : Type u_1} [SeminormedRing ๐•œ] [NormMulClass ๐•œ] [NormOneClass ๐•œ] :
                                                          ContinuousMul โ†‘(sphere 0 1)
                                                          instance Metric.sphere.instCommGroup {๐•œ : Type u_1} [NormedField ๐•œ] :
                                                          CommGroup โ†‘(sphere 0 1)
                                                          Equations