Theorem: exists_open_between_and_isCompact_closure
File: Mathlib/Topology/Separation.lean

tactic: rcases exists_compact_closed_between hK hU hKU with ⟨L, L_compact, L_closed, KL, LU⟩
state_before: X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : LocallyCompactSpace X
inst✝ : RegularSpace X
K U : Set X
hK : IsCompact K
hU : IsOpen U
hKU : K ⊆ U
⊢ ∃ V, IsOpen V ∧ K ⊆ V ∧ closure V ⊆ U ∧ IsCompact (closure V)
state_after: case intro.intro.intro.intro
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : LocallyCompactSpace X
inst✝ : RegularSpace X
K U : Set X
hK : IsCompact K
hU : IsOpen U
hKU : K ⊆ U
L : Set X
L_compact : IsCompact L
L_closed : IsClosed L
KL : K ⊆ interior L
LU : L ⊆ U
⊢ ∃ V, IsOpen V ∧ K ⊆ V ∧ closure V ⊆ U ∧ IsCompact (closure V)

tactic: have A : closure (interior L) ⊆ L := by
  apply (closure_mono interior_subset).trans (le_of_eq L_closed.closure_eq)
state_before: case intro.intro.intro.intro
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : LocallyCompactSpace X
inst✝ : RegularSpace X
K U : Set X
hK : IsCompact K
hU : IsOpen U
hKU : K ⊆ U
L : Set X
L_compact : IsCompact L
L_closed : IsClosed L
KL : K ⊆ interior L
LU : L ⊆ U
⊢ ∃ V, IsOpen V ∧ K ⊆ V ∧ closure V ⊆ U ∧ IsCompact (closure V)
state_after: case intro.intro.intro.intro
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : LocallyCompactSpace X
inst✝ : RegularSpace X
K U : Set X
hK : IsCompact K
hU : IsOpen U
hKU : K ⊆ U
L : Set X
L_compact : IsCompact L
L_closed : IsClosed L
KL : K ⊆ interior L
LU : L ⊆ U
A : closure (interior L) ⊆ L
⊢ ∃ V, IsOpen V ∧ K ⊆ V ∧ closure V ⊆ U ∧ IsCompact (closure V)

tactic: refine ⟨interior L, isOpen_interior, KL, A.trans LU, ?_⟩
state_before: case intro.intro.intro.intro
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : LocallyCompactSpace X
inst✝ : RegularSpace X
K U : Set X
hK : IsCompact K
hU : IsOpen U
hKU : K ⊆ U
L : Set X
L_compact : IsCompact L
L_closed : IsClosed L
KL : K ⊆ interior L
LU : L ⊆ U
A : closure (interior L) ⊆ L
⊢ ∃ V, IsOpen V ∧ K ⊆ V ∧ closure V ⊆ U ∧ IsCompact (closure V)
state_after: case intro.intro.intro.intro
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : LocallyCompactSpace X
inst✝ : RegularSpace X
K U : Set X
hK : IsCompact K
hU : IsOpen U
hKU : K ⊆ U
L : Set X
L_compact : IsCompact L
L_closed : IsClosed L
KL : K ⊆ interior L
LU : L ⊆ U
A : closure (interior L) ⊆ L
⊢ IsCompact (closure (interior L))

tactic: exact L_compact.closure_of_subset interior_subset
state_before: case intro.intro.intro.intro
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : LocallyCompactSpace X
inst✝ : RegularSpace X
K U : Set X
hK : IsCompact K
hU : IsOpen U
hKU : K ⊆ U
L : Set X
L_compact : IsCompact L
L_closed : IsClosed L
KL : K ⊆ interior L
LU : L ⊆ U
A : closure (interior L) ⊆ L
⊢ IsCompact (closure (interior L))
state_after: no goals

tactic: apply (closure_mono interior_subset).trans (le_of_eq L_closed.closure_eq)
state_before: X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : LocallyCompactSpace X
inst✝ : RegularSpace X
K U : Set X
hK : IsCompact K
hU : IsOpen U
hKU : K ⊆ U
L : Set X
L_compact : IsCompact L
L_closed : IsClosed L
KL : K ⊆ interior L
LU : L ⊆ U
⊢ closure (interior L) ⊆ L
state_after: no goals