@@ -4,8 +4,6 @@ Released under Apache 2.0 license as described in the file LICENSE.
44Authors: Moritz Doll 
55-/ 
66import  Mathlib.Analysis.LocallyConvex.BalancedCoreHull
7- import  Mathlib.Analysis.LocallyConvex.WithSeminorms
8- import  Mathlib.Analysis.Convex.Gauge
97import  Mathlib.Analysis.Convex.TotallyBounded
108
119/-! 
@@ -21,8 +19,6 @@ topological vector space has a basis consisting of absolutely convex sets.
2119  containing `s`; 
2220* `closedAbsConvexHull`: the closed absolutely convex hull of a set `s` is the smallest absolutely 
2321  convex set containing `s`; 
24- * `gaugeSeminormFamily`: the seminorm family induced by all open absolutely convex neighborhoods 
25-   of zero. 
2622
2723
2824
@@ -32,8 +28,6 @@ topological vector space has a basis consisting of absolutely convex sets.
3228  of `s`; 
3329* `closedAbsConvexHull_closure_eq_closedAbsConvexHull` : the closed absolutely convex hull of the 
3430  closure of `s` equals the closed absolutely convex hull of `s`; 
35- * `with_gaugeSeminormFamily`: the topology of a locally convex space is induced by the family 
36-   `gaugeSeminormFamily`. 
3731
3832
3933
@@ -48,7 +42,6 @@ over a `SeminormedRing` `𝕜` and convex over `ℝ`, assuming `IsScalarTower 
4842disks, convex, balanced 
4943-/ 
5044
51- 
5245open  NormedField Set
5346
5447open  NNReal Pointwise Topology
@@ -311,90 +304,3 @@ theorem totallyBounded_absConvexHull (hs : TotallyBounded s) :
311304  exact ⟨hs, totallyBounded_neg hs⟩
312305
313306end 
314- 
315- section  AbsolutelyConvexSets
316- 
317- variable  [TopologicalSpace E] [AddCommMonoid E] [Zero E] [SeminormedRing 𝕜]
318- variable  [SMul 𝕜 E] [SMul ℝ E]
319- variable  (𝕜 E)
320- 
321- /-- The type of absolutely convex open sets. -/ 
322- def  AbsConvexOpenSets  :=
323-   { s : Set E // (0  : E) ∈ s ∧ IsOpen s ∧ AbsConvex 𝕜 s }
324- 
325- noncomputable  instance  AbsConvexOpenSets.instCoeTC  : CoeTC (AbsConvexOpenSets 𝕜 E) (Set E) :=
326-   ⟨Subtype.val⟩
327- 
328- namespace  AbsConvexOpenSets
329- 
330- variable  {𝕜 E}
331- 
332- theorem  coe_zero_mem  (s : AbsConvexOpenSets 𝕜 E) : (0  : E) ∈ (s : Set E) :=
333-   s.2 .1 
334- 
335- theorem  coe_isOpen  (s : AbsConvexOpenSets 𝕜 E) : IsOpen (s : Set E) :=
336-   s.2 .2 .1 
337- 
338- theorem  coe_nhds  (s : AbsConvexOpenSets 𝕜 E) : (s : Set E) ∈ 𝓝 (0  : E) :=
339-   s.coe_isOpen.mem_nhds s.coe_zero_mem
340- 
341- theorem  coe_balanced  (s : AbsConvexOpenSets 𝕜 E) : Balanced 𝕜 (s : Set E) :=
342-   s.2 .2 .2 .1 
343- 
344- theorem  coe_convex  (s : AbsConvexOpenSets 𝕜 E) : Convex ℝ (s : Set E) :=
345-   s.2 .2 .2 .2 
346- 
347- end  AbsConvexOpenSets
348- 
349- instance  AbsConvexOpenSets.instNonempty  : Nonempty (AbsConvexOpenSets 𝕜 E) := by 
350-   rw [← exists_true_iff_nonempty]
351-   dsimp only [AbsConvexOpenSets]
352-   rw [Subtype.exists]
353-   exact ⟨Set.univ, ⟨mem_univ 0 , isOpen_univ, balanced_univ, convex_univ⟩, trivial⟩
354- 
355- end  AbsolutelyConvexSets
356- 
357- variable  [RCLike 𝕜]
358- variable  [AddCommGroup E] [TopologicalSpace E]
359- variable  [Module 𝕜 E] [Module ℝ E] [IsScalarTower ℝ 𝕜 E]
360- variable  [ContinuousSMul ℝ E]
361- variable  (𝕜 E)
362- 
363- /-- The family of seminorms defined by the gauges of absolute convex open sets. -/ 
364- noncomputable  def  gaugeSeminormFamily  : SeminormFamily 𝕜 E (AbsConvexOpenSets 𝕜 E) := fun  s =>
365-   gaugeSeminorm s.coe_balanced s.coe_convex (absorbent_nhds_zero s.coe_nhds)
366- 
367- variable  {𝕜 E}
368- 
369- theorem  gaugeSeminormFamily_ball  (s : AbsConvexOpenSets 𝕜 E) :
370-     (gaugeSeminormFamily 𝕜 E s).ball 0  1  = (s : Set E) := by 
371-   dsimp only [gaugeSeminormFamily]
372-   rw [Seminorm.ball_zero_eq]
373-   simp_rw [gaugeSeminorm_toFun]
374-   exact gauge_lt_one_eq_self_of_isOpen s.coe_convex s.coe_zero_mem s.coe_isOpen
375- 
376- variable  [IsTopologicalAddGroup E] [ContinuousSMul 𝕜 E]
377- variable  [SMulCommClass ℝ 𝕜 E] [LocallyConvexSpace ℝ E]
378- 
379- /-- The topology of a locally convex space is induced by the gauge seminorm family. -/ 
380- theorem  with_gaugeSeminormFamily  : WithSeminorms (gaugeSeminormFamily 𝕜 E) := by 
381-   refine SeminormFamily.withSeminorms_of_hasBasis _ ?_
382-   refine (nhds_hasBasis_absConvex_open 𝕜 E).to_hasBasis (fun  s hs => ?_) fun  s hs => ?_
383-   · refine ⟨s, ⟨?_, rfl.subset⟩⟩
384-     convert (gaugeSeminormFamily _ _).basisSets_singleton_mem ⟨s, hs⟩ one_pos
385-     rw [gaugeSeminormFamily_ball, Subtype.coe_mk]
386-   refine ⟨s, ⟨?_, rfl.subset⟩⟩
387-   rw [SeminormFamily.basisSets_iff] at hs
388-   rcases hs with  ⟨t, r, hr, rfl⟩
389-   rw [Seminorm.ball_finset_sup_eq_iInter _ _ _ hr]
390-   -- We have to show that the intersection contains zero, is open, balanced, and convex 
391-   refine
392-     ⟨mem_iInter₂.mpr fun  _ _ => by  simp [Seminorm.mem_ball_zero, hr],
393-       isOpen_biInter_finset fun  S _ => ?_,
394-       balanced_iInter₂ fun  _ _ => Seminorm.balanced_ball_zero _ _,
395-       convex_iInter₂ fun  _ _ => Seminorm.convex_ball ..⟩
396-   -- The only nontrivial part is to show that the ball is open 
397-   have  hr' : r = ‖(r : 𝕜)‖ * 1  := by  simp [abs_of_pos hr]
398-   have  hr'' : (r : 𝕜) ≠ 0  := by  simp [hr.ne']
399-   rw [hr', ← Seminorm.smul_ball_zero hr'', gaugeSeminormFamily_ball]
400-   exact S.coe_isOpen.smul₀ hr''
0 commit comments