1. fun evaluate a (Var part) = getValue a part
  2. | evaluate a (Not part) = not (evaluate a part)
  3. | evaluate a (And part) = (evaluate a (hd part)) andalso (evaluate a (tl part))