Module:verify_attributes/4

Module:verify_attributes( -Var, +Value, -Goals)*.

The predicate is called when trying to unify the attributed variable Var with the Prolog term Value. Note that Value may be itself an attributed variable, or may contain attributed variables. The goal verify_attributes//33 is actually called before Var is unified with Value.

It is up to the user to define which actions may be performed by verify_attributes//33 but the procedure is expected to return in Goals a list of goals to be called after____Var is unified with Value. If verify_attributes//33 fails, the unification will fail.

Notice that the verify_attributes//33 may be called even if Var< has no attributes in module [Module](structModule.md). In this case the routine should simply succeed with Goals unified with the empty list.