Author 
Comment/Response 
Nao

07/26/10 9:32pm
For a project, I have to find the simplest equivalent for various propositional statements. I attempted to use the Simplify and Refine functions in mathematica to do this. Here is the exact Input and Output that I used.
In[51]:= ! (((a \[Implies] b) \[Implies]
c) \[Implies] !! ((c \[Implies]
b) \[Implies] ! (d \[Implies] (b \[Implies] e))))
Out[51]= ! (((a \[Implies] b) \[Implies]
c) \[Implies] ((c \[Implies]
b) \[Implies] ! (d \[Implies] (b \[Implies] e))))
In[52]:=
Refine[%]
Simplify[%]
Out[52]= ! (((a \[Implies] b) \[Implies]
c) \[Implies] ((c \[Implies]
b) \[Implies] ! (d \[Implies] (b \[Implies] e))))
Out[53]= (a && ! b && ! c)  (b && c && ! d)  (b && c && e)
Repeating the operation yields the same end result.
Here is my problem. The end result uses more operators, more repeated variables, and a greater variety of operators than the initial formula. This means that it is, by all accounts, less simple than the initial.
My fist question is why mathematica would do such a thing.
My second question is more to the point of why I did this operation to begin with. The initial formula used material conditionals. The final formula used logical conjunctions and disjunctions. How would I go about making sure that my final result is in the same syntax, and is actually simpler than my starting formula?
URL: , 
