Examples
?- X in 7..9.
X = 7..9
yes
?- X in 7..7.
X = 7
yes
?- [X,Y,Z] ins -7..9.
X = -7..9
Y = -7..9
Z = -7..9
yes
?- X in 7..9, X=7.
X = 7
yes
?- X in 7..9, X#=7.
X = 7
yes
?- X=8, X in 7..9.
X = 8
yes
?- X#=8, X in 7..9.
X = 8
yes
?- X in 7..9, X=6.
no
?- X in 7..9, X#=6.
no
?- X=6, X in 7..9.
no
?- X#=6, X in 7..9.
no
?- X in 7..9, X=10.
no
?- X in 7..9, X#=10.
no
?- X=10, X in 7..9.
no
?- X#=10, X in 7..9.
no
?- X#>=Z+2, [X,Y,Z] ins 7..9.
X = 9
Y = 7..9
Z = 7
yes
?- [X,Y,Z] ins 7..9, X#=<Z-2.
X = 7
Y = 7..9
Z = 9
yes
?- X#>Z+2, [X,Y,Z] ins 7..9.
no
?- [X,Y,Z] ins 7..9, X#<Z-2.
no
?- 7 in 7..9.
yes
?- 8 in 7..9.
yes
?- 9 in 7..9.
yes
?- 6 in 7..9.
no
?- 10 in 7..9.
no
?- [7,9,8] ins 7..9.
yes
?- [8,8,8] ins 7..9.
yes
?- [7,9,6] ins 7..9.
no
?- [7,10,9] ins 7..9.
no
?- [6,9,8] ins 7..9.
no
?- X in 4\/6, label(X).
X = 4
yes;
X = 6
yes;
noTODO should the result be formatted as X=5..6\/8\/12\/22..25
?- X in 5..6\/8\/12\/22..25.
X = {5, 6, 8, 12, 22, 23, 24, 25}
yes
?- X in 5..6\/8\/12\/22..25, label(X).
X = 5
yes;
X = 6
yes;
X = 8
yes;
X = 12
yes;
X = 22
yes;
X = 23
yes;
X = 24
yes;
X = 25
yes;
no
?- X in -7..-5\/-3\/-1\/5..7, label(X).
X = -7
yes;
X = -6
yes;
X = -5
yes;
X = -3
yes;
X = -1
yes;
X = 5
yes;
X = 6
yes;
X = 7
yes;
no
?- X in 5..6\/7\/8\/9..11\/12, label(X).
X = 5
yes;
X = 6
yes;
X = 7
yes;
X = 8
yes;
X = 9
yes;
X = 10
yes;
X = 11
yes;
X = 12
yes;
no
?- X in 7.
X = 7
yes
?- a in 7..8.
Unexpected term of type: ATOM with value: a
?- X in a.
Unexpected term of type: ATOM with value: a
?- X in 8..7.
Minimum value > maximum value in: 8..7
?- X in a..9.
Expected Numeric but got: ATOM with value: a
?- X in 7..z.
Expected Numeric but got: ATOM with value: z
?- X in 7\/7.
Maximum value >= next minimum value in: 7 7
?- X in 7\/6.
Maximum value >= next minimum value in: 7 6
?- X in 6..7\/7..8.
Maximum value >= next minimum value in: 7 7
?- X in 4..6\/1..3.
Maximum value >= next minimum value in: 6 1