Theorem: MeasureTheory.locallyIntegrableOn_iff
File: Mathlib/MeasureTheory/Function/LocallyIntegrable.lean

tactic: refine ⟨fun hf k hk => hf.integrableOn_compact_subset hk, fun hf x hx => ?_⟩
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
f g : X → E
μ : Measure X
s : Set X
inst✝¹ : LocallyCompactSpace X
inst✝ : T2Space X
hs : IsClosed s ∨ IsOpen s
⊢ LocallyIntegrableOn f s μ ↔ ∀ k ⊆ s, IsCompact k → IntegrableOn f k μ
state_after: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
f g : X → E
μ : Measure X
s : Set X
inst✝¹ : LocallyCompactSpace X
inst✝ : T2Space X
hs : IsClosed s ∨ IsOpen s
hf : ∀ k ⊆ s, IsCompact k → IntegrableOn f k μ
x : X
hx : x ∈ s
⊢ IntegrableAtFilter f (𝓝[s] x) μ

tactic: cases hs with
| inl hs =>
  exact
    let ⟨K, hK, h2K⟩ := exists_compact_mem_nhds x
    ⟨_, inter_mem_nhdsWithin s h2K,
      hf _ inter_subset_left
        (hK.of_isClosed_subset (hs.inter hK.isClosed) inter_subset_right)⟩
| inr hs =>
  obtain ⟨K, hK, h2K, h3K⟩ := exists_compact_subset hs hx
  refine ⟨K, ?_, hf K h3K hK⟩
  simpa only [IsOpen.nhdsWithin_eq hs hx, interior_eq_nhds'] using h2K
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
f g : X → E
μ : Measure X
s : Set X
inst✝¹ : LocallyCompactSpace X
inst✝ : T2Space X
hs : IsClosed s ∨ IsOpen s
hf : ∀ k ⊆ s, IsCompact k → IntegrableOn f k μ
x : X
hx : x ∈ s
⊢ IntegrableAtFilter f (𝓝[s] x) μ
state_after: no goals

tactic: exact
  let ⟨K, hK, h2K⟩ := exists_compact_mem_nhds x
  ⟨_, inter_mem_nhdsWithin s h2K,
    hf _ inter_subset_left
      (hK.of_isClosed_subset (hs.inter hK.isClosed) inter_subset_right)⟩
state_before: case inl
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
f g : X → E
μ : Measure X
s : Set X
inst✝¹ : LocallyCompactSpace X
inst✝ : T2Space X
hf : ∀ k ⊆ s, IsCompact k → IntegrableOn f k μ
x : X
hx : x ∈ s
hs : IsClosed s
⊢ IntegrableAtFilter f (𝓝[s] x) μ
state_after: no goals

tactic: obtain ⟨K, hK, h2K, h3K⟩ := exists_compact_subset hs hx
state_before: case inr
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
f g : X → E
μ : Measure X
s : Set X
inst✝¹ : LocallyCompactSpace X
inst✝ : T2Space X
hf : ∀ k ⊆ s, IsCompact k → IntegrableOn f k μ
x : X
hx : x ∈ s
hs : IsOpen s
⊢ IntegrableAtFilter f (𝓝[s] x) μ
state_after: case inr.intro.intro.intro
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
f g : X → E
μ : Measure X
s : Set X
inst✝¹ : LocallyCompactSpace X
inst✝ : T2Space X
hf : ∀ k ⊆ s, IsCompact k → IntegrableOn f k μ
x : X
hx : x ∈ s
hs : IsOpen s
K : Set X
hK : IsCompact K
h2K : x ∈ interior K
h3K : K ⊆ s
⊢ IntegrableAtFilter f (𝓝[s] x) μ

tactic: refine ⟨K, ?_, hf K h3K hK⟩
state_before: case inr.intro.intro.intro
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
f g : X → E
μ : Measure X
s : Set X
inst✝¹ : LocallyCompactSpace X
inst✝ : T2Space X
hf : ∀ k ⊆ s, IsCompact k → IntegrableOn f k μ
x : X
hx : x ∈ s
hs : IsOpen s
K : Set X
hK : IsCompact K
h2K : x ∈ interior K
h3K : K ⊆ s
⊢ IntegrableAtFilter f (𝓝[s] x) μ
state_after: case inr.intro.intro.intro
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
f g : X → E
μ : Measure X
s : Set X
inst✝¹ : LocallyCompactSpace X
inst✝ : T2Space X
hf : ∀ k ⊆ s, IsCompact k → IntegrableOn f k μ
x : X
hx : x ∈ s
hs : IsOpen s
K : Set X
hK : IsCompact K
h2K : x ∈ interior K
h3K : K ⊆ s
⊢ K ∈ 𝓝[s] x

tactic: simpa only [IsOpen.nhdsWithin_eq hs hx, interior_eq_nhds'] using h2K
state_before: case inr.intro.intro.intro
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
f g : X → E
μ : Measure X
s : Set X
inst✝¹ : LocallyCompactSpace X
inst✝ : T2Space X
hf : ∀ k ⊆ s, IsCompact k → IntegrableOn f k μ
x : X
hx : x ∈ s
hs : IsOpen s
K : Set X
hK : IsCompact K
h2K : x ∈ interior K
h3K : K ⊆ s
⊢ K ∈ 𝓝[s] x
state_after: no goals