Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 1f5950a

Browse files
committed
feat(analysis/seminorm): add lemmas for with_seminorms (#12649)
Two helper lemmas that make it easier to generate an instance for `with_seminorms`.
1 parent b6fa3be commit 1f5950a

File tree

1 file changed

+37
-3
lines changed

1 file changed

+37
-3
lines changed

src/analysis/seminorm.lean

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -803,8 +803,7 @@ end bounded
803803

804804
section topology
805805

806-
variables [normed_field 𝕜] [add_comm_group E] [module 𝕜 E] [add_comm_group F] [module 𝕜 F]
807-
variables [nonempty ι] [nonempty ι']
806+
variables [normed_field 𝕜] [add_comm_group E] [module 𝕜 E] [nonempty ι]
808807

809808
/-- The proposition that the topology of `E` is induced by a family of seminorms `p`. -/
810809
class with_seminorms (p : ι → seminorm 𝕜 E) [t : topological_space E] : Prop :=
@@ -813,6 +812,34 @@ class with_seminorms (p : ι → seminorm 𝕜 E) [t : topological_space E] : Pr
813812
lemma with_seminorms_eq (p : ι → seminorm 𝕜 E) [t : topological_space E] [with_seminorms p] :
814813
t = ((seminorm_module_filter_basis p).topology) := with_seminorms.topology_eq_with_seminorms
815814

815+
end topology
816+
817+
section topological_add_group
818+
819+
variables [normed_field 𝕜] [add_comm_group E] [module 𝕜 E]
820+
variables [topological_space E] [topological_add_group E]
821+
variables [nonempty ι]
822+
823+
lemma with_seminorms_of_nhds (p : ι → seminorm 𝕜 E)
824+
(h : 𝓝 (0 : E) = (seminorm_module_filter_basis p).to_filter_basis.filter) :
825+
with_seminorms p :=
826+
begin
827+
refine ⟨topological_add_group.ext (by apply_instance)
828+
((seminorm_add_group_filter_basis _).is_topological_add_group) _⟩,
829+
rw add_group_filter_basis.nhds_zero_eq,
830+
exact h,
831+
end
832+
833+
lemma with_seminorms_of_has_basis (p : ι → seminorm 𝕜 E) (h : (𝓝 (0 : E)).has_basis
834+
(λ (s : set E), s ∈ (seminorm_basis_zero p)) id) :
835+
with_seminorms p :=
836+
with_seminorms_of_nhds p $ filter.has_basis.eq_of_same_basis h
837+
((seminorm_add_group_filter_basis p).to_filter_basis.has_basis)
838+
839+
end topological_add_group
840+
841+
section normed_space
842+
816843
/-- The topology of a `normed_space 𝕜 E` is induced by the seminorm `norm_seminorm 𝕜 E`. -/
817844
instance norm_with_seminorms (𝕜 E) [normed_field 𝕜] [semi_normed_group E] [normed_space 𝕜 E] :
818845
with_seminorms (λ (_ : fin 1), norm_seminorm 𝕜 E) :=
@@ -834,6 +861,13 @@ begin
834861
exact set.subset_univ _,
835862
end
836863

864+
end normed_space
865+
866+
section continuous_bounded
867+
868+
variables [normed_field 𝕜] [add_comm_group E] [module 𝕜 E] [add_comm_group F] [module 𝕜 F]
869+
variables [nonempty ι] [nonempty ι']
870+
837871
lemma continuous_from_bounded (p : ι → seminorm 𝕜 E) (q : ι' → seminorm 𝕜 F)
838872
[uniform_space E] [uniform_add_group E] [with_seminorms p]
839873
[uniform_space F] [uniform_add_group F] [with_seminorms q]
@@ -876,7 +910,7 @@ begin
876910
exact continuous_from_bounded (λ _ : fin 1, norm_seminorm 𝕜 E) q f hf,
877911
end
878912

879-
end topology
913+
end continuous_bounded
880914

881915
section locally_convex_space
882916

0 commit comments

Comments
 (0)