(Bart, do you have a practical example in which it was critical to have that one, rather special, negative integer? :-).
Of course, oodles of them :-) I was just trying to cook up examples that give unexpected behaviour. I had started from a predicate a/2: a(X,Y) :- X < Y . and did queries like ?- a(large_neg_int,large_pos_int), e.g: | ?- a(-2147483647,3). no for instance. What I later pasted in my mail was some sort of abbreviation of some of the queries. I didn't even notice it was showing some different weird behaviour. I now realize that toplevel queries of </2 can behave differently from compiled goals. The problem with compiled </2 is that XSB compiles X < Y to X-Y < 0 (or something like that - when there is (undetected ?) overflow in the -/2, things go wrong. Cheers Bart Demoen