This question is two-fold. First, I'm looking for feedback on a proof I wrote for the following problem. It's from exercise 18 in section 3.4 of Velleman's How To Prove It. The section deals with proofs involving conjunctions and biconditionals.
Suppose $\mathcal{F}$ and $\mathcal{G}$ are families of sets. Prove that $(\cup \mathcal{F})\cap(\cup \mathcal{G}) \subseteq \cup (\mathcal{F}\cap\mathcal{G})$ iff $\forall A \in \mathcal{F} \forall B \in \mathcal{G}(A \cap B \subseteq \cup (\mathcal{F}\cap \mathcal{G}))$.
Here's my attempt at a proof. It proves both ways of the biconditional.
$\implies$ Suppose $\mathcal{F}$ and $\mathcal{G}$ are families of sets, and suppose $(\cup \mathcal{F})\cap(\cup \mathcal{G}) \subseteq \cup (\mathcal{F}\cap\mathcal{G})$. Suppose that $A$ is an arbitrary set in $\mathcal{F}$ and $B$ is an arbitrary set in $\mathcal{G}$. Let $x$ be an arbitrary element of the set $A \cap B$. Thus, since $x \in A$ and $A \in \mathcal{F}$, $x \in \cup \mathcal{F}$. Similarly, since $x \in B$ and $B \in \mathcal{G}$, $x \in \cup \mathcal{G}$. Hence $x \in (\cup \mathcal{F}) \cap (\cup \mathcal{G})$. Then since $(\cup \mathcal{F})\cap(\cup \mathcal{G}) \subseteq \cup (\mathcal{F}\cap\mathcal{G})$, it follows that $x \in \cup (\mathcal{F}\cap\mathcal{G})$. But we assumed that $x$ was an arbitrary element in the set $A \cap B$, and that $A$ and $B$ were arbitrary sets in $\mathcal{F}$ and $\mathcal{G}$, respectively. Therefore, if $(\cup \mathcal{F})\cap(\cup \mathcal{G}) \subseteq \cup (\mathcal{F}\cap\mathcal{G})$, then $\forall A \in \mathcal{F} \forall B \in \mathcal{G}(A \cap B \subseteq \cup (\mathcal{F}\cap \mathcal{G}))$.
$\impliedby$ Suppose that for all sets $A$ in $\mathcal{F}$ and all sets $B$ in $\mathcal{G}$, $A \cap B \subseteq \cup (\mathcal{F} \cap \mathcal{G})$. Suppose $x$ is an arbitrary member of the set $(\cup\mathcal{F})\cap(\cup \mathcal{G})$. Then since $x \in \cup \mathcal{F}$, there must be a set $A'$ in $\mathcal{F}$ such that $x \in A'$. Likewise, since $x \in \cup \mathcal{G}$, there must be a set $B'$ in $\mathcal{G}$ such that $x \in B'$. Based on our assumption that for all sets $A$ in $\mathcal{F}$ and all sets $B$ in $\mathcal{G}$, $A \cap B \subseteq \cup (\mathcal{F} \cap \mathcal{G})$ and the fact that $x \in A' \cap B'$, it follows that $x \in \cup (\mathcal{F} \cap \mathcal{G})$. But we assumed $x$ was an arbitrary member of the set $(\cup \mathcal{F})\cap(\cup \mathcal{G})$. Therefore, if $\forall A \in \mathcal{F} \forall B \in \mathcal{G}(A \cap B \subseteq \cup (\mathcal{F}\cap \mathcal{G}))$, then $(\cup \mathcal{F})\cap(\cup \mathcal{G}) \subseteq \cup (\mathcal{F}\cap\mathcal{G})$.
I have specific questions about the proof above. Is it too verbose? Am I backtracking too much when saying things such as 'because we assumed $P(x)$ and $Q(x)$, then $R(x)$'? Does this work for or against the proof? What about the mixing of the textual 'for all sets $A$ in $\mathcal{F}$' with the symbolic '$\forall A \in \mathcal{F}$'? Is there such a thing as too many 'suppose' being thrown together in a short amount of text? I used $A'$ and $B'$ to not interfere with the $A$ and $B$ in the assumptions. Does this make sense, is it necessary?
Secondly, I'm asking for some insight regarding equivalences of quantifiers. My first idea for proving the equivalence above was to use a chain of iff's or equivalences that started with $(\cup \mathcal{F})\cap(\cup \mathcal{G}) \subseteq \cup (\mathcal{F}\cap\mathcal{G})$ and ended with $\forall A \in \mathcal{F} \forall B \in \mathcal{G}(A \cap B \subseteq \cup (\mathcal{F}\cap \mathcal{G}))$. However, after expanding the notation a bit I got stuck at the following two statements:
- $(\cup \mathcal{F})\cap(\cup \mathcal{G}) \subseteq \cup (\mathcal{F}\cap\mathcal{G}) \iff \forall x \left ( \left ( \exists A \in \mathcal{F}(x \in A) \wedge \exists B \in \mathcal{G}(x \in B) \right ) \implies x \in \cup \left ( \mathcal{F}\cap\mathcal{G} \right ) \right )$
- $\forall A \in \mathcal{F} \forall B \in \mathcal{G}(A \cap B \subseteq \cup (\mathcal{F}\cap \mathcal{G})) \iff \forall A \in \mathcal{F} \forall B \in \mathcal{G}\forall x \left ( x \in A \wedge x \in B \implies x \in \cup (\mathcal{F}\cap \mathcal{G})\right )$
If we assume the proof is correct, and we let $P(x)$ stand for $x \in \cup (\mathcal{F}\cap \mathcal{G})$, then the following must be true (I'm not sure if using $=$ here constitutes an abuse of notation, but I mean the two formulas around it are equivalent):
$\forall x \left ( \left ( \exists A \in \mathcal{F}(x \in A) \wedge \exists B \in \mathcal{G}(x \in B) \right ) \implies P(x) \right ) = \forall A \in \mathcal{F} \forall B \in \mathcal{G}\forall x \left ( x \in A \wedge x \in B \implies P(x)\right )$
However, I couldn't derive one from the other using the other equivalences introduced at this point (the distributive law for conjunction and disjunction, the DeMorgan laws, the negation quantifier laws, etc.). Is there a fundamental reason why it is not possible to do so? Is it a shortcoming of First Order Logic or something along those lines?
Edit: regarding the second portion of my question, I was lucky enough to stumble upon this other question that answered it. If I'm not wrong, you can actually prove the equivalence by recursively applying other conversion rules. In this case what I was missing was an introduction to the concept of Prenex normal form. I was able to prove the equivalence mechanically by applying the rules described in that Wikipedia article. However, the whole thing is messy and lengthy so I'm not including it here. (One could say it's left as an exercise to the reader.)
Having said that, I'm marking pjs36's reply as the answer to this question. Thanks!