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

tactic: have h_union : {x | f x ≤ 0} = {x | f x < 0} ∪ {x | f x = 0} := by
  ext; simp_rw [Set.mem_union, Set.mem_setOf_eq]; exact le_iff_lt_or_eq
state_before: α : Type u_2
β : Type ?u.102789
E : Type u_1
F : Type ?u.102795
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
⊢ (∫ (x : α) in {x | f x < 0}, f x ∂μ) = ∫ (x : α) in {x | f x ≤ 0}, f x ∂μ

tactic: rw [h_union]
state_before: α : Type u_2
β : Type ?u.102789
E : Type u_1
F : Type ?u.102795
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
h_union : {x | f x ≤ 0} = {x | f x < 0} ∪ {x | f x = 0}
⊢ (∫ (x : α) in {x | f x < 0}, f x ∂μ) = ∫ (x : α) in {x | f x ≤ 0}, f x ∂μ

tactic: have B : NullMeasurableSet {x | f x = 0} μ :=
  hf.nullMeasurableSet_eq_fun aestronglyMeasurable_zero
state_before: α : Type u_2
β : Type ?u.102789
E : Type u_1
F : Type ?u.102795
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
h_union : {x | f x ≤ 0} = {x | f x < 0} ∪ {x | f x = 0}
⊢ (∫ (x : α) in {x | f x < 0}, f x ∂μ) = ∫ (x : α) in {x | f x < 0} ∪ {x | f x = 0}, f x ∂μ

tactic: symm
state_before: α : Type u_2
β : Type ?u.102789
E : Type u_1
F : Type ?u.102795
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
h_union : {x | f x ≤ 0} = {x | f x < 0} ∪ {x | f x = 0}
B : NullMeasurableSet {x | f x = 0}
⊢ (∫ (x : α) in {x | f x < 0}, f x ∂μ) = ∫ (x : α) in {x | f x < 0} ∪ {x | f x = 0}, f x ∂μ

tactic: refine' integral_union_eq_left_of_ae _
state_before: α : Type u_2
β : Type ?u.102789
E : Type u_1
F : Type ?u.102795
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
h_union : {x | f x ≤ 0} = {x | f x < 0} ∪ {x | f x = 0}
B : NullMeasurableSet {x | f x = 0}
⊢ (∫ (x : α) in {x | f x < 0} ∪ {x | f x = 0}, f x ∂μ) = ∫ (x : α) in {x | f x < 0}, f x ∂μ

tactic: filter_upwards [ae_restrict_mem₀ B] with x hx using hx
state_before: α : Type u_2
β : Type ?u.102789
E : Type u_1
F : Type ?u.102795
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
h_union : {x | f x ≤ 0} = {x | f x < 0} ∪ {x | f x = 0}
B : NullMeasurableSet {x | f x = 0}
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ {x | f x = 0}, f x = 0

tactic: ext
state_before: α : Type u_2
β : Type ?u.102789
E : Type u_1
F : Type ?u.102795
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
⊢ {x | f x ≤ 0} = {x | f x < 0} ∪ {x | f x = 0}

tactic: simp_rw [Set.mem_union, Set.mem_setOf_eq]
state_before: case h
α : Type u_2
β : Type ?u.102789
E : Type u_1
F : Type ?u.102795
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
x✝ : α
⊢ x✝ ∈ {x | f x ≤ 0} ↔ x✝ ∈ {x | f x < 0} ∪ {x | f x = 0}

tactic: exact le_iff_lt_or_eq
state_before: case h
α : Type u_2
β : Type ?u.102789
E : Type u_1
F : Type ?u.102795
inst✝⁴ : MeasurableSpace α
inst✝³ : NormedAddCommGroup E
f✝ g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
inst✝ : LinearOrder E
f : α → E
hf : AEStronglyMeasurable f μ
x✝ : α
⊢ f x✝ ≤ 0 ↔ f x✝ < 0 ∨ f x✝ = 0