This module provides additional number predicates. The predicates between/3 and above/2 allow enumerating numbers in a given range by the unit step. For both predicates the type of the result is the type of the lower bound. The predicate above/2 doesn't have an upper bound and will return numbers forever.Examples:
?- between(1, 3, X).
X = 1 ;
X = 2 ;
X = 3
?- between(1, 3, 4).
The predicates plus/3 and succ/2 allow solving primitive numeric addition equations. These predicates will not enumerate solutions, but they will work in different modes. The predicate plus/3 requires at least two instantiated arguments and the predicate succ/2 requires at least one instantiated argument.
The following arith predicates are provided: