Theorem: MeasureTheory.AEFinStronglyMeasurable.ae_nonneg_of_forall_set_integral_nonneg
File: Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean

tactic: let t := hf.sigmaFiniteSet
state_before: α : Type u_1
E : Type ?u.84239
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f : α → ℝ
hf : AEFinStronglyMeasurable f μ
hf_int_finite : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → IntegrableOn f s
hf_zero : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → 0 ≤ ∫ (x : α) in s, f x ∂μ
⊢ 0 ≤ᵐ[μ] f

tactic: suffices : 0 ≤ᵐ[μ.restrict t] f
state_before: α : Type u_1
E : Type ?u.84239
m m0 : MeasurableSpace α
μ : Measure α
s t✝ : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f : α → ℝ
hf : AEFinStronglyMeasurable f μ
hf_int_finite : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → IntegrableOn f s
hf_zero : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → 0 ≤ ∫ (x : α) in s, f x ∂μ
t : Set α := sigmaFiniteSet hf
⊢ 0 ≤ᵐ[μ] f

tactic: exact ae_of_ae_restrict_of_ae_restrict_compl _ this hf.ae_eq_zero_compl.symm.le
state_before: α : Type u_1
E : Type ?u.84239
m m0 : MeasurableSpace α
μ : Measure α
s t✝ : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f : α → ℝ
hf : AEFinStronglyMeasurable f μ
hf_int_finite : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → IntegrableOn f s
hf_zero : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → 0 ≤ ∫ (x : α) in s, f x ∂μ
t : Set α := sigmaFiniteSet hf
this : 0 ≤ᵐ[Measure.restrict μ t] f
⊢ 0 ≤ᵐ[μ] f

case this
α : Type u_1
E : Type ?u.84239
m m0 : MeasurableSpace α
μ : Measure α
s t✝ : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f : α → ℝ
hf : AEFinStronglyMeasurable f μ
hf_int_finite : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → IntegrableOn f s
hf_zero : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → 0 ≤ ∫ (x : α) in s, f x ∂μ
t : Set α := sigmaFiniteSet hf
⊢ 0 ≤ᵐ[Measure.restrict μ t] f

tactic: haveI : SigmaFinite (μ.restrict t) := hf.sigmaFinite_restrict
state_before: case this
α : Type u_1
E : Type ?u.84239
m m0 : MeasurableSpace α
μ : Measure α
s t✝ : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f : α → ℝ
hf : AEFinStronglyMeasurable f μ
hf_int_finite : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → IntegrableOn f s
hf_zero : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → 0 ≤ ∫ (x : α) in s, f x ∂μ
t : Set α := sigmaFiniteSet hf
⊢ 0 ≤ᵐ[Measure.restrict μ t] f

tactic: refine'
  ae_nonneg_of_forall_set_integral_nonneg_of_sigmaFinite (fun s hs hμts => _) fun s hs hμts => _
state_before: case this
α : Type u_1
E : Type ?u.84239
m m0 : MeasurableSpace α
μ : Measure α
s t✝ : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f : α → ℝ
hf : AEFinStronglyMeasurable f μ
hf_int_finite : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → IntegrableOn f s
hf_zero : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → 0 ≤ ∫ (x : α) in s, f x ∂μ
t : Set α := sigmaFiniteSet hf
this : SigmaFinite (Measure.restrict μ t)
⊢ 0 ≤ᵐ[Measure.restrict μ t] f

tactic: rw [IntegrableOn, Measure.restrict_restrict hs]
state_before: case this.refine'_1
α : Type u_1
E : Type ?u.84239
m m0 : MeasurableSpace α
μ : Measure α
s✝ t✝ : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f : α → ℝ
hf : AEFinStronglyMeasurable f μ
hf_int_finite : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → IntegrableOn f s
hf_zero : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → 0 ≤ ∫ (x : α) in s, f x ∂μ
t : Set α := sigmaFiniteSet hf
this : SigmaFinite (Measure.restrict μ t)
s : Set α
hs : MeasurableSet s
hμts : ↑↑(Measure.restrict μ t) s < ⊤
⊢ IntegrableOn f s

tactic: rw [Measure.restrict_apply hs] at hμts
state_before: case this.refine'_1
α : Type u_1
E : Type ?u.84239
m m0 : MeasurableSpace α
μ : Measure α
s✝ t✝ : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f : α → ℝ
hf : AEFinStronglyMeasurable f μ
hf_int_finite : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → IntegrableOn f s
hf_zero : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → 0 ≤ ∫ (x : α) in s, f x ∂μ
t : Set α := sigmaFiniteSet hf
this : SigmaFinite (Measure.restrict μ t)
s : Set α
hs : MeasurableSet s
hμts : ↑↑(Measure.restrict μ t) s < ⊤
⊢ Integrable f

tactic: exact hf_int_finite (s ∩ t) (hs.inter hf.measurableSet) hμts
state_before: case this.refine'_1
α : Type u_1
E : Type ?u.84239
m m0 : MeasurableSpace α
μ : Measure α
s✝ t✝ : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f : α → ℝ
hf : AEFinStronglyMeasurable f μ
hf_int_finite : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → IntegrableOn f s
hf_zero : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → 0 ≤ ∫ (x : α) in s, f x ∂μ
t : Set α := sigmaFiniteSet hf
this : SigmaFinite (Measure.restrict μ t)
s : Set α
hs : MeasurableSet s
hμts : ↑↑μ (s ∩ t) < ⊤
⊢ Integrable f

tactic: rw [Measure.restrict_restrict hs]
state_before: case this.refine'_2
α : Type u_1
E : Type ?u.84239
m m0 : MeasurableSpace α
μ : Measure α
s✝ t✝ : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f : α → ℝ
hf : AEFinStronglyMeasurable f μ
hf_int_finite : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → IntegrableOn f s
hf_zero : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → 0 ≤ ∫ (x : α) in s, f x ∂μ
t : Set α := sigmaFiniteSet hf
this : SigmaFinite (Measure.restrict μ t)
s : Set α
hs : MeasurableSet s
hμts : ↑↑(Measure.restrict μ t) s < ⊤
⊢ 0 ≤ ∫ (x : α) in s, f x ∂Measure.restrict μ t

tactic: rw [Measure.restrict_apply hs] at hμts
state_before: case this.refine'_2
α : Type u_1
E : Type ?u.84239
m m0 : MeasurableSpace α
μ : Measure α
s✝ t✝ : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f : α → ℝ
hf : AEFinStronglyMeasurable f μ
hf_int_finite : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → IntegrableOn f s
hf_zero : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → 0 ≤ ∫ (x : α) in s, f x ∂μ
t : Set α := sigmaFiniteSet hf
this : SigmaFinite (Measure.restrict μ t)
s : Set α
hs : MeasurableSet s
hμts : ↑↑(Measure.restrict μ t) s < ⊤
⊢ 0 ≤ ∫ (x : α) in s ∩ t, f x ∂μ

tactic: exact hf_zero (s ∩ t) (hs.inter hf.measurableSet) hμts
state_before: case this.refine'_2
α : Type u_1
E : Type ?u.84239
m m0 : MeasurableSpace α
μ : Measure α
s✝ t✝ : Set α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
p : ℝ≥0∞
f✝ f : α → ℝ
hf : AEFinStronglyMeasurable f μ
hf_int_finite : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → IntegrableOn f s
hf_zero : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → 0 ≤ ∫ (x : α) in s, f x ∂μ
t : Set α := sigmaFiniteSet hf
this : SigmaFinite (Measure.restrict μ t)
s : Set α
hs : MeasurableSet s
hμts : ↑↑μ (s ∩ t) < ⊤
⊢ 0 ≤ ∫ (x : α) in s ∩ t, f x ∂μ