Theorem: MeasureTheory.Memℒp.piecewise
File: Mathlib/MeasureTheory/Function/LpSpace.lean

tactic: by_cases hp_zero : p = 0
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
⊢ Memℒp (s.piecewise f g) p μ
state_after: case pos
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : p = 0
⊢ Memℒp (s.piecewise f g) p μ

case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
⊢ Memℒp (s.piecewise f g) p μ

tactic: refine ⟨AEStronglyMeasurable.piecewise hs hf.1 hg.1, ?_⟩
state_before: case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
⊢ Memℒp (s.piecewise f g) p μ
state_after: case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
⊢ snorm (s.piecewise f g) p μ < ⊤

tactic: rcases eq_or_ne p ∞ with rfl | hp_top
state_before: case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
⊢ snorm (s.piecewise f g) p μ < ⊤
state_after: case neg.inl
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f ⊤ (μ.restrict s)
hg : Memℒp g ⊤ (μ.restrict sᶜ)
hp_zero : ¬⊤ = 0
⊢ snorm (s.piecewise f g) ⊤ μ < ⊤

case neg.inr
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
⊢ snorm (s.piecewise f g) p μ < ⊤

tactic: rw [snorm_lt_top_iff_lintegral_rpow_nnnorm_lt_top hp_zero hp_top, ← lintegral_add_compl _ hs,
  ENNReal.add_lt_top]
state_before: case neg.inr
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
⊢ snorm (s.piecewise f g) p μ < ⊤
state_after: case neg.inr
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
⊢ ∫⁻ (x : α) in s, ↑‖s.piecewise f g x‖₊ ^ p.toReal ∂μ < ⊤ ∧ ∫⁻ (x : α) in sᶜ, ↑‖s.piecewise f g x‖₊ ^ p.toReal ∂μ < ⊤

tactic: constructor
state_before: case neg.inr
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
⊢ ∫⁻ (x : α) in s, ↑‖s.piecewise f g x‖₊ ^ p.toReal ∂μ < ⊤ ∧ ∫⁻ (x : α) in sᶜ, ↑‖s.piecewise f g x‖₊ ^ p.toReal ∂μ < ⊤
state_after: case neg.inr.left
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
⊢ ∫⁻ (x : α) in s, ↑‖s.piecewise f g x‖₊ ^ p.toReal ∂μ < ⊤

case neg.inr.right
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
⊢ ∫⁻ (x : α) in sᶜ, ↑‖s.piecewise f g x‖₊ ^ p.toReal ∂μ < ⊤

tactic: simp only [hp_zero, memℒp_zero_iff_aestronglyMeasurable]
state_before: case pos
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : p = 0
⊢ Memℒp (s.piecewise f g) p μ
state_after: case pos
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : p = 0
⊢ AEStronglyMeasurable (s.piecewise f g) μ

tactic: exact AEStronglyMeasurable.piecewise hs hf.1 hg.1
state_before: case pos
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : p = 0
⊢ AEStronglyMeasurable (s.piecewise f g) μ
state_after: no goals

tactic: rw [snorm_top_piecewise f g hs]
state_before: case neg.inl
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f ⊤ (μ.restrict s)
hg : Memℒp g ⊤ (μ.restrict sᶜ)
hp_zero : ¬⊤ = 0
⊢ snorm (s.piecewise f g) ⊤ μ < ⊤
state_after: case neg.inl
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f ⊤ (μ.restrict s)
hg : Memℒp g ⊤ (μ.restrict sᶜ)
hp_zero : ¬⊤ = 0
⊢ max (snorm f ⊤ (μ.restrict s)) (snorm g ⊤ (μ.restrict sᶜ)) < ⊤

tactic: exact max_lt hf.2 hg.2
state_before: case neg.inl
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f ⊤ (μ.restrict s)
hg : Memℒp g ⊤ (μ.restrict sᶜ)
hp_zero : ¬⊤ = 0
⊢ max (snorm f ⊤ (μ.restrict s)) (snorm g ⊤ (μ.restrict sᶜ)) < ⊤
state_after: no goals

tactic: have h : ∀ᵐ (x : α) ∂μ, x ∈ s →
    (‖Set.piecewise s f g x‖₊ : ℝ≥0∞) ^ p.toReal = (‖f x‖₊ : ℝ≥0∞) ^ p.toReal := by
  filter_upwards with a ha using by simp [ha]
state_before: case neg.inr.left
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
⊢ ∫⁻ (x : α) in s, ↑‖s.piecewise f g x‖₊ ^ p.toReal ∂μ < ⊤
state_after: case neg.inr.left
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
h : ∀ᵐ (x : α) ∂μ, x ∈ s → ↑‖s.piecewise f g x‖₊ ^ p.toReal = ↑‖f x‖₊ ^ p.toReal
⊢ ∫⁻ (x : α) in s, ↑‖s.piecewise f g x‖₊ ^ p.toReal ∂μ < ⊤

