/usr/share/axiom-20170501/src/algebra/UNISEG2.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 | )abbrev package UNISEG2 UniversalSegmentFunctions2
++ Date Last Updated: June 4, 1991
++ Description:
++ This package provides operations for mapping functions onto segments.
UniversalSegmentFunctions2(R,S) : SIG == CODE where
R : Type
S : Type
SIG ==> with
map : (R -> S, UniversalSegment R) -> UniversalSegment S
++ map(f,seg) returns the new segment obtained by applying
++ f to the endpoints of seg.
if R has OrderedRing then
map : (R -> S, UniversalSegment R) -> Stream S
++ map(f,s) expands the segment s, applying \spad{f} to each value.
CODE ==> add
map(f:R -> S, u:UniversalSegment R):UniversalSegment S ==
s := f lo u
hasHi u => segment(s, f hi u)
segment s
if R has OrderedRing then
map(f:R -> S, u:UniversalSegment R): Stream S ==
map(f, expand u)$StreamFunctions2(R, S)
|