/usr/share/axiom-20170501/src/algebra/PMASS.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 | )abbrev package PMASS PatternMatchAssertions
++ Author: Manuel Bronstein
++ Date Created: 21 Mar 1989
++ Date Last Updated: 23 May 1990
++ Description:
++ Attaching assertions to symbols for pattern matching.
PatternMatchAssertions() : SIG == CODE where
FE ==> Expression Integer
SIG ==> with
assert : (Symbol, String) -> FE
++ assert(x, s) makes the assertion s about x.
constant : Symbol -> FE
++ constant(x) tells the pattern matcher that x should
++ match only the symbol 'x and no other quantity.
optional : Symbol -> FE
++ optional(x) tells the pattern matcher that x can match
++ an identity (0 in a sum, 1 in a product or exponentiation).;
multiple : Symbol -> FE
++ multiple(x) tells the pattern matcher that x should
++ preferably match a multi-term quantity in a sum or product.
++ For matching on lists, multiple(x) tells the pattern matcher
++ that x should match a list instead of an element of a list.
CODE ==> add
import FunctionSpaceAssertions(Integer, FE)
constant x == constant(x::FE)
multiple x == multiple(x::FE)
optional x == optional(x::FE)
assert(x, s) == assert(x::FE, s)
|