Description of Properties Used by assume
A property can be:
(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.
a real < 0
a real >= 0
a real > 0
an integer > 0
an integer of the form 2*integer+1
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 parent⁡p, and a description when it is not obvious.
complex numbers where both the real and
imaginary parts are integers
complex numbers with the real part
equal to zero (includes 0)
Gaussian integers with no Gaussian
integer factors x, with |x|>1
an integer that is neither a prime nor
a unit (includes all integers <-1)
The following table shows the properties for functionals.
a function (but the name "function" is a
type name in Maple)
a function that takes only one parameter
a function that over the reals and where
defined is non-decreasing (increasing)
a unary function f(x) = -f(-x)
a unary function f(x) = f(-x)
a function that is continuous for every
real value, in every parameter
a function that is strictly increasing (or
decreasing) where defined over the reals
a function mapping functions to functions
a function that has a derivative for
every possible real value
a function that has a derivative
of any order for every real value
the five arithmetic operators (+,-,*,/,^)
The following table shows the properties for matricials. (Notation taken from the CRC Handbook of Mathematical Sciences, 5th edition)
Hermitian, tridiagonal, LowerTriangular, UpperTriangular
PositiveDefinite, ScalarMatrix, idempotent,
ScalarMatrix, singular, idempotent, nilpotent,
The following table shows other properties.
No object has this property
Every possible object has this property
(2) most types (this includes constant values, for example, 0)
(3) numerical ranges: RealRangea,b, 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 endpoint 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 A=prop1..prop2 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.
Download Help Document
What kind of issue would you like to report? (Optional)