[Date Index]
[Thread Index]
[Author Index]
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?
Prev by Date:
**Re: Fit rectangle to set of points**
Next by Date:
**General--Series Command uses 100% of CPU**
Previous by thread:
**Re: Exporting text to (or in) vector graphics as "sentences"?**
Next by thread:
**Re: Boolean algebra**
| |