Background: I am trying to use Zorn's lemma to show the existence of ultrafilters containing an arbitrary filter on a set $X$. My argument goes as follows:
Let $\mathcal{F}_0$ be a filter on $X$. If $\mathcal{F}_0$ is an ultrafilter, we are done. If $\mathcal{F}_0$ is not an ultrafilter, then we have another filter $\mathcal{F}_1$ which contains $\mathcal{F}_0$. Again, if $\mathcal{F}_1$ is an ultrafilter we are done. If not, we produce another filter $\mathcal{F}_2$ containing $\mathcal{F}_1$ and so on and so forth. Assuming this process continues on ad infinitum, we obtain the following chain of filters ordered by inclusion
$\mathcal{F}_0\subseteq \mathcal{F}_1\subseteq \mathcal{F}_2\subseteq ...\subseteq \mathcal{F}_n \subseteq ...$ Let $\mathcal{F}=\bigcup_{i=0} ^{\infty} \mathcal{F}_i$. Then $\mathcal{F}$ is a filter. First, the empty set is not in $\mathcal{F}$ because it is not contained in any $\mathcal{F}_i$. If $A \in \mathcal{F}$ and $B$ is a superset of $A$, then there exists some $\mathcal{F}_i$ such that $A \in \mathcal{F}_i$, which implies $B \in \mathcal{F}_i$ since $\mathcal{F}_i$ is a filter. Thus $B \in \mathcal{F}$. Assume $A,B \in \mathcal{F}$. Then there exists some $\mathcal{F}_j$ such that $A,B \in \mathcal{F}_j$, which implies $A \cap B \in \mathcal{F}_j$. This in turn implies $A \cap B \in \mathcal{F}$, completing the proof. Note that $\mathcal{F}$ is an upper bound of this chain. Using Zorn's lemma, we see that this chain contains a maximal element $\mathcal{G}$. Since $\mathcal{G}$ contains $\mathcal{F}_0$, we see that there exists an ultrafilter containing $\mathcal{F}_0$.
Question: Is it true that $\mathcal{G}=\mathcal{F}$? More generally, is it the case that the upper bound in your chain is the maximal element you are looking for? If not, are there any intuitive reason why or examples of this failure?
Fixed Proof
Let $\mathcal{F}$ be a filter on $X$. Let $S$ be the set of filters containing $\mathcal{F}_0$. Consider an arbitrary chain $C$ in $S$. Let $\mathcal{F}=\bigcup_{i \in I} \mathcal{F}_i$, where $\mathcal{F}_i \in C$ for all $i \in I$. Then $\mathcal{F}$ is a filter. First, the empty set is not in $\mathcal{F}$ because it is not contained in any $\mathcal{F}_i$. If $A \in \mathcal{F}$ and $B$ is a superset of $A$, then there exists some $\mathcal{F}_i$ such that $A \in \mathcal{F}_i$, which implies $B \in \mathcal{F}_i$ since $\mathcal{F}_i$ is a filter. Thus $B \in \mathcal{F}$. Assume $A,B \in \mathcal{F}$. Then there exists some $\mathcal{F}_j$ such that $A,B \in \mathcal{F}_j$, which implies $A \cap B \in \mathcal{F}_j$. This in turn implies $A \cap B \in \mathcal{F}$, completing the proof. Note that $\mathcal{F}$ is an upper bound of this chain. Thus every chain in $S$ has an upper bound. Using Zorn's lemma, we see that $S$ contains a maximal element $\mathcal{G}$. Since $\mathcal{G}$ contains $\mathcal{F}_0$, we see that there exists an ultrafilter containing $\mathcal{F}_0$.