Added implication and equal?.

I also simplified evaluate to work with a tree
or a string.