:- use_module(library(clpBNR)).clpBNR_default_precision which is a positive integer specifying number of digits; otherwise fails. For example, a clpBNR_default_precision value of 6 (the default) defines a domain width limit of 1e-7. Numbers have a domain width of 0, so they are always "small".
If Numeric is a list of numerics, all elements of the list must be "small". Examples:
?- X::real, small(X). false. ?- X::real(-1e-10,1e-10), small(X). X::real(-1.0000000000000002e-10, 1.0000000000000002e-10). ?- X::real(-1e-10,1e-10), small([X,42]). X::real(-1.0000000000000002e-10, 1.0000000000000002e-10).
Note that this is really only useful for real intervals; integer intervals are not small until they become point values.