Logical Simplifier

Based upon a digital design seminar, I was interested in simplifying a logical statement to its smallest form yielding the easiest implementation. So I programmed Mathematica to cycle between logical and mathematical statements using Simplify and then FullSimplify. The results were interesting. Although it doesn't offer a great deal of usefulness in the field since there is probably software out there that will do this as well, plus this is a single logical statement, single input/single output, it is interesting to use on Descrete Math and Digi homework.

Examples:

ComputeLogic[{{{0,0},{0,0}},{{1,1},{1,1}}}]

Or[And[c,Not[a],Not[b]],And[a,c,Not[b]],And[b,c,Not[a]],0,0,0,0,0,0]

LogicalSimplify[%]

And[c,Or[Not[a],Not[b]]]

UseOtherLogic[%]

And[c,Nand[a,b]]

TraditionalForm[%]

 

logicalsimplifier.nb
Example output

Copyright Chris Becker 2001-2003 All Rights Reserved.