Availability:built-in
 var_property(+Var, 
?Property)True when Property is a property of Var. These 
properties are available during goal- and term-expansion. Defined 
properties are below. Future versions are likely to provide more 
properties, such as whether the variable is referenced in the remainder 
of the term. See also goal_expansion/2.
var_property(+Var, 
?Property)True when Property is a property of Var. These 
properties are available during goal- and term-expansion. Defined 
properties are below. Future versions are likely to provide more 
properties, such as whether the variable is referenced in the remainder 
of the term. See also goal_expansion/2.
- fresh(Bool)
- Bool has the value trueif 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.
- singleton(Bool)
- Bool has the value trueif 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.
- name(Name)
- True when variable appears with the given name in the source.