Skip to main content
YaelDillies/APAP
Source indexedlemma Β· leanprover/lean4:v4.32.0

rudin_exp_ineq

APAP.Prereqs.Rudin Β· APAP/Prereqs/Rudin.lean:29 to 58

Source documentation

Rudin's inequality, exponential form.

Exact Lean statement

lemma rudin_exp_ineq (f : G β†’ β„‚) (hf : AddDissociated <| support <| cft f) :
    𝔼 a, exp (f a).re ≀ exp (β€–fβ€–β‚™_[2] ^ 2 / 2)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma rudin_exp_ineq (f : G β†’ β„‚) (hf : AddDissociated <| support <| cft f) :    𝔼 a, exp (f a).re ≀ exp (β€–fβ€–β‚™_[2] ^ 2 / 2) := by  have (z : β„‚) : exp (re z) ≀ cosh β€–zβ€– + re (z / β€–zβ€–) * sinh β€–zβ€– :=    calc      _ = _ := by obtain rfl | hz := eq_or_ne z 0 <;> simp [*]      _ ≀ _ := exp_mul_le_cosh_add_mul_sinh (by simpa using z.abs_re_div_norm_le_one) _  choose c hc hcf using fun ψ ↦ Complex.exists_norm_mul_eq_self (cft f ψ)  have hcβ‚€ (ψ) : c ψ β‰  0 := fun h ↦ by simpa [h] using hc ψ  have (a : G) :    exp (f a).re ≀ ∏ ψ, (cosh β€–cft f Οˆβ€– + (c ψ * sinh β€–cft f Οˆβ€– * ψ a).re) :=    calc      _ = ∏ ψ, exp ((cft f ψ * ψ a).re) := by simp_rw [← exp_sum, ← Complex.re_sum, cft_inversion]      _ ≀ _ := prod_le_prod (fun _ _ ↦ by positivity) fun _ _ ↦ this _      _ = ∏ ψ, (cosh β€–cft f Οˆβ€– + (c ψ * (cft f ψ * ψ a)            / (c ψ * ↑‖cft f Οˆβ€–)).re * sinh β€–cft f Οˆβ€–) := by          simp_rw [norm_mul, AddChar.norm_apply, mul_one, mul_div_mul_left _ _ (hcβ‚€ _)]      _ = _ := by          congr with ψ          obtain hψ | hψ := eq_or_ne (cft f ψ) 0          Β· simp [hψ]          Β· simp only [hcf, mul_left_comm (c _), mul_div_cancel_leftβ‚€ _ hψ, ← Complex.re_mul_ofReal,              mul_right_comm]  calc    _ ≀ 𝔼 a, ∏ ψ, (cosh β€–cft f Οˆβ€– + (c ψ * sinh β€–cft f Οˆβ€– * ψ a).re) :=        expect_le_expect fun _ _ ↦ this _    _ = ∏ ψ, cosh β€–cft f Οˆβ€– :=        AddDissociated.randomisation _ _ <| by simpa [-Complex.ofReal_sinh, hcβ‚€]    _ ≀ ∏ ψ, exp (β€–cft f Οˆβ€– ^ 2 / 2) :=        prod_le_prod (fun _ _ ↦ by positivity) fun _ _ ↦ cosh_le_exp_half_sq _    _ = _ := by simp_rw [← exp_sum, ← sum_div, ← dL2Norm_cft, dL2Norm_sq_eq_sum_norm]