number(–)Numbers in Prolog can be whole numbers, like:
1 1313 0 -97 9311
or fractional numbers, like:
3.14 -0.0035 100.2
The range of numbers that can be used is likely to be dependent on
the number of bits (amount of computer memory) used to represent the number.
The treatment of real numbers in Prolog is likely to vary from implementation
to implementation - real numbers are not all that heavily used in
Prolog programs, as the emphasis in Prolog is on symbol manipulation.
number is also the name of a built-in predicate which tests
its single argument and succeeds if that argument is a number. Examples:
?- X = 7, number(X).
X = 7.
The last query fails because 1+1 is an unevaluated expression, not a number.
See is, for more on evaluation.