Type and property representing nonnegative integers

Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.


testtype(obj, Type::NonNegInt)
assume(x, Type::NonNegInt)
is(ex, Type::NonNegInt)


Type::NonNegInt represents nonnegative integers. Type::NonNegInt is a property, too, which can be used in an assume call.

The call testtype(obj, Type::NonNegInt) checks, whether obj is a nonnegative integer number and returns TRUE, if it holds, otherwise FALSE.

testtype only performs a syntactical test identifying MuPAD® objects of type DOM_INT and checks, if bool(obj >= 0) holds.

The call assume(x, Type::NonNegInt) marks the identifier x as a nonnegative integer number.

The call is(ex, Type::NonNegInt) derives, whether the expression ex is a nonnegative integer number (or this property can be derived).

This type represents a property that can be used in assume and is.


Example 1

The following numbers are of type Type::NonNegInt:

testtype(2, Type::NonNegInt),
testtype(3/4, Type::NonNegInt),
testtype(55/111, Type::NonNegInt),
testtype(1, Type::NonNegInt),
testtype(111/111111, Type::NonNegInt)

Example 2

Assume an identifier is nonnegative rational:

assume(x, Type::NonNegInt):
is(x, Type::NonNegInt)

Also nonnegative integers are integers:

assume(x, Type::NonNegInt):
is(x, Type::Integer)

However, integers can be nonnegative or not:

assume(x, Type::Integer):
is(x, Type::NonNegInt)

delete x:



Any MuPAD object


An identifier or a mathematical expression containing identifiers


An arithmetical expression

Return Values

See testtype, assume and is

See Also

MuPAD Functions

Was this topic helpful?