NonAssociativeRng

naalgc.spad line 142 [edit on github]

NonAssociativeRng is a basic ring-type structure, not necessarily commutative or associative, and not necessarily with unit. Axioms x*(y+z) = x*y + x*z (x+y)*z = x*z + y*z Common Additional Axioms noZeroDivisorsab = 0 => a=0 or b=0

* : (%, %) -> %
from Magma
* : (Integer, %) -> %
from AbelianGroup
* : (NonNegativeInteger, %) -> %
from AbelianMonoid
* : (PositiveInteger, %) -> %
from AbelianSemiGroup
+ : (%, %) -> %
from AbelianSemiGroup
- : % -> %
from AbelianGroup
- : (%, %) -> %
from AbelianGroup
0 : () -> %
from AbelianMonoid
= : (%, %) -> Boolean
from BasicType
^ : (%, PositiveInteger) -> %
from Magma
antiCommutator : (%, %) -> %
from NonAssociativeSemiRng
associator : (%, %, %) -> %

associator(a, b, c) returns (a*b)*c-a*(b*c).

coerce : % -> OutputForm
from CoercibleTo(OutputForm)
commutator : (%, %) -> %

commutator(a, b) returns a*b-b*a.

latex : % -> String
from SetCategory
leftPower : (%, PositiveInteger) -> %
from Magma
opposite? : (%, %) -> Boolean
from AbelianMonoid
rightPower : (%, PositiveInteger) -> %
from Magma
sample : () -> %
from AbelianMonoid
subtractIfCan : (%, %) -> Union(%, "failed")
from CancellationAbelianMonoid
zero? : % -> Boolean
from AbelianMonoid
~= : (%, %) -> Boolean
from BasicType

CancellationAbelianMonoid

CoercibleTo(OutputForm)

AbelianMonoid

AbelianGroup

AbelianSemiGroup

SetCategory

Magma

NonAssociativeSemiRng

BasicType