Theorem: Filter.Tendsto.isCompact_insert_range_of_cocompact
File: Mathlib/Topology/SubsetProperties.lean

tactic: intro l hne hle
state_before: α : Type u
β : Type v
ι : Type ?u.47904
π : ι → Type ?u.47909
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t : Set α
f : α → β
b : β
hf : Tendsto f (cocompact α) (𝓝 b)
hfc : Continuous f
⊢ IsCompact (insert b (range f))

tactic: by_cases hb : ClusterPt b l
state_before: α : Type u
β : Type v
ι : Type ?u.47904
π : ι → Type ?u.47909
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t : Set α
f : α → β
b : β
hf : Tendsto f (cocompact α) (𝓝 b)
hfc : Continuous f
l : Filter β
hne : NeBot l
hle : l ≤ 𝓟 (insert b (range f))
⊢ ∃ a, a ∈ insert b (range f) ∧ ClusterPt a l

tactic: simp only [clusterPt_iff, not_forall, ← not_disjoint_iff_nonempty_inter, not_not] at hb
state_before: case neg
α : Type u
β : Type v
ι : Type ?u.47904
π : ι → Type ?u.47909
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t : Set α
f : α → β
b : β
hf : Tendsto f (cocompact α) (𝓝 b)
hfc : Continuous f
l : Filter β
hne : NeBot l
hle : l ≤ 𝓟 (insert b (range f))
hb : ¬ClusterPt b l
⊢ ∃ a, a ∈ insert b (range f) ∧ ClusterPt a l

tactic: rcases hb with ⟨s, hsb, t, htl, hd⟩
state_before: case neg
α : Type u
β : Type v
ι : Type ?u.47904
π : ι → Type ?u.47909
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t : Set α
f : α → β
b : β
hf : Tendsto f (cocompact α) (𝓝 b)
hfc : Continuous f
l : Filter β
hne : NeBot l
hle : l ≤ 𝓟 (insert b (range f))
hb : ∃ x h x_1 h, Disjoint x x_1
⊢ ∃ a, a ∈ insert b (range f) ∧ ClusterPt a l

tactic: rcases mem_cocompact.1 (hf hsb) with ⟨K, hKc, hKs⟩
state_before: case neg.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.47904
π : ι → Type ?u.47909
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t✝ : Set α
f : α → β
b : β
hf : Tendsto f (cocompact α) (𝓝 b)
hfc : Continuous f
l : Filter β
hne : NeBot l
hle : l ≤ 𝓟 (insert b (range f))
s : Set β
hsb : s ∈ 𝓝 b
t : Set β
htl : t ∈ l
hd : Disjoint s t
⊢ ∃ a, a ∈ insert b (range f) ∧ ClusterPt a l

tactic: have : f '' K ∈ l := by
  filter_upwards [htl, le_principal_iff.1 hle]with y hyt hyf
  rcases hyf with (rfl | ⟨x, rfl⟩)
  exacts [(hd.le_bot ⟨mem_of_mem_nhds hsb, hyt⟩).elim,
    mem_image_of_mem _ (not_not.1 fun hxK => hd.le_bot ⟨hKs hxK, hyt⟩)]
state_before: case neg.intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.47904
π : ι → Type ?u.47909
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t✝ : Set α
f : α → β
b : β
hf : Tendsto f (cocompact α) (𝓝 b)
hfc : Continuous f
l : Filter β
hne : NeBot l
hle : l ≤ 𝓟 (insert b (range f))
s : Set β
hsb : s ∈ 𝓝 b
t : Set β
htl : t ∈ l
hd : Disjoint s t
K : Set α
hKc : IsCompact K
hKs : Kᶜ ⊆ f ⁻¹' s
⊢ ∃ a, a ∈ insert b (range f) ∧ ClusterPt a l

tactic: rcases hKc.image hfc (le_principal_iff.2 this) with ⟨y, hy, hyl⟩
state_before: case neg.intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.47904
π : ι → Type ?u.47909
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t✝ : Set α
f : α → β
b : β
hf : Tendsto f (cocompact α) (𝓝 b)
hfc : Continuous f
l : Filter β
hne : NeBot l
hle : l ≤ 𝓟 (insert b (range f))
s : Set β
hsb : s ∈ 𝓝 b
t : Set β
htl : t ∈ l
hd : Disjoint s t
K : Set α
hKc : IsCompact K
hKs : Kᶜ ⊆ f ⁻¹' s
this : f '' K ∈ l
⊢ ∃ a, a ∈ insert b (range f) ∧ ClusterPt a l

