Theorem: MeasureTheory.integral_mul_le_Lp_mul_Lq_of_nonneg
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: have h_left : (∫ a, f a * g a ∂μ) = ∫ a, ‖f a‖ * ‖g a‖ ∂μ := by
  refine' integral_congr_ae _
  filter_upwards [hf_nonneg, hg_nonneg]with x hxf hxg
  rw [Real.norm_of_nonneg hxf, Real.norm_of_nonneg hxg]
state_before: α : Type u_1
E : Type ?u.1686459
F : Type ?u.1686462
𝕜 : Type ?u.1686465
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1689156
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ
hf_nonneg : 0 ≤ᵐ[μ] f
hg_nonneg : 0 ≤ᵐ[μ] g
hf : Memℒp f (ENNReal.ofReal p)
hg : Memℒp g (ENNReal.ofReal q)
⊢ (∫ (a : α), f a * g a ∂μ) ≤ (∫ (a : α), f a ^ p ∂μ) ^ (1 / p) * (∫ (a : α), g a ^ q ∂μ) ^ (1 / q)

tactic: have h_right_f : (∫ a, f a ^ p ∂μ) = ∫ a, ‖f a‖ ^ p ∂μ := by
  refine' integral_congr_ae _
  filter_upwards [hf_nonneg]with x hxf
  rw [Real.norm_of_nonneg hxf]
state_before: α : Type u_1
E : Type ?u.1686459
F : Type ?u.1686462
𝕜 : Type ?u.1686465
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1689156
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ
hf_nonneg : 0 ≤ᵐ[μ] f
hg_nonneg : 0 ≤ᵐ[μ] g
hf : Memℒp f (ENNReal.ofReal p)
hg : Memℒp g (ENNReal.ofReal q)
h_left : (∫ (a : α), f a * g a ∂μ) = ∫ (a : α), ‖f a‖ * ‖g a‖ ∂μ
⊢ (∫ (a : α), f a * g a ∂μ) ≤ (∫ (a : α), f a ^ p ∂μ) ^ (1 / p) * (∫ (a : α), g a ^ q ∂μ) ^ (1 / q)

tactic: have h_right_g : (∫ a, g a ^ q ∂μ) = ∫ a, ‖g a‖ ^ q ∂μ := by
  refine' integral_congr_ae _
  filter_upwards [hg_nonneg]with x hxg
  rw [Real.norm_of_nonneg hxg]
state_before: α : Type u_1
E : Type ?u.1686459
F : Type ?u.1686462
𝕜 : Type ?u.1686465
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1689156
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ
hf_nonneg : 0 ≤ᵐ[μ] f
hg_nonneg : 0 ≤ᵐ[μ] g
hf : Memℒp f (ENNReal.ofReal p)
hg : Memℒp g (ENNReal.ofReal q)
h_left : (∫ (a : α), f a * g a ∂μ) = ∫ (a : α), ‖f a‖ * ‖g a‖ ∂μ
h_right_f : (∫ (a : α), f a ^ p ∂μ) = ∫ (a : α), ‖f a‖ ^ p ∂μ
⊢ (∫ (a : α), f a * g a ∂μ) ≤ (∫ (a : α), f a ^ p ∂μ) ^ (1 / p) * (∫ (a : α), g a ^ q ∂μ) ^ (1 / q)

tactic: rw [h_left, h_right_f, h_right_g]
state_before: α : Type u_1
E : Type ?u.1686459
F : Type ?u.1686462
𝕜 : Type ?u.1686465
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1689156
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ
hf_nonneg : 0 ≤ᵐ[μ] f
hg_nonneg : 0 ≤ᵐ[μ] g
hf : Memℒp f (ENNReal.ofReal p)
hg : Memℒp g (ENNReal.ofReal q)
h_left : (∫ (a : α), f a * g a ∂μ) = ∫ (a : α), ‖f a‖ * ‖g a‖ ∂μ
h_right_f : (∫ (a : α), f a ^ p ∂μ) = ∫ (a : α), ‖f a‖ ^ p ∂μ
h_right_g : (∫ (a : α), g a ^ q ∂μ) = ∫ (a : α), ‖g a‖ ^ q ∂μ
⊢ (∫ (a : α), f a * g a ∂μ) ≤ (∫ (a : α), f a ^ p ∂μ) ^ (1 / p) * (∫ (a : α), g a ^ q ∂μ) ^ (1 / q)

