
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.