# Change binary Operation in Monoid/Semigroup Rings

I have been experimenting in Semigroup rings and what I’m wondering is whether Sage allows me to define a Set, it’s binary operation, and take its Semigroup Ring via the Set.algebra constructor.

Example would be

```
S=Set([0,1,2]) #generators
A=S.algebra(RR,Semigroups())
A.product=lambda x,y: x+y
```

But this does work on the basis elements of A. I want to modify the way basis elements multiply.

Maybe you need to create a new category for the algebra you need. Maybe you will find information on how to do this in the four documentation pages in the section Parents/Elements, Categories and algebraic structures of the thematic tutorials.