What does this mean in Prolog?

?- LP = not(true(LP)).
LP = not(true(LP)).

?- unify_with_occurs_check(LP, not(true(LP))).
false.

unify_with_occurs_check/2 fails, because LP occurs in not(true(LP)), just like it would for whatever(LP) or whatever1(whatever2(LP)).

The not and true are just term names.

You probably want clpb: SWI-Prolog -- Manual