/usr/share/axiom-20170501/src/algebra/INDE.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 domain INDE IndexedExponents
++ Author: James Davenport
++ Description:
++ IndexedExponents of an ordered set of variables gives a representation
++ for the degree of polynomials in commuting variables. It gives an ordered
++ pairing of non negative integer exponents with variables
IndexedExponents(Varset) : SIG == CODE where
Varset : OrderedSet
SIG ==> Join(OrderedAbelianMonoidSup,
IndexedDirectProductCategory(NonNegativeInteger,Varset))
CODE ==>
IndexedDirectProductOrderedAbelianMonoidSup(NonNegativeInteger,Varset) add
Term:= Record(k:Varset,c:NonNegativeInteger)
Rep:= List Term
x:%
t:Term
coerceOF(t):OutputForm == --++ converts term to OutputForm
t.c = 1 => (t.k)::OutputForm
(t.k)::OutputForm ** (t.c)::OutputForm
coerce(x):OutputForm == ++ converts entire exponents to OutputForm
null x => 1::Integer::OutputForm
null rest x => coerceOF(first x)
reduce("*",[coerceOF t for t in x])
|