tactic: exact integral_mul_norm_le_Lp_mul_Lq hpq hf hg
state_before: α : Type u_1
E : Type ?u.1686459
F : Type ?u.1686462
𝕜 : Type ?u.1686465
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1689156
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ
hf_nonneg : 0 ≤ᵐ[μ] f
hg_nonneg : 0 ≤ᵐ[μ] g
hf : Memℒp f (ENNReal.ofReal p)
hg : Memℒp g (ENNReal.ofReal q)
h_left : (∫ (a : α), f a * g a ∂μ) = ∫ (a : α), ‖f a‖ * ‖g a‖ ∂μ
h_right_f : (∫ (a : α), f a ^ p ∂μ) = ∫ (a : α), ‖f a‖ ^ p ∂μ
h_right_g : (∫ (a : α), g a ^ q ∂μ) = ∫ (a : α), ‖g a‖ ^ q ∂μ
⊢ (∫ (a : α), ‖f a‖ * ‖g a‖ ∂μ) ≤ (∫ (a : α), ‖f a‖ ^ p ∂μ) ^ (1 / p) * (∫ (a : α), ‖g a‖ ^ q ∂μ) ^ (1 / q)

tactic: refine' integral_congr_ae _
state_before: α : Type u_1
E : Type ?u.1686459
F : Type ?u.1686462
𝕜 : Type ?u.1686465
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1689156
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ
hf_nonneg : 0 ≤ᵐ[μ] f
hg_nonneg : 0 ≤ᵐ[μ] g
hf : Memℒp f (ENNReal.ofReal p)
hg : Memℒp g (ENNReal.ofReal q)
⊢ (∫ (a : α), f a * g a ∂μ) = ∫ (a : α), ‖f a‖ * ‖g a‖ ∂μ

tactic: filter_upwards [hf_nonneg, hg_nonneg]with x hxf hxg
state_before: α : Type u_1
E : Type ?u.1686459
F : Type ?u.1686462
𝕜 : Type ?u.1686465
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1689156
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ
hf_nonneg : 0 ≤ᵐ[μ] f
hg_nonneg : 0 ≤ᵐ[μ] g
hf : Memℒp f (ENNReal.ofReal p)
hg : Memℒp g (ENNReal.ofReal q)
⊢ (fun a => f a * g a) =ᵐ[μ] fun a => ‖f a‖ * ‖g a‖

tactic: rw [Real.norm_of_nonneg hxf, Real.norm_of_nonneg hxg]
state_before: case h
α : Type u_1
E : Type ?u.1686459
F : Type ?u.1686462
𝕜 : Type ?u.1686465
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1689156
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ
hf_nonneg : 0 ≤ᵐ[μ] f
hg_nonneg : 0 ≤ᵐ[μ] g
hf : Memℒp f (ENNReal.ofReal p)
hg : Memℒp g (ENNReal.ofReal q)
x : α
hxf : OfNat.ofNat 0 x ≤ f x
hxg : OfNat.ofNat 0 x ≤ g x
⊢ f x * g x = ‖f x‖ * ‖g x‖

tactic: refine' integral_congr_ae _
state_before: α : Type u_1
E : Type ?u.1686459
F : Type ?u.1686462
𝕜 : Type ?u.1686465
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1689156
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ
hf_nonneg : 0 ≤ᵐ[μ] f
hg_nonneg : 0 ≤ᵐ[μ] g
hf : Memℒp f (ENNReal.ofReal p)
hg : Memℒp g (ENNReal.ofReal q)
h_left : (∫ (a : α), f a * g a ∂μ) = ∫ (a : α), ‖f a‖ * ‖g a‖ ∂μ
⊢ (∫ (a : α), f a ^ p ∂μ) = ∫ (a : α), ‖f a‖ ^ p ∂μ

