-- Mathlib/MeasureTheory/Measure/Regular.lean
protected lemma _root_.IsCompact.exists_isOpen_lt_of_lt [InnerRegularCompactLTTop μ]
    [IsLocallyFiniteMeasure μ] [R1Space α] [BorelSpace α] {K : Set α}
    (hK : IsCompact K) (r : ℝ≥0∞) (hr : μ K < r) :
    ∃ U, K ⊆ U ∧ IsOpen U ∧ μ U < r

Proof state:
case intro.intro.intro.intro.intro.intro
α : Type u_1
inst✝⁵ : MeasurableSpace α
μ : Measure α
inst✝⁴ : TopologicalSpace α
inst✝³ : μ.InnerRegularCompactLTTop
inst✝² : IsLocallyFiniteMeasure μ
inst✝¹ : R1Space α
inst✝ : BorelSpace α
K : Set α
hK : IsCompact K
r : ℝ≥0∞
hr : μ K < r
V : Set α
hKV : V ⊇ K
hVo : IsOpen V
hμV : μ V < ⊤
this : Fact (μ V < ⊤)
U : Set α
hKU : K ⊆ U
hUo : IsOpen U
hμU : (μ.restrict V) U < r
⊢ μ (U ∩ V) < r

Tactic:
rwa [restrict_apply hUo.measurableSet] at hμU

Result:
no goals

Proof state:
case intro.intro.intro
α : Type u_1
inst✝⁵ : MeasurableSpace α
μ : Measure α
inst✝⁴ : TopologicalSpace α
inst✝³ : μ.InnerRegularCompactLTTop
inst✝² : IsLocallyFiniteMeasure μ
inst✝¹ : R1Space α
inst✝ : BorelSpace α
K : Set α
hK : IsCompact K
r : ℝ≥0∞
hr : μ K < r
V : Set α
hKV : V ⊇ K
hVo : IsOpen V
hμV : μ V < ⊤
⊢ ∃ U, K ⊆ U ∧ IsOpen U ∧ μ U < r

Tactic:
have := Fact.mk hμV

Result:
case intro.intro.intro
α : Type u_1
inst✝⁵ : MeasurableSpace α
μ : Measure α
inst✝⁴ : TopologicalSpace α
inst✝³ : μ.InnerRegularCompactLTTop
inst✝² : IsLocallyFiniteMeasure μ
inst✝¹ : R1Space α
inst✝ : BorelSpace α
K : Set α
hK : IsCompact K
r : ℝ≥0∞
hr : μ K < r
V : Set α
hKV : V ⊇ K
hVo : IsOpen V
hμV : μ V < ⊤
this : Fact (μ V < ⊤)
⊢ ∃ U, K ⊆ U ∧ IsOpen U ∧ μ U < r

Proof state:
case intro.intro.intro
α : Type u_1
inst✝⁵ : MeasurableSpace α
μ : Measure α
inst✝⁴ : TopologicalSpace α
inst✝³ : μ.InnerRegularCompactLTTop
inst✝² : IsLocallyFiniteMeasure μ
inst✝¹ : R1Space α
inst✝ : BorelSpace α
K : Set α
hK : IsCompact K
r : ℝ≥0∞
hr : μ K < r
V : Set α
hKV : V ⊇ K
hVo : IsOpen V
hμV : μ V < ⊤
this : Fact (μ V < ⊤)
⊢ ∃ U, K ⊆ U ∧ IsOpen U ∧ μ U < r

Tactic:
obtain ⟨U, hKU, hUo, hμU⟩ : ∃ U, K ⊆ U ∧ IsOpen U ∧ μ.restrict V U < r :=
  exists_isOpen_lt_of_lt K r <| (restrict_apply_le _ _).trans_lt hr

Result:
case intro.intro.intro.intro.intro.intro
α : Type u_1
inst✝⁵ : MeasurableSpace α
μ : Measure α
inst✝⁴ : TopologicalSpace α
inst✝³ : μ.InnerRegularCompactLTTop
inst✝² : IsLocallyFiniteMeasure μ
inst✝¹ : R1Space α
inst✝ : BorelSpace α
K : Set α
hK : IsCompact K
r : ℝ≥0∞
hr : μ K < r
V : Set α
hKV : V ⊇ K
hVo : IsOpen V
hμV : μ V < ⊤
this : Fact (μ V < ⊤)
U : Set α
hKU : K ⊆ U
hUo : IsOpen U
hμU : (μ.restrict V) U < r
⊢ ∃ U, K ⊆ U ∧ IsOpen U ∧ μ U < r

Proof state:
case intro.intro.intro.intro.intro.intro
α : Type u_1
inst✝⁵ : MeasurableSpace α
μ : Measure α
inst✝⁴ : TopologicalSpace α
inst✝³ : μ.InnerRegularCompactLTTop
inst✝² : IsLocallyFiniteMeasure μ
inst✝¹ : R1Space α
inst✝ : BorelSpace α
K : Set α
hK : IsCompact K
r : ℝ≥0∞
hr : μ K < r
V : Set α
hKV : V ⊇ K
hVo : IsOpen V
hμV : μ V < ⊤
this : Fact (μ V < ⊤)
U : Set α
hKU : K ⊆ U
hUo : IsOpen U
hμU : (μ.restrict V) U < r
⊢ ∃ U, K ⊆ U ∧ IsOpen U ∧ μ U < r

Tactic:
refine ⟨U ∩ V, subset_inter hKU hKV, hUo.inter hVo, ?_⟩

Result:
case intro.intro.intro.intro.intro.intro
α : Type u_1
inst✝⁵ : MeasurableSpace α
μ : Measure α
inst✝⁴ : TopologicalSpace α
inst✝³ : μ.InnerRegularCompactLTTop
inst✝² : IsLocallyFiniteMeasure μ
inst✝¹ : R1Space α
inst✝ : BorelSpace α
K : Set α
hK : IsCompact K
r : ℝ≥0∞
hr : μ K < r
V : Set α
hKV : V ⊇ K
hVo : IsOpen V
hμV : μ V < ⊤
this : Fact (μ V < ⊤)
U : Set α
hKU : K ⊆ U
hUo : IsOpen U
hμU : (μ.restrict V) U < r
⊢ μ (U ∩ V) < r

Proof state:
α : Type u_1
inst✝⁵ : MeasurableSpace α
μ : Measure α
inst✝⁴ : TopologicalSpace α
inst✝³ : μ.InnerRegularCompactLTTop
inst✝² : IsLocallyFiniteMeasure μ
inst✝¹ : R1Space α
inst✝ : BorelSpace α
K : Set α
hK : IsCompact K
r : ℝ≥0∞
hr : μ K < r
⊢ ∃ U, K ⊆ U ∧ IsOpen U ∧ μ U < r

Tactic:
rcases hK.exists_open_superset_measure_lt_top μ with ⟨V, hKV, hVo, hμV⟩

Result:
case intro.intro.intro
α : Type u_1
inst✝⁵ : MeasurableSpace α
μ : Measure α
inst✝⁴ : TopologicalSpace α
inst✝³ : μ.InnerRegularCompactLTTop
inst✝² : IsLocallyFiniteMeasure μ
inst✝¹ : R1Space α
inst✝ : BorelSpace α
K : Set α
hK : IsCompact K
r : ℝ≥0∞
hr : μ K < r
V : Set α
hKV : V ⊇ K
hVo : IsOpen V
hμV : μ V < ⊤
⊢ ∃ U, K ⊆ U ∧ IsOpen U ∧ μ U < r