Solve Boolean system of equations How can I solve a set of boolean equationst to get a,b,c and d.
Like:
w = a*b*c*d
x = !a*b*d
y = !b*a*d + !c*a*d + !a*b*c + !d*!a*b
z = a*c

w, x, y, z are known.
This example above is very simple to solve via substituation. But what is with complex system of equations?
I have read this question:
how to solve system of linear equations of XOR operation? but I have not xor - I have got not, and and or.
 A: It's not true that this example is simple to solve via substitution; in fact it's impossible to solve these equations for $a$, $b$, $c$ and $d$. This is because $15$ different assignments of truth values to $a$ through $d$ lead to $w$ being false (namely all except the one where $a$ through $d$ are all true), and these $15$ assignments cannot be distinguished by the $8$ different assignments to $x$, $y$ and $z$, so necessarily there are assignments to $w$ through $z$ that correspond to more than one assignment to $a$ through $d$. It follows that there's no unique solution of these equations for $a$ through $d$.
As Ilmari explained in the thread you linked to, in $\mathbb F_2$ addition corresponds to XOR and multiplication corresponds to AND. You can express NOT and OR in terms of XOR and AND like this:
$$
\begin{align}
\neg a & = 1\oplus a\;,\\
a+b & = \neg((\neg a)\cdot(\neg b))\;.
\end{align}
$$
The resulting equations over $\mathbb F_2$ won't be linear if variables are connected with AND, since that corresponds to multiplying them. As over any field, non-linear equations over $\mathbb F_2$ may or may not have a unique solution; in this case they don't.
