property - description of properties used by assume
|
Description
|
|
•
|
(1) a property name, for example, assume(f, continuous) or assume(x, rational). Property names are grouped into five groups: Aliased Names, Numeral Properties, Matricial Properties, Functional Properties, and Other Properties.
|
|
The following table defines the names that are aliased to a property.
|
Alias
|
Property
|
Description
|
|
|
|
realcons
|
AndProp(real,constant)
|
|
negative
|
RealRange(-infinity,Open(0))
|
a real < 0
|
nonnegative
|
RealRange(0,infinity)
|
a real >= 0
|
positive
|
RealRange(Open(0),infinity)
|
a real > 0
|
natural
|
AndProp(integer, RealRange(1,infinity))
|
an integer > 0
|
posint
|
AndProp(integer, RealRange(1,infinity))
|
an integer > 0
|
odd
|
LinearProp(2,integer,1)
|
an integer of the form 2*integer+1
|
even
|
LinearProp(2,integer,0)
|
an integer of the form 2*integer
|
|
|
|
The following table shows the properties for numerals, their parent(s) in the inclusion lattice, that is, if an object has property p then it also has property , and a description when it is not obvious.
|
Name
|
Parent
|
Description
|
|
|
|
complex
|
TopProp
|
|
NumeralNonZero
|
NonZero, complex
|
|
GaussianInteger
|
complex
|
complex numbers where both the real and
|
|
|
imaginary parts are integers
|
real
|
complex
|
|
imaginary
|
complex
|
complex numbers with the real part
|
|
|
equal to zero (includes 0)
|
rational
|
real
|
|
irrational
|
real, NumeralNonZero
|
|
GaussianPrime
|
GaussianInteger,
|
Gaussian integers with no Gaussian
|
|
NumeralNonZero
|
integer factors x, with |x|>1
|
integer
|
GaussianInteger,
|
|
|
rational
|
|
fraction
|
rational,
|
non-integer rational
|
|
NumeralNonZero
|
|
prime
|
integer
|
|
composite
|
integer
|
an integer that is neither a prime nor
|
|
|
a unit (includes all integers <-1)
|
RealRange(x,y)
|
real
|
|
|
|
|
The following table shows the properties for functionals.
|
Name
|
Parent
|
Description
|
|
|
|
mapping
|
TopProp
|
a function (but the name "function" is a
|
|
|
type name in Maple)
|
unary
|
mapping
|
a function that takes only one parameter
|
binary
|
mapping
|
|
monotonic
|
mapping
|
a function that over the reals and where
|
|
|
defined is non-decreasing (increasing)
|
OddMap
|
mapping
|
a unary function f(x) = -f(-x)
|
EvenMap
|
mapping
|
a unary function f(x) = f(-x)
|
continuous
|
mapping
|
a function that is continuous for every
|
|
|
real value, in every parameter
|
Strictly-
|
|
|
Monotonic
|
monotonic
|
a function that is strictly increasing (or
|
|
|
decreasing) where defined over the reals
|
operator
|
mapping
|
a function mapping functions to functions
|
differentiable
|
continuous
|
a function that has a derivative for
|
|
|
every possible real value
|
commutative
|
binary
|
|
Infinitely-
|
|
|
Differentiable
|
differentiable
|
a function that has a derivative
|
|
|
of any order for every real value
|
PolynomialMap
|
Infinitely-
|
|
|
Differentiable
|
|
LinearMap
|
PolynomialMap,
|
|
|
StrictlyMonotonic
|
|
ArithmeticOper
|
binary
|
the five arithmetic operators (+,-,*,/,^)
|
addmul
|
ArithmeticOper,
|
|
|
commutative
|
|
|
|
|
The following table shows the properties for matricials. (Notation taken from the CRC Handbook of Mathematical Sciences, 5th edition)
|
Name
|
Parent
|
|
|
antisymmetric
|
SquareMatrix
|
diagonal
|
Hermitian, tridiagonal, LowerTriangular, UpperTriangular
|
ElementaryMatrix
|
SquareMatrix
|
Hermitian
|
symmetric
|
idempotent
|
SquareMatrix
|
IdentityMatrix
|
PositiveDefinite, ScalarMatrix, idempotent,
|
|
NonSingular, antisymmetric
|
LowerTriangular
|
triangular
|
matrix
|
TopProp
|
nilpotent
|
SquareMatrix
|
NullMatrix
|
ScalarMatrix, singular, idempotent, nilpotent,
|
|
antisymmetric
|
NullVector
|
vector
|
PositiveDefinite
|
PositiveSemidefinite, NonZero
|
PositiveSemidefinite
|
SquareMatrix
|
RectangularMatrix
|
matrix
|
scalar
|
vector, RectangularMatrix
|
ScalarMatrix
|
diagonal
|
singular
|
SquareMatrix
|
SquareMatrix
|
matrix
|
symmetric
|
SquareMatrix
|
triangular
|
SquareMatrix
|
tridiagonal
|
SquareMatrix
|
UpperTriangular
|
triangular
|
vector
|
matrix
|
|
|
|
The following table shows other properties.
|
Name
|
Parent
|
Description
|
|
|
|
BottomProp
|
|
No object has this property
|
TopProp
|
|
Every possible object has this property
|
NonZero
|
TopProp
|
|
MutuallyExclusive
|
property
|
|
type
|
property
|
|
constant
|
TopProp
|
|
property
|
TopProp
|
|
|
|
•
|
(2) most types (this includes constant values, for example, 0)
|
•
|
(3) numerical ranges: RealRange, RealRange(-infinity, b), and RealRange(a, infinity) (where a and b can be either numeric values or Open(x) where x is a numeric value). Open(x) indicates that the range is open, that is, the end point x is excluded.
|
•
|
(4) AndProp(a, b, ...) the "and" expression of properties a, b, ... (where a, b, ... are properties as defined above). This property describes objects that have all the properties a, b, ...
|
|
You can use And as a synonym for AndProp.
|
•
|
(5) OrProp(a, b, ...) the "or" expression of properties a, b, ... (where a, b, ... are properties as defined above). This property describes objects that have at least one of the properties a, b, ...
|
|
You can use Or as a synonym for OrProp.
|
•
|
(6) Non(a) the "not" of the property a (where a is a property as defined above). This property describes objects that do not have property a.
|
|
You can use Not as a synonym for Non.
|
•
|
(7) LinearProp(a, b, c) where a and c are of type complex(numeric) (or are expressions that evaluate to complex(numeric) when evalf is applied) and b is a property. This allows the system to express properties like the odd integers: LinearProp(2,integer,1) or the imaginary integers: LinearProp(I,integer,0)
|
•
|
(8) property ranges: prop1 .. prop2 (where prop1 and prop2 are properties and prop1 is included in prop2. This property means that the object has at least prop2 but not less than prop1. For example, integer .. rational properly describes the integers/2. If then all possible y in prop1 have property A, and all possible z in A have property prop2.
|
•
|
(9) A parametric property, of the form propname(arg1,...), where propname is the name of the parametric property and arg1, ... are the parameters of the property. These properties are unevaluated function calls. The function `property/included/propname`(a,b) should be defined and should test the inclusion of property a in property b, where at least one of a or b is a propname.
|
|
|