Spot error in proof: If A×B⊆C×D , then A⊆C and B⊆D This question is from pg 171 of this book. http://users.metu.edu.tr/serge/courses/111-2011/textbook-math111.pdf

For any sets A, B, C, and D, if A × B ⊆ C × D then A ⊆ C and B ⊆ D. Is
  the following proof correct? If so, what proof strategies does it use?
  If not, can it be fixed? Is the theorem correct? 
Proof. Suppose A × B ⊆ C × D. Let a be an arbitrary element of A and
  let b be an arbitrary element of B. Then (a, b) ∈ A × B, so since A ×
  B ⊆ C × D, (a, b) ∈ C × D. Therefore a ∈ C and b ∈ D. Since a and b
  were arbitrary elements of A and B, respectively, this shows that A ⊆
  C and B ⊆ D.

I know A or B being empty screws up the theorem but I need someone to explain to me the flaw in the proof.  
I also noticed in the same book this statement: "Because p ∈ A × (B ∩ C) means ∃x∃y(x ∈ A ∧ y ∈ B ∩ C ∧ p = (x, y))" I'm also a bit confused why the existential quantifiers were introduced when p is suppose to be arbitrary.  When we suppose (a, b) ∈ A × B are we then assuming that there exists a∈A and b∈B? On top of letting a and b are arbitrary?
I feel there is something different going on with supposing arbitrary elements in cartesian products compared to just plain sets.  I need someone to clarify what is going on.        
 A: 
Let $a$ be an arbitrary element of $A$ and let $b$ be an arbitrary element of $B$.

If one of the sets is empty, you can't do that.
In particular, if for example $A$ is empty but $B$ is not, then you will never reach the conclusion $b\in D$.
A: No, we are not assuming that $\exists a \in A$ or $\exists b \in B$.
Contrary to what Henning Makholm said in another answer, you can still let $a$ be an arbitrary element of $A$ even if $A$ is empty, just that you would be doing vacuous truths.
"Let $a$ be arbitrary" means no more than "$\forall a:$".
In fact, what the "proof" proved is:
$$\forall a,b[(a \in A \land b \in B) \implies (a \in C \land b \in D)]$$
And then tried to extrapolate it into:
$$(\forall a[a \in A \implies a \in C]) \land (\forall b[b \in B \implies b \in D])$$
This is the real incorrect step.
(Note: the definition of $A \subseteq C$ is $\forall a[a \in A \implies a \in C]$.)
A: I think the easiest way to see why $A$ empty "screws up the theorem" is to start from the fact that if $A$ is empty then $A \times B$ is empty, whatever $B$ is. Then you won't be able to show that $B$ is a subset of $D$. So, for a simple example
$$
\phi\times \mathbb{R} = \phi \subset  \{1\} \times  \{1\} 
$$
but $\mathbb{R}$ is not a subset of $\{1\} $.
