I have been reading Karp's famous paper on the NP-Completeness of different problems, Reducibility among combinatorial problems, and I have a question on the reduction from SAT to 0/1 Integer Programming defined there.
The problem 0/1 Integer Programming is defined as:
Input: Integer matrix $A$ and integer vector $d$
Property: There exists a 0/1 vector $x$ such that $Ax=b$.
Let $B$ be a boolean formula in CNF with $p$ variables $x_1,\dots, x_p$ and $n$ clauses $C_1,\dots,C_n$.
The reduction from SAT should work like this ($C_i$ is the $i^{\text{th}}$ clause of the boolean formula):
$$
a_{ij} = \begin{cases}
1 &\text{if } x_j \in C_i \\
-1 &\text{if } \bar{x}_j \in C_i\\
0 &\text{otherwise}
\end{cases}
$$
and
$$
b_i = 1- (\text{ the number of complemented variables in } C_i ).
$$
Now if I use this procedure on the satisfiable formula
$(x_1 \vee x_2 ) \wedge (x_1 \vee x_3 ) \wedge (x_2 \vee x_3 )$, I get
$$
A =\left( \begin{array}{ccc}
1 & 1 & 0 \\
1 & 0 & 1 \\
0 & 1 & 1 \end{array} \right), \text{ and }
b = \left( \begin{array}{c}
1 \\
1 \\
1 \end{array} \right),
$$
which has no 0/1 solution. So my question is:
Have I made a very silly mistake, or is Karp's original reduction faulty?