Distributive Magmas and Additive Magmas

class sage.categories.distributive_magmas_and_additive_magmas.DistributiveMagmasAndAdditiveMagmas(base_category)

Bases: sage.categories.category_with_axiom.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.

EXAMPLES:

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: sage.categories.category_with_axiom.CategoryWithAxiom_singleton

class AdditiveCommutative(base_category)

Bases: sage.categories.category_with_axiom.CategoryWithAxiom_singleton

class AdditiveUnital(base_category)

Bases: sage.categories.category_with_axiom.CategoryWithAxiom_singleton

class Associative(base_category)

Bases: sage.categories.category_with_axiom.CategoryWithAxiom_singleton

AdditiveInverse

alias of sage.categories.rngs.Rngs

Unital

alias of sage.categories.semirings.Semirings

class CartesianProducts(category, *args)

Bases: sage.categories.cartesian_product.CartesianProductsCategory

extra_super_categories()

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

EXAMPLES:

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