/usr/share/axiom-20170501/src/algebra/SEGCAT.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 | )abbrev category SEGCAT SegmentCategory
++ Author: Stephen M. Watt
++ Date Created: December 1986
++ Date Last Updated: June 3, 1991
++ Description:
++ This category provides operations on ranges, or segments
++ as they are called.
SegmentCategory(S) : Category == SIG where
S : Type
SIG ==> Type with
SEGMENT : (S, S) -> %
++ \spad{l..h} creates a segment with l and h as the endpoints.
BY : (%, Integer) -> %
++ \spad{s by n} creates a new segment in which only every
++ \spad{n}-th element is used.
lo : % -> S
++ lo(s) returns the first endpoint of s.
++ Note that \spad{lo(l..h) = l}.
hi : % -> S
++ hi(s) returns the second endpoint of s.
++ Note that \spad{hi(l..h) = h}.
low : % -> S
++ low(s) returns the first endpoint of s.
++ Note that \spad{low(l..h) = l}.
high : % -> S
++ high(s) returns the second endpoint of s.
++ Note that \spad{high(l..h) = h}.
incr : % -> Integer
++ incr(s) returns \spad{n}, where s is a segment in which every
++ \spad{n}-th element is used.
++ Note that \spad{incr(l..h by n) = n}.
segment : (S, S) -> %
++ segment(i,j) is an alternate way to create the segment
++ \spad{i..j}.
convert : S -> %
++ convert(i) creates the segment \spad{i..i}.
|