tactic: rw [setLIntegral_congr_fun hs h]
state_before: case neg.inr.left
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
h : ∀ᵐ (x : α) ∂μ, x ∈ s → ↑‖s.piecewise f g x‖₊ ^ p.toReal = ↑‖f x‖₊ ^ p.toReal
⊢ ∫⁻ (x : α) in s, ↑‖s.piecewise f g x‖₊ ^ p.toReal ∂μ < ⊤
state_after: case neg.inr.left
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
h : ∀ᵐ (x : α) ∂μ, x ∈ s → ↑‖s.piecewise f g x‖₊ ^ p.toReal = ↑‖f x‖₊ ^ p.toReal
⊢ ∫⁻ (x : α) in s, ↑‖f x‖₊ ^ p.toReal ∂μ < ⊤

tactic: exact lintegral_rpow_nnnorm_lt_top_of_snorm_lt_top hp_zero hp_top hf.2
state_before: case neg.inr.left
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
h : ∀ᵐ (x : α) ∂μ, x ∈ s → ↑‖s.piecewise f g x‖₊ ^ p.toReal = ↑‖f x‖₊ ^ p.toReal
⊢ ∫⁻ (x : α) in s, ↑‖f x‖₊ ^ p.toReal ∂μ < ⊤
state_after: no goals

tactic: filter_upwards with a ha using by simp [ha]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
⊢ ∀ᵐ (x : α) ∂μ, x ∈ s → ↑‖s.piecewise f g x‖₊ ^ p.toReal = ↑‖f x‖₊ ^ p.toReal
state_after: no goals

tactic: simp [ha]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
a : α
ha : a ∈ s
⊢ ↑‖s.piecewise f g a‖₊ ^ p.toReal = ↑‖f a‖₊ ^ p.toReal
state_after: no goals

tactic: have h : ∀ᵐ (x : α) ∂μ, x ∈ sᶜ →
    (‖Set.piecewise s f g x‖₊ : ℝ≥0∞) ^ p.toReal = (‖g x‖₊ : ℝ≥0∞) ^ p.toReal := by
  filter_upwards with a ha
  have ha' : a ∉ s := ha
  simp [ha']
state_before: case neg.inr.right
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
⊢ ∫⁻ (x : α) in sᶜ, ↑‖s.piecewise f g x‖₊ ^ p.toReal ∂μ < ⊤
state_after: case neg.inr.right
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
h : ∀ᵐ (x : α) ∂μ, x ∈ sᶜ → ↑‖s.piecewise f g x‖₊ ^ p.toReal = ↑‖g x‖₊ ^ p.toReal
⊢ ∫⁻ (x : α) in sᶜ, ↑‖s.piecewise f g x‖₊ ^ p.toReal ∂μ < ⊤

tactic: rw [setLIntegral_congr_fun hs.compl h]
state_before: case neg.inr.right
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
h : ∀ᵐ (x : α) ∂μ, x ∈ sᶜ → ↑‖s.piecewise f g x‖₊ ^ p.toReal = ↑‖g x‖₊ ^ p.toReal
⊢ ∫⁻ (x : α) in sᶜ, ↑‖s.piecewise f g x‖₊ ^ p.toReal ∂μ < ⊤
state_after: case neg.inr.right
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
h : ∀ᵐ (x : α) ∂μ, x ∈ sᶜ → ↑‖s.piecewise f g x‖₊ ^ p.toReal = ↑‖g x‖₊ ^ p.toReal
⊢ ∫⁻ (x : α) in sᶜ, ↑‖g x‖₊ ^ p.toReal ∂μ < ⊤

tactic: exact lintegral_rpow_nnnorm_lt_top_of_snorm_lt_top hp_zero hp_top hg.2
state_before: case neg.inr.right
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
h : ∀ᵐ (x : α) ∂μ, x ∈ sᶜ → ↑‖s.piecewise f g x‖₊ ^ p.toReal = ↑‖g x‖₊ ^ p.toReal
⊢ ∫⁻ (x : α) in sᶜ, ↑‖g x‖₊ ^ p.toReal ∂μ < ⊤
state_after: no goals

tactic: filter_upwards with a ha
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
⊢ ∀ᵐ (x : α) ∂μ, x ∈ sᶜ → ↑‖s.piecewise f g x‖₊ ^ p.toReal = ↑‖g x‖₊ ^ p.toReal
state_after: case h
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
a : α
ha : a ∈ sᶜ
⊢ ↑‖s.piecewise f g a‖₊ ^ p.toReal = ↑‖g a‖₊ ^ p.toReal

tactic: have ha' : a ∉ s := ha
state_before: case h
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
a : α
ha : a ∈ sᶜ
⊢ ↑‖s.piecewise f g a‖₊ ^ p.toReal = ↑‖g a‖₊ ^ p.toReal
state_after: case h
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
a : α
ha : a ∈ sᶜ
ha' : a ∉ s
⊢ ↑‖s.piecewise f g a‖₊ ^ p.toReal = ↑‖g a‖₊ ^ p.toReal

tactic: simp [ha']
state_before: case h
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
c : E
f : α → E
hf✝ : AEStronglyMeasurable f μ
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
g : α → E
hs : MeasurableSet s
hf : Memℒp f p (μ.restrict s)
hg : Memℒp g p (μ.restrict sᶜ)
hp_zero : ¬p = 0
hp_top : p ≠ ⊤
a : α
ha : a ∈ sᶜ
ha' : a ∉ s
⊢ ↑‖s.piecewise f g a‖₊ ^ p.toReal = ↑‖g a‖₊ ^ p.toReal
state_after: no goals