[Previous] [Next] [Contents]

## `Cat::SemiRing` -- the category of semi-rings

#### Introduction

`Cat::SemiRing` represents the category of semi-rings.

#### Generating the category

`Cat::SemiRing()`

#### Categories

`Cat::SemiRng`, `Cat::AbelianMonoid`, `Cat::Monoid`,

#### Details

- A `Cat::SemiRing` is essentially a ring (`Cat::Ring`), except that the operation `+` (`_plus`) is not required to be invertible. In other words, this is an abelian monoid according to the operation `+` and a non-abelian monoid according to the operation `*` (`_mult`) where in addition the two distributive laws a (b + c) = a b + a c and (a + b) c = a c + b c hold.

- Note that a semi-ring without unit is a `Cat::SemiRng`.

#### Background

- A `Cat::SemiRing` is not quite a left module over itself since the category `Cat::LeftModule` requires the domain to be an abelian group according to the operation `+` (`_plus`).

#### Changes

- `Cat::SemiRing` is a new category

[Previous] [Next] [Contents]

MuPAD Combinat, an open source algebraic combinatorics package