 project_attributes(+QueryVars, 
+ResidualVars)A hook that can be defined in each module to project constraints on 
newly introduced variables back to the query variables.
QueryVars is the list of variables occurring in the query and
ResidualVars is a list of variables that have attributes 
attached. There may be variables that occur in both lists. If possible, project_attributes/2 
should change the attributes so that all constraints are expressed as 
residual goals that refer only to
QueryVars, while other variables are existentially 
quantified.
project_attributes(+QueryVars, 
+ResidualVars)A hook that can be defined in each module to project constraints on 
newly introduced variables back to the query variables.
QueryVars is the list of variables occurring in the query and
ResidualVars is a list of variables that have attributes 
attached. There may be variables that occur in both lists. If possible, project_attributes/2 
should change the attributes so that all constraints are expressed as 
residual goals that refer only to
QueryVars, while other variables are existentially 
quantified.