I'm reading An Introduction to Nonstandard Analysis by Isaac Davis, and I'm confused on one of the lemma inside which helps to prove that the set of hyperreals form a field. Note that $\mathcal{U}$ here represents an ultrafilter on $\mathbb{N}$.
Lemma 2.5. Pointwise addition and multiplication are well-defined binary operations on the set of real-valued sequences under ultrafilter equivalence.
Proof. Suppose that $a_1 =_\mathcal{U} a_2$ and $b_1 =_\mathcal{U} b_2$. This means that $[[a_1 = a_2]] \in \mathcal{U}$ and $[[b_1 = b_2]] \in \mathcal{U}$, so by the finite intersection property we know that $[[a_1 = a_2]] \cap [[b_1 = b_2]] = \{j \in \mathbb{N} \mid a_1 = a_2 \text{ & } b_1 = b_2\} \in \mathcal{U}$. But the set on which both $a_1$ and $a_2$ agree and $b_1$ and $b_2$ agree is the same set on which $a_1 + b_1$ and $a_2 + b_2$ agree. That is, $\{j \in \mathbb{N} \mid a_1 = a_2 \text{ & } b_1 = b_2\} = [[a_1 + b_1 = a_2 + b_2]] \in \mathcal{U}$. Therefore $a_1 + b_1 =_\mathcal{U} a_2 + b_2$, so addition is well-defined. An analagous proof follows for multiplication.
My confusion lies in the bolded statement. I agree that $\{j \in \mathbb{N} \mid a_1 = a_2 \text{ & } b_1 = b_2\} \subseteq [[a_1 + b_1 = a_2 + b_2]]$ but not the converse. A counterexample I thought of is this: \begin{align*} a_1 = b_1 &= (1,0,0,0,\dots) \\ a_2 = b_2 &= (-1,0,0,0.\dots) \\ \end{align*} In this case, we have $[[a_1 = a_2]] = [[b_1 = b_2]] = \mathbb{N} \setminus \{0\} \implies [[a_1 = a_2]] \cap [[b_1 = b_2]] = \mathbb{N} \setminus \{0\}$, but $[[a_1 + a_2 = b_1 + b_2]] = \mathbb{N}$.
What is my error in reasoning here? Any help is appreciated.
You're correct, that statement is wrong. The right statement is that the set of indices on which $a_1+b_1$ and $a_2+b_2$ agree contains the set of indices on which $a_1$ and $a_2$ agree and on which $b_1$ and $b_2$ agree. This is enough to get the desired result:
The second set is an intersection of two sets in the ultrafilter, so is in the ultrafilter.
The first set contains a set in the ultrafilter, so is in the ultrafilter.
(Note that we haven't used the complement property of ultrafilters - the argument here applies more generally to arbitrary reduced products.)