tactic: exact ⟨y, Or.inr <| image_subset_range _ _ hy, hyl⟩
state_before: case neg.intro.intro.intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.47904
π : ι → Type ?u.47909
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t✝ : Set α
f : α → β
b : β
hf : Tendsto f (cocompact α) (𝓝 b)
hfc : Continuous f
l : Filter β
hne : NeBot l
hle : l ≤ 𝓟 (insert b (range f))
s : Set β
hsb : s ∈ 𝓝 b
t : Set β
htl : t ∈ l
hd : Disjoint s t
K : Set α
hKc : IsCompact K
hKs : Kᶜ ⊆ f ⁻¹' s
this : f '' K ∈ l
y : β
hy : y ∈ f '' K
hyl : ClusterPt y l
⊢ ∃ a, a ∈ insert b (range f) ∧ ClusterPt a l

tactic: exact ⟨b, Or.inl rfl, hb⟩
state_before: case pos
α : Type u
β : Type v
ι : Type ?u.47904
π : ι → Type ?u.47909
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t : Set α
f : α → β
b : β
hf : Tendsto f (cocompact α) (𝓝 b)
hfc : Continuous f
l : Filter β
hne : NeBot l
hle : l ≤ 𝓟 (insert b (range f))
hb : ClusterPt b l
⊢ ∃ a, a ∈ insert b (range f) ∧ ClusterPt a l

tactic: filter_upwards [htl, le_principal_iff.1 hle]with y hyt hyf
state_before: α : Type u
β : Type v
ι : Type ?u.47904
π : ι → Type ?u.47909
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t✝ : Set α
f : α → β
b : β
hf : Tendsto f (cocompact α) (𝓝 b)
hfc : Continuous f
l : Filter β
hne : NeBot l
hle : l ≤ 𝓟 (insert b (range f))
s : Set β
hsb : s ∈ 𝓝 b
t : Set β
htl : t ∈ l
hd : Disjoint s t
K : Set α
hKc : IsCompact K
hKs : Kᶜ ⊆ f ⁻¹' s
⊢ f '' K ∈ l

tactic: rcases hyf with (rfl | ⟨x, rfl⟩)
state_before: case h
α : Type u
β : Type v
ι : Type ?u.47904
π : ι → Type ?u.47909
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t✝ : Set α
f : α → β
b : β
hf : Tendsto f (cocompact α) (𝓝 b)
hfc : Continuous f
l : Filter β
hne : NeBot l
hle : l ≤ 𝓟 (insert b (range f))
s : Set β
hsb : s ∈ 𝓝 b
t : Set β
htl : t ∈ l
hd : Disjoint s t
K : Set α
hKc : IsCompact K
hKs : Kᶜ ⊆ f ⁻¹' s
y : β
hyt : y ∈ t
hyf : y ∈ insert b (range f)
⊢ y ∈ f '' K

tactic: exacts [(hd.le_bot ⟨mem_of_mem_nhds hsb, hyt⟩).elim,
  mem_image_of_mem _ (not_not.1 fun hxK => hd.le_bot ⟨hKs hxK, hyt⟩)]
state_before: case h.inl
α : Type u
β : Type v
ι : Type ?u.47904
π : ι → Type ?u.47909
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t✝ : Set α
f : α → β
hfc : Continuous f
l : Filter β
hne : NeBot l
s t : Set β
htl : t ∈ l
hd : Disjoint s t
K : Set α
hKc : IsCompact K
hKs : Kᶜ ⊆ f ⁻¹' s
y : β
hyt : y ∈ t
hf : Tendsto f (cocompact α) (𝓝 y)
hle : l ≤ 𝓟 (insert y (range f))
hsb : s ∈ 𝓝 y
⊢ y ∈ f '' K

case h.inr.intro
α : Type u
β : Type v
ι : Type ?u.47904
π : ι → Type ?u.47909
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t✝ : Set α
f : α → β
b : β
hf : Tendsto f (cocompact α) (𝓝 b)
hfc : Continuous f
l : Filter β
hne : NeBot l
hle : l ≤ 𝓟 (insert b (range f))
s : Set β
hsb : s ∈ 𝓝 b
t : Set β
htl : t ∈ l
hd : Disjoint s t
K : Set α
hKc : IsCompact K
hKs : Kᶜ ⊆ f ⁻¹' s
x : α
hyt : f x ∈ t
⊢ f x ∈ f '' K