I am trying to solve the exercise problem of showing
A global type $p$ forks if and only if it divides.
I believe this exercise shows up in many places, including Tent and Ziegler:
(Exercise 7.1.3. Let $p$ be a type over the model $M$ and $A \subseteq M$. Assume that $M$ is $|A|^+$-saturated. Show that $p$ forks over $A$ if and only if $p$ divides over $A$.
The book kindly offers an answer to the problem, but it has apparent typos, and I can't fix it.
I appreciate any clues to this problem. In particular: is this just a fact about ultrafilters, ideals, and elements that generate ideals in a Boolean algebra (here, this will be the Boolean algebra of definable subsets of the monster)? Or do I actually need to use the definition of dividing?
In light of your previous question about parameters, let's clarify the definition of forking. Let $\mathfrak{C}$ be a monster model of our theory $T$, and let $A\subseteq \mathfrak{C}$ be a small set.
Definition: A formula with parameters from $\mathfrak{C}$ forks over $A$ if and only if it implies a disjunction $\bigvee_{i=1}^n \varphi_i(x,c_i)$, such that each formula $\varphi_i(x,c_i)$ divides over $A$. If $A\subseteq B$, then a complete type $p(x)$ in $S(B)$ forks over $A$ if and only if it contains a formula which forks over $A$.
In the above definition, the parameters $c_i$ can be any tuples from $\mathfrak{C}$. Even when we're talking about a type $p(x)\in S(B)$, the $c_i$ need not come from $B$. In fact, the definition would be pretty silly if we required the $c_i$ to be in $B$. Why?
Observation: Whenever a complete type contains a disjunction, it must contain one of the disjuncts. So if $p(x)\in S(B)$ forks over $A$, witnessed by a disjunction $\bigvee_{i=1}^n \varphi_i(x,c_i)$ with all of the parameters $c_i$ in $B$, then $p(x)$ contains the disjunction, so $p(x)$ contains some $\varphi_i(x,c_i)$, so $p(x)$ already divides over $A$.
The reason we need arbitrary parameters from $\mathfrak{C}$ (i.e. why we need the notions of forking and dividing to possibly be different for complete types) is that the point of this definition is to get nonforking extensions to larger parameter sets. The set of formulas with parameters from $\mathfrak{C}$ which divide over $A$ is not necessarily an ideal, but the set of formulas with parameters from $\mathfrak{C}$ which fork over $A$ is an ideal. It follows that any type $p(x)\in S(B)$ which does not fork over $A$ has a global extension in $S(\mathfrak{C})$ which does not fork over $A$, and hence (by restricting) an extension in $S(C)$ which does not fork over $A$ for any $B\subseteq C$.
OK, now for your actual question. Suppose $M\models T$ is $|A|^+$-saturated, $A\subseteq M$, and $p(x)\in S(M)$.
Claim: $p(x)$ divides over $A$ if and only if it forks over $A$.
Proof: Dividing easily implies forking, so suppose $p(x)$ forks over $A$. Then it contains a formula $\psi(x,m)$ with parameters from $M$ such that $\mathfrak{C}\models \forall x\, (\psi(x,m)\rightarrow \bigvee_{i=1}^n \varphi_i(x,c_i))$ and each $\varphi_i(x,c_i)$ divides over $A$. We may as well assume the $c_i$ are all the same finite tuple $c$ (by adding unmentioned parameters to each $\varphi_i$). Since $M$ is $|A|^+$-saturated, we can find $c'\in M$ such that $\text{tp}(c'/Am) = \text{tp}(c/Am)$. Now:
And since the parameters $c'$ are in $M$, $p(x)$ divides over $A$ by the Observation. $\square$
Now since $\mathfrak{C}$ itself is $|A|^+$ saturated for any small $A$, you can apply the Claim with $M = \mathfrak{C}$ to get the conclusion that a global type forks over a small set if and only if it divides over that set. But if we make the standard assumption that all objects we'll ever consider are already in $\mathfrak{C}$, then this is a trivial remark, by the Observation (there simply are no parameters outside of $\mathfrak{C}$). Of course, the fact that we can make this standard assumption boils down to the proof of the claim: the behavior of any extra parameters we could ever want can already be realized inside $\mathfrak{C}$.
As I alluded to in the comments, there are situations where it is convenient (but not strictly necessary) to instead imagine that there's a whole heirarchy of monster models, so we can always move to a bigger one if we want to. This is like how it can be foundationally convenient to assume a proper class of inaccessible cardinals instead of just assuming one or working in NBG.