Associative law for infinite unions Let $A$ be a function s.t. $\mbox{dom}(A)=I\times J$.
Prove that: $\bigcup_{i \in I,j \in J}A_{ij}=\bigcup_{i \in I}\left ( \bigcup_{j \in J}A_{ij}\right )$.
The problem is that I cannot interpret the right-hand side of the equation.
By the book, if $A$ is a function with $\mbox{dom}A=I$,
$\bigcup_{i \in I}A_{i}:=\bigcup\mbox{rng}(A)$.
On the left-hand side of the equality I have to prove, we clearly have a function.
On the right-hand side, no matter how I rearrange it, I cannot interpret the nested union by definition.
Let me explain.
By definition, on the left-hand side I have
$\bigcup_{i \in I,j \in J}A_{ij}\\
:=\bigcup_{(i,j)\in I\times J}A(i,j)\\
:=\bigcup\mbox{rng}A.$
Let's see an example with:
$I\times J=\{(0,0),(0,1),(1,0),(1,1)\},\\
A(0,0)=\{0\},\\
A(0,1)=\{1\},\\
A(1,0)=\{2\},\\
A(1,1)=\{3\}.\\$
Then 
$A=\{\\
((0,0),\{0\}),\\ 
((0,1),\{1\}),\\ 
((1,0),\{2\}),\\ 
((1,1),\{3\})\}.$
And in the following calculations we can see what we get left-hand side.
$\mbox{rng}A\\
=\{y:\exists x[(x,y)\in A]\}\\
=\{\{0\},\{1\},\{2\},\{3\}\}$.
$\bigcup_{(i,j)\in I\times J}A(i,j)\\
=\bigcup \mbox{rng}A\\
=\{x:\exists y \in \mbox{rng}A(x \in y)\}\\
=\{x:\exists y \in \{\{0\},\{1\},\{2\},\{3\}\}(x \in y)\}\\
=\{0,1,2,3\}$.
For the right hand side we define the following functions.
Let $i \in \{0,1\}$.
$A\upharpoonright (\{i\}\times \{0,1\})=A\cap (\{(i,0),(i,1)\}\times \mbox{rng}A),\\
A\upharpoonright (\{0\}\times \{0,1\})=A\cap (\{(0,0),(0,1)\}\times \mbox{rng}A),\\
A\upharpoonright (\{1\}\times \{0,1\})=A\cap (\{(1,0),(1,1)\}\times \mbox{rng}A)$.
We have then:
$\mbox{rng}A\upharpoonright (\{0\}\times \{0,1\}),\\
=\{y:\exists x[(x,y)\in A\upharpoonright (\{0\}\times \{0,1\})]\},\\
=\{\{0\},\{1\}\}$.
$\mbox{rng}A\upharpoonright (\{1\}\times \{0,1\}),\\
=\{y:\exists x[(x,y)\in A\upharpoonright (\{1\}\times \{0,1\})]\},\\
=\{\{2\},\{3\}\}$.
$\bigcup_{j \in J}A\upharpoonright (\{0\}\times \{0,1\})_{j}\\
:=\bigcup \mbox{rng}A\upharpoonright (\{0\}\times \{0,1\})\\
=\{x:\exists y \in \mbox{rng}A\upharpoonright (\{0\}\times \{0,1\})(x \in y)\}\\
=\{x:\exists y \in \{\{0\},\{1\}\}(x \in y)\}\\
=\{0,1\}$
$\bigcup_{j \in J}A\upharpoonright (\{1\}\times \{0,1\})_{j}\\
=\{1,2\}$.
So it is clear by this example that taking the union for $i=1,2$ we get $\{1,2,3,4\}$.
Still, I don't have the definition for the nested union so I cannot really prove the theorem not knowing what am dealing with.
Is there a more general definition of infinite union I am not aware of?
Notation from: Introduction to Set Theory, Donald Monk.
 A: Forget that theorem about rng. What you want to prove is obvious/trivial. Show that $x$ is an element of the RHS if and only if $x$ is an element of the LHS.
Probably starting like so: $x\in\bigcup_i\bigcup_j A_{i,j}$ if and only if there exists $i$ such that $x\in\bigcup_jA_{i,j}$.
A: When they say $\bigcup_{j∈J} A_{ij}$ they are talking about the range of the function $f_i:j\mapsto A_{ij}$, in which $i$ is constant and the domain is $J$. It makes perfect sense to take the range of this function, even if we have not given it a specific name. So the double union is $\bigcup_{i \in I} (\bigcup \text{rng}(f_i))$. 
If we then let $g\colon i\mapsto \bigcup \text{rng}(f_i)$, with domain $I$, then the overall double union $\bigcup_{i \in I}\bigcup_{j \in J} A_{ij}$ is just $\bigcup \text{rng}(g)$. 
The method underlying this is the standard identification between maps from $(I \times J)$ to a set $X$ and maps from $I$ to maps from $J$ to $X$, that is,  $\text{Hom}(I \times J,X) \cong \text{Hom}(I,\text{Hom}(J,X))$. This is known as Currying. Writing $\bigcup_{i \in I} \bigcup_{j \in J} A_{ij}$, when $A\colon I \times J \to X$, is intended to silently invoke the Curried version of $A$. 
