Imports
Gaussians and the hilbert space
TODO "Generalize Gaussian states to d dimensions and SpaceDHilbertSpace
using InnerProductSpace.gaussian from Physlib/Mathematics/InnerProductSpace/Gaussian
and SpaceDHilbertSpace.schwartzIncl. Some of the results in this file have become automatic
given InnerProductSpace.gaussian is a Schwartz map, e.g. gaussian_integrable and gaussian_memHS
(via schwartzIncl), and some hold more generally for any Schwartz map or member
of SchwartzSubmodule, e.g. abs_mul_gaussian_integrable." @[ expose ] public section
Gaussians
lemma gaussian_integrable { b : ℝ } ( c : ℝ ) ( hb : 0 < b ) :
MeasureTheory.Integrable ( fun x => ( Real.exp ( - b * ( x - c ) ^ 2 ) : ℂ ) ) :=
MeasureTheory.Integrable.ofReal ( Integrable.comp_sub_right
( f := ( fun x => Real.exp ( - b * x ^ 2 ) ) ) ( integrable_exp_neg_mul_sq hb ) .. ) lemma gaussian_aestronglyMeasurable { b : ℝ } ( c : ℝ ) ( hb : 0 < b ) :
AEStronglyMeasurable ( fun x => ( Real.exp ( - b * ( x - c ) ^ 2 ) : ℂ ) ) volume :=
MeasureTheory.Integrable.aestronglyMeasurable ( gaussian_integrable c hb )
lemma gaussian_memHS { b : ℝ } ( c : ℝ ) ( hb : 0 < b ) :
MemHS ( fun x => ( Real.exp ( - b * ( x - c ) ^ 2 ) : ℂ ) ) := by b : ℝ c : ℝ hb : 0 < b ⊢ MemHS fun x => ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) )
rw [ memHS_iff b : ℝ c : ℝ hb : 0 < b ⊢ AEStronglyMeasurable (fun x => ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) volume ∧
Integrable (fun x => ‖ ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ^ 2 ) volume b : ℝ c : ℝ hb : 0 < b ⊢ AEStronglyMeasurable (fun x => ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) volume ∧
Integrable (fun x => ‖ ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ^ 2 ) volume ] b : ℝ c : ℝ hb : 0 < b ⊢ AEStronglyMeasurable (fun x => ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) volume ∧
Integrable (fun x => ‖ ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ^ 2 ) volume
refine ⟨ gaussian_aestronglyMeasurable c hb , ? _ ⟩ b : ℝ c : ℝ hb : 0 < b ⊢ Integrable (fun x => ‖ ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ^ 2 ) volume
simp only [ neg_mul , Complex.ofReal_exp , Complex.ofReal_neg , Complex.ofReal_mul ,
Complex.ofReal_pow , Complex.ofReal_sub , Complex.norm_exp , Complex.neg_re ,
Complex.mul_re , Complex.ofReal_re , Complex.ofReal_im , zero_mul , sub_zero ] b : ℝ c : ℝ hb : 0 < b ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume
have h1 : ( fun ( x : ℝ ) => Real.exp ( - ( b * ( ( x - c : ℂ ) ^ 2 ) . re ) ) ^ 2 ) =
fun y => ( fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) := by b : ℝ c : ℝ hb : 0 < b ⊢ MemHS fun x => ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume
ext x b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 = (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( x - c ) b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume
simp only [ neg_mul ] b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 = Real.exp ( - ( 2 * b * ( x - c ) ^ 2 ) ) b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume
trans Real.exp ( - ( b * ( ( x - c : ℂ ) ^ 2 ) . re ) ) ^ ( 2 : ℝ ) b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 = Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 = Real.exp ( - ( 2 * b * ( x - c ) ^ 2 ) ) b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume
· b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 = Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume simp All goals completed! 🐙 b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume
rw [ ← Real.exp_mul b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) * 2 ) = Real.exp ( - ( 2 * b * ( x - c ) ^ 2 ) ) b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) * 2 ) = Real.exp ( - ( 2 * b * ( x - c ) ^ 2 ) ) b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume ] b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) * 2 ) = Real.exp ( - ( 2 * b * ( x - c ) ^ 2 ) ) b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume
simp only [ neg_mul , Real.exp_eq_exp , neg_inj ] b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ b * ( ( ↑ x - ↑ c ) ^ 2 ) . re * 2 = 2 * b * ( x - c ) ^ 2 b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume
rw [ ← Complex.ofReal_sub , b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ b * ( ↑ ( x - c ) ^ 2 ) . re * 2 = 2 * b * ( x - c ) ^ 2 b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ b * ( x - c ) ^ 2 * 2 = 2 * b * ( x - c ) ^ 2 b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume ← Complex.ofReal_pow , b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ b * (↑ ( ( x - c ) ^ 2 ) ) . re * 2 = 2 * b * ( x - c ) ^ 2 b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ b * ( x - c ) ^ 2 * 2 = 2 * b * ( x - c ) ^ 2 b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume Complex.ofReal_re b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ b * ( x - c ) ^ 2 * 2 = 2 * b * ( x - c ) ^ 2 b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ b * ( x - c ) ^ 2 * 2 = 2 * b * ( x - c ) ^ 2 b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume ] b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ b * ( x - c ) ^ 2 * 2 = 2 * b * ( x - c ) ^ 2 b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume
ring b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) volume
rw [ h1 b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ) volume b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ) volume ] b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ) volume
apply Integrable.comp_sub_right ( f := fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ Integrable (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) volume
apply integrable_exp_neg_mul_sq b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( - ( b * ( ( ↑ x - ↑ c ) ^ 2 ) . re ) ) ^ 2 ) = fun y => (fun x => Real.exp ( - ( 2 * b ) * x ^ 2 ) ) ( y - c ) ⊢ 0 < 2 * b
simp_all All goals completed! 🐙
lemma exp_mul_gaussian_integrable ( b c : ℝ ) ( hb : 0 < b ) :
MeasureTheory.Integrable ( fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) := by b : ℝ c : ℝ hb : 0 < b ⊢ Integrable (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) volume
have h1 : ( fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) )
= ( fun x => Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) := by
funext x b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) = Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ⊢ Integrable (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) volume
rw [ ← Real.exp_add , b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( c * x + - b * x ^ 2 ) = Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( c * x + - b * x ^ 2 ) = Real.exp ( c ^ 2 / ( 4 * b ) + - b * ( x - c / ( 2 * b ) ) ^ 2 ) b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ⊢ Integrable (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) volume ← Real.exp_add b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( c * x + - b * x ^ 2 ) = Real.exp ( c ^ 2 / ( 4 * b ) + - b * ( x - c / ( 2 * b ) ) ^ 2 ) b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( c * x + - b * x ^ 2 ) = Real.exp ( c ^ 2 / ( 4 * b ) + - b * ( x - c / ( 2 * b ) ) ^ 2 ) b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ⊢ Integrable (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) volume ] b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( c * x + - b * x ^ 2 ) = Real.exp ( c ^ 2 / ( 4 * b ) + - b * ( x - c / ( 2 * b ) ) ^ 2 ) b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ⊢ Integrable (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) volume
congr 1 b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ c * x + - b * x ^ 2 = c ^ 2 / ( 4 * b ) + - b * ( x - c / ( 2 * b ) ) ^ 2 b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ⊢ Integrable (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) volume
field_simp b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ x * b * ( c + - ( x * b ) ) * 4 * 2 ^ 2 = c ^ 2 * 2 ^ 2 + - ( 4 * ( x * b * 2 - c ) ^ 2 ) b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ⊢ Integrable (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) volume
ring b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ⊢ Integrable (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) volume b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ⊢ Integrable (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) volume
rw [ h1 b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ⊢ Integrable (fun x => Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) volume b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ⊢ Integrable (fun x => Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) volume ] b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ⊢ Integrable (fun x => Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) volume
apply MeasureTheory.Integrable.const_mul b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ⊢ Integrable (fun x => Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) volume
apply Integrable.comp_sub_right ( f := ( fun x => Real.exp ( - b * x ^ 2 ) ) ) b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ⊢ Integrable (fun x => Real.exp ( - b * x ^ 2 ) ) volume
exact integrable_exp_neg_mul_sq hb All goals completed! 🐙
lemma exp_abs_mul_gaussian_integrable ( b c : ℝ ) ( hb : 0 < b ) :
MeasureTheory.Integrable ( fun x => Real.exp ( | c * x | ) * Real.exp ( - b * x ^ 2 ) ) := by b : ℝ c : ℝ hb : 0 < b ⊢ Integrable (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) volume
rw [ ← MeasureTheory.integrableOn_univ b : ℝ c : ℝ hb : 0 < b ⊢ IntegrableOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) Set.univ volume b : ℝ c : ℝ hb : 0 < b ⊢ IntegrableOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) Set.univ volume ] b : ℝ c : ℝ hb : 0 < b ⊢ IntegrableOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) Set.univ volume
have h1 : Set.univ ( α := ℝ ) = ( Set.Iic 0 ) ∪ Set.Ici 0 := ( Set.Iic_union_Ici ) . symm b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) Set.univ volume
rw [ h1 b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) ( Set.Iic 0 ∪ Set.Ici 0 ) volume b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) ( Set.Iic 0 ∪ Set.Ici 0 ) volume ] b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) ( Set.Iic 0 ∪ Set.Ici 0 ) volume
apply MeasureTheory.IntegrableOn.union hs b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) ( Set.Iic 0 ) volume ht b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) ( Set.Ici 0 ) volume
· hs b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) ( Set.Iic 0 ) volume let g := fun x => Real.exp ( ( - | c | ) * x ) * Real.exp ( - b * x ^ 2 ) hs b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) ( Set.Iic 0 ) volume
rw [ integrableOn_congr_fun ( g := g ) _ measurableSet_Iic hs b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Iic 0 ) volume b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) g ( Set.Iic 0 ) hs b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Iic 0 ) volume b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) g ( Set.Iic 0 ) ] hs b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Iic 0 ) volume b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) g ( Set.Iic 0 )
· hs b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Iic 0 ) volume apply MeasureTheory.IntegrableOn.left_of_union ( t := Set.Ici 0 ) hs b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Iic 0 ∪ Set.Ici 0 ) volume
rw [ ← h1 , hs b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g Set.univ volume hs b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume MeasureTheory.integrableOn_univ hs b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume hs b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume ] hs b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume
exact exp_mul_gaussian_integrable b ( - | c | ) hb All goals completed! 🐙
· b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) g ( Set.Iic 0 ) intro x hx b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ∈ Set.Iic 0 ⊢ (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) x = g x
simp only [ Set.mem_Iic ] at hx b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) x = g x
simp only [ neg_mul , mul_eq_mul_right_iff , Real.exp_eq_exp , Real.exp_ne_zero , or_false , g ] b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ | c * x | = - ( | c | * x )
rw [ abs_mul , b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ | c | * | x | = - ( | c | * x ) b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ | c | * - x = - ( | c | * x ) abs_of_nonpos hx b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ | c | * - x = - ( | c | * x ) b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ | c | * - x = - ( | c | * x ) ] b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ | c | * - x = - ( | c | * x )
ring All goals completed! 🐙
· ht b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) ( Set.Ici 0 ) volume let g := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ht b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) ( Set.Ici 0 ) volume
rw [ integrableOn_congr_fun ( g := g ) _ measurableSet_Ici ht b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Ici 0 ) volume b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) g ( Set.Ici 0 ) ht b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Ici 0 ) volume b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) g ( Set.Ici 0 ) ] ht b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Ici 0 ) volume b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) g ( Set.Ici 0 )
· ht b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Ici 0 ) volume apply MeasureTheory.IntegrableOn.right_of_union ( s := Set.Iic 0 ) ht b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Iic 0 ∪ Set.Ici 0 ) volume
rw [ ← h1 , ht b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g Set.univ volume ht b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume MeasureTheory.integrableOn_univ ht b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume ht b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume ] ht b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume
exact exp_mul_gaussian_integrable b ( | c | ) hb All goals completed! 🐙
· b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) g ( Set.Ici 0 ) intro x hx b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ∈ Set.Ici 0 ⊢ (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) x = g x
simp only [ Set.mem_Ici ] at hx b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) x : ℝ hx : 0 ≤ x ⊢ (fun x => Real.exp | c * x | * Real.exp ( - b * x ^ 2 ) ) x = g x
simp only [ neg_mul , mul_eq_mul_right_iff , Real.exp_eq_exp , Real.exp_ne_zero , or_false , g ] b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) x : ℝ hx : 0 ≤ x ⊢ | c * x | = | c | * x
rw [ abs_mul , b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) x : ℝ hx : 0 ≤ x ⊢ | c | * | x | = | c | * x All goals completed! 🐙 abs_of_nonneg hx b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * Real.exp ( - b * x ^ 2 ) x : ℝ hx : 0 ≤ x ⊢ | c | * x = | c | * x All goals completed! 🐙 ] All goals completed! 🐙
lemma mul_gaussian_mem_Lp_one ( f : ℝ → ℂ ) ( hf : MemHS f ) ( b c : ℝ ) ( hb : 0 < b ) :
MeasureTheory.MemLp ( fun x => f x * Real.exp ( - b * ( x - c ) ^ 2 ) ) 1 volume := by f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ MemLp (fun x => f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) 1 volume
refine memLp_one_iff_integrable . mpr ? _ f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ Integrable (fun x => f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) volume
let g : HilbertSpace := mk ( gaussian_memHS c hb ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ ⊢ Integrable (fun x => f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) volume
refine ( integrable_congr ? _ ) . mp ( MeasureTheory.L2.integrable_inner ( 𝕜 := ℂ ) g ( mk hf ) ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ ⊢ (fun x => inner ℂ ( ↑ ↑ g x ) ( ↑ ↑ ( mk hf ) x ) ) =ᵐ[ volume ] fun x => f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) )
simp only [ RCLike.inner_apply , neg_mul , Complex.ofReal_exp , Complex.ofReal_neg ,
Complex.ofReal_mul , Complex.ofReal_pow , Complex.ofReal_sub ] f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ ⊢ (fun x => ↑ ↑ ( mk hf ) x * ( starRingEnd ℂ ) ( ↑ ↑ g x ) ) =ᵐ[ volume ] fun x => f x * Complex.exp ( - ( ↑ b * ( ↑ x - ↑ c ) ^ 2 ) )
refine Filter.EventuallyEq.mul ( coe_mk_ae hf ) ? _ f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ ⊢ (fun x => ( starRingEnd ℂ ) ( ↑ ↑ g x ) ) =ᵐ[ volume ] fun x => Complex.exp ( - ( ↑ b * ( ↑ x - ↑ c ) ^ 2 ) )
trans ( fun x => ( starRingEnd ℂ ) ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ ⊢ (fun x => ( starRingEnd ℂ ) ( ↑ ↑ g x ) ) =ᵐ[ volume ] fun x => ( starRingEnd ℂ ) ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ ⊢ (fun x => ( starRingEnd ℂ ) ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) =ᵐ[ volume ] fun x => Complex.exp ( - ( ↑ b * ( ↑ x - ↑ c ) ^ 2 ) )
· f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ ⊢ (fun x => ( starRingEnd ℂ ) ( ↑ ↑ g x ) ) =ᵐ[ volume ] fun x => ( starRingEnd ℂ ) ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) apply Filter.EventuallyEq.fun_comp f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ ⊢ ↑ ↑ g =ᵐ[ volume ] fun x => ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) )
simp only [ neg_mul , Complex.ofReal_exp , Complex.ofReal_neg , Complex.ofReal_mul ,
Complex.ofReal_pow , Complex.ofReal_sub , g ] f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ ⊢ ↑ ↑ ( mk ⋯ ) =ᵐ[ volume ] fun x => Complex.exp ( - ( ↑ b * ( ↑ x - ↑ c ) ^ 2 ) )
exact AEEqFun.coeFn_mk .. All goals completed! 🐙
· f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ ⊢ (fun x => ( starRingEnd ℂ ) ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) =ᵐ[ volume ] fun x => Complex.exp ( - ( ↑ b * ( ↑ x - ↑ c ) ^ 2 ) ) apply Filter.EventuallyEq.of_eq f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ ⊢ (fun x => ( starRingEnd ℂ ) ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) = fun x => Complex.exp ( - ( ↑ b * ( ↑ x - ↑ c ) ^ 2 ) )
funext x f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ x : ℝ ⊢ ( starRingEnd ℂ ) ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) = Complex.exp ( - ( ↑ b * ( ↑ x - ↑ c ) ^ 2 ) )
rw [ Complex.conj_ofReal f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ x : ℝ ⊢ ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) = Complex.exp ( - ( ↑ b * ( ↑ x - ↑ c ) ^ 2 ) ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ x : ℝ ⊢ ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) = Complex.exp ( - ( ↑ b * ( ↑ x - ↑ c ) ^ 2 ) ) ] f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b g : ↥ HilbertSpace := mk ⋯ x : ℝ ⊢ ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) = Complex.exp ( - ( ↑ b * ( ↑ x - ↑ c ) ^ 2 ) )
simp All goals completed! 🐙
lemma mul_gaussian_mem_Lp_two ( f : ℝ → ℂ ) ( hf : MemHS f ) ( b c : ℝ ) ( hb : 0 < b ) :
MeasureTheory.MemLp ( fun x => f x * Real.exp ( - b * ( x - c ) ^ 2 ) ) 2 volume := by f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ MemLp (fun x => f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) 2 volume
refine MeasureTheory.MemLp.mul ? _ hf ( q := ⊤ ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ MemLp (fun x => ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) ⊤ volume
· f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ MemLp (fun x => ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) ⊤ volume apply MeasureTheory.memLp_top_of_bound ( C := Real.exp ( 0 ) ) hf f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ AEStronglyMeasurable (fun x => ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) volume hfC f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ ∀ᵐ ( x : ℝ ) , ‖ ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ≤ Real.exp 0
· hf f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ AEStronglyMeasurable (fun x => ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ) volume exact gaussian_aestronglyMeasurable c hb All goals completed! 🐙
· hfC f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ ∀ᵐ ( x : ℝ ) , ‖ ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ≤ Real.exp 0 apply Filter.Eventually.of_forall hfC f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ ∀ ( x : ℝ ), ‖ ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ≤ Real.exp 0
intro x hfC f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ ‖ ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ≤ Real.exp 0
simp only [ neg_mul ] hfC f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ ‖ ↑ ( Real.exp ( - ( b * ( x - c ) ^ 2 ) ) ) ‖ ≤ Real.exp 0
rw [ Complex.norm_real hfC f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ ‖ Real.exp ( - ( b * ( x - c ) ^ 2 ) ) ‖ ≤ Real.exp 0 hfC f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ ‖ Real.exp ( - ( b * ( x - c ) ^ 2 ) ) ‖ ≤ Real.exp 0 ] hfC f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ ‖ Real.exp ( - ( b * ( x - c ) ^ 2 ) ) ‖ ≤ Real.exp 0
simp only [ Real.norm_eq_abs , Real.abs_exp , Real.exp_zero , Real.exp_le_one_iff ,
Left.neg_nonpos_iff ] hfC f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ 0 ≤ b * ( x - c ) ^ 2
apply mul_nonneg hfC.ha f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ 0 ≤ b hb f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ 0 ≤ ( x - c ) ^ 2
· hfC.ha f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ 0 ≤ b exact le_of_lt hb All goals completed! 🐙
· hb f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ 0 ≤ ( x - c ) ^ 2 exact sq_nonneg ( x - c ) All goals completed! 🐙
lemma abs_mul_gaussian_integrable ( f : ℝ → ℂ ) ( hf : MemHS f ) ( b c : ℝ ) ( hb : 0 < b ) :
MeasureTheory.Integrable ( fun x => norm ( f x ) * Real.exp ( - b * ( x - c ) ^ 2 ) ) := by f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ Integrable (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) volume
have h1 : ( fun x => norm ( f x ) * Real.exp ( - b * ( x - c ) ^ 2 ) ) =
( fun x => norm ( f x * Real.exp ( - b * ( x - c ) ^ 2 ) ) ) := by
funext x f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) = ‖ f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) = fun x => ‖ f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ⊢ Integrable (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) volume
simp only [ neg_mul , Complex.ofReal_exp , Complex.ofReal_neg , Complex.ofReal_mul ,
Complex.ofReal_pow , Complex.ofReal_sub , Complex.norm_mul , Complex.norm_exp , Complex.neg_re ,
Complex.mul_re , Complex.ofReal_re , Complex.ofReal_im , zero_mul , sub_zero , mul_eq_mul_left_iff ,
Real.exp_eq_exp , neg_inj , norm_eq_zero ] f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ ( ( x - c ) ^ 2 = ( ( ↑ x - ↑ c ) ^ 2 ) . re ∨ b = 0 ) ∨ f x = 0 f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) = fun x => ‖ f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ⊢ Integrable (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) volume
left f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ ( x - c ) ^ 2 = ( ( ↑ x - ↑ c ) ^ 2 ) . re ∨ b = 0 f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) = fun x => ‖ f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ⊢ Integrable (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) volume
left f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ ( x - c ) ^ 2 = ( ( ↑ x - ↑ c ) ^ 2 ) . re f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) = fun x => ‖ f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ⊢ Integrable (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) volume
simp [ ← Complex.ofReal_sub , ← Complex.ofReal_pow ] f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) = fun x => ‖ f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ⊢ Integrable (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) volume f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) = fun x => ‖ f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ⊢ Integrable (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) volume
rw [ h1 f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) = fun x => ‖ f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ⊢ Integrable (fun x => ‖ f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ) volume f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) = fun x => ‖ f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ⊢ Integrable (fun x => ‖ f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ) volume ] f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => ‖ f x ‖ * Real.exp ( - b * ( x - c ) ^ 2 ) ) = fun x => ‖ f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ⊢ Integrable (fun x => ‖ f x * ↑ ( Real.exp ( - b * ( x - c ) ^ 2 ) ) ‖ ) volume
simpa using MeasureTheory.MemLp.integrable_norm_rpow ( mul_gaussian_mem_Lp_one f hf b c hb )
one_ne_zero ENNReal.one_ne_top All goals completed! 🐙
lemma exp_mul_abs_mul_gaussian_integrable ( f : ℝ → ℂ ) ( hf : MemHS f )
( b c : ℝ ) ( hb : 0 < b ) : MeasureTheory.Integrable
( fun x => Real.exp ( c * x ) * norm ( f x ) * Real.exp ( - b * x ^ 2 ) ) := by f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume
have h1 : ( fun x => Real.exp ( c * x ) *
norm ( f x ) * Real.exp ( - b * x ^ 2 ) )
= ( fun x => Real.exp ( c ^ 2 / ( 4 * b ) ) *
( norm ( f x ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ) := by
funext x f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) =
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume
rw [ mul_comm , f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - b * x ^ 2 ) * ( Real.exp ( c * x ) * ‖ f x ‖ ) =
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - b * x ^ 2 ) * Real.exp ( c * x ) * ‖ f x ‖ =
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume ← mul_assoc f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - b * x ^ 2 ) * Real.exp ( c * x ) * ‖ f x ‖ =
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - b * x ^ 2 ) * Real.exp ( c * x ) * ‖ f x ‖ =
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume ] f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - b * x ^ 2 ) * Real.exp ( c * x ) * ‖ f x ‖ =
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume
trans ( Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) * norm ( f x ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - b * x ^ 2 ) * Real.exp ( c * x ) * ‖ f x ‖ =
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) * ‖ f x ‖ f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) * ‖ f x ‖ =
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume
swap f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) * ‖ f x ‖ =
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - b * x ^ 2 ) * Real.exp ( c * x ) * ‖ f x ‖ =
Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) * ‖ f x ‖ f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume
· f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) * ‖ f x ‖ =
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume ring All goals completed! 🐙 f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume
rw [ ← Real.exp_add , f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - b * x ^ 2 + c * x ) * ‖ f x ‖ = Real.exp ( c ^ 2 / ( 4 * b ) ) * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) * ‖ f x ‖ f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - b * x ^ 2 + c * x ) * ‖ f x ‖ = Real.exp ( c ^ 2 / ( 4 * b ) + - b * ( x - c / ( 2 * b ) ) ^ 2 ) * ‖ f x ‖ f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume ← Real.exp_add f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - b * x ^ 2 + c * x ) * ‖ f x ‖ = Real.exp ( c ^ 2 / ( 4 * b ) + - b * ( x - c / ( 2 * b ) ) ^ 2 ) * ‖ f x ‖ f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - b * x ^ 2 + c * x ) * ‖ f x ‖ = Real.exp ( c ^ 2 / ( 4 * b ) + - b * ( x - c / ( 2 * b ) ) ^ 2 ) * ‖ f x ‖ f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume ] f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - b * x ^ 2 + c * x ) * ‖ f x ‖ = Real.exp ( c ^ 2 / ( 4 * b ) + - b * ( x - c / ( 2 * b ) ) ^ 2 ) * ‖ f x ‖ f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume
congr 1 e_a f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ Real.exp ( - b * x ^ 2 + c * x ) = Real.exp ( c ^ 2 / ( 4 * b ) + - b * ( x - c / ( 2 * b ) ) ^ 2 ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume
simp only [ neg_mul , Real.exp_eq_exp ] e_a f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ - ( b * x ^ 2 ) + c * x = c ^ 2 / ( 4 * b ) + - ( b * ( x - c / ( 2 * b ) ) ^ 2 ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume
field_simp e_a f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b x : ℝ ⊢ b * x * ( - ( b * x ) + c ) * 4 * 2 ^ 2 = c ^ 2 * 2 ^ 2 + - ( 4 * ( b * x * 2 - c ) ^ 2 ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume
ring f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume
rw [ h1 f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ) volume f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ) volume ] f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : (fun x => Real.exp ( c * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) = fun x =>
Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ⊢ Integrable (fun x => Real.exp ( c ^ 2 / ( 4 * b ) ) * ( ‖ f x ‖ * Real.exp ( - b * ( x - c / ( 2 * b ) ) ^ 2 ) ) ) volume
exact MeasureTheory.Integrable.const_mul ( abs_mul_gaussian_integrable f hf b ( c / ( 2 * b ) ) hb ) .. All goals completed! 🐙
lemma exp_abs_mul_abs_mul_gaussian_integrable ( f : ℝ → ℂ ) ( hf : MemHS f ) ( b c : ℝ ) ( hb : 0 < b ) :
MeasureTheory.Integrable
( fun x => Real.exp ( | c * x | ) * norm ( f x ) * Real.exp ( - b * x ^ 2 ) ) := by f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ Integrable (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) volume
rw [ ← MeasureTheory.integrableOn_univ f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ IntegrableOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) Set.univ volume f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ IntegrableOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) Set.univ volume ] f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b ⊢ IntegrableOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) Set.univ volume
have h1 : Set.univ ( α := ℝ ) = ( Set.Iic 0 ) ∪ Set.Ici 0 := Set.Iic_union_Ici . symm f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) Set.univ volume
rw [ h1 f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) ( Set.Iic 0 ∪ Set.Ici 0 ) volume f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) ( Set.Iic 0 ∪ Set.Ici 0 ) volume ] f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) ( Set.Iic 0 ∪ Set.Ici 0 ) volume
apply MeasureTheory.IntegrableOn.union hs f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) ( Set.Iic 0 ) volume ht f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) ( Set.Ici 0 ) volume
· hs f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) ( Set.Iic 0 ) volume let g := fun x => Real.exp ( ( - | c | ) * x ) * norm ( f x ) * Real.exp ( - b * x ^ 2 ) hs f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) ( Set.Iic 0 ) volume
rw [ integrableOn_congr_fun ( g := g ) _ measurableSet_Iic hs f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Iic 0 ) volume f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) g ( Set.Iic 0 ) hs f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Iic 0 ) volume f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) g ( Set.Iic 0 ) ] hs f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Iic 0 ) volume f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) g ( Set.Iic 0 )
· hs f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Iic 0 ) volume apply MeasureTheory.IntegrableOn.left_of_union ( t := Set.Ici 0 ) hs f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Iic 0 ∪ Set.Ici 0 ) volume
rw [ ← h1 , hs f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g Set.univ volume hs f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume MeasureTheory.integrableOn_univ hs f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume hs f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume ] hs f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume
exact exp_mul_abs_mul_gaussian_integrable f hf b ( - | c | ) hb All goals completed! 🐙
· f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) g ( Set.Iic 0 ) intro x hx f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ∈ Set.Iic 0 ⊢ (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) x = g x
simp only [ Set.mem_Iic ] at hx f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) x = g x
simp only [ neg_mul , mul_eq_mul_right_iff , Real.exp_eq_exp , Real.exp_ne_zero ,
or_false , g ] f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ | c * x | = - ( | c | * x ) ∨ ‖ f x ‖ = 0
left f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ | c * x | = - ( | c | * x )
rw [ abs_mul , f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ | c | * | x | = - ( | c | * x ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ | c | * - x = - ( | c | * x ) abs_of_nonpos hx f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ | c | * - x = - ( | c | * x ) f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ | c | * - x = - ( | c | * x ) ] f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( - | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ≤ 0 ⊢ | c | * - x = - ( | c | * x )
ring All goals completed! 🐙
· ht f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 ⊢ IntegrableOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) ( Set.Ici 0 ) volume let g := fun x => Real.exp ( | c | * x ) * norm ( f x ) * Real.exp ( - b * x ^ 2 ) ht f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) ( Set.Ici 0 ) volume
rw [ integrableOn_congr_fun ( g := g ) _ measurableSet_Ici ht f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Ici 0 ) volume f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) g ( Set.Ici 0 ) ht f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Ici 0 ) volume f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) g ( Set.Ici 0 ) ] ht f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Ici 0 ) volume f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) g ( Set.Ici 0 )
· ht f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Ici 0 ) volume apply MeasureTheory.IntegrableOn.right_of_union ( s := Set.Iic 0 ) ht f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g ( Set.Iic 0 ∪ Set.Ici 0 ) volume
rw [ ← h1 , ht f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ IntegrableOn g Set.univ volume ht f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume MeasureTheory.integrableOn_univ ht f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume ht f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume ] ht f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Integrable g volume
exact exp_mul_abs_mul_gaussian_integrable f hf b | c | hb All goals completed! 🐙
· f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ⊢ Set.EqOn (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) g ( Set.Ici 0 ) intro x hx f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : x ∈ Set.Ici 0 ⊢ (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) x = g x
simp only [ Set.mem_Ici ] at hx f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : 0 ≤ x ⊢ (fun x => Real.exp | c * x | * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) ) x = g x
simp only [ neg_mul , mul_eq_mul_right_iff , Real.exp_eq_exp , Real.exp_ne_zero ,
or_false , g ] f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : 0 ≤ x ⊢ | c * x | = | c | * x ∨ ‖ f x ‖ = 0
left f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : 0 ≤ x ⊢ | c * x | = | c | * x
rw [ abs_mul , f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : 0 ≤ x ⊢ | c | * | x | = | c | * x All goals completed! 🐙 abs_of_nonneg hx f : ℝ → ℂ hf : MemHS f b : ℝ c : ℝ hb : 0 < b h1 : Set.univ = Set.Iic 0 ∪ Set.Ici 0 g : ℝ → ℝ := fun x => Real.exp ( | c | * x ) * ‖ f x ‖ * Real.exp ( - b * x ^ 2 ) x : ℝ hx : 0 ≤ x ⊢ | c | * x = | c | * x All goals completed! 🐙 ] All goals completed! 🐙