Affects Version/s: None
Fix Version/s: None
Assuming the following definitions:
1. A term is ground if it does not contain unassociated logic variables.
2. Otherwise, it is non-ground.
lvaro: A non-relational goal that succeeds if the supplied logic variable is fresh.
nonlvaro: A non-relational goal that succeeds if the supplied logic variable is not fresh.
In the case nonlvaro, it's important to recognize that the implementation only tests whether the supplied lvar is not fresh, and "not fresh" != grounded; the result could be partially instantiated. For example, nonlvaro succeeds here when its argument is neither fresh nor grounded: