Zulip Chat Archive
Stream: general
Topic: Heterogeneous multiplication
Eric Wieser (Dec 03 2021 at 00:00):
We currently use has_scalar
which lets us spell things like r • ![x, y] = ![r • x, r • y]
. But what about if I want something like (X : polynomial R) • ![x, y] = ![polynomial.X * C x, polynomial.X * C y]
? Do we want instances for this type of thing in lean4 when we have HMul
? Does it still make sense to talk about these as "actions" in the same way?
Eric Wieser (Dec 03 2021 at 00:02):
I guess we would have to be careful of ambiguity like ![x, y] • ![a, b]
, which could mean ![![x•a, x•b], ![y•a, y•b]]
or ![![x•a, y•a], ![x•b, y•b]]
, neither of which are what docs#pi.has_scalar' actually does today
Reid Barton (Dec 03 2021 at 00:46):
There is the tensor product which encompasses these two examples. Probably other random bilinear maps should not be a type class.
Last updated: Dec 20 2023 at 11:08 UTC