Theorem: MeasureTheory.IntegrableOn.mul_continuousOn_of_subset
File: Mathlib/MeasureTheory/Function/LocallyIntegrable.lean

tactic: rcases IsCompact.exists_bound_of_continuousOn hK hg' with ⟨C, hC⟩
state_before: X : Type u_1
Y : Type ?u.2476922
E : Type ?u.2476925
R : Type u_2
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝² : OpensMeasurableSpace X
A K : Set X
inst✝¹ : NormedRing R
inst✝ : SecondCountableTopologyEither X R
g g' : X → R
hg : IntegrableOn g A
hg' : ContinuousOn g' K
hA : MeasurableSet A
hK : IsCompact K
hAK : A ⊆ K
⊢ IntegrableOn (fun x => g x * g' x) A

tactic: rw [IntegrableOn, ← memℒp_one_iff_integrable] at hg⊢
state_before: case intro
X : Type u_1
Y : Type ?u.2476922
E : Type ?u.2476925
R : Type u_2
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝² : OpensMeasurableSpace X
A K : Set X
inst✝¹ : NormedRing R
inst✝ : SecondCountableTopologyEither X R
g g' : X → R
hg : IntegrableOn g A
hg' : ContinuousOn g' K
hA : MeasurableSet A
hK : IsCompact K
hAK : A ⊆ K
C : ℝ
hC : ∀ (x : X), x ∈ K → ‖g' x‖ ≤ C
⊢ IntegrableOn (fun x => g x * g' x) A

tactic: have : ∀ᵐ x ∂μ.restrict A, ‖g x * g' x‖ ≤ C * ‖g x‖ := by
  filter_upwards [ae_restrict_mem hA]with x hx
  refine' (norm_mul_le _ _).trans _
  rw [mul_comm]
  apply mul_le_mul_of_nonneg_right (hC x (hAK hx)) (norm_nonneg _)
state_before: case intro
X : Type u_1
Y : Type ?u.2476922
E : Type ?u.2476925
R : Type u_2
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝² : OpensMeasurableSpace X
A K : Set X
inst✝¹ : NormedRing R
inst✝ : SecondCountableTopologyEither X R
g g' : X → R
hg : Memℒp g 1
hg' : ContinuousOn g' K
hA : MeasurableSet A
hK : IsCompact K
hAK : A ⊆ K
C : ℝ
hC : ∀ (x : X), x ∈ K → ‖g' x‖ ≤ C
⊢ Memℒp (fun x => g x * g' x) 1

tactic: exact
  Memℒp.of_le_mul hg (hg.aestronglyMeasurable.mul <| (hg'.mono hAK).aestronglyMeasurable hA) this
state_before: case intro
X : Type u_1
Y : Type ?u.2476922
E : Type ?u.2476925
R : Type u_2
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝² : OpensMeasurableSpace X
A K : Set X
inst✝¹ : NormedRing R
inst✝ : SecondCountableTopologyEither X R
g g' : X → R
hg : Memℒp g 1
hg' : ContinuousOn g' K
hA : MeasurableSet A
hK : IsCompact K
hAK : A ⊆ K
C : ℝ
hC : ∀ (x : X), x ∈ K → ‖g' x‖ ≤ C
this : ∀ᵐ (x : X) ∂Measure.restrict μ A, ‖g x * g' x‖ ≤ C * ‖g x‖
⊢ Memℒp (fun x => g x * g' x) 1

tactic: filter_upwards [ae_restrict_mem hA]with x hx
state_before: X : Type u_1
Y : Type ?u.2476922
E : Type ?u.2476925
R : Type u_2
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝² : OpensMeasurableSpace X
A K : Set X
inst✝¹ : NormedRing R
inst✝ : SecondCountableTopologyEither X R
g g' : X → R
hg : Memℒp g 1
hg' : ContinuousOn g' K
hA : MeasurableSet A
hK : IsCompact K
hAK : A ⊆ K
C : ℝ
hC : ∀ (x : X), x ∈ K → ‖g' x‖ ≤ C
⊢ ∀ᵐ (x : X) ∂Measure.restrict μ A, ‖g x * g' x‖ ≤ C * ‖g x‖

tactic: refine' (norm_mul_le _ _).trans _
state_before: case h
X : Type u_1
Y : Type ?u.2476922
E : Type ?u.2476925
R : Type u_2
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝² : OpensMeasurableSpace X
A K : Set X
inst✝¹ : NormedRing R
inst✝ : SecondCountableTopologyEither X R
g g' : X → R
hg : Memℒp g 1
hg' : ContinuousOn g' K
hA : MeasurableSet A
hK : IsCompact K
hAK : A ⊆ K
C : ℝ
hC : ∀ (x : X), x ∈ K → ‖g' x‖ ≤ C
x : X
hx : x ∈ A
⊢ ‖g x * g' x‖ ≤ C * ‖g x‖

tactic: rw [mul_comm]
state_before: case h
X : Type u_1
Y : Type ?u.2476922
E : Type ?u.2476925
R : Type u_2
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝² : OpensMeasurableSpace X
A K : Set X
inst✝¹ : NormedRing R
inst✝ : SecondCountableTopologyEither X R
g g' : X → R
hg : Memℒp g 1
hg' : ContinuousOn g' K
hA : MeasurableSet A
hK : IsCompact K
hAK : A ⊆ K
C : ℝ
hC : ∀ (x : X), x ∈ K → ‖g' x‖ ≤ C
x : X
hx : x ∈ A
⊢ ‖g x‖ * ‖g' x‖ ≤ C * ‖g x‖

tactic: apply mul_le_mul_of_nonneg_right (hC x (hAK hx)) (norm_nonneg _)
state_before: case h
X : Type u_1
Y : Type ?u.2476922
E : Type ?u.2476925
R : Type u_2
inst✝⁷ : MeasurableSpace X
inst✝⁶ : TopologicalSpace X
inst✝⁵ : MeasurableSpace Y
inst✝⁴ : TopologicalSpace Y
inst✝³ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝² : OpensMeasurableSpace X
A K : Set X
inst✝¹ : NormedRing R
inst✝ : SecondCountableTopologyEither X R
g g' : X → R
hg : Memℒp g 1
hg' : ContinuousOn g' K
hA : MeasurableSet A
hK : IsCompact K
hAK : A ⊆ K
C : ℝ
hC : ∀ (x : X), x ∈ K → ‖g' x‖ ≤ C
x : X
hx : x ∈ A
⊢ ‖g' x‖ * ‖g x‖ ≤ C * ‖g x‖