(Due Date: Wednesday 24th, March)

Write an ML program for checking the tatuology of a given propositional formula.

Use the following datatype definition for writing the formulas:

            datatype prop =
                       Atom of string
                     | Neg   of  prop
                     | Conj  of  prop * prop
                     | Disj   of  prop * prop;

For example a boolean formula:

  p & ~p

will be represented as:

     Conj (Atom "p", Neg (Atom "p"))

The function to be called should have the following prototype definition:

   taut:prop->bool