This file is indexed.

/usr/share/axiom-20170501/src/algebra/PACPERC.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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
)abbrev category PACPERC PseudoAlgebraicClosureOfPerfectFieldCategory
++ Authors: Gaetan Hache
++ Date Created: may 1997 
++ Date Last Updated: April 2010, by Tim Daly
++ Description: 
++ This category exports the function for domains 
++ which implement dynamic extension using the simple notion of tower 
++ extensions. ++ A tower extension T  of the ground
++ field K is any sequence of field extension 
++ (T : K_0, K_1, ..., K_i...,K_n) where K_0 = K 
++ and for i =1,2,...,n, K_i is an extension of K_{i-1} of degree > 1 
++ and defined by an irreducible polynomial p(Z) in K_{i-1}.
++ Two towers (T_1: K_01, K_11,...,K_i1,...,K_n1)  
++ and (T_2: K_02, K_12,...,K_i2,...,K_n2)
++ are said to be related if T_1 <= T_2 (or T_1 >= T_2), 
++ that is if K_i1 = K_i2 for i=1,2,...,n1 (or i=1,2,...,n2). 
++ Any algebraic operations defined for several elements 
++ are only defined if all of the concerned elements are coming from 
++ a set of related tower extensions. 

PseudoAlgebraicClosureOfPerfectFieldCategory() : Category == SIG where

  INT      ==> Integer
  K        ==> Fraction Integer
  NNI      ==> NonNegativeInteger
  SUP      ==> SparseUnivariatePolynomial
  BOOLEAN  ==> Boolean
  PI       ==> PositiveInteger
  FFFACTSE ==> FiniteFieldFactorizationWithSizeParseBySideEffect

  SIG ==> Field with 

    definingPolynomial : () -> SUP(%)
  
    definingPolynomial : % -> SUP %
  
    lift : % -> SUP(%)
  
    lift : (%,%) -> SUP(%)
  
    reduce : SUP(%) -> %
  
    distinguishedRootsOf : (SparseUnivariatePolynomial %,%) -> List %
      ++ distinguishedRootsOf(p,a) returns a (distinguised) root for each
      ++ irreducible factor of the polynomial p (factored over the field 
      ++ defined by the element a). 
    
    ground_? : % -> Boolean
  
    maxTower : List % -> %
      ++ maxTower(l) returns the tower in the list having the maximal 
      ++ extension degree over the ground field. It has no meaning if the
      ++ towers not related.

    extDegree : % -> PI
      ++ extDegree(a) returns the extension degree of the extension tower 
      ++ over which the element is defined.

    previousTower : % -> %
      ++ previousTower(a) returns the previous tower extension over which
      ++ the element a is defined.
  
    vectorise : (%,%) -> Vector(%)
  
    conjugate : % -> %
  
    newElement : (SUP(%), %, Symbol) -> %
  
    newElement : (SUP(%), Symbol) -> %
  
    setTower_! : % -> Void
  
    fullOutput : % -> OutputForm