Theorem: exists_compact_between
File: Mathlib/Topology/SubsetProperties.lean

tactic: choose V hVc hxV hKV using fun x : K => exists_compact_subset hU (h_KU x.2)
state_before: α : Type u
β : Type v
ι : Type ?u.147975
π : ι → Type ?u.147980
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t : Set α
hα : LocallyCompactSpace α
K U : Set α
hK : IsCompact K
hU : IsOpen U
h_KU : K ⊆ U
⊢ ∃ L, IsCompact L ∧ K ⊆ interior L ∧ L ⊆ U

tactic: have : K ⊆ ⋃ x, interior (V x) := fun x hx => mem_iUnion.2 ⟨⟨x, hx⟩, hxV _⟩
state_before: α : Type u
β : Type v
ι : Type ?u.147975
π : ι → Type ?u.147980
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t : Set α
hα : LocallyCompactSpace α
K U : Set α
hK : IsCompact K
hU : IsOpen U
h_KU : K ⊆ U
V : ↑K → Set α
hVc : ∀ (x : ↑K), IsCompact (V x)
hxV : ∀ (x : ↑K), ↑x ∈ interior (V x)
hKV : ∀ (x : ↑K), V x ⊆ U
⊢ ∃ L, IsCompact L ∧ K ⊆ interior L ∧ L ⊆ U

tactic: rcases hK.elim_finite_subcover _ (fun x => @isOpen_interior α _ (V x)) this with ⟨t, ht⟩
state_before: α : Type u
β : Type v
ι : Type ?u.147975
π : ι → Type ?u.147980
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t : Set α
hα : LocallyCompactSpace α
K U : Set α
hK : IsCompact K
hU : IsOpen U
h_KU : K ⊆ U
V : ↑K → Set α
hVc : ∀ (x : ↑K), IsCompact (V x)
hxV : ∀ (x : ↑K), ↑x ∈ interior (V x)
hKV : ∀ (x : ↑K), V x ⊆ U
this : K ⊆ ⋃ (x : ↑K), interior (V x)
⊢ ∃ L, IsCompact L ∧ K ⊆ interior L ∧ L ⊆ U

tactic: refine'
  ⟨_, t.isCompact_biUnion fun x _ => hVc x, fun x hx => _, Set.iUnion₂_subset fun i _ => hKV i⟩
state_before: case intro
α : Type u
β : Type v
ι : Type ?u.147975
π : ι → Type ?u.147980
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t✝ : Set α
hα : LocallyCompactSpace α
K U : Set α
hK : IsCompact K
hU : IsOpen U
h_KU : K ⊆ U
V : ↑K → Set α
hVc : ∀ (x : ↑K), IsCompact (V x)
hxV : ∀ (x : ↑K), ↑x ∈ interior (V x)
hKV : ∀ (x : ↑K), V x ⊆ U
this : K ⊆ ⋃ (x : ↑K), interior (V x)
t : Finset ↑K
ht : K ⊆ ⋃ (i : ↑K) (_ : i ∈ t), interior (V i)
⊢ ∃ L, IsCompact L ∧ K ⊆ interior L ∧ L ⊆ U

tactic: rcases mem_iUnion₂.1 (ht hx) with ⟨y, hyt, hy⟩
state_before: case intro
α : Type u
β : Type v
ι : Type ?u.147975
π : ι → Type ?u.147980
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t✝ : Set α
hα : LocallyCompactSpace α
K U : Set α
hK : IsCompact K
hU : IsOpen U
h_KU : K ⊆ U
V : ↑K → Set α
hVc : ∀ (x : ↑K), IsCompact (V x)
hxV : ∀ (x : ↑K), ↑x ∈ interior (V x)
hKV : ∀ (x : ↑K), V x ⊆ U
this : K ⊆ ⋃ (x : ↑K), interior (V x)
t : Finset ↑K
ht : K ⊆ ⋃ (i : ↑K) (_ : i ∈ t), interior (V i)
x : α
hx : x ∈ K
⊢ x ∈ interior (⋃ (i : ↑K) (_ : i ∈ t), V i)

tactic: exact interior_mono (subset_iUnion₂ y hyt) hy
state_before: case intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.147975
π : ι → Type ?u.147980
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t✝ : Set α
hα : LocallyCompactSpace α
K U : Set α
hK : IsCompact K
hU : IsOpen U
h_KU : K ⊆ U
V : ↑K → Set α
hVc : ∀ (x : ↑K), IsCompact (V x)
hxV : ∀ (x : ↑K), ↑x ∈ interior (V x)
hKV : ∀ (x : ↑K), V x ⊆ U
this : K ⊆ ⋃ (x : ↑K), interior (V x)
t : Finset ↑K
ht : K ⊆ ⋃ (i : ↑K) (_ : i ∈ t), interior (V i)
x : α
hx : x ∈ K
y : ↑K
hyt : y ∈ t
hy : x ∈ interior (V y)
⊢ x ∈ interior (⋃ (i : ↑K) (_ : i ∈ t), V i)