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

Proof steps:
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure X
c : 𝕜
f : ↥(Lp F p μ)
s : Set X
⊢ Memℒp.toLp ↑↑(c • f) ⋯ = c • Memℒp.toLp ↑↑f ⋯
state_after: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure X
c : 𝕜
f : ↥(Lp F p μ)
s : Set X
⊢ ↑↑(Memℒp.toLp ↑↑(c • f) ⋯) =ᶠ[ae (μ.restrict s)] ↑↑(c • Memℒp.toLp ↑↑f ⋯)
tactic: ext1
state_before: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure X
c : 𝕜
f : ↥(Lp F p μ)
s : Set X
⊢ ↑↑(Memℒp.toLp ↑↑(c • f) ⋯) =ᶠ[ae (μ.restrict s)] ↑↑(c • Memℒp.toLp ↑↑f ⋯)
state_after: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure X
c : 𝕜
f : ↥(Lp F p μ)
s : Set X
⊢ ∀ᵐ (x : X) ∂μ.restrict s, ↑↑(c • f) x = (c • ↑↑f) x → ↑↑(Memℒp.toLp ↑↑(c • f) ⋯) x = ↑↑(c • Memℒp.toLp ↑↑f ⋯) x
tactic: refine (ae_restrict_of_ae (Lp.coeFn_smul c f)).mp ?_
state_before: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure X
c : 𝕜
f : ↥(Lp F p μ)
s : Set X
⊢ ∀ᵐ (x : X) ∂μ.restrict s, ↑↑(c • f) x = (c • ↑↑f) x → ↑↑(Memℒp.toLp ↑↑(c • f) ⋯) x = ↑↑(c • Memℒp.toLp ↑↑f ⋯) x
state_after: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure X
c : 𝕜
f : ↥(Lp F p μ)
s : Set X
⊢ ∀ᵐ (x : X) ∂μ.restrict s,
    ↑↑(Memℒp.toLp ↑↑f ⋯) x = ↑↑f x →
      ↑↑(c • f) x = (c • ↑↑f) x → ↑↑(Memℒp.toLp ↑↑(c • f) ⋯) x = ↑↑(c • Memℒp.toLp ↑↑f ⋯) x
tactic: refine (Memℒp.coeFn_toLp ((Lp.memℒp f).restrict s)).mp ?_
state_before: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure X
c : 𝕜
f : ↥(Lp F p μ)
s : Set X
⊢ ∀ᵐ (x : X) ∂μ.restrict s,
    ↑↑(Memℒp.toLp ↑↑f ⋯) x = ↑↑f x →
      ↑↑(c • f) x = (c • ↑↑f) x → ↑↑(Memℒp.toLp ↑↑(c • f) ⋯) x = ↑↑(c • Memℒp.toLp ↑↑f ⋯) x
state_after: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure X
c : 𝕜
f : ↥(Lp F p μ)
s : Set X
⊢ ∀ᵐ (x : X) ∂μ.restrict s,
    ↑↑(Memℒp.toLp ↑↑(c • f) ⋯) x = ↑↑(c • f) x →
      ↑↑(Memℒp.toLp ↑↑f ⋯) x = ↑↑f x →
        ↑↑(c • f) x = (c • ↑↑f) x → ↑↑(Memℒp.toLp ↑↑(c • f) ⋯) x = ↑↑(c • Memℒp.toLp ↑↑f ⋯) x
tactic: refine (Memℒp.coeFn_toLp ((Lp.memℒp (c • f)).restrict s)).mp ?_
state_before: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure X
c : 𝕜
f : ↥(Lp F p μ)
s : Set X
⊢ ∀ᵐ (x : X) ∂μ.restrict s,
    ↑↑(Memℒp.toLp ↑↑(c • f) ⋯) x = ↑↑(c • f) x →
      ↑↑(Memℒp.toLp ↑↑f ⋯) x = ↑↑f x →
        ↑↑(c • f) x = (c • ↑↑f) x → ↑↑(Memℒp.toLp ↑↑(c • f) ⋯) x = ↑↑(c • Memℒp.toLp ↑↑f ⋯) x
state_after: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure X
c : 𝕜
f : ↥(Lp F p μ)
s : Set X
x : X
hx1 : ↑↑(c • Memℒp.toLp ↑↑f ⋯) x = (c • ↑↑(Memℒp.toLp ↑↑f ⋯)) x
hx2 : ↑↑(Memℒp.toLp ↑↑(c • f) ⋯) x = ↑↑(c • f) x
hx3 : ↑↑(Memℒp.toLp ↑↑f ⋯) x = ↑↑f x
hx4 : ↑↑(c • f) x = (c • ↑↑f) x
⊢ ↑↑(Memℒp.toLp ↑↑(c • f) ⋯) x = ↑↑(c • Memℒp.toLp ↑↑f ⋯) x
tactic: refine
    (Lp.coeFn_smul c (Memℒp.toLp f ((Lp.memℒp f).restrict s))).mono fun x hx1 hx2 hx3 hx4 => ?_
state_before: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
inst✝³ : NormedAddCommGroup E
𝕜 : Type u_5
inst✝² : NormedField 𝕜
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : ℝ≥0∞
μ : Measure X
c : 𝕜
f : ↥(Lp F p μ)
s : Set X
x : X
hx1 : ↑↑(c • Memℒp.toLp ↑↑f ⋯) x = (c • ↑↑(Memℒp.toLp ↑↑f ⋯)) x
hx2 : ↑↑(Memℒp.toLp ↑↑(c • f) ⋯) x = ↑↑(c • f) x
hx3 : ↑↑(Memℒp.toLp ↑↑f ⋯) x = ↑↑f x
hx4 : ↑↑(c • f) x = (c • ↑↑f) x
⊢ ↑↑(Memℒp.toLp ↑↑(c • f) ⋯) x = ↑↑(c • Memℒp.toLp ↑↑f ⋯) x
state_after: no goals
tactic: simp only [hx2, hx1, hx3, hx4, Pi.smul_apply]