This file is indexed.

/usr/share/axiom-20170501/src/algebra/PAN2EXPR.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
)abbrev package PAN2EXPR PolynomialAN2Expression
++ Author: Barry Trager
++ Date Created: 8 Oct 1991
++ Description: 
++ This package provides a coerce from polynomials over
++ algebraic numbers to \spadtype{Expression AlgebraicNumber}.

PolynomialAN2Expression() : SIG == CODE where

  EXPR ==> Expression(Integer)
  AN ==> AlgebraicNumber
  PAN ==> Polynomial AN
  SY ==> Symbol

  SIG ==> with

    coerce : Polynomial AlgebraicNumber -> Expression(Integer)
      ++ coerce(p) converts the polynomial \spad{p} with algebraic number
      ++ coefficients to \spadtype{Expression Integer}.

    coerce : Fraction Polynomial AlgebraicNumber -> Expression(Integer)
      ++ coerce(rf) converts \spad{rf}, a fraction of polynomial 
      ++ \spad{p} with
      ++ algebraic number coefficients to \spadtype{Expression Integer}.

  CODE ==> add

    coerce(p:PAN):EXPR ==
        map(x+->x::EXPR, y+->y::EXPR, p)$PolynomialCategoryLifting(
                                  IndexedExponents SY, SY, AN, PAN, EXPR)

    coerce(rf:Fraction PAN):EXPR ==
        numer(rf)::EXPR / denom(rf)::EXPR