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

tactic: refine' ⟨fun hf x => _, locallyIntegrableOn_of_locallyIntegrable_restrict⟩
state_before: X : Type u_1
Y : Type ?u.123754
E : Type u_2
R : Type ?u.123760
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : OpensMeasurableSpace X
hs : IsClosed s
⊢ LocallyIntegrableOn f s ↔ LocallyIntegrable f

tactic: by_cases h : x ∈ s
state_before: X : Type u_1
Y : Type ?u.123754
E : Type u_2
R : Type ?u.123760
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : OpensMeasurableSpace X
hs : IsClosed s
hf : LocallyIntegrableOn f s
x : X
⊢ IntegrableAtFilter f (𝓝 x)

tactic: obtain ⟨t, ht_nhds, ht_int⟩ := hf x h
state_before: case pos
X : Type u_1
Y : Type ?u.123754
E : Type u_2
R : Type ?u.123760
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : OpensMeasurableSpace X
hs : IsClosed s
hf : LocallyIntegrableOn f s
x : X
h : x ∈ s
⊢ IntegrableAtFilter f (𝓝 x)

tactic: obtain ⟨u, hu_o, hu_x, hu_sub⟩ := mem_nhdsWithin.mp ht_nhds
state_before: case pos.intro.intro
X : Type u_1
Y : Type ?u.123754
E : Type u_2
R : Type ?u.123760
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : OpensMeasurableSpace X
hs : IsClosed s
hf : LocallyIntegrableOn f s
x : X
h : x ∈ s
t : Set X
ht_nhds : t ∈ 𝓝[s] x
ht_int : IntegrableOn f t
⊢ IntegrableAtFilter f (𝓝 x)

tactic: refine' ⟨u, hu_o.mem_nhds hu_x, _⟩
state_before: case pos.intro.intro.intro.intro.intro
X : Type u_1
Y : Type ?u.123754
E : Type u_2
R : Type ?u.123760
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : OpensMeasurableSpace X
hs : IsClosed s
hf : LocallyIntegrableOn f s
x : X
h : x ∈ s
t : Set X
ht_nhds : t ∈ 𝓝[s] x
ht_int : IntegrableOn f t
u : Set X
hu_o : IsOpen u
hu_x : x ∈ u
hu_sub : u ∩ s ⊆ t
⊢ IntegrableAtFilter f (𝓝 x)

tactic: rw [IntegrableOn, restrict_restrict hu_o.measurableSet]
state_before: case pos.intro.intro.intro.intro.intro
X : Type u_1
Y : Type ?u.123754
E : Type u_2
R : Type ?u.123760
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : OpensMeasurableSpace X
hs : IsClosed s
hf : LocallyIntegrableOn f s
x : X
h : x ∈ s
t : Set X
ht_nhds : t ∈ 𝓝[s] x
ht_int : IntegrableOn f t
u : Set X
hu_o : IsOpen u
hu_x : x ∈ u
hu_sub : u ∩ s ⊆ t
⊢ IntegrableOn f u

tactic: exact ht_int.mono_set hu_sub
state_before: case pos.intro.intro.intro.intro.intro
X : Type u_1
Y : Type ?u.123754
E : Type u_2
R : Type ?u.123760
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : OpensMeasurableSpace X
hs : IsClosed s
hf : LocallyIntegrableOn f s
x : X
h : x ∈ s
t : Set X
ht_nhds : t ∈ 𝓝[s] x
ht_int : IntegrableOn f t
u : Set X
hu_o : IsOpen u
hu_x : x ∈ u
hu_sub : u ∩ s ⊆ t
⊢ Integrable f

tactic: rw [← isOpen_compl_iff] at hs
state_before: case neg
X : Type u_1
Y : Type ?u.123754
E : Type u_2
R : Type ?u.123760
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : OpensMeasurableSpace X
hs : IsClosed s
hf : LocallyIntegrableOn f s
x : X
h : ¬x ∈ s
⊢ IntegrableAtFilter f (𝓝 x)

tactic: refine' ⟨sᶜ, hs.mem_nhds h, _⟩
state_before: case neg
X : Type u_1
Y : Type ?u.123754
E : Type u_2
R : Type ?u.123760
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : OpensMeasurableSpace X
hs : IsOpen (sᶜ)
hf : LocallyIntegrableOn f s
x : X
h : ¬x ∈ s
⊢ IntegrableAtFilter f (𝓝 x)

tactic: rw [IntegrableOn, restrict_restrict, inter_comm, inter_compl_self, ← IntegrableOn]
state_before: case neg
X : Type u_1
Y : Type ?u.123754
E : Type u_2
R : Type ?u.123760
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : OpensMeasurableSpace X
hs : IsOpen (sᶜ)
hf : LocallyIntegrableOn f s
x : X
h : ¬x ∈ s
⊢ IntegrableOn f (sᶜ)

tactic: exacts [integrableOn_empty, hs.measurableSet]
state_before: case neg
X : Type u_1
Y : Type ?u.123754
E : Type u_2
R : Type ?u.123760
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : OpensMeasurableSpace X
hs : IsOpen (sᶜ)
hf : LocallyIntegrableOn f s
x : X
h : ¬x ∈ s
⊢ IntegrableOn f ∅

case neg
X : Type u_1
Y : Type ?u.123754
E : Type u_2
R : Type ?u.123760
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : OpensMeasurableSpace X
hs : IsOpen (sᶜ)
hf : LocallyIntegrableOn f s
x : X
h : ¬x ∈ s
⊢ MeasurableSet (sᶜ)