fresh (x...) g ...
Binds fresh variables to
x ... and succeeds if the goals
g ... succeed.
Q: When is a variable fresh? A: When it has no association.
Both q, x are fresh variables at first
(run* (q) (fresh (x) (== #t x) (== #t q)))
Law of fresh
x is fresh,
(v x) succeeds and associates
(v w) is the same as
(w v). (association of fresh variables is commutative)
of a fresh variable.
Where x is fresh:
x == (_.0)