Zulip Chat Archive
Stream: mathlib4
Topic: MultilinearMapClass?
Yury G. Kudryashov (Sep 27 2024 at 14:46):
I've started looking into adding MultilinearMapClass to avoid code duplication between docs#MultilinearMap, docs#AlternatingMap and their Continuous* versions. The first obstacle is that docs#MultilinearMap.map_add doesn't needs the scalars ring, so we can't have it as a lemma for MultilinearMapClass. Which way is better?
- leave it as is;
- add
MultiadditiveMapandMultiadditiveMapClass; - add
MultiadditiveMapClass, postpone addingMultiadditiveMapuntil we need it.
While writing this, I've realized that we have a projection from docs#SemilinearMapClass to docs#AddMonoidHomClass and it works. Why? Doesn't Lean start searching for SemilinearMapClass ?σ M N with unknown R, S, and σ : R →+* S whenever it needs AddMonoidHomClass, which should fail?
Eric Wieser (Sep 27 2024 at 15:02):
I think it works because all the arguments to the MapClasses are outParams
Eric Wieser (Sep 27 2024 at 15:02):
That is, if you know the bundled type, there is only one possible domain, codomain, and relevant ring,
Eric Wieser (Sep 27 2024 at 15:02):
Either 2 or 3 sounds fine to me
Yury G. Kudryashov (Sep 27 2024 at 15:03):
Does it mean that I have 1 more option:
- make
map_update_adda lemma aboutMultilinearMapClass?
Eric Wieser (Sep 27 2024 at 15:04):
Yes, I think so
Eric Wieser (Sep 27 2024 at 15:04):
Maybe that makes more sense in the short term
Yury G. Kudryashov (Sep 27 2024 at 15:05):
I think I'll go this way, then we can add MultiadditiveMapClass/MultiadditiveMap whenever we need it.
Yury G. Kudryashov (Sep 28 2024 at 03:03):
I want to rename docs#MultilinearMap.map_smul (about f (update m i (c • x))) to _root_.map_update_smul. How should I call docs#MultilinearMap.map_update_smul ? It's about f (update (c • m) i x).
Yury G. Kudryashov (Sep 28 2024 at 03:03):
map_smul_update? Something else?
Ruben Van de Velde (Sep 28 2024 at 07:52):
Map update smul left/right?
Eric Wieser (Sep 28 2024 at 08:19):
map_smul_update or map_update_smul' or Ruben"s suggestions all seem fine to me
Last updated: May 02 2025 at 03:31 UTC