(Very pedantic) notation of an indexed set? Consider the following very often-used notation: 
$$(I, \{x_i\}_{i\in I})$$
My question is: is this notation strictly speaking correct, if we require that we can retrieve which $x_i$ belongs to which $i$?
The reason I doubt so is the following: A set does not retain any information about the order of its elements. So if I create $\{x_i\}_{i\in I}$, and place it in the tuple, then strictly speaking, shouldn't I lose the information of which $x_i$ belongs to which $i$? Essentially, I place a set inside this tuple, but as soon as I give this tuple to someone else, that person can no longer see which $x_i$ belongs to which $i$, unless I also give him a map $j:I\to \{x_i\}_{i\in I}$
Is my doubt justified? (apart from the fact that I should have something better to do with my time than ask this pedantic question)
Bonus question: If $X_i$ are sets, does $X=\{X_i\}_{i\in I}$ retain more, or less information than $X=\prod_{i\in I}X_i$ (i.e., if I pass you $X$, which of the two definitions gives you more information? My guess is the second, since it retains the order in $I$. 
 A: Suppose $X$ and $I$ are non-empty sets. By a family of objects in $X$ indexed by $I$ we mean a mapping $I \to X$.
Suppose that $x \colon I \to X$ is such a mapping. If $i \in I$, it is common to denote the value $x(i)$ of $x$ at $i$ by $x_i$. In accordance with this, it is common to denote the mapping $x$ itself by $(x_i)_{i \in I}$ or $\{x_i\}_{i \in I}$, the notational distinction being nothing but preference. It should be noted, however, that $\{x_i\}_{i \in I}$ does not refer to the set
$$x(I) = \{ x_i : i \in I \},$$
the image of $x$.
If we have a family $(A_i)_{i \in I}$ of subsets of $X$, we are actually dealing with a mapping $I \to 2^X$, that is, a mapping of $I$ into the power set of $X$. The Cartesian product $\prod_{i \in I} A_i$ is defined to be the collection of all maps $a \colon I \to \bigcup_{i \in I} A_i$ such that $a(i) \in A_i$ for all $i \in I$. In other words, whereas $(A_i)_{i \in I}$ is a family of sets, the Cartesian product
$$\prod_{i \in I} A_i = \bigl\{ (a_i)_{i \in I} : a_i \in A_i \text{ for all } i \in I \bigr\}$$
consists of precisely those families of objects in $\bigcup_{i \in I} A_i$ indexed by $I$ satisfying the defining property indicated above.
A: If you're thinking about "implementing" in set theory the data type "an $I$-indexed family of elements", then it doesn't actually matter how you aggregate the elements themselves — the relevant content is the mapping $i \mapsto x_i$.
In fact, at an "implementation layer", it may be best to think of $\{ x_i \} _{i \in I}$ as being nothing more than notation for the mapping $i \mapsto x_i$.
The "etymology" here, I think, is to disambiguate between individual objects and the whole. $x_i$ denotes an individual object of the family (which depends on $i$), whereas $\{ x_i \}_{i \in I}$ refers to the entire family.
In programming terms, this is somewhat analogous to lambda expression: $x+x$ is a number that depends on $x$, whereas $\lambda x.(x+x)$ is a function.
