Коммутативное полукольцо с единицей

Коммутативное полукольцо с единицей - полукольцо с единицей, коммутативное относительно умножения.

Для коммутативного полукольца с единицей должны соблюдаться следующие законы:

Код

trait CommutativeRig[A] extends Rig[A] with CommutativeSemiring[A]

Схема

classDiagram
    class Semigroup~A~{
      +combine(x: A, y: A) A
    }
    class Monoid~A~{
      +empty() A
    }
    Semigroup <|-- Monoid
    class CommutativeSemigroup~A~
    Semigroup <|-- CommutativeSemigroup
    class CommutativeMonoid~A~
    Monoid <|-- CommutativeMonoid
    CommutativeSemigroup <|-- CommutativeMonoid
    class Semiring~A~
    CommutativeMonoid <|-- Semiring
    class MultiplicativeSemigroup~A~{
      +times(x: A, y: A) A
    }
    MultiplicativeSemigroup <|-- Semiring
    Semigroup .. MultiplicativeSemigroup
    class Rig~A~{
      +one() A
    }
    Semiring <|-- Rig
    class CommutativeSemiring~A~
    Semiring <|-- CommutativeSemiring
    class CommutativeRig~A~
    Rig <|-- CommutativeRig
    CommutativeSemiring <|-- CommutativeRig

Ссылки: