.. index:: integer
.. _integer/0:

**object**

``integer``
===========

Integer data type predicates.

| **Author:** Paulo Moura
| **Version:** 1.53
| **Date:** 2018/7/11

| **Compilation flags:**
|    ``static, context_switching_calls``


| **Extends:**
|    ``public`` :ref:`number <number/0>`

Public interface
----------------

.. raw:: html

   <div id="between/3"> </div>

.. index:: between/3
.. _integer/0::between/3:

``between/3``
^^^^^^^^^^^^^

Returns integers in the interval defined by the two first arguments.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``between(Lower,Upper,Integer)``
| **Mode and number of proofs:**
|    ``between(+integer,+integer,+integer)`` - ``zero_or_one``
|    ``between(+integer,+integer,-integer)`` - ``zero_or_more``


.. raw:: html

   <div id="plus/3"> </div>

.. index:: plus/3
.. _integer/0::plus/3:

``plus/3``
^^^^^^^^^^

Reversible integer sum. At least two of the arguments must be instantiated to integers.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``plus(I,J,Sum)``
| **Mode and number of proofs:**
|    ``plus(+integer,+integer,?integer)`` - ``zero_or_one``
|    ``plus(+integer,?integer,+integer)`` - ``zero_or_one``
|    ``plus(?integer,+integer,+integer)`` - ``zero_or_one``


.. raw:: html

   <div id="succ/2"> </div>

.. index:: succ/2
.. _integer/0::succ/2:

``succ/2``
^^^^^^^^^^

Successor of a natural number. At least one of the arguments must be instantiated to a natural number.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``succ(I,J)``
| **Mode and number of proofs:**
|    ``succ(+integer,?integer)`` - ``zero_or_one``
|    ``succ(?integer,+integer)`` - ``zero_or_one``


.. raw:: html

   <div id="sequence/3"> </div>

.. index:: sequence/3
.. _integer/0::sequence/3:

``sequence/3``
^^^^^^^^^^^^^^

Generates a list with the sequence of all integers in the interval [Inf, Sup], assuming Inf =< Sup.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``sequence(Inf,Sup,List)``
| **Mode and number of proofs:**
|    ``sequence(+integer,+integer,-list(integer))`` - ``zero_or_one``


Protected interface
-------------------

(see related entities)

Private predicates
------------------

(see related entities)

Operators
---------

(none)

Remarks
-------

(none)

