Zulip Chat Archive
Stream: maths
Topic: Star modules over non-commutative scalars
Oliver Nash (Aug 10 2023 at 15:13):
I think our definition docs#StarModule is not right if the scalars are not commutative. We should have the axiom rather than . In particular, I claim this is a concept for bimodules.
Oliver Nash (Aug 10 2023 at 15:13):
Or in Lean I claim the "right" definition should be:
class StarModule (R A : Type _) [Star R] [Star A] [SMul R A] [SMul Rᵐᵒᵖ A] :=
star_smul : ∀ (r : R) (a : A), star (r • a) = (MulOpposite.op (star r)) • a
Oliver Nash (Aug 10 2023 at 15:14):
However burdening every user with the obligation to supply an Rᵐᵒᵖ
action seems like a bad idea so I propose keeping the "wrong" axiom but restricting the typeclass to require a commutative multiplication.
Oliver Nash (Aug 10 2023 at 15:14):
Any remarks / corrections welcome!
Eric Wieser (Aug 10 2023 at 15:27):
I think I claimed this some time ago :)
Oliver Nash (Aug 10 2023 at 15:27):
Two steps ahead as always :)
Oliver Nash (Aug 10 2023 at 15:27):
I'm not really affected by this but I'll try and do something about it in a few days if nobody else does.
Eric Wieser (Aug 10 2023 at 15:28):
Eric Wieser (Aug 10 2023 at 15:28):
I think there's a big obstacle here, and it's that Algebra R A
does not imply SMul Rᵐᵒᵖ A
Eric Wieser (Aug 10 2023 at 15:28):
I spent quite some time fixing that in Lean3, but the PR (!3#10716) went stale
Oliver Nash (Aug 10 2023 at 15:30):
I'm proposing that we deal with this the way we currently deal with docs#Derivation: we restrict typeclasses so that the definition can only be used in the commutative case, when it is actually correct.
Last updated: Dec 20 2023 at 11:08 UTC