Zulip Chat Archive

Stream: mathlib4

Topic: ContinuousMultilinearMap curry/uncurry


A. (Aug 02 2024 at 20:01):

Hi! It seems to me that the first two are currying but the third is uncurrying. Any thoughts?

import Mathlib.Analysis.NormedSpace.Multilinear.Curry

variable {n : β„•} {π•œ : Type*} [NontriviallyNormedField π•œ]
variable {E : Type*} [NormedAddCommGroup E] [NormedSpace π•œ E]
variable {G : Type*} [NormedAddCommGroup G] [NormedSpace π•œ G]
variable {G' : Type*} [NormedAddCommGroup G'] [NormedSpace π•œ G']

#check (continuousMultilinearCurryFin0 π•œ G G' : (G [Γ—0]β†’L[π•œ] G') β†’L[π•œ] G')

#check (continuousMultilinearCurryFin1 π•œ G G' : (G [Γ—1]β†’L[π•œ] G') β†’L[π•œ] (G β†’L[π•œ] G'))

#check (continuousMultilinearCurryLeftEquiv π•œ (fun _ : Fin (n + 1) => E) G :
  (E β†’L[π•œ] E [Γ—n]β†’L[π•œ] G) β†’L[π•œ] (E [Γ—(n + 1)]β†’L[π•œ] G))

A. (Aug 02 2024 at 20:30):

These are really LinearIsometryEquivs and in each case the name of the function given for the forward direction is a variant of uncurry. So, conversely, that function would seem to be correctly named in the third case only.

A. (Aug 02 2024 at 20:32):

@SΓ©bastien GouΓ«zel

Eric Wieser (Aug 04 2024 at 01:14):

docs#continuousMultilinearCurryFin0,
docs#continuousMultilinearCurryFin1,
docs#continuousMultilinearCurryLeftEquiv

Eric Wieser (Aug 04 2024 at 01:16):

I think the names of those first two are correct, and it's the names of the functions used to implement them which are wrong

Eric Wieser (Aug 04 2024 at 01:16):

@loogle Equiv, "curry"

loogle (Aug 04 2024 at 01:16):

:search: Equiv.curry, Equiv.piCurry, and 24 more

A. (Aug 05 2024 at 21:46):

That’s what I said :grinning: I’m going to assume I can take that as agreement. Thanks Eric.

A. (Aug 05 2024 at 21:57):

#15530

A. (Aug 05 2024 at 22:01):

Something has gone wrong with the CI. What on earth does this mean?

build archive

packing Mathlib/Util/SynthesizeUsing.lean as f38776054285fbfc.ltar
uncaught exception: failure in curl #[--no-progress-meter, -H, x-ms-blob-type: BlockBlob, -H, If-None-Match: *, --retry, 5, -X, PUT, --parallel, -K, /home/lean/.cache/mathlib/curl.cfg]:
curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104
…
Attempting to upload 4945 file(s)
Error: Process completed with exit code 1.

Kevin Buzzard (Aug 05 2024 at 22:20):

I would just try running CI again

Yury G. Kudryashov (Apr 29 2025 at 21:50):

BTW, we have both curry0/uncurry0 and constOfIsEmpty, similarly for continuousMultilinearCurryFin1 and ofSubsingleton. Should we deduplicate here?

Yury G. Kudryashov (Apr 29 2025 at 21:52):

Also, I'm going to introduce curryMid based on Fin.insertNth/Fin.succAbove, because I need it for alternating forms.


Last updated: May 02 2025 at 03:31 UTC