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.
- * : (%, %) -> %
- from LeftModule(%)
- * : (NonNegativeInteger, %) -> %
- from AbelianMonoid
- * : (PositiveInteger, %) -> %
- from AbelianSemiGroup
- + : (%, %) -> %
- from AbelianSemiGroup
- 0 : () -> %
- from AbelianMonoid
- 1 : () -> %
- from MagmaWithUnit
- < : (%, %) -> 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
- antiCommutator : (%, %) -> %
- from NonAssociativeSemiRng
- coerce : NonNegativeInteger -> %
- from CoercibleFrom(NonNegativeInteger)
- coerce : % -> OutputForm
- from CoercibleTo(OutputForm)
- 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
- ~= : (%, %) -> Boolean
- from BasicType
OrderedSet
RightModule(%)
Monoid
CancellationAbelianMonoid
OrderedAbelianSemiGroup
RetractableTo(NonNegativeInteger)
CoercibleFrom(NonNegativeInteger)
MagmaWithUnit
NonAssociativeSemiRng
CoercibleTo(OutputForm)
SemiRing
Hashable
AbelianSemiGroup
SetCategory
Comparable
LeftModule(%)
SemiGroup
AbelianMonoid
OrderedAbelianMonoid
BiModule(%, %)
PartialOrder
BasicType
NonAssociativeSemiRing
Magma
SemiRng