Module docstring
{"# Subgroups of normed (semi)groups
In this file, we prove that subgroups of a normed (semi)group are also normed (semi)groups.
Tags
normed group ","### Subgroups of normed groups ","### Subgroup classes of normed groups "}
{"# Subgroups of normed (semi)groups
In this file, we prove that subgroups of a normed (semi)group are also normed (semi)groups.
normed group ","### Subgroups of normed groups ","### Subgroup classes of normed groups "}
Subgroup.seminormedGroup
instance
: SeminormedGroup s
/-- A subgroup of a seminormed group is also a seminormed group,
with the restriction of the norm. -/
@[to_additive "A subgroup of a seminormed group is also a seminormed group, with the restriction of
the norm."]
instance seminormedGroup : SeminormedGroup s :=
SeminormedGroup.induced _ _ s.subtype
Subgroup.coe_norm
theorem
(x : s) : ‖x‖ = ‖(x : E)‖
/-- If `x` is an element of a subgroup `s` of a seminormed group `E`, its norm in `s` is equal to
its norm in `E`. -/
@[to_additive (attr := simp) "If `x` is an element of a subgroup `s` of a seminormed group `E`, its
norm in `s` is equal to its norm in `E`."]
theorem coe_norm (x : s) : ‖x‖ = ‖(x : E)‖ :=
rfl
Subgroup.norm_coe
theorem
{s : Subgroup E} (x : s) : ‖(x : E)‖ = ‖x‖
/-- If `x` is an element of a subgroup `s` of a seminormed group `E`, its norm in `s` is equal to
its norm in `E`.
This is a reversed version of the `simp` lemma `Subgroup.coe_norm` for use by `norm_cast`. -/
@[to_additive (attr := norm_cast) "If `x` is an element of a subgroup `s` of a seminormed group `E`,
its norm in `s` is equal to its norm in `E`.
This is a reversed version of the `simp` lemma `AddSubgroup.coe_norm` for use by `norm_cast`."]
theorem norm_coe {s : Subgroup E} (x : s) : ‖(x : E)‖ = ‖x‖ :=
rfl
Subgroup.seminormedCommGroup
instance
[SeminormedCommGroup E] {s : Subgroup E} : SeminormedCommGroup s
@[to_additive]
instance seminormedCommGroup [SeminormedCommGroup E] {s : Subgroup E} : SeminormedCommGroup s :=
SeminormedCommGroup.induced _ _ s.subtype
Subgroup.normedGroup
instance
[NormedGroup E] {s : Subgroup E} : NormedGroup s
@[to_additive]
instance normedGroup [NormedGroup E] {s : Subgroup E} : NormedGroup s :=
NormedGroup.induced _ _ s.subtype Subtype.coe_injective
Subgroup.normedCommGroup
instance
[NormedCommGroup E] {s : Subgroup E} : NormedCommGroup s
@[to_additive]
instance normedCommGroup [NormedCommGroup E] {s : Subgroup E} : NormedCommGroup s :=
NormedCommGroup.induced _ _ s.subtype Subtype.coe_injective
SubgroupClass.seminormedGroup
instance
: SeminormedGroup s
/-- A subgroup of a seminormed group is also a seminormed group,
with the restriction of the norm. -/
@[to_additive "A subgroup of a seminormed additive group is also a seminormed additive group, with
the restriction of the norm."]
instance (priority := 75) seminormedGroup : SeminormedGroup s :=
SeminormedGroup.induced _ _ (SubgroupClass.subtype s)
SubgroupClass.coe_norm
theorem
(x : s) : ‖x‖ = ‖(x : E)‖
/-- If `x` is an element of a subgroup `s` of a seminormed group `E`, its norm in `s` is equal to
its norm in `E`. -/
@[to_additive (attr := simp) "If `x` is an element of an additive subgroup `s` of a seminormed
additive group `E`, its norm in `s` is equal to its norm in `E`."]
theorem coe_norm (x : s) : ‖x‖ = ‖(x : E)‖ :=
rfl
SubgroupClass.seminormedCommGroup
instance
[SeminormedCommGroup E] {S : Type*} [SetLike S E] [SubgroupClass S E] (s : S) : SeminormedCommGroup s
@[to_additive]
instance (priority := 75) seminormedCommGroup [SeminormedCommGroup E] {S : Type*} [SetLike S E]
[SubgroupClass S E] (s : S) : SeminormedCommGroup s :=
SeminormedCommGroup.induced _ _ (SubgroupClass.subtype s)
SubgroupClass.normedGroup
instance
[NormedGroup E] {S : Type*} [SetLike S E] [SubgroupClass S E] (s : S) : NormedGroup s
@[to_additive]
instance (priority := 75) normedGroup [NormedGroup E] {S : Type*} [SetLike S E] [SubgroupClass S E]
(s : S) : NormedGroup s :=
NormedGroup.induced _ _ (SubgroupClass.subtype s) Subtype.coe_injective
SubgroupClass.normedCommGroup
instance
[NormedCommGroup E] {S : Type*} [SetLike S E] [SubgroupClass S E] (s : S) : NormedCommGroup s
@[to_additive]
instance (priority := 75) normedCommGroup [NormedCommGroup E] {S : Type*} [SetLike S E]
[SubgroupClass S E] (s : S) : NormedCommGroup s :=
NormedCommGroup.induced _ _ (SubgroupClass.subtype s) Subtype.coe_injective