
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

OrProp(AndProp(real,constant), real_infinity)


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 $\mathrm{parent}\left(p\right)$, 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,

noninteger 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 nondecreasing (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$a,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 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 $A=\mathrm{prop1}..\mathrm{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.



