/usr/share/axiom-20170501/src/algebra/FEVALAB.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 FEVALAB FullyEvalableOver
++ Date Last Updated: June 3, 1991
++ Description:
++ This category provides a selection of evaluation operations
++ depending on what the argument type R provides.
FullyEvalableOver(R) : Category == SIG where
R : SetCategory
SIG ==> with
map : (R -> R, $) -> $
++ map(f, ex) evaluates ex, applying f to values of type R in ex.
if R has Eltable(R, R) then Eltable(R, $)
if R has Evalable(R) then Evalable(R)
if R has InnerEvalable(Symbol, R) then InnerEvalable(Symbol, R)
add
if R has Eltable(R, R) then
elt(x:$, r:R) == map(y +-> y(r), x)
if R has Evalable(R) then
eval(x:$, l:List Equation R) == map(y +-> eval(y, l), x)
if R has InnerEvalable(Symbol, R) then
eval(x:$, ls:List Symbol, lv:List R) == map(y +-> eval(y, ls, lv), x)
|