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

Proof steps:
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁸ : MeasurableSpace X
inst✝⁷ : TopologicalSpace X
inst✝⁶ : MeasurableSpace Y
inst✝⁵ : TopologicalSpace Y
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
f g✝ : 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 : ContinuousOn g K
hg' : IntegrableOn g' A μ
hK : IsCompact K
hA : MeasurableSet A
hAK : A ⊆ K
⊢ IntegrableOn (fun x => g x * g' x) A μ
state_after: case intro
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁸ : MeasurableSpace X
inst✝⁷ : TopologicalSpace X
inst✝⁶ : MeasurableSpace Y
inst✝⁵ : TopologicalSpace Y
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
f g✝ : 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 : ContinuousOn g K
hg' : IntegrableOn g' A μ
hK : IsCompact K
hA : MeasurableSet A
hAK : A ⊆ K
C : ℝ
hC : ∀ x ∈ K, ‖g x‖ ≤ C
⊢ IntegrableOn (fun x => g x * g' x) A μ
tactic: rcases IsCompact.exists_bound_of_continuousOn hK hg with ⟨C, hC⟩
state_before: case intro
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁸ : MeasurableSpace X
inst✝⁷ : TopologicalSpace X
inst✝⁶ : MeasurableSpace Y
inst✝⁵ : TopologicalSpace Y
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
f g✝ : 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 : ContinuousOn g K
hg' : IntegrableOn g' A μ
hK : IsCompact K
hA : MeasurableSet A
hAK : A ⊆ K
C : ℝ
hC : ∀ x ∈ K, ‖g x‖ ≤ C
⊢ IntegrableOn (fun x => g x * g' x) A μ
state_after: case intro
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁸ : MeasurableSpace X
inst✝⁷ : TopologicalSpace X
inst✝⁶ : MeasurableSpace Y
inst✝⁵ : TopologicalSpace Y
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
f g✝ : 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 : ContinuousOn g K
hg' : Memℒp g' 1 (μ.restrict A)
hK : IsCompact K
hA : MeasurableSet A
hAK : A ⊆ K
C : ℝ
hC : ∀ x ∈ K, ‖g x‖ ≤ C
⊢ Memℒp (fun x => g x * g' x) 1 (μ.restrict A)
tactic: rw [IntegrableOn, ← memℒp_one_iff_integrable] at hg' ⊢
state_before: case intro
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁸ : MeasurableSpace X
inst✝⁷ : TopologicalSpace X
inst✝⁶ : MeasurableSpace Y
inst✝⁵ : TopologicalSpace Y
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
f g✝ : 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 : ContinuousOn g K
hg' : Memℒp g' 1 (μ.restrict A)
hK : IsCompact K
hA : MeasurableSet A
hAK : A ⊆ K
C : ℝ
hC : ∀ x ∈ K, ‖g x‖ ≤ C
⊢ Memℒp (fun x => g x * g' x) 1 (μ.restrict A)
state_after: case intro
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁸ : MeasurableSpace X
inst✝⁷ : TopologicalSpace X
inst✝⁶ : MeasurableSpace Y
inst✝⁵ : TopologicalSpace Y
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
f g✝ : 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 : ContinuousOn g K
hg' : Memℒp g' 1 (μ.restrict A)
hK : IsCompact K
hA : MeasurableSet A
hAK : A ⊆ K
C : ℝ
hC : ∀ x ∈ K, ‖g x‖ ≤ C
this : ∀ᵐ (x : X) ∂μ.restrict A, ‖g x * g' x‖ ≤ C * ‖g' x‖
⊢ Memℒp (fun x => g x * g' x) 1 (μ.restrict 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 ?_
    gcongr
    exact hC x (hAK hx)
state_before: case intro
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
R : Type u_5
inst✝⁸ : MeasurableSpace X
inst✝⁷ : TopologicalSpace X
inst✝⁶ : MeasurableSpace Y
inst✝⁵ : TopologicalSpace Y
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
f g✝ : 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 : ContinuousOn g K
hg' : Memℒp g' 1 (μ.restrict A)
hK : IsCompact K
hA : MeasurableSet A
hAK : A ⊆ K
C : ℝ
hC : ∀ x ∈ K, ‖g x‖ ≤ C
this : ∀ᵐ (x : X) ∂μ.restrict A, ‖g x * g' x‖ ≤ C * ‖g' x‖
⊢ Memℒp (fun x => g x * g' x) 1 (μ.restrict A)
state_after: no goals
tactic: exact
    Memℒp.of_le_mul hg' (((hg.mono hAK).aestronglyMeasurable hA).mul hg'.aestronglyMeasurable) this