A test case can explain anything:
The output likes following:
X = cs000.
Basically speaking, I define a function test and ask prolog to find all X such that test(X) is true. However, when I test it back, it returns false.
This idiot bug makes my 10-hour work this night become a waste. I hate it.