SmallOrdinal

ordinal.spad line 1 [edit on github]

SmallOrdinal implements ordinal numbers up to epsilon_0. + and * are “natural” addition and multiplication of ordinals. Available separately are “ordered” operataions.

0: %

from AbelianMonoid

1: %

from MagmaWithUnit

*: (%, %) -> %

from Magma

*: (NonNegativeInteger, %) -> %

from AbelianMonoid

*: (PositiveInteger, %) -> %

from AbelianSemiGroup

+: (%, %) -> %

from AbelianSemiGroup

<=: (%, %) -> Boolean

from PartialOrder

<: (%, %) -> Boolean

from PartialOrder

=: (%, %) -> Boolean

from BasicType

>=: (%, %) -> Boolean

from PartialOrder

>: (%, %) -> Boolean

from PartialOrder

^: (%, %) -> %

o1^o2 returns o1 to power o2, where power is inductively defined using successive natural multiplication from the left

^: (%, NonNegativeInteger) -> %

from MagmaWithUnit

^: (%, PositiveInteger) -> %

from Magma

~=: (%, %) -> Boolean

from BasicType

antiCommutator: (%, %) -> %

from NonAssociativeSemiRng

coerce: % -> OutputForm

from CoercibleTo OutputForm

coerce: NonNegativeInteger -> %

from CoercibleFrom NonNegativeInteger

hash: % -> SingleInteger

from Hashable

hashUpdate!: (HashState, %) -> HashState

from Hashable

integerPart: % -> NonNegativeInteger

integerPart(o) = n when o = l + n and l is a limit ordinal

latex: % -> String

from SetCategory

leftPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

leftPower: (%, PositiveInteger) -> %

from Magma

leftRecip: % -> Union(%, failed)

from MagmaWithUnit

limitPart: % -> %

limitPart(o) = l when o = l + n and l is a limit ordinal and n is a nonnegative integer

max: (%, %) -> %

from OrderedSet

min: (%, %) -> %

from OrderedSet

omega: () -> %

omega() is the first infinite ordinal

omegapower: % -> %

omegapower(p) returns omega^p

one?: % -> Boolean

from MagmaWithUnit

opposite?: (%, %) -> Boolean

from AbelianMonoid

ordinalAdd: (%, %) -> %

ordinalAdd(o1, o2) returns sum of o1 and o2 as ordered sets

ordinalMul: (%, %) -> %

ordinalMul(o1, o2) returns product of o1 and o2 as ordered sets

ordinalPower: (%, %) -> %

ordinalPower(o1, o2) returns o1 to power o2, where power is inductively defined using successive ordinal multiplication from the left

recip: % -> Union(%, failed)

from MagmaWithUnit

retract: % -> NonNegativeInteger

from RetractableTo NonNegativeInteger

retractIfCan: % -> Union(NonNegativeInteger, failed)

from RetractableTo NonNegativeInteger

rightPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

rightPower: (%, PositiveInteger) -> %

from Magma

rightRecip: % -> Union(%, failed)

from MagmaWithUnit

sample: %

from AbelianMonoid

smaller?: (%, %) -> Boolean

from Comparable

subtractIfCan: (%, %) -> Union(%, failed)

from CancellationAbelianMonoid

zero?: % -> Boolean

from AbelianMonoid

AbelianMonoid

AbelianSemiGroup

BasicType

BiModule(%, %)

CancellationAbelianMonoid

CoercibleFrom NonNegativeInteger

CoercibleTo OutputForm

Comparable

Hashable

LeftModule %

Magma

MagmaWithUnit

Monoid

NonAssociativeSemiRing

NonAssociativeSemiRng

OrderedAbelianMonoid

OrderedAbelianSemiGroup

OrderedSet

PartialOrder

RetractableTo NonNegativeInteger

RightModule %

SemiGroup

SemiRing

SemiRng

SetCategory