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 #
Unit ball in a non-unital seminormed ring as a bundled Subsemigroup.
Equations
- Subsemigroup.unitBall ๐ = { carrier := Metric.ball 0 1, mul_mem' := โฏ }
Instances For
@[simp]
@[instance_reducible]
Equations
- Metric.unitBall.instSemigroup = { mul := Metric.unitBall.instSemigroup._aux_1, mul_assoc := โฏ }
instance Metric.unitBall.instContinuousMul {๐ : Type u_1} [NonUnitalSeminormedRing ๐] :
ContinuousMul โ(ball 0 1)
@[instance_reducible]
instance Metric.unitBall.instCommSemigroup {๐ : Type u_1} [SeminormedCommRing ๐] :
CommSemigroup โ(ball 0 1)
Equations
- Metric.unitBall.instCommSemigroup = { toSemigroup := Metric.unitBall.instSemigroup, mul_comm := โฏ }
@[instance_reducible]
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)) :
@[instance_reducible]
@[simp]
@[simp]
theorem Metric.unitBall.coe_eq_zero {๐ : Type u_1} [Zero ๐] [PseudoMetricSpace ๐] {a : โ(ball 0 1)} :
@[instance_reducible]
instance Metric.unitBall.instSemigroupWithZero {๐ : Type u_1} [NonUnitalSeminormedRing ๐] :
SemigroupWithZero โ(ball 0 1)
Equations
- Metric.unitBall.instSemigroupWithZero = { toSemigroup := Metric.unitBall.instSemigroup, toZero := Metric.unitBall.instZero, zero_mul := โฏ, mul_zero := โฏ }
instance Metric.unitBall.instIsLeftCancelMulZero {๐ : Type u_1} [NonUnitalSeminormedRing ๐] [IsLeftCancelMulZero ๐] :
IsLeftCancelMulZero โ(ball 0 1)
instance Metric.unitBall.instIsRightCancelMulZero {๐ : Type u_1} [NonUnitalSeminormedRing ๐] [IsRightCancelMulZero ๐] :
IsRightCancelMulZero โ(ball 0 1)
instance Metric.unitBall.instIsCancelMulZero {๐ : Type u_1} [NonUnitalSeminormedRing ๐] [IsCancelMulZero ๐] :
IsCancelMulZero โ(ball 0 1)
Algebraic instances for Metric.closedBall 0 1 #
Closed unit ball in a non-unital seminormed ring as a bundled Subsemigroup.
Equations
- Subsemigroup.unitClosedBall ๐ = { carrier := Metric.closedBall 0 1, mul_mem' := โฏ }
Instances For
@[instance_reducible]
instance Metric.unitClosedBall.instSemigroup {๐ : Type u_1} [NonUnitalSeminormedRing ๐] :
Semigroup โ(closedBall 0 1)
Equations
- Metric.unitClosedBall.instSemigroup = { mul := Metric.unitClosedBall.instSemigroup._aux_1, mul_assoc := โฏ }
@[instance_reducible]
instance Metric.unitClosedBall.instHasDistribNeg {๐ : Type u_1} [NonUnitalSeminormedRing ๐] :
HasDistribNeg โ(closedBall 0 1)
Equations
instance Metric.unitClosedBall.instContinuousMul {๐ : Type u_1} [NonUnitalSeminormedRing ๐] :
ContinuousMul โ(closedBall 0 1)
@[simp]
theorem Metric.unitClosedBall.coe_mul {๐ : Type u_1} [NonUnitalSeminormedRing ๐] (x y : โ(closedBall 0 1)) :
@[instance_reducible]
instance Metric.unitClosedBall.instZero {๐ : Type u_1} [Zero ๐] [PseudoMetricSpace ๐] :
Zero โ(closedBall 0 1)
@[simp]
@[simp]
theorem Metric.unitClosedBall.coe_eq_zero {๐ : Type u_1} [Zero ๐] [PseudoMetricSpace ๐] {a : โ(closedBall 0 1)} :
@[instance_reducible]
instance Metric.unitClosedBall.instSemigroupWithZero {๐ : Type u_1} [NonUnitalSeminormedRing ๐] :
SemigroupWithZero โ(closedBall 0 1)
Equations
- Metric.unitClosedBall.instSemigroupWithZero = { toSemigroup := Metric.unitClosedBall.instSemigroup, toZero := Metric.unitClosedBall.instZero, zero_mul := โฏ, mul_zero := โฏ }
def Submonoid.unitClosedBall (๐ : Type u_2) [SeminormedRing ๐] [NormOneClass ๐] :
Submonoid ๐
Closed unit ball in a seminormed ring as a bundled Submonoid.
Equations
- Submonoid.unitClosedBall ๐ = { carrier := Metric.closedBall 0 1, mul_mem' := โฏ, one_mem' := โฏ }
Instances For
@[simp]
theorem Submonoid.mem_unitClosedBall (๐ : Type u_2) [SeminormedRing ๐] [NormOneClass ๐] {x : ๐} :
@[instance_reducible]
instance Metric.unitClosedBall.instMonoid {๐ : Type u_1} [SeminormedRing ๐] [NormOneClass ๐] :
Monoid โ(closedBall 0 1)
Equations
- One or more equations did not get rendered due to their size.
@[instance_reducible]
instance Metric.unitClosedBall.instCommMonoid {๐ : Type u_1} [SeminormedCommRing ๐] [NormOneClass ๐] :
CommMonoid โ(closedBall 0 1)
Equations
- Metric.unitClosedBall.instCommMonoid = { toMonoid := Metric.unitClosedBall.instMonoid, mul_comm := โฏ }
@[simp]
@[simp]
theorem Metric.unitClosedBall.coe_eq_one {๐ : Type u_1} [SeminormedRing ๐] [NormOneClass ๐] {a : โ(closedBall 0 1)} :
@[simp]
theorem Metric.unitClosedBall.coe_pow {๐ : Type u_1} [SeminormedRing ๐] [NormOneClass ๐] (x : โ(closedBall 0 1)) (n : โ) :
@[instance_reducible]
instance Metric.unitClosedBall.instMonoidWithZero {๐ : Type u_1} [SeminormedRing ๐] [NormOneClass ๐] :
MonoidWithZero โ(closedBall 0 1)
Equations
- Metric.unitClosedBall.instMonoidWithZero = { toMonoid := Metric.unitClosedBall.instMonoid, toZero := Metric.unitClosedBall.instSemigroupWithZero.toZero, zero_mul := โฏ, mul_zero := โฏ }
instance Metric.unitClosedBall.instIsCancelMulZero {๐ : Type u_1} [SeminormedRing ๐] [IsCancelMulZero ๐] [NormOneClass ๐] :
IsCancelMulZero โ(closedBall 0 1)
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
- Submonoid.unitSphere ๐ = { carrier := Metric.sphere 0 1, mul_mem' := โฏ, one_mem' := โฏ }
Instances For
@[simp]
theorem Submonoid.coe_unitSphere (๐ : Type u_2) [SeminormedRing ๐] [NormMulClass ๐] [NormOneClass ๐] :
@[instance_reducible]
Equations
- Metric.unitSphere.instInv = { inv := fun (x : โ(Metric.sphere 0 1)) => โจ(โx)โปยน, โฏโฉ }
@[simp]
theorem Metric.unitSphere.coe_inv {๐ : Type u_1} [NormedDivisionRing ๐] (x : โ(sphere 0 1)) :
@[instance_reducible]
Equations
- Metric.unitSphere.instDiv = { div := fun (x y : โ(Metric.sphere 0 1)) => โจโx / โy, โฏโฉ }
@[simp]
theorem Metric.unitSphere.coe_div {๐ : Type u_1} [NormedDivisionRing ๐] (x y : โ(sphere 0 1)) :
@[instance_reducible]
Equations
- Metric.unitSphere.instZPow = { pow := fun (x : โ(Metric.sphere 0 1)) (n : โค) => โจโx ^ n, โฏโฉ }
@[simp]
theorem Metric.unitSphere.coe_zpow {๐ : Type u_1} [NormedDivisionRing ๐] (x : โ(sphere 0 1)) (n : โค) :
@[instance_reducible]
instance Metric.unitSphere.instMonoid {๐ : Type u_1} [SeminormedRing ๐] [NormMulClass ๐] [NormOneClass ๐] :
Equations
- One or more equations did not get rendered due to their size.
@[instance_reducible]
instance Metric.unitSphere.instCommMonoid {๐ : Type u_1} [SeminormedCommRing ๐] [NormMulClass ๐] [NormOneClass ๐] :
CommMonoid โ(sphere 0 1)
Equations
- Metric.unitSphere.instCommMonoid = { toMonoid := Metric.unitSphere.instMonoid, mul_comm := โฏ }
@[simp]
theorem Metric.unitSphere.coe_one {๐ : Type u_1} [SeminormedRing ๐] [NormMulClass ๐] [NormOneClass ๐] :
@[simp]
theorem Metric.unitSphere.coe_mul {๐ : Type u_1} [SeminormedRing ๐] [NormMulClass ๐] [NormOneClass ๐] (x y : โ(sphere 0 1)) :
@[simp]
theorem Metric.unitSphere.coe_pow {๐ : Type u_1} [SeminormedRing ๐] [NormMulClass ๐] [NormOneClass ๐] (x : โ(sphere 0 1)) (n : โ) :
Monoid homomorphism from the unit sphere in a normed division ring to the group of units.
Equations
- unitSphereToUnits ๐ = Units.liftRight (Submonoid.unitSphere ๐).subtype (fun (x : โ(Metric.sphere 0 1)) => Units.mk0 โx โฏ) โฏ
Instances For
@[simp]
theorem unitSphereToUnits_apply_coe {๐ : Type u_1} [NormedDivisionRing ๐] (x : โ(Metric.sphere 0 1)) :
theorem unitSphereToUnits_injective {๐ : Type u_1} [NormedDivisionRing ๐] :
Function.Injective โ(unitSphereToUnits ๐)
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[instance_reducible]
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.instIsTopologicalGroup {๐ : Type u_1} [NormedDivisionRing ๐] :
IsTopologicalGroup โ(sphere 0 1)
@[instance_reducible]
Equations
- Metric.sphere.instCommGroup = { toGroup := Metric.unitSphere.instGroup, mul_comm := โฏ }