Zulip Chat Archive
Stream: Is there code for X?
Topic: currying a continuous bilinear map to continuous linear map?
Dominic Steinitz (Oct 31 2025 at 16:05):
I’m working with a Riemannian metric g(i,p,v,w) and would like to express
as a ContinuousLinearMap.
In other words, I’m looking for a lemma of the form
(B : E × F → G) (hB : Continuous B) (hlin : Bilinear B) →
ContinuousLinearMap 𝕜 E (E →L[𝕜] G)
or something equivalent to
“the currying of a continuous bilinear map is a continuous linear map.”
Does such a result already exist in mathlib (maybe under a different name)?
If not, is there an idiomatic way to construct it?
Jireh Loreaux (Oct 31 2025 at 16:16):
docs#IsBoundedBilinearMap.toContinuousLinearMap does this
Jireh Loreaux (Oct 31 2025 at 16:18):
If you have more than two variables, then you'll want something of the ContinuousMultilinearMap.curry*** variety.
Yury G. Kudryashov (Oct 31 2025 at 16:55):
Another approach is to use curried versions right away.
Sébastien Gouëzel (Oct 31 2025 at 17:17):
Normally, a Riemannian metric in the mathlib sense should already be the curried version.
Dominic Steinitz (Nov 01 2025 at 07:20):
I apologise that my question was misleading . I actually have
variable (IB) in
noncomputable def g' (i p : B) : TangentSpace IB p → TangentSpace IB p → ℝ := fun v w ↦
letI dψ := mfderiv IB 𝓘(ℝ, EB) (extChartAt IB i) p
@Inner.inner ℝ EB _ (dψ v) (dψ w)
See here for the context.
Typing all this on a phone is somewhat painful - I will have access to a computer on Tuesday.
My thinking was to prove uncurried continuity to get the desired continuity. The theorem to which @Jireh Loreaux pointed me should do this.
Dominic Steinitz (Nov 02 2025 at 08:07):
But I just discovered
https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/
InnerProductSpace/LinearMap.html
So I think I just have to define my function as
def g_bilin (i : ι) (p : B) :
TangentSpace IB i →L[ℝ] (TangentSpace IB i →L[ℝ] ℝ) :=
let dψ := mfderiv IB 𝓘(ℝ, EB) (extChartAt IB i) p
innerSL ℝ EB |>.comp dψ |>.flip.comp dψ
Last updated: Dec 20 2025 at 21:32 UTC