stronger propagation

Example:

   ?- sat(X*Y).
   %@ X = Y, Y = 1.
improve memoization
remove check
support existential quantification