diff --git a/Mathlib/MeasureTheory/Function/SimpleFunc.lean b/Mathlib/MeasureTheory/Function/SimpleFunc.lean index 91bbff2ab208d1..4e9f2101d43712 100644 --- a/Mathlib/MeasureTheory/Function/SimpleFunc.lean +++ b/Mathlib/MeasureTheory/Function/SimpleFunc.lean @@ -1326,51 +1326,15 @@ protected theorem induction' {α γ} [MeasurableSpace α] [Nonempty γ] {P : Sim measurable. -/ theorem _root_.Measurable.add_simpleFunc {E : Type*} {_ : MeasurableSpace α} [MeasurableSpace E] [AddCancelMonoid E] [MeasurableAdd E] - {g : α → E} (hg : Measurable g) (f : SimpleFunc α E) : - Measurable (g + (f : α → E)) := by - classical - induction f using SimpleFunc.induction with - | @const c s hs => - simp only [SimpleFunc.const_zero, SimpleFunc.coe_piecewise, SimpleFunc.coe_const, - SimpleFunc.coe_zero] - rw [← s.piecewise_same g, ← piecewise_add] - exact Measurable.piecewise hs (hg.add_const _) (hg.add_const _) - | @add f f' hff' hf hf' => - have : (g + ↑(f + f')) = (Function.support f).piecewise (g + (f : α → E)) (g + f') := by - ext x - by_cases hx : x ∈ Function.support f - · simpa only [SimpleFunc.coe_add, Pi.add_apply, Function.mem_support, ne_eq, not_not, - Set.piecewise_eq_of_mem _ _ _ hx, _root_.add_right_inj, add_eq_left] - using Set.disjoint_left.1 hff' hx - · simpa only [SimpleFunc.coe_add, Pi.add_apply, Function.mem_support, ne_eq, not_not, - Set.piecewise_eq_of_notMem _ _ _ hx, _root_.add_right_inj, add_eq_right] using hx - rw [this] - exact Measurable.piecewise f.measurableSet_support hf hf' + {g : α → E} (hg : Measurable g) (f : SimpleFunc α E) : Measurable (g + (f : α → E)) := + f.measurable_bind (fun b a ↦ g a + b) fun b ↦ hg.add_const b /-- In a topological vector space, the addition of a simple function and a measurable function is measurable. -/ theorem _root_.Measurable.simpleFunc_add {E : Type*} {_ : MeasurableSpace α} [MeasurableSpace E] [AddCancelMonoid E] [MeasurableAdd E] - {g : α → E} (hg : Measurable g) (f : SimpleFunc α E) : - Measurable ((f : α → E) + g) := by - classical - induction f using SimpleFunc.induction with - | @const c s hs => - simp only [SimpleFunc.const_zero, SimpleFunc.coe_piecewise, SimpleFunc.coe_const, - SimpleFunc.coe_zero] - rw [← s.piecewise_same g, ← piecewise_add] - exact Measurable.piecewise hs (hg.const_add _) (hg.const_add _) - | @add f f' hff' hf hf' => - have : (↑(f + f') + g) = (Function.support f).piecewise ((f : α → E) + g) (f' + g) := by - ext x - by_cases hx : x ∈ Function.support f - · simpa only [coe_add, Pi.add_apply, Function.mem_support, ne_eq, not_not, - Set.piecewise_eq_of_mem _ _ _ hx, _root_.add_left_inj, add_eq_left] - using Set.disjoint_left.1 hff' hx - · simpa only [SimpleFunc.coe_add, Pi.add_apply, Function.mem_support, ne_eq, not_not, - Set.piecewise_eq_of_notMem _ _ _ hx, _root_.add_left_inj, add_eq_right] using hx - rw [this] - exact Measurable.piecewise f.measurableSet_support hf hf' + {g : α → E} (hg : Measurable g) (f : SimpleFunc α E) : Measurable ((f : α → E) + g) := + f.measurable_bind (fun b a ↦ b + g a) fun b ↦ hg.const_add b end SimpleFunc