/usr/share/axiom-20170501/src/algebra/PMPRED.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 | )abbrev package PMPRED AttachPredicates
++ Predicates for pattern-matching
++ Author: Manuel Bronstein
++ Date Created: 21 Mar 1989
++ Date Last Updated: 23 May 1990
++ Description:
++ Attaching predicates to symbols for pattern matching.
AttachPredicates(D) : SIG == CODE where
D:Type
FE ==> Expression Integer
SIG ==> with
suchThat : (Symbol, D -> Boolean) -> FE
++ suchThat(x, foo) attaches the predicate foo to x.
suchThat : (Symbol, List(D -> Boolean)) -> FE
++ suchThat(x, [f1, f2, ..., fn]) attaches the predicate
++ f1 and f2 and ... and fn to x.
CODE ==> add
import FunctionSpaceAttachPredicates(Integer, FE, D)
suchThat(p:Symbol, f:D -> Boolean) == suchThat(p::FE, f)
suchThat(p:Symbol, l:List(D -> Boolean)) == suchThat(p::FE, l)
|