Boolean algebra

*To*: mathgroup at smc.vnet.net*Subject*: [mg69373] Boolean algebra*From*: "Menace" <menace232323 at yahoo.com>*Date*: Sat, 9 Sep 2006 03:26:54 -0400 (EDT)

I'd like to solve the following problem in Mathematica, Given are the following preliminaries: (a1 || a2)=True (a1 && a2) = False Then, given the following conjunctive normal form: (b1 || a1) && (b1 || a2) This can be simpliefied to: b1 || (a1 && a2) Given the prelininaries I'd like Mathematica to simplify this to: b1. However, I cant figure out how to do this. I tried the following: prelims := {(a1 && a2) -> False, (a1 || a2) -> True}; f1 := (b1 || a2) && (b1 || a1); Simplify[f1] /. prelims and this seems to work. However f2 := (b1 || a1 || c1) && (b2 || a2 || a1); Simplify[f2] /. prelims evaluates to: (b1 || a1 || c1) && (b2 || a2 || a1) instead of b1 || a1 || c1. The reason of this seems to be the order in which a2 and a1 occur in f2. How can I make sure it works regardless of the order of a1 and a2?

**Follow-Ups**:**Re: Boolean algebra***From:*"Carl K. Woll" <carlw@wolfram.com>