true
if the variable is
guaranteed to be unbound at entry of the goal, otherwise its value is false.
This implies that the variable first appears in this goal or a previous
appearance was in a negation (\+/1)
or a different branch of a disjunction.true
if the variable is a
syntactic singleton in the term it appears in. Note that this
tests that the variable appears exactly once in the term being expanded
without making any claim on the syntax of the variable. Variables that
appear only once in multiple branches are not singletons
according to this property. Future implementations may improve on that.