between(X,Y,Z)
succeeds if the integer numeric value represented by Z
is greater than or equal to the integer numeric value represented by X
and is less than or equal to the integer numeric value represented by Y
.
If Z
is an uninstantiated variable then Z
will be successively unified with all integer values in the range from X
to Y
.
Examples
?- between(1, 5, 1).
yes
?- between(1, 5, 2).
yes
?- between(1, 5, 3).
yes
?- between(1, 5, 4).
yes
?- between(1, 5, 5).
yes
?- between(1, 5, 0).
no
?- between(1, 5, -1).
no
?- between(1, 5, -9223372036854775808).
no
?- between(1, 5, 6).
no
?- between(1, 5, 7).
no
?- between(1, 5, 9223372036854775807).
no
?- between(-9223372036854775808, 9223372036854775807, -9223372036854775808).
yes
?- between(-9223372036854775808, 9223372036854775807, -1).
yes
?- between(-9223372036854775808, 9223372036854775807, 0).
yes
?- between(-9223372036854775808, 9223372036854775807, 1).
yes
?- between(-9223372036854775808, 9223372036854775807, 9223372036854775807).
yes
?- between(1, 1, X).
X = 1
yes
?- between(1, 2, X).
X = 1
yes;
X = 2
yes
?- between(1, 5, X).
X = 1
yes;
X = 2
yes;
X = 3
yes;
X = 4
yes;
X = 5
yes
?- between(5, 1, X).
no
?- between(5-2, 2+3, 2*2).
yes
?- between(5-2, 2+3, 8-6).
no