Sorry I mixed-up Module with Bi-module
So that you certainly have two other categories RightModule and LeftModule. Here I see two possibilities: 1 - Restrict Module to the commutative case and create RightModule and LeftModule and define: Module(R) := Bimodule(R,R) BiModule(L,R) := Join(LeftModule(L), RightModule(R)) 2 - Define Module as an alias for LeftModule: Module(R) := LeftModule(R) BiModule(L,R) := Join(LeftModule(L), RightModule(R)) In my experience, in the commutative case, we never use the two sided case. EG if v is in a R-vector space, I always write 3*v and never v*3... What's your preferred choice ? Cheers, Florent --~--~---------~--~----~------------~-------~--~----~ To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---