Commit 2025-03-30 16:02 ea841e87
View on Github →refactor: default to left modules for CStarModule
(#22967)
When CStarModule
was introduced, the hypotheses assumed a right action of the C⋆-algebra A
on the module E
(i.e., a SMul Aᵐᵒᵖ E
instance). On the one hand, this is consistent with the literature (which also defaults to right-actions), but on the other hand, it will cause problems in the future. In particular, we will need to consider C⋆-bimodules, but if we default to right actions, then to get a left C⋆-module structure we would need a SMul (Aᵐᵒᵖ)ᵐᵒᵖ E
instance.
In this PR we switch so that the default for CStarModule
s are left-actions, consistent with the rest of Mathlib.
In addition, we remove the outParam
condition on A
in the CStarModule
class. Indeed, we may need to consider C⋆-modules over multiple C⋆-algebras simultaneously (the canonical example is A
and its unitization A⁺¹
, which arises frequently). This necessitates a change to the type synonym WithCStarModule
so that A
is an explicit parameter. In addition, the variable A
is now explicit in a few declarations which otherwise only mention terms of E
and their norms (e.g., CStarModule.norm_sq_eq
).