Zulip Chat Archive
Stream: Is there code for X?
Topic: Sequential compactness under sequentially cont functions
Janette Setälä (Jul 04 2024 at 08:23):
I did not find the following from Mathlib. If it's indeed missing, is a PR welcome?
import Mathlib.Topology.Defs.Sequences
lemma IsSeqCompact.image {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y] (f : X → Y)
(f_cont : SeqContinuous f) {K : Set X} (K_cpt : IsSeqCompact K) : IsSeqCompact (f '' K) := by
intro ys ys_in_fK
let xs := fun n ↦ Exists.choose (ys_in_fK n)
obtain ⟨xs_in_K, fxs_eq_ys⟩ : (∀ n, xs n ∈ K) ∧ ∀ n, f (xs n) = ys n :=
forall_and.mp fun n ↦ Exists.choose_spec (ys_in_fK n)
simp only [Set.mem_image, exists_exists_and_eq_and]
obtain ⟨a, a_in_K, phi, phi_mono, xs_phi_lim⟩ := K_cpt xs_in_K
refine ⟨a, a_in_K, phi, phi_mono, ?_⟩
exact Filter.Tendsto.congr (fun x ↦ fxs_eq_ys (phi x)) (f_cont xs_phi_lim)
lemma SeqCompactSpace.range {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y] [SeqCompactSpace X]
(f : X → Y) (hf : SeqContinuous f) : IsSeqCompact (Set.range f) := by
rw [← Set.image_univ]
exact IsSeqCompact.image f hf ((seqCompactSpace_iff X).mp ‹SeqCompactSpace X›)
Yury G. Kudryashov (Jul 04 2024 at 21:47):
Please PR!
Yury G. Kudryashov (Jul 04 2024 at 21:48):
BTW, you can use tactic choose
to get xs
Janette Setälä (Jul 05 2024 at 12:46):
Thank you!
Janette Setälä (Jul 08 2024 at 09:26):
PR #14504
Last updated: May 02 2025 at 03:31 UTC