tactic: filter_upwards [hf_nonneg]with x hxf
state_before: α : Type u_1
E : Type ?u.1686459
F : Type ?u.1686462
𝕜 : Type ?u.1686465
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1689156
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ
hf_nonneg : 0 ≤ᵐ[μ] f
hg_nonneg : 0 ≤ᵐ[μ] g
hf : Memℒp f (ENNReal.ofReal p)
hg : Memℒp g (ENNReal.ofReal q)
h_left : (∫ (a : α), f a * g a ∂μ) = ∫ (a : α), ‖f a‖ * ‖g a‖ ∂μ
⊢ (fun a => f a ^ p) =ᵐ[μ] fun a => ‖f a‖ ^ p

tactic: rw [Real.norm_of_nonneg hxf]
state_before: case h
α : Type u_1
E : Type ?u.1686459
F : Type ?u.1686462
𝕜 : Type ?u.1686465
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1689156
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ
hf_nonneg : 0 ≤ᵐ[μ] f
hg_nonneg : 0 ≤ᵐ[μ] g
hf : Memℒp f (ENNReal.ofReal p)
hg : Memℒp g (ENNReal.ofReal q)
h_left : (∫ (a : α), f a * g a ∂μ) = ∫ (a : α), ‖f a‖ * ‖g a‖ ∂μ
x : α
hxf : OfNat.ofNat 0 x ≤ f x
⊢ f x ^ p = ‖f x‖ ^ p

tactic: refine' integral_congr_ae _
state_before: α : Type u_1
E : Type ?u.1686459
F : Type ?u.1686462
𝕜 : Type ?u.1686465
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1689156
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ
hf_nonneg : 0 ≤ᵐ[μ] f
hg_nonneg : 0 ≤ᵐ[μ] g
hf : Memℒp f (ENNReal.ofReal p)
hg : Memℒp g (ENNReal.ofReal q)
h_left : (∫ (a : α), f a * g a ∂μ) = ∫ (a : α), ‖f a‖ * ‖g a‖ ∂μ
h_right_f : (∫ (a : α), f a ^ p ∂μ) = ∫ (a : α), ‖f a‖ ^ p ∂μ
⊢ (∫ (a : α), g a ^ q ∂μ) = ∫ (a : α), ‖g a‖ ^ q ∂μ

tactic: filter_upwards [hg_nonneg]with x hxg
state_before: α : Type u_1
E : Type ?u.1686459
F : Type ?u.1686462
𝕜 : Type ?u.1686465
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1689156
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ
hf_nonneg : 0 ≤ᵐ[μ] f
hg_nonneg : 0 ≤ᵐ[μ] g
hf : Memℒp f (ENNReal.ofReal p)
hg : Memℒp g (ENNReal.ofReal q)
h_left : (∫ (a : α), f a * g a ∂μ) = ∫ (a : α), ‖f a‖ * ‖g a‖ ∂μ
h_right_f : (∫ (a : α), f a ^ p ∂μ) = ∫ (a : α), ‖f a‖ ^ p ∂μ
⊢ (fun a => g a ^ q) =ᵐ[μ] fun a => ‖g a‖ ^ q

tactic: rw [Real.norm_of_nonneg hxg]
state_before: case h
α : Type u_1
E : Type ?u.1686459
F : Type ?u.1686462
𝕜 : Type ?u.1686465
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1689156
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ
hf_nonneg : 0 ≤ᵐ[μ] f
hg_nonneg : 0 ≤ᵐ[μ] g
hf : Memℒp f (ENNReal.ofReal p)
hg : Memℒp g (ENNReal.ofReal q)
h_left : (∫ (a : α), f a * g a ∂μ) = ∫ (a : α), ‖f a‖ * ‖g a‖ ∂μ
h_right_f : (∫ (a : α), f a ^ p ∂μ) = ∫ (a : α), ‖f a‖ ^ p ∂μ
x : α
hxg : OfNat.ofNat 0 x ≤ g x
⊢ g x ^ q = ‖g x‖ ^ q