This file is indexed.

/usr/share/axiom-20170501/src/algebra/OVAR.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
42
43
44
45
46
47
48
)abbrev domain OVAR OrderedVariableList
++ Author: Mark Botch
++ Description:
++ This domain implements ordered variables

OrderedVariableList(VariableList) : SIG == CODE where
  VariableList : List Symbol

  SIG ==> Join(OrderedFinite, ConvertibleTo Symbol, ConvertibleTo InputForm,
            ConvertibleTo Pattern Float, ConvertibleTo Pattern Integer) with

    variable : Symbol -> Union(%,"failed")
      ++ variable(s) returns a member of the variable set or failed

  CODE ==> add

       VariableList := removeDuplicates VariableList

       Rep := PositiveInteger

       s1,s2:%

       convert(s1):Symbol == VariableList.((s1::Rep)::PositiveInteger)

       coerce(s1):OutputForm == (convert(s1)@Symbol)::OutputForm

       convert(s1):InputForm == convert(convert(s1)@Symbol)

       convert(s1):Pattern(Integer) == convert(convert(s1)@Symbol)

       convert(s1):Pattern(Float) == convert(convert(s1)@Symbol)

       index i   == i::%

       lookup j  == j :: Rep

       size ()   == #VariableList

       variable(exp:Symbol) ==
            for i in 1.. for exp2 in VariableList repeat
                if exp=exp2 then return i::PositiveInteger::%
            "failed"

       s1 < s2 == s2 <$Rep s1

       s1 = s2 == s1 =$Rep s2

       latex(x:%):String      == latex(convert(x)@Symbol)