@@ -322,7 +322,7 @@ theorem iInter_halfSpaces_eq (hs₁ : Convex ℝ s) (hs₂ : IsClosed s) :
322322
323323/-- A variant of `iInter_halfSpaces_eq`. If `s` is nonempty, then all the halfspaces are
324324nontrivial. -/
325- theorem iInter_halfSpaces_const_eq (hs₁ : Convex ℝ s) (hs₂ : IsClosed s) :
325+ theorem iInter_halfSpaces_eq' (hs₁ : Convex ℝ s) (hs₂ : IsClosed s) :
326326 ∃ (L : (sᶜ : Set E) → StrongDual 𝕜 E) (c : (sᶜ : Set E) → ℝ),
327327 ⋂ y, { x | re (L y x) ≤ c y } = s ∧ (s.Nonempty → ∀ y, ∃ x, re (L y x) ≠ 0 ) := by
328328 have (y : (sᶜ : Set E)) := geometric_hahn_banach_closed_point (𝕜 := 𝕜) hs₁ hs₂ y.2
@@ -339,18 +339,13 @@ theorem iInter_halfSpaces_const_eq (hs₁ : Convex ℝ s) (hs₂ : IsClosed s) :
339339
340340/-- A closed convex set with a Lindelöf complement is an intersection of countably many
341341halfspaces. -/
342- theorem _root_.IsLindelof.iInter_countable_halfSpaces_const_eq (hs₁ : Convex ℝ s) (hs₂ : IsClosed s)
343- (hs₃ : IsLindelof sᶜ) : ∃ (u : Set (sᶜ : Set E)) (L : u → StrongDual 𝕜 E) (c : u → ℝ),
344- u.Countable ∧ ⋂ y, { x | re (L y x) ≤ c y } = s ∧
345- (s.Nonempty → ∀ y, ∃ x, re (L y x) ≠ 0 ) := by
346- obtain ⟨L, c, hLc⟩ := iInter_halfSpaces_const_eq (𝕜 := 𝕜) hs₁ hs₂
342+ theorem iInter_countable_halfSpaces_eq [HereditarilyLindelofSpace E] (hs₁ : Convex ℝ s)
343+ (hs₂ : IsClosed s) : ∃ L : ℕ → StrongDual 𝕜 E, ∃ c : ℕ → ℝ,
344+ ⋂ n, { x | re (L n x) ≤ c n } = s ∧ (s.Nonempty → ∀ y, ∃ x, re (L y x) ≠ 0 ) := by
345+ obtain ⟨L, c, hLc⟩ := iInter_halfSpaces_eq' (𝕜 := 𝕜) hs₁ hs₂
347346 let t : (sᶜ : Set E) → Set E := fun y => { x | re (L y x) ≤ c y }
348- have htc y : IsClosed (t y) := by
349- suffices t y = re ∘ (L y) ⁻¹' Iic (c y) from by
350- simpa [this] using IsClosed.preimage (by fun_prop) isClosed_Iic
351- grind
352- have hst : sᶜ ∩ ⋂ y, t y = ∅ := by grind
353- obtain ⟨u, hu, hu'⟩ := hs₃.elim_countable_subfamily_closed t htc hst
347+ have htc y : IsClosed (t y) := isClosed_le (continuous_re.comp (L y).continuous) continuous_const
348+ obtain ⟨u, hu, hu'⟩ := eq_closed_inter_nat t htc
354349 refine ⟨u, fun y => L y, fun y => c y, hu, subset_antisymm (fun z hz => ?_) ?_, fun h y =>
355350 hLc.2 h y.1 ⟩
356351 · by_contra!
@@ -365,22 +360,6 @@ theorem _root_.IsLindelof.iInter_countable_halfSpaces_const_eq (hs₁ : Convex
365360 convert this
366361 simp
367362
368- /-- `IsLindelof.iInter_countable_halfSpaces_const_eq` for product spaces. -/
369- theorem _root_.IsLindelof.iInter_countable_halfSpaces_const_eq_prod {F : Type *} [AddCommGroup F]
370- [Module ℝ F] [TopologicalSpace F] [Module 𝕜 F] [IsScalarTower ℝ 𝕜 F] [IsTopologicalAddGroup F]
371- [ContinuousSMul 𝕜 F] [LocallyConvexSpace ℝ F] {s : Set (E × F)} (hs₁ : Convex ℝ s)
372- (hs₂ : IsClosed s) (hs₃ : IsLindelof sᶜ) :
373- ∃ (u : Set (sᶜ : Set (E × F))) (L : u → StrongDual 𝕜 E) (T : u → StrongDual 𝕜 F) (c : u → ℝ),
374- u.Countable ∧ ⋂ y, { x | re (L y x.1 ) + re (T y x.2 ) ≤ c y } = s
375- ∧ (s.Nonempty → ∀ y, ∃ x z, re (L y x) + re (T y z) ≠ 0 ):= by
376- obtain ⟨u, LT, c, eq1, eq2⟩ := hs₃.iInter_countable_halfSpaces_const_eq (𝕜 := 𝕜) hs₁ hs₂
377- refine ⟨u, fun i ↦ (LT i).comp (.inl 𝕜 E F), fun i ↦ (LT i).comp (.inr 𝕜 E F), c, eq1, ?_,
378- fun h y => ?_⟩
379- · convert eq2.1
380- simp [← map_add]
381- · obtain ⟨w, hw⟩ := eq2.2 h y
382- simpa [← map_add] using ⟨w.1 , w.2 , hw⟩
383-
384363end
385364
386365end RCLike
0 commit comments