Type::NonNegInt

Type and property representing nonnegative integers

Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

Syntax

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

Description

`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`.

Examples

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:`

Parameters

 `obj` Any MuPAD object `x` An identifier or a mathematical expression containing identifiers `ex`