Zulip Chat Archive

Stream: mathlib4

Topic: exp(tsum) = tprod(exp)


Michael Stoll (May 03 2024 at 14:09):

What would be the right generality for the following statement?

import Mathlib.Analysis.SpecialFunctions.Exp

open BigOperators Complex

lemma HasSum.cexp {ι} {f : ι  } {a : } (h : HasSum f a) : HasProd (cexp  f) (cexp a) :=
  Filter.Tendsto.congr (fun s  exp_sum s f) <| Filter.Tendsto.cexp h

(It's a one-line proof, but I think it would make sense to have it as an explicit statement.)

Floris van Doorn (May 03 2024 at 14:14):

LGTM

Eric Wieser (May 03 2024 at 14:52):

Bonus points if you can add it for docs#NormedSpace.exp too

Michael Stoll (May 03 2024 at 14:52):

What can I do with these bonus points? :smile:

Jireh Loreaux (May 03 2024 at 14:58):

spend them when you apply this lemma later on in more generality than :smile:

Michael Stoll (May 03 2024 at 15:28):

import Mathlib.Analysis.SpecialFunctions.Exp
import Mathlib.Analysis.SpecialFunctions.Exponential

open BigOperators

variable {𝕂 𝔸 : Type*} [RCLike 𝕂]

variable [NormedRing 𝔸] [NormedAlgebra 𝕂 𝔸] [CompleteSpace 𝔸] in
open Topology in
lemma Filter.Tendsto.NormedSpace_exp {l : Filter α} {f : α  𝔸} {a : 𝔸} (hf : Tendsto f l (𝓝 a)) :
    Tendsto (fun x => NormedSpace.exp 𝕂 (f x)) l (𝓝 (NormedSpace.exp 𝕂 a)) :=
  (NormedSpace.exp_continuous.tendsto _).comp hf

variable  [NormedCommRing 𝔸] [NormedAlgebra 𝕂 𝔸] [CompleteSpace 𝔸] in
open Filter in
lemma HasSum.NormedSpace_exp {ι} {f : ι  𝔸} {a : 𝔸} (h : HasSum f a) :
    HasProd (NormedSpace.exp 𝕂  f) (NormedSpace.exp 𝕂 a) :=
  Tendsto.congr (fun s  NormedSpace.exp_sum s f) <| Tendsto.NormedSpace_exp h

open Real in
lemma HasSum.rexp {ι} {f : ι  } {a : } (h : HasSum f a) : HasProd (rexp  f) (rexp a) :=
  exp_eq_exp_ℝ  h.NormedSpace_exp

open Complex in
lemma HasSum.cexp {ι} {f : ι  } {a : } (h : HasSum f a) : HasProd (cexp  f) (cexp a) :=
  exp_eq_exp_ℂ  h.NormedSpace_exp

Michael Stoll (May 03 2024 at 15:30):

I'll make a PR after the snooker session...

Michael Stoll (May 03 2024 at 18:01):

#12635

Michael Stoll (May 03 2024 at 18:02):

... and before the next one starts :billiards:


Last updated: May 02 2025 at 03:31 UTC