An any value in a pair means that the feature must have a determined value at the end of the unification. A complete unified FD will never contain an any, since an any stands for something that must be specified. If after unifying everything, the resulting FD contains an any, then the unification fails.
An any represents a strong constraint. It means that a feature MUST be instantiated. any should not be understood as ``the feature has a value in the input'' but as ``the feature WILL have a value in the result.''
The idea of a ``resulting final FD'' coming out of the unification is important. It actually implies that the process of unification is the composition of 2 sub-processes: the unification per se and what we call here the ``determination.''
The determination process assures that the resulting FD is well formed. It is a necessary stage since the ``resulting final'' FD is more constrained than regular FDs. Here is what the determination does:
It is important to realize that none of this can be done before the
unification is finished. Section
gives a more complete
picture of the determination process and explains why there may be a need
for several cycles of determination when wait and goal freezing are
used.
Note that in practice, ANY is used rarely. The next special value GIVEN is used more often, and is easier to manipulate, except in cases where goal freezing is used.