Theorem: MeasureTheory.L1.SimpleFunc.posPart_toSimpleFunc
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: have eq : ∀ a, (toSimpleFunc f).posPart a = max ((toSimpleFunc f) a) 0 := fun a => rfl
state_before: α : Type u_1
E : Type ?u.352084
F : Type ?u.352087
𝕜 : Type ?u.352090
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedAddCommGroup F
m : MeasurableSpace α
μ : Measure α
inst✝⁸ : NormedField 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
F' : Type ?u.354465
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace ℝ F'
E' : Type ?u.354561
inst✝² : NormedAddCommGroup E'
inst✝¹ : NormedSpace ℝ E'
inst✝ : NormedSpace 𝕜 E'
f : { x // x ∈ simpleFunc ℝ 1 μ }
⊢ ↑(toSimpleFunc (posPart f)) =ᵐ[μ] ↑(MeasureTheory.SimpleFunc.posPart (toSimpleFunc f))

tactic: have ae_eq : ∀ᵐ a ∂μ, toSimpleFunc (posPart f) a = max ((toSimpleFunc f) a) 0 := by
  filter_upwards [toSimpleFunc_eq_toFun (posPart f), Lp.coeFn_posPart (f : α →₁[μ] ℝ),
    toSimpleFunc_eq_toFun f]with _ _ h₂ h₃
  convert h₂ using 1
  rw [h₃]
state_before: α : Type u_1
E : Type ?u.352084
F : Type ?u.352087
𝕜 : Type ?u.352090
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedAddCommGroup F
m : MeasurableSpace α
μ : Measure α
inst✝⁸ : NormedField 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
F' : Type ?u.354465
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace ℝ F'
E' : Type ?u.354561
inst✝² : NormedAddCommGroup E'
inst✝¹ : NormedSpace ℝ E'
inst✝ : NormedSpace 𝕜 E'
f : { x // x ∈ simpleFunc ℝ 1 μ }
eq : ∀ (a : α), ↑(MeasureTheory.SimpleFunc.posPart (toSimpleFunc f)) a = max (↑(toSimpleFunc f) a) 0
⊢ ↑(toSimpleFunc (posPart f)) =ᵐ[μ] ↑(MeasureTheory.SimpleFunc.posPart (toSimpleFunc f))

tactic: refine' ae_eq.mono fun a h => _
state_before: α : Type u_1
E : Type ?u.352084
F : Type ?u.352087
𝕜 : Type ?u.352090
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedAddCommGroup F
m : MeasurableSpace α
μ : Measure α
inst✝⁸ : NormedField 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
F' : Type ?u.354465
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace ℝ F'
E' : Type ?u.354561
inst✝² : NormedAddCommGroup E'
inst✝¹ : NormedSpace ℝ E'
inst✝ : NormedSpace 𝕜 E'
f : { x // x ∈ simpleFunc ℝ 1 μ }
eq : ∀ (a : α), ↑(MeasureTheory.SimpleFunc.posPart (toSimpleFunc f)) a = max (↑(toSimpleFunc f) a) 0
ae_eq : ∀ᵐ (a : α) ∂μ, ↑(toSimpleFunc (posPart f)) a = max (↑(toSimpleFunc f) a) 0
⊢ ↑(toSimpleFunc (posPart f)) =ᵐ[μ] ↑(MeasureTheory.SimpleFunc.posPart (toSimpleFunc f))

tactic: rw [h, eq]
state_before: α : Type u_1
E : Type ?u.352084
F : Type ?u.352087
𝕜 : Type ?u.352090
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedAddCommGroup F
m : MeasurableSpace α
μ : Measure α
inst✝⁸ : NormedField 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
F' : Type ?u.354465
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace ℝ F'
E' : Type ?u.354561
inst✝² : NormedAddCommGroup E'
inst✝¹ : NormedSpace ℝ E'
inst✝ : NormedSpace 𝕜 E'
f : { x // x ∈ simpleFunc ℝ 1 μ }
eq : ∀ (a : α), ↑(MeasureTheory.SimpleFunc.posPart (toSimpleFunc f)) a = max (↑(toSimpleFunc f) a) 0
ae_eq : ∀ᵐ (a : α) ∂μ, ↑(toSimpleFunc (posPart f)) a = max (↑(toSimpleFunc f) a) 0
a : α
h : ↑(toSimpleFunc (posPart f)) a = max (↑(toSimpleFunc f) a) 0
⊢ ↑(toSimpleFunc (posPart f)) a = ↑(MeasureTheory.SimpleFunc.posPart (toSimpleFunc f)) a

tactic: filter_upwards [toSimpleFunc_eq_toFun (posPart f), Lp.coeFn_posPart (f : α →₁[μ] ℝ),
  toSimpleFunc_eq_toFun f]with _ _ h₂ h₃
state_before: α : Type u_1
E : Type ?u.352084
F : Type ?u.352087
𝕜 : Type ?u.352090
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedAddCommGroup F
m : MeasurableSpace α
μ : Measure α
inst✝⁸ : NormedField 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
F' : Type ?u.354465
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace ℝ F'
E' : Type ?u.354561
inst✝² : NormedAddCommGroup E'
inst✝¹ : NormedSpace ℝ E'
inst✝ : NormedSpace 𝕜 E'
f : { x // x ∈ simpleFunc ℝ 1 μ }
eq : ∀ (a : α), ↑(MeasureTheory.SimpleFunc.posPart (toSimpleFunc f)) a = max (↑(toSimpleFunc f) a) 0
⊢ ∀ᵐ (a : α) ∂μ, ↑(toSimpleFunc (posPart f)) a = max (↑(toSimpleFunc f) a) 0

tactic: convert h₂ using 1
state_before: case h
α : Type u_1
E : Type ?u.352084
F : Type ?u.352087
𝕜 : Type ?u.352090
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedAddCommGroup F
m : MeasurableSpace α
μ : Measure α
inst✝⁸ : NormedField 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
F' : Type ?u.354465
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace ℝ F'
E' : Type ?u.354561
inst✝² : NormedAddCommGroup E'
inst✝¹ : NormedSpace ℝ E'
inst✝ : NormedSpace 𝕜 E'
f : { x // x ∈ simpleFunc ℝ 1 μ }
eq : ∀ (a : α), ↑(MeasureTheory.SimpleFunc.posPart (toSimpleFunc f)) a = max (↑(toSimpleFunc f) a) 0
a✝¹ : α
a✝ : ↑(toSimpleFunc (posPart f)) a✝¹ = ↑↑↑(posPart f) a✝¹
h₂ : ↑↑(Lp.posPart ↑f) a✝¹ = max (↑↑↑f a✝¹) 0
h₃ : ↑(toSimpleFunc f) a✝¹ = ↑↑↑f a✝¹
⊢ ↑(toSimpleFunc (posPart f)) a✝¹ = max (↑(toSimpleFunc f) a✝¹) 0

tactic: rw [h₃]
state_before: case h.e'_3
α : Type u_1
E : Type ?u.352084
F : Type ?u.352087
𝕜 : Type ?u.352090
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedAddCommGroup F
m : MeasurableSpace α
μ : Measure α
inst✝⁸ : NormedField 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
F' : Type ?u.354465
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace ℝ F'
E' : Type ?u.354561
inst✝² : NormedAddCommGroup E'
inst✝¹ : NormedSpace ℝ E'
inst✝ : NormedSpace 𝕜 E'
f : { x // x ∈ simpleFunc ℝ 1 μ }
eq : ∀ (a : α), ↑(MeasureTheory.SimpleFunc.posPart (toSimpleFunc f)) a = max (↑(toSimpleFunc f) a) 0
a✝¹ : α
a✝ : ↑(toSimpleFunc (posPart f)) a✝¹ = ↑↑↑(posPart f) a✝¹
h₂ : ↑↑(Lp.posPart ↑f) a✝¹ = max (↑↑↑f a✝¹) 0
h₃ : ↑(toSimpleFunc f) a✝¹ = ↑↑↑f a✝¹
⊢ max (↑(toSimpleFunc f) a✝¹) 0 = max (↑↑↑f a✝¹) 0