This file is indexed.

/usr/share/axiom-20170501/src/algebra/UFD.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 category UFD UniqueFactorizationDomain
++ Description:
++ A constructive unique factorization domain, where
++ we can constructively factor members into a product of
++ a finite number of irreducible elements.

UniqueFactorizationDomain() : Category == SIG where

  SIG ==> GcdDomain with

    prime? : % -> Boolean
      ++ prime?(x) tests if x can never be written as the product of two
      ++ non-units of the ring,
      ++ x is an irreducible element.
  
    squareFree : % -> Factored(%)
      ++ squareFree(x) returns the square-free factorization of x
      ++ such that the factors are pairwise relatively prime
      ++ and each has multiple prime factors.
  
    squareFreePart : % -> %
      ++ squareFreePart(x) returns a product of prime factors of
      ++ x each taken with multiplicity one.
  
    factor : % -> Factored(%)
      ++ factor(x) returns the factorization of x into irreducibles.

   add

     squareFreePart x ==
       unit(s := squareFree x) * _*/[f.factor for f in factors s]
  
     prime? x == # factorList factor x = 1