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
.
Unit ball in a non unital semi normed ring as a bundled Subsemigroup
.
Equations
- Subsemigroup.unitBall ๐ = { carrier := Metric.ball 0 1, mul_mem' := (_ : โ {a b : ๐}, a โ Metric.ball 0 1 โ b โ Metric.ball 0 1 โ a * b โ Metric.ball 0 1) }
Instances For
instance
Metric.unitBall.semigroup
{๐ : Type u_1}
[NonUnitalSeminormedRing ๐]
:
Semigroup โ(Metric.ball 0 1)
Equations
- Metric.unitBall.semigroup = MulMemClass.toSemigroup (Subsemigroup.unitBall ๐)
instance
Metric.unitBall.continuousMul
{๐ : Type u_1}
[NonUnitalSeminormedRing ๐]
:
ContinuousMul โ(Metric.ball 0 1)
Equations
- (_ : ContinuousMul โ(Metric.ball 0 1)) = (_ : ContinuousMul โฅ(Subsemigroup.unitBall ๐))
instance
Metric.unitBall.commSemigroup
{๐ : Type u_1}
[SeminormedCommRing ๐]
:
CommSemigroup โ(Metric.ball 0 1)
Equations
- Metric.unitBall.commSemigroup = MulMemClass.toCommSemigroup (Subsemigroup.unitBall ๐)
instance
Metric.unitBall.hasDistribNeg
{๐ : Type u_1}
[NonUnitalSeminormedRing ๐]
:
HasDistribNeg โ(Metric.ball 0 1)
Equations
- One or more equations did not get rendered due to their size.
@[simp]
theorem
coe_mul_unitBall
{๐ : Type u_1}
[NonUnitalSeminormedRing ๐]
(x : โ(Metric.ball 0 1))
(y : โ(Metric.ball 0 1))
:
Closed unit ball in a non unital semi normed ring as a bundled Subsemigroup
.
Equations
- Subsemigroup.unitClosedBall ๐ = { carrier := Metric.closedBall 0 1, mul_mem' := (_ : โ {a b : ๐}, a โ Metric.closedBall 0 1 โ b โ Metric.closedBall 0 1 โ a * b โ Metric.closedBall 0 1) }
Instances For
instance
Metric.unitClosedBall.semigroup
{๐ : Type u_1}
[NonUnitalSeminormedRing ๐]
:
Semigroup โ(Metric.closedBall 0 1)
Equations
- Metric.unitClosedBall.semigroup = MulMemClass.toSemigroup (Subsemigroup.unitClosedBall ๐)
instance
Metric.unitClosedBall.hasDistribNeg
{๐ : Type u_1}
[NonUnitalSeminormedRing ๐]
:
HasDistribNeg โ(Metric.closedBall 0 1)
Equations
- One or more equations did not get rendered due to their size.
instance
Metric.unitClosedBall.continuousMul
{๐ : Type u_1}
[NonUnitalSeminormedRing ๐]
:
ContinuousMul โ(Metric.closedBall 0 1)
Equations
- (_ : ContinuousMul โ(Metric.closedBall 0 1)) = (_ : ContinuousMul โฅ(Subsemigroup.unitClosedBall ๐))
@[simp]
theorem
coe_mul_unitClosedBall
{๐ : Type u_1}
[NonUnitalSeminormedRing ๐]
(x : โ(Metric.closedBall 0 1))
(y : โ(Metric.closedBall 0 1))
:
def
Submonoid.unitClosedBall
(๐ : Type u_2)
[SeminormedRing ๐]
[NormOneClass ๐]
:
Submonoid ๐
Closed unit ball in a semi normed ring as a bundled Submonoid
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
Metric.unitClosedBall.monoid
{๐ : Type u_1}
[SeminormedRing ๐]
[NormOneClass ๐]
:
Monoid โ(Metric.closedBall 0 1)
Equations
- Metric.unitClosedBall.monoid = SubmonoidClass.toMonoid (Submonoid.unitClosedBall ๐)
instance
Metric.unitClosedBall.commMonoid
{๐ : Type u_1}
[SeminormedCommRing ๐]
[NormOneClass ๐]
:
CommMonoid โ(Metric.closedBall 0 1)
Equations
- Metric.unitClosedBall.commMonoid = SubmonoidClass.toCommMonoid (Submonoid.unitClosedBall ๐)
@[simp]
theorem
coe_one_unitClosedBall
{๐ : Type u_1}
[SeminormedRing ๐]
[NormOneClass ๐]
:
โ1 = 1
@[simp]
theorem
coe_pow_unitClosedBall
{๐ : Type u_1}
[SeminormedRing ๐]
[NormOneClass ๐]
(x : โ(Metric.closedBall 0 1))
(n : โ)
:
Unit sphere in a normed division ring as a bundled Submonoid
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
Metric.unitSphere.inv
{๐ : Type u_1}
[NormedDivisionRing ๐]
:
Inv โ(Metric.sphere 0 1)
Equations
- Metric.unitSphere.inv = { inv := fun (x : โ(Metric.sphere 0 1)) => { val := (โx)โปยน, property := (_ : (โx)โปยน โ Metric.sphere 0 1) } }
@[simp]
theorem
coe_inv_unitSphere
{๐ : Type u_1}
[NormedDivisionRing ๐]
(x : โ(Metric.sphere 0 1))
:
instance
Metric.unitSphere.div
{๐ : Type u_1}
[NormedDivisionRing ๐]
:
Div โ(Metric.sphere 0 1)
Equations
- Metric.unitSphere.div = { div := fun (x y : โ(Metric.sphere 0 1)) => { val := โx / โy, property := (_ : โx / โy โ Metric.sphere 0 1) } }
@[simp]
theorem
coe_div_unitSphere
{๐ : Type u_1}
[NormedDivisionRing ๐]
(x : โ(Metric.sphere 0 1))
(y : โ(Metric.sphere 0 1))
:
instance
Metric.unitSphere.pow
{๐ : Type u_1}
[NormedDivisionRing ๐]
:
Pow โ(Metric.sphere 0 1) โค
Equations
- Metric.unitSphere.pow = { pow := fun (x : โ(Metric.sphere 0 1)) (n : โค) => { val := โx ^ n, property := (_ : โx ^ n โ Metric.sphere 0 1) } }
@[simp]
theorem
coe_zpow_unitSphere
{๐ : Type u_1}
[NormedDivisionRing ๐]
(x : โ(Metric.sphere 0 1))
(n : โค)
:
instance
Metric.unitSphere.monoid
{๐ : Type u_1}
[NormedDivisionRing ๐]
:
Monoid โ(Metric.sphere 0 1)
Equations
- Metric.unitSphere.monoid = SubmonoidClass.toMonoid (Submonoid.unitSphere ๐)
@[simp]
theorem
coe_mul_unitSphere
{๐ : Type u_1}
[NormedDivisionRing ๐]
(x : โ(Metric.sphere 0 1))
(y : โ(Metric.sphere 0 1))
:
@[simp]
theorem
coe_pow_unitSphere
{๐ : Type u_1}
[NormedDivisionRing ๐]
(x : โ(Metric.sphere 0 1))
(n : โ)
:
def
unitSphereToUnits
(๐ : Type u_2)
[NormedDivisionRing ๐]
:
โ(Metric.sphere 0 1) โ* ๐หฃ
Monoid homomorphism from the unit sphere to the group of units.
Equations
- One or more equations did not get rendered due to their size.
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 ๐]
:
Function.Injective โ(unitSphereToUnits ๐)
instance
Metric.sphere.group
{๐ : Type u_1}
[NormedDivisionRing ๐]
:
Group โ(Metric.sphere 0 1)
Equations
- One or more equations did not get rendered due to their size.
instance
Metric.sphere.hasDistribNeg
{๐ : Type u_1}
[NormedDivisionRing ๐]
:
HasDistribNeg โ(Metric.sphere 0 1)
Equations
- One or more equations did not get rendered due to their size.
instance
Metric.sphere.topologicalGroup
{๐ : Type u_1}
[NormedDivisionRing ๐]
:
TopologicalGroup โ(Metric.sphere 0 1)
Equations
- (_ : TopologicalGroup โ(Metric.sphere 0 1)) = (_ : TopologicalGroup โ(Metric.sphere 0 1))
instance
Metric.sphere.commGroup
{๐ : Type u_1}
[NormedField ๐]
:
CommGroup โ(Metric.sphere 0 1)
Equations
- One or more equations did not get rendered due to their size.