Distributive Magmas and Additive Magmas#

class sage.categories.distributive_magmas_and_additive_magmas.DistributiveMagmasAndAdditiveMagmas(base_category)#

Bases: CategoryWithAxiom_singleton

The category of sets \((S,+,*)\) with \(*\) distributing on \(+\).

This is similar to a ring, but \(+\) and \(*\) are only required to be (additive) magmas.


sage: from sage.categories.distributive_magmas_and_additive_magmas import DistributiveMagmasAndAdditiveMagmas
sage: C = DistributiveMagmasAndAdditiveMagmas(); C
Category of distributive magmas and additive magmas
sage: C.super_categories()
[Category of magmas and additive magmas]
class AdditiveAssociative(base_category)#

Bases: CategoryWithAxiom_singleton

class AdditiveCommutative(base_category)#

Bases: CategoryWithAxiom_singleton

class AdditiveUnital(base_category)#

Bases: CategoryWithAxiom_singleton

class Associative(base_category)#

Bases: CategoryWithAxiom_singleton


alias of Rngs


alias of Semirings

class CartesianProducts(category, *args)#

Bases: CartesianProductsCategory


Implement the fact that a Cartesian product of magmas distributing over additive magmas is a magma distributing over an additive magma.


sage: C = (Magmas() & AdditiveMagmas()).Distributive().CartesianProducts()
sage: C.extra_super_categories()
[Category of distributive magmas and additive magmas]
sage: C.axioms()
class ParentMethods#

Bases: object