Theorem: MeasureTheory.setIntegral_gt_gt
File: Mathlib/MeasureTheory/Integral/SetIntegral.lean

tactic: rw [← sub_pos, ← smul_eq_mul, ← setIntegral_const, ← integral_sub hfint this,
  setIntegral_pos_iff_support_of_nonneg_ae]
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ (μ {x | R < f x}).toReal * R < ∫ (x : X) in {x | R < f x}, f x ∂μ
state_after: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ 0 < μ ((support fun a => f a - R) ∩ {x | R < f x})

case hf
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ 0 ≤ᶠ[ae (μ.restrict {x | R < f x})] fun a => f a - R

case hfi
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ IntegrableOn (fun a => f a - R) {x | R < f x} μ

tactic: refine ⟨aestronglyMeasurable_const, lt_of_le_of_lt ?_ hfint.2⟩
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
⊢ IntegrableOn (fun x => R) {x | R < f x} μ
state_after: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
⊢ ∫⁻ (a : X) in {x | R < f x}, ↑‖(fun x => R) a‖₊ ∂μ ≤ ∫⁻ (a : X) in {x | R < f x}, ↑‖f a‖₊ ∂μ

tactic: refine
  setLIntegral_mono (Measurable.nnnorm ?_).coe_nnreal_ennreal hfm.nnnorm.coe_nnreal_ennreal
    fun x hx => ?_
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
⊢ ∫⁻ (a : X) in {x | R < f x}, ↑‖(fun x => R) a‖₊ ∂μ ≤ ∫⁻ (a : X) in {x | R < f x}, ↑‖f a‖₊ ∂μ
state_after: case refine_1
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
⊢ Measurable fun x => R

case refine_2
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
x : X
hx : x ∈ {x | R < f x}
⊢ ↑‖(fun x => R) x‖₊ ≤ ↑‖f x‖₊

tactic: exact measurable_const
state_before: case refine_1
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
⊢ Measurable fun x => R
state_after: no goals

tactic: simp only [ENNReal.coe_le_coe, Real.nnnorm_of_nonneg hR,
  Real.nnnorm_of_nonneg (hR.trans <| le_of_lt hx), Subtype.mk_le_mk]
state_before: case refine_2
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
x : X
hx : x ∈ {x | R < f x}
⊢ ↑‖(fun x => R) x‖₊ ≤ ↑‖f x‖₊
state_after: case refine_2
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
x : X
hx : x ∈ {x | R < f x}
⊢ ⟨R, hR⟩ ≤ ⟨f x, ⋯⟩

tactic: exact le_of_lt hx
state_before: case refine_2
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
x : X
hx : x ∈ {x | R < f x}
⊢ ⟨R, hR⟩ ≤ ⟨f x, ⋯⟩
state_after: no goals

tactic: rw [← zero_lt_iff] at hμ
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ 0 < μ ((support fun a => f a - R) ∩ {x | R < f x})
state_after: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : 0 < μ {x | R < f x}
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ 0 < μ ((support fun a => f a - R) ∩ {x | R < f x})

tactic: rwa [Set.inter_eq_self_of_subset_right]
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : 0 < μ {x | R < f x}
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ 0 < μ ((support fun a => f a - R) ∩ {x | R < f x})
state_after: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : 0 < μ {x | R < f x}
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ {x | R < f x} ⊆ support fun a => f a - R

tactic: exact fun x hx => Ne.symm (ne_of_lt <| sub_pos.2 hx)
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : 0 < μ {x | R < f x}
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ {x | R < f x} ⊆ support fun a => f a - R
state_after: no goals

tactic: rw [Pi.zero_def, EventuallyLE, ae_restrict_iff]
state_before: case hf
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ 0 ≤ᶠ[ae (μ.restrict {x | R < f x})] fun a => f a - R
state_after: case hf
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ ∀ᵐ (x : X) ∂μ, x ∈ {x | R < f x} → 0 ≤ f x - R

case hf
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ MeasurableSet {x | 0 ≤ f x - R}

tactic: exact eventually_of_forall fun x hx => sub_nonneg.2 <| le_of_lt hx
state_before: case hf
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ ∀ᵐ (x : X) ∂μ, x ∈ {x | R < f x} → 0 ≤ f x - R
state_after: no goals

tactic: exact measurableSet_le measurable_zero (hfm.sub measurable_const)
state_before: case hf
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ MeasurableSet {x | 0 ≤ f x - R}
state_after: no goals

tactic: exact Integrable.sub hfint this
state_before: case hfi
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f✝ g : X → E
s t : Set X
μ ν : Measure X
l l' : Filter X
R : ℝ
f : X → ℝ
hR : 0 ≤ R
hfm : Measurable f
hfint : IntegrableOn f {x | R < f x} μ
hμ : μ {x | R < f x} ≠ 0
this : IntegrableOn (fun x => R) {x | R < f x} μ
⊢ IntegrableOn (fun a => f a - R) {x | R < f x} μ
state_after: no goals