The proof of the Keisler-Shelah theorem I don't understand the proof of the Keisler-Shelah theorem on elementary equivalence and ultrapowers.  I am referring to the version appearing Chang and Keisler (Third Edition, p. 394), but Shelah's original proof contains the essentially same problem.
The notion of $\kappa$-consistency is introduced to keep track of the induction hypothesis.  For sets $F, G$ of functions on a cardinal $\lambda$ into another $\mu$ (subject to certain conditions), a filter $D$ on $\lambda$, a triple $(F, G, D)$ is $\kappa$-consistent if (I) $D$ is generated by a subfamily of cardinality at most $\kappa$, and (II) for a sequence $\{f_\rho\}_{\rho<\beta} \subseteq F$ (where $\beta$ is a cardinal less than $\mu$) and $\{\sigma_\rho\}_{\rho<\beta} \subseteq \mu$, $f \in F$, and $g\in G$, the set $\{\xi < \lambda \mid (\forall \rho < \beta)[f_\rho(\xi) = \sigma_\rho], f(\xi) = g(\xi)\}$ generates a proper filter together with $D$.
Just by the form, the clause (II) appears to be vacuously true if $G=0$ , in which case $\kappa$-consistency is just the clause (I), which is a condition solely on $D$.  In fact, the base case of the induction is the claim that there is a $\kappa$-consistent $(F, \emptyset, \{\lambda\})$, and to build the isomorphism one only needs $\kappa$-consistency of $(F, \emptyset, D)$.
But this cannot be the case, as serious effort is given to constructing $F$ such that $(F, \emptyset, D)$ is $\kappa$-consistent.  What have I misunderstood?  Or is there a typo?
 A: I attended a course taught by Tom Scanlon in Spring 2015, in which we actually went through all the gory details of Keisler-Shelah in class (this is even more astonishing when you consider that the topic of the class was model theory of valued fields!). I just checked my notes, and they contain the definition of $\kappa$-consistent just as written in Chang and Keisler, but I've circled "for all $f\in F$ and $g\in G$" and "$f(\xi) = g(\xi)$" and wrote "drop this condition if $G = \varnothing$". I would have checked everything quite carefully at the time, so I suspect this fix works.
Maybe a clearer approach would be to define two notions:

*

*"$(F,D)$ is weakly $\kappa$-consistent" means $D$ has a generating set of size $\leq \kappa$ and for all $\beta<\mu$, all families $(f_\rho)_{\rho<\beta}$ of distinct functions, and all families $(\sigma_\rho)_{\rho<\beta}$, the set $\{\xi<\lambda\mid \forall \rho<\beta\, f_\rho(\xi) = \sigma_\rho\}$ generates a proper filter together with $D$.

*"$(F,G,D)$ is $\kappa$-consistent" means $D$ has a generating set of size $\leq \kappa$ and for all $\beta<\mu$, all families $(f_\rho)_{\rho<\beta}$ of distinct functions, all families $(\sigma_\rho)_{\rho<\beta}$, and all $f\in F$ and $g\in G$, the set $\{\xi<\lambda\mid f(\xi) = g(\xi)\text{ and }\forall \rho<\beta\, f_\rho(\xi) = \sigma_\rho\}$ generates a proper filter together with $D$.

Then whenever Chang and Keisler write "$(F,0,D)$ is $\kappa$-consistent" - which they do many times over the next few pages! - you can read it as "$(F,D)$ is weakly $\kappa$-consistent".
