This file is indexed.

/usr/share/axiom-20170501/src/algebra/OWP.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
30
31
32
33
34
35
36
37
38
39
40
41
)abbrev domain OWP OrdinaryWeightedPolynomials
++ Author: James Davenport
++ Date Created:  17 April 1992
++ Date Last Updated: 12 July 1992
++ Description:
++ This domain represents truncated weighted polynomials over the
++ "Polynomial" type. The variables must be
++ specified, as must the weights.
++ The representation is sparse
++ in the sense that only non-zero terms are represented.

OrdinaryWeightedPolynomials(R,vl,wl,wtlevel) : SIG == CODE where
  R : Ring
  vl : List Symbol
  wl : List NonNegativeInteger
  wtlevel : NonNegativeInteger

  SIG ==> Ring with

     if R has CommutativeRing then Algebra(R)

     coerce : $ -> Polynomial(R)
       ++ coerce(p) converts back into a Polynomial(R), ignoring weights

     coerce : Polynomial(R) -> $
       ++ coerce(p) coerces a Polynomial(R) into Weighted form,
       ++ applying weights and ignoring terms

     if R has Field then
  
       "/" : ($,$) -> Union($,"failed")
         ++ x/y division (only works if minimum weight
         ++ of divisor is zero, and if R is a Field)

     changeWeightLevel : NonNegativeInteger -> Void
       ++ changeWeightLevel(n) This changes the weight level to the 
       ++ new value given:
       ++ NB: previously calculated terms are not affected

  CODE ==> WeightedPolynomials(R,Symbol,IndexedExponents(Symbol),
                           Polynomial(R), vl,wl,wtlevel)