/usr/share/axiom-20170501/src/algebra/RING.spad is in axiom-source 20170501-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | )abbrev category RING Ring
++ Description:
++ The category of rings with unity, always associative, but
++ not necessarily commutative.
Ring() : Category == SIG where
SIG ==> Join(Rng,Monoid,LeftModule(%)) with
characteristic : () -> NonNegativeInteger
++ characteristic() returns the characteristic of the ring
++ this is the smallest positive integer n such that
++ \spad{n*x=0} for all x in the ring, or zero if no such n
++ exists.
--We can not make this a constant, since some domains are mutable
coerce : Integer -> %
++ coerce(i) converts the integer i to a member of the given domain.
unitsKnown
++ recip truly yields
++ reciprocal or "failed" if not a unit.
++ Note that \spad{recip(0) = "failed"}.
add
n:Integer
coerce(n) == n * 1$%
|