In a previous chapter we studied sets as collections of elements. Now we go one step further: what happens when the elements of a collection are themselves sets? When we group sets together under a common rule, we get a family of sets — and that shift unlocks much more powerful mathematical tools, as we’ll see below.
What is a family of sets?
Informally, a family of sets is simply a collection whose elements are sets. For example:
\[ \mathcal{F} = \{ \{ 1, 2 \}, \{ 3, 4, 5 \}, \emptyset, \{ 1, 3 \} \} \]
Here \( \mathcal{F} \) is a set whose four elements are themselves sets.
Notation: Families are usually written with calligraphic letters — \( \mathcal{F}, \mathcal{G}, \mathcal{A}, \mathcal{B} \) — to visually distinguish them from ordinary sets.
How does this differ from any other set? Technically, it doesn’t: a family is a set. The difference is conceptual — when we know the elements are sets, we say “family” to make the structure explicit.
A family can also be built from a given set by picking some of its subsets. As a quick reminder: if \( A \) is a set, a subset of \( A \) is any set whose elements all belong to \( A \). For instance, if \( A = \{ 1, 2, 3 \} \), then \( \{ 1, 3 \} \) is a subset of \( A \) (since 1 and 3 are in \( A \)), but \( {1, 4} \) is not (since \( 4 \notin A \)). Taking several subsets of a set and grouping them together gives us a family of sets.
Everyday examples
- The collection of all courses a student is taking (each course being a set of topics) is a family.
- If we take \( A = \{ 1, 2, 3 \} \) and pick just a few of its subsets, we might form the family \( \mathcal{F} = \{ \{ 1 \}, \{ 2, 3 \} \} \). There’s no requirement to include all possible subsets — we choose whichever ones we like.
- The set of all subsets of \( A = \{ 1, 2, 3 \} \) — the power set \( \mathcal{P}(A) \) — is itself a family: \( \mathcal{P}(A) = \{ \emptyset, \{ 1 \}, \{ 2 \}, \{ 3 \}, \{ 1, 2 \}, \{ 1, 3 \}, \{ 2, 3 \}, \{ 1, 2, 3 \} \} \).
- The intervals \( [0,1], [1,2], [2,3] \) form a family of subsets of \( \mathbb{R} \).
In an earlier post on set theory we saw that \( \mathcal{P}(A) \) is the set of all subsets of \( A \). Any family of subsets of a set \( X \) is formally a subset of \( \mathcal{P}(X) \) — something we’ll explore in the next section.
The power set as a family
As a reminder from the previous chapter on set theory, the power set collects every possible subset of a given set. We revisit it here because, viewed through the lens of families, it takes on a central role that wasn’t as obvious before.
What we already know
Given a set \( A \) with \( n \) elements, its power set \( \mathcal{P}(A) \) is the set of all subsets of \( A \), including \( \emptyset \) and \( A \) itself:
\[ \mathcal{P}(A) = \{ X \mid X \subseteq A \} \qquad n \left[\mathcal{P}(A) \right] = 2^n \]
Example. If \( A = \{ 1, 2, 3 \} \):
\[ \mathcal{P}(A) = \{ \emptyset, \{ 1 \}, \{ 2 \}, \{ 3 \}, \{ 1, 2 \}, \{ 1, 3 \}, \{ 2, 3 \}, \{ 1, 2, 3 \} \} \]
with \( n[\mathcal{P}(A)] = 2^3 = 8 \) elements.
Why does this matter for families?
What we used to describe as “the set of all subsets” can now be read differently: \( \mathcal{P}(A) \) is the largest possible family of subsets of \( A \). Any other family of subsets of \( A \) is a subfamily of \( \mathcal{P}(A) \):
\[ \mathcal{F} \text{ is a family of subsets of } A \iff \mathcal{F} \subseteq \mathcal{P}(A) \]
For example, with \( A = \{ 1, 2, 3 \} \) we can form many different families by choosing some of its 8 subsets:
- \( \mathcal{F}_1 = \{ \{ 1 \}, \{ 1, 2 \}, \{ 1, 2, 3 \} \} \) — a family of 3 subsets of \( A \). Since \( \mathcal{F}_1 \subseteq \mathcal{P}(A) \), it is a subfamily of \( \mathcal{P}(A) \). ✓
- \( \mathcal{F}_2 = \{ \{ 2, 3 \}, \{ 1, 2, 3 \} \} \) — another subfamily, with just 2 subsets. ✓
- \( \mathcal{F}_3 = \{ \{ 1 \}, \{ 2 \}, \{ 3 \} \} \) — the three singletons. ✓
All of these families “live” inside \( \mathcal{P}(A) \), which acts as a kind of universal set for families of subsets of \( A \). The diagram below illustrates this idea:
Notable families inside \( \mathcal{P}(A) \)
Not all subfamilies of \( \mathcal{P}(A) \) are equally interesting. Some have special properties that make them particularly useful. Using \( A = \{ 1, 2, 3 \} \) as our example:
1. Any family — It just needs to be a subset of \( \mathcal{P}(A) \), with no further requirements.
Example: \( \mathcal{F} = \{ \{ 1 \}, \{ 1, 2 \} \} \). Here \( \mathcal{F} \subseteq \mathcal{P}(A) \), and that’s all that’s needed. ✓
2. Covering of \( A \) — A family whose sets, when all unioned together, give exactly \( A \). In other words, every element of \( A \) appears in at least one set in the family. The sets may overlap, meaning they can share elements.
Example: \( \mathcal{F} = \{ \{ 1, 2 \}, \{ 2, 3 \} \} \). Check: \( \{ 1, 2 \} \cup \{ 2, 3 \} = \{ 1, 2, 3 \} = A \). It covers \( A \) completely. ✓
3. Partition of \( A \) — A covering where the sets are also pairwise disjoint (no shared elements) and nonempty. It’s the cleanest way to split \( A \): every element ends up in exactly one piece.
Example: \( \mathcal{F} = \{ \{ 1 \}, \{ 2, 3 \} \} \). Check: \( \{ 1 \} \cup \{ 2, 3 \} = A \) ✓ and \( \{ 1 \} \cap \{ 2, 3 \} = \emptyset \) ✓. It’s a partition. ✓
4. Family of all subsets — The extreme case: \( \mathcal{F} = \mathcal{P}(A) \), containing all 8 possible subsets.
Each case is more restrictive than the one before: every partition is a covering, every covering is a family, and \( \mathcal{P}(A) \) is the most general case, containing every possibility. Coverings and partitions are explored in greater depth later in this post.
How many families of subsets are there?
We know \( \mathcal{P}(A) \) is the largest possible family of subsets of \( A \), and any family \( \mathcal{F} \) satisfies \( \mathcal{F} \subseteq \mathcal{P}(A) \). But how many distinct families can we form from the subsets of \( A \)?
Two things are worth keeping separate:
- The number of subsets of \( A \) is \( 2^n \) (where \( n = n(A) \)). These subsets are the elements of \( \mathcal{P}(A) \).
- The number of families we can form is the number of ways to select some of those subsets and group them — in other words, how many subsets does \( \mathcal{P}(A) \) itself have?
Since \( \mathcal{P}(A) \) has \( 2^n \) elements, the total number of possible families of subsets of \( A \) is:
\[ n\left[\mathcal{P}(\mathcal{P}(A))\right] = 2^{2^n} \]
Example. Let \( A = \{ 1, 2, 3 \} \):
- \( A \) has \( n = 3 \) elements.
- \( \mathcal{P}(A) \) has \( 2^3 = 8 \) subsets (listed above).
- The total number of families we can form by selecting from those 8 subsets is \( 2^8 = 256 \).
Each of those 256 families is a different selection of subsets of \( A \) — from the empty family \( \emptyset \) (which selects no subsets) all the way to \( \mathcal{P}(A) \) (which selects all of them), with \( \mathcal{F}_1, \mathcal{F}_2, \mathcal{F}_3 \) from the earlier examples somewhere in between.
This double-exponential growth \( 2^{2^n} \) shows why families of sets can become enormous structures very quickly, even when the starting set is small.
Indexed families of sets
The most systematic way to work with families is through indexing. Instead of listing sets in no particular order, we assign each one a label — an index. Let’s see how this idea arises naturally from an example.
From a list to an index
Let \( A = \{ 3, 4, 7 \} \). We pick three subsets of \( A \) and give each one a subscripted name:
\[ A_1 = \{ 3 \}, \quad A_2 = \{ 3, 7 \}, \quad A_3 = \{ 4, 7 \} \]
The family formed by these three subsets can be written by listing its elements:
\[ \mathcal{F} = \{ \{ 3 \}, \{ 3, 7 \}, \{ 4, 7 \} \} \]
But we can also write it using the names we assigned:
\[ \mathcal{F} = \{ A_1, A_2, A_3 \} \]
The subscripts 1, 2, and 3 form a set of their own. If we call it \( I = \{ 1, 2, 3 \} \), we can simplify things further using the variable \( i \) to range over all indices:
\[ \mathcal{F} = (A_i)_{i \in I} \]
where \( i \in I \), read as “the family of sets \( A_i \) such that \( i \) belongs to \( I \).”
This compact notation is powerful: whether the family has 3 sets, 100, or infinitely many, the expression \( (A_i)_{i \in I} \) covers them all — just change \( I \).
In the example above, both the indices (1, 2, 3) and the subsets were chosen arbitrarily. We could just as well have assigned:
\[ A_1 = \{ 4 \}, \quad A_2 = \{ 7 \}, \quad A_3 = \{ 3, 4 \} \]
or even used non-consecutive indices:
\[ A_2 = \{ 4 \}, \quad A_4 = \{ 7 \}, \quad A_6 = \{ 3, 4 \} \]
In the latter case the index set would be \( I = \{ 2, 4, 6 \} \) and the family would be written \( (A_i)_{i \in {2,4,6}} \). Indices are just labels — there’s no required relationship between an index value and the contents of the corresponding subset.
What if we want a relationship?
Nothing stops us from defining the subsets in terms of the index, using a formula like \( A_i = {i + 3} \). Consider:
\[ A_i = \{ i + 3 \} \quad \text{where } i = 2n, n < 3, n \in \mathbb{Z}^+ \]
Step 1 — Find the values of \( n \): Since \( n \) is a positive integer less than 3, the only options are \( n = 1 \) and \( n = 2 \).
Step 2 — Compute the indices: Since \( i = 2n \):
- \( n = 1 \): \( i = 2(1) = 2 \)
- \( n = 2 \): \( i = 2(2) = 4 \)
So \( I = {2, 4} \).
Step 3 — Compute each subset: Substituting \( i \) into \( A_i = \{ i + 3 \} \):
- \( A_2 = \{ 2 + 3 \} = \{ 5 \} \)
- \( A_4 = \{ 4 + 3 \} = \{ 7 \} \)
The resulting indexed family is:
\[ (A_i)_{i \in \{ 2, 4 \} } = \{ \{ 5 \}, \{ 7 \} \} \]
Here there is a direct relationship between the index \( i \) and the contents of \( A_i \): each subset is computed from its index via the formula \( A_i = \{ i + 3 \} \). This way of defining families is very common in mathematics, and we’ll explore it further shortly.
Also note that \( A_2 = \{ 5 \} \) and \( A_4 = \{ 7 \} \) are subsets of some set \( A \) we haven’t explicitly defined. That set might be \( A = \{ 1, 2, 3, 4, 5, 6, 7 \} \), or simply \( A = \{ 5, 7 \} \). Either way, the family \( (A_i)_{ i \in \{ 2,4 \} } \) is almost always a subset of the power set of that \( A \):
\[ (A_i)_{i \in \{ 2, 4 \} } \subseteq \mathcal{P}(A) \]
We say “almost always” because in some coincidental cases the family could turn out to be exactly \( \mathcal{P}(A) \). For instance, if \( A = \{ 5, 7 \} \), then \( \mathcal{P}(A) = \{ \emptyset, \{ 5 \}, \{ 7 \}, \{ 5, 7 \} \} \), and our family \( \{ \{ 5 \}, \{ 7 \} \} \) is only part of \( \mathcal{P}(A) \), not all of it. But a family that generated all four of those subsets would equal \( \mathcal{P}(A) \) exactly.
Definition
Let \( I \) be any set, called the index set. If we assign a set \( A_i \) to each index \( i \in I \), the collection of all those sets forms an indexed family.
The full family is written compactly as:
\[ (A_i)_{i \in I} \]
read as “the family of sets \( A_i \) such that \( i \) belongs to \( I \).”
It’s worth clarifying: “full family” doesn’t mean the power set — it simply refers to all the sets in the family, that is, every \( A_i \) for each \( i \in I \).
Note: The rule that connects each index \( i \) to its set \( A_i \) is formally a function \( f \) with \( A_i = f(i) \) — just like the example above where \( A_i = \{ i + 3 \} \). We’ll study functions in depth in upcoming chapters; for now, it’s enough to understand that each index corresponds to exactly one set.
A key difference: repetition is allowed
In an indexed family, it’s perfectly valid for two different indices to point to the same set and still count as distinct members. This might seem odd compared to an ordinary set, where repeated elements are simply ignored (by the axiom of extensionality). In an indexed family, however, each member’s identity comes from its index, not its contents.
Concretely, it’s perfectly fine to have:
\[ i \neq j \quad \text{but} \quad A_i = A_j \]
Example: Let \( I = \{ 1, 2, 3 \} \), \( A_1 = \{ a, b \} \), \( A_2 = \{ c \} \), \( A_3 = \{ a, b \} \).
Even though \( A_1 \) and \( A_3 \) contain the same elements, they are two distinct members of the family because their indices differ (\( 1 \neq 3 \)). If this were an ordinary set, we’d write \( \{ \{ a, b \}, \{ c \}, \{ a, b \} \} = \{ \{ a, b \}, \{ c \} \} \) and lose one member. Indexing prevents that.
Subfamily
Earlier we saw that “small” families like \( \mathcal{F}_1 = \{ \{ 1 \}, \{ 1, 2 \}, \{ 1, 2, 3 \} \} \) are included inside the larger family \( \mathcal{P}(A) \). Those smaller families are subfamilies — a family sitting inside a larger one.
Here’s another example. Consider:
\[ \mathcal{G} = \{ \{ 1 \}, \{ 2 \}, \{ 2, 3 \}, \{ 3, 7 \} \} \]
\[ \mathcal{F} = \{ \{ 1 \}, \{ 2, 3 \} \} \]
Since every set in \( \mathcal{F} \) also appears in \( \mathcal{G} \), we write \( \mathcal{F} \subseteq \mathcal{G} \) and say \( \mathcal{F} \) is a subfamily of \( \mathcal{G} \).
Using indexed names:
\[ \mathcal{G} = \{ A_1, A_2, A_3, A_4 \} \quad \text{and} \quad \mathcal{F} = \{ A_1, A_3 \} \]
The indices of \( \mathcal{G} \) form \( I = \{ 1, 2, 3, 4 \} \), and the indices of \( \mathcal{F} \) form \( J = \{ 1, 3 \} \). Since \( J \subseteq I \), the subfamily is obtained by restricting the original family to the indices in \( J \).
Definition. Given a family \( (A_i)_{i \in I} \) and a subset \( J \subseteq I \), the subfamily indexed by \( J \) is:
\[ (A_j)_{j \in J} \]
That is, we keep only the sets whose indices belong to \( J \).
Determining families from a rule
In the indexed family section we saw that subsets can be defined in terms of the index, using a formula like \( A_i = \{ i + 3 \} \). Many problems present families exactly this way: not by listing each set explicitly, but by giving a rule that depends on the index. The first step is to determine (compute) each member by substituting every possible index value. Here are a few more examples.
Illustrative example 1
Let \( (A_i)_{1 \leq i \leq 4} \) where \( A_i = \{ i + n \mid n \in \mathbb{Z}^+, n \text{ odd }, n < 5 \} \).
Step 1 — Identify the values of \( n \): The positive odd integers less than 5 are \( n = 1 \) and \( n = 3 \).
Step 2 — Compute each \( A_i \):
| \( i \) | \( i + 1 \) | \( i + 3 \) | \( A_i \) |
|---|---|---|---|
| 1 | 2 | 4 | \( {2, 4} \) |
| 2 | 3 | 5 | \( {3, 5} \) |
| 3 | 4 | 6 | \( {4, 6} \) |
| 4 | 5 | 7 | \( {5, 7} \) |
The full family is \( (A_i)_{i=1}^{4} = \{ \{ 2, 4 \}, \{ 3, 5 \}, \{ 4, 6 \}, \{ 5, 7 \} \} \).
Illustrative example 2
Let \( (A_i)_{1 \leq i \leq 5} \) where \( A_i = \{ x + 1 \mid x \in \mathbb{N}, x \leq i \} \) with \( \mathbb{N} = \{ 1, 2, 3, \dots \} \).
Computing each set:
- \( A_1 = \{ x + 1 \mid x \in \mathbb{N}, x \leq 1 \} \). Since \( x = 1 \) is the only natural number satisfying \( x \leq 1 \), we get \( A_1 = \{ 2 \} \).
- \( A_2 = \{ x + 1 \mid x \leq 2 \} = \{ 2, 3 \} \)
- \( A_3 = \{ x + 1 \mid x \leq 3 \} = \{ 2, 3, 4 \} \)
- \( A_4 = \{ x + 1 \mid x \leq 4 \} = \{ 2, 3, 4, 5 \} \)
- \( A_5 = \{ x + 1 \mid x \leq 5 \} = \{ 2, 3, 4, 5, 6 \} \)
Notice that each set contains the previous one: \( A_1 \subset A_2 \subset A_3 \subset A_4 \subset A_5 \). This is called an ascending chain or nested family: each member “grows” from the one before it.
Pairwise disjoint families
A family \( (A_i)_{i \in I} \) is pairwise disjoint (or mutually disjoint) if any two distinct sets in the family share no elements:
\[ \forall i, j \in I,\quad i \neq j \implies A_i \cap A_j = \emptyset \]
Example. Let \( U = \{ 1, 2, 3, 4, 5, 6 \} \), \( A_1 = \{ 1, 2 \} \), \( A_2 = \{ 3, 4 \} \), \( A_3 = \{ 5, 6 \} \).
- \( A_1 \cap A_2 = \emptyset \) ✓
- \( A_1 \cap A_3 = \emptyset \) ✓
- \( A_2 \cap A_3 = \emptyset \) ✓
The family is pairwise disjoint. ✓
Watch out: “Pairwise disjoint” is stronger than simply saying that the intersection of all the sets is empty. It’s possible to have \( A_1 \cap A_2 \cap A_3 = \emptyset \) while \( A_1 \cap A_2 \neq \emptyset \). Pairwise disjoint requires every pair to be disjoint.
Generalized operations
In a previous chapter we defined union \( A \cup B \) and intersection \( A \cap B \) for two sets. With a full family of sets, we can generalize those operations to any number of sets — finite or infinite.
Before the formal definitions, let’s briefly recall how union and intersection work for two sets, since the generalized versions are a direct extension:
- Union \( A \cup B \): an element \( x \) belongs to the union if it’s in \( A \), in \( B \), or in both. It only takes at least one of the sets to contain \( x \).
- Intersection \( A \cap B \): an element \( x \) belongs to the intersection only if it’s in both \( A \) and \( B \). If \( x \) is missing from either one, it’s not in the intersection (and if the two sets share nothing, the intersection is empty).
With a whole family, the logic is exactly the same — just with more sets:
- For the generalized union, the condition is “for some \( i \)” — \( x \) just needs to be in at least one \( A_i \). We can write this as \( x \in A_i \) for some \( i \in I \), or equivalently \( x \in A_i, \exists i \in I \).
- For the generalized intersection, the condition is “for all \( i \)” — \( x \) must belong to every \( A_i \). We write this as \( x \in A_i \) for all \( i \in I \), or \( x \in A_i, \forall i \in I \).
“For all” (\( \forall \)) and “there exists” (\( \exists \)) are the logical quantifiers we studied in an earlier post. Here we see them applied directly to sets.
Let \( \mathcal{F} = (A_i)_{i \in I} \) be an indexed family of subsets of \( A \). We have the following definitions:
Generalized union \( \bigcup_{i \in I} A_i \)
The generalized union collects every element that belongs to at least one set \( A_i \) in the family:
\[ \bigcup_{i \in I} A_i = \{ x \mid x \in A_i, \exists i \in I \} \]
Read as “the union of the \( A_i \) for some \( i \) in \( I \).”
Connection with logic: The existential quantifier \( \exists \) is exactly what we use for disjunction. Just as \( A \cup B = \{ x \mid x \in A \vee x \in B \} \), the generalized union uses \( \exists \) to express “at least one” — which also allows \( x \) to be in two, three, or all of the sets.
Generalized intersection \( \bigcap_{i \in I} A_i \)
The generalized intersection is the set of all elements that belong to every set in the family simultaneously:
\[ \bigcap_{i \in I} A_i = \{ x \mid x \in A_i, \forall i \in I \} \]
Read as “the intersection of all \( A_i \) for every \( i \) in \( I \).”
Connection with logic: The universal quantifier \( \forall \) corresponds to conjunction. Just as \( A \cap B = \{ x \mid x \in A \wedge x \in B \} \), the generalized intersection requires membership in all sets.
Side-by-side summary
| Operation | Symbol | Membership condition | Logical connector |
|---|---|---|---|
| Union | \( \bigcup_{i \in I} A_i \) | \( x \in A_i, \exists i \in I \) | \( \exists \) (at least one) |
| Intersection | \( \bigcap_{i \in I} A_i \) | \( x \in A_i, \forall i \in I \) | \( \forall \) (all) |
Special case: finite family
When \( I = \{ 1, 2, \dots, n \} \):
\[ \bigcup_{i=1}^{n} A_i = A_1 \cup A_2 \cup \cdots \cup A_n \]
\[ \bigcap_{i=1}^{n} A_i = A_1 \cap A_2 \cap \cdots \cap A_n \]
These are just the chained unions and intersections from the previous chapter, written compactly.
Illustrative example 3
Let \( I = \{ 1, 2, 3 \} \) with:
- \( A_1 = \{ 1, 2, 3, 4 \} \)
- \( A_2 = \{ 2, 4, 6, 8 \} \)
- \( A_3 = \{ 1, 3, 4, 7 \} \)
Union: \( \bigcup_{i=1}^{3} A_i = \{ 1, 2, 3, 4, 6, 7, 8 \} \) — everything that appears in at least one set.
Intersection: We check each candidate against all three:
| \( x \) | \( x \in A_1 \)? | \( x \in A_2 \)? | \( x \in A_3 \)? | \( x \in \bigcap A_i \)? |
|---|---|---|---|---|
| 1 | ✓ | ✗ | ✓ | ✗ |
| 2 | ✓ | ✓ | ✗ | ✗ |
| 3 | ✓ | ✗ | ✓ | ✗ |
| 4 | ✓ | ✓ | ✓ | ✓ |
\( \therefore \bigcap_{i=1}^{3} A_i = \{ 4 \} \)
Special case: family of two sets
If \( I = \{ 1, 2 \} \), the generalized operations reduce exactly to the ones from the previous chapter:
\[ \bigcup_{i=1}^{2} A_i = A_1 \cup A_2 \qquad \bigcap_{i=1}^{2} A_i = A_1 \cap A_2 \]
The generalized operations are literally an extension of what you already know.
Infinite families: an example with a sequence
Let \( A_n = \left[0, \dfrac{1}{n}\right] \) for \( n \in \mathbb{N}^+ \). That is: \( A_1 = [0,1] \), \( A_2 = [0, \tfrac{1}{2}] \), \( A_3 = [0, \tfrac{1}{3}] \), and so on — the sets shrink toward zero.
- Union: \( \bigcup_{n=1}^{\infty} A_n = [0, 1] \) — the largest one contains all the others.
- Intersection: \( \bigcap_{n=1}^{\infty} A_n = \{ 0 \} \) — the only element in every set is 0.
This example shows how generalized operations let us analyze limit behavior of sequences of sets — something the binary notation \( A \cup B \) can’t capture.
Properties of generalized operations
All the properties from the previous chapter extend naturally:
| Property | Generalized union | Generalized intersection |
|---|---|---|
| Monotonicity | \( A_j \subseteq \bigcup_{i \in I} A_i \) for all \( j \in I \) | \( \bigcap_{i \in I} A_i \subseteq A_j \) for all \( j \in I \) |
| Singleton family | \( \bigcup_{i \in {j}} A_i = A_j \) | \( \bigcap_{i \in {j}} A_i = A_j \) |
| Subfamily | If \( J \subseteq I \), then \( \bigcup_{j \in J} A_j \subseteq \bigcup_{i \in I} A_i \) | If \( J \subseteq I \), then \( \bigcap_{i \in I} A_i \subseteq \bigcap_{j \in J} A_j \) |
Generalized De Morgan’s Laws
In the previous chapter we saw:
\[ (A \cup B)’ = A’ \cap B’ \qquad \text{and} \qquad (A \cap B)’ = A’ \cup B’ \]
Both laws carry over word-for-word to families of any size:
Law 1: \( \left(\bigcup_{i \in I} A_i\right)’ = \bigcap_{i \in I} A_i’ \)
The complement of the generalized union is the intersection of the complements.
Law 2: \( \left(\bigcap_{i \in I} A_i\right)’ = \bigcup_{i \in I} A_i’ \)
The complement of the generalized intersection is the union of the complements.
Proof of Law 1
We’ll show \( \left(\bigcup_{i \in I} A_i\right)’ = \bigcap_{i \in I} A_i’ \) using logical equivalences.
Let \( x \) be any element of the universe \( U \):
\( x \in \left(\bigcup_{i \in I} A_i\right)’ \)
\( \iff x \notin \bigcup_{i \in I} A_i \) — definition of complement
\( \iff \neg,\left(x \in A_i, \exists i \in I\right) \) — definition of generalized union
\( \iff x \notin A_i, \forall i \in I \) — negation of existential quantifier: \( \neg \exists \equiv \forall \)
\( \iff x \in A_i’, \forall i \in I \) — definition of complement
\( \iff x \in \bigcap_{i \in I} A_i’ \) — definition of generalized intersection ∎
Since every step is a biconditional (\( \iff \)), the proof of Law 2 is analogous — just swap the roles of \( \exists \) and \( \forall \).
Example. Let \( U = \{ 1, 2, 3, 4, 5, 6 \} \), \( A_1 = \{ 1, 2, 3 \} \), \( A_2 = \{ 3, 4, 5 \} \).
- \( A_1 \cup A_2 = \{ 1, 2, 3, 4, 5 \} \), so \( (A_1 \cup A_2)’ = \{ 6 \} \)
- \( A_1′ = \{ 4, 5, 6 \} \), \( A_2′ = \{ 1, 2, 6 \} \), so \( A_1′ \cap A_2′ = \{ 6 \} \) ✓
Generalized distributive properties
In the previous chapter we saw that intersection distributes over union (and vice versa) for two sets. Those laws extend naturally to families of any size.
Statement
Let \( E \) be any set and \( (A_i)_{i \in I} \) an indexed family. Then:
| Code | Property | Name |
|---|---|---|
| FD.1 | \( E \cap \left(\bigcup_{i \in I} A_i\right) = \bigcup_{i \in I} (E \cap A_i) \) | Distributive of \( \cap \) over \( \bigcup \) |
| FD.2 | \( E \cup \left(\bigcup_{i \in I} A_i\right) = \bigcup_{i \in I} (E \cup A_i) \) | Distributive of \( \cup \) over \( \bigcup \) |
| FD.3 | \( E \cap \left(\bigcap_{i \in I} A_i\right) = \bigcap_{i \in I} (E \cap A_i) \) | Distributive of \( \cap \) over \( \bigcap \) |
| FD.4 | \( E \cup \left(\bigcap_{i \in I} A_i\right) = \bigcap_{i \in I} (E \cup A_i) \) | Distributive of \( \cup \) over \( \bigcap \) |
Connection with logic: These properties inherit directly from the distributive laws of logical connectives. For example, FD.1 corresponds to \( p \wedge (q_1 \vee q_2 \vee \cdots) \iff (p \wedge q_1) \vee (p \wedge q_2) \vee \cdots \).
Proof of FD.1
We prove by double inclusion that \( E \cap \left(\bigcup_{i \in I} A_i\right) = \bigcup_{i \in I} (E \cap A_i) \).
(I) \( E \cap \left(\bigcup_{i \in I} A_i\right) \subseteq \bigcup_{i \in I} (E \cap A_i) \):
(1) Let \( x \in E \cap \left(\bigcup_{i \in I} A_i\right) \) — hypothesis
(2) \( \implies x \in E \wedge x \in \bigcup_{i \in I} A_i \) — definition of \( \cap \)
(3) \( \implies x \in E \wedge (x \in A_i, \exists i \in I) \) — definition of \( \bigcup \)
(4) \( \implies x \in E \wedge x \in A_i, \exists i \in I \) — \( x \in E \) does not depend on \( i \)
(5) \( \implies x \in (E \cap A_i), \exists i \in I \) — definition of \( \cap \)
(6) \( \implies x \in \bigcup_{i \in I} (E \cap A_i) \) — definition of \( \bigcup \)
(7) \( \therefore E \cap \left(\bigcup_{i \in I} A_i\right) \subseteq \bigcup_{i \in I} (E \cap A_i) \) — from (1) and (6)
(II) \( \bigcup_{i \in I} (E \cap A_i) \subseteq E \cap \left(\bigcup_{i \in I} A_i\right) \):
(8) Let \( x \in \bigcup_{i \in I} (E \cap A_i) \) — hypothesis
(9) \( \implies x \in (E \cap A_i), \exists i \in I \) — definition of \( \bigcup \)
(10) \( \implies x \in E \wedge x \in A_i, \exists i \in I \) — definition of \( \cap \)
(11) \( \implies x \in E \wedge (x \in A_i, \exists i \in I) \) — extracting \( x \in E \) (does not depend on \( i \))
(12) \( \implies x \in E \wedge x \in \bigcup_{i \in I} A_i \) — definition of \( \bigcup \)
(13) \( \implies x \in E \cap \left(\bigcup_{i \in I} A_i\right) \) — definition of \( \cap \)
(14) \( \therefore \bigcup_{i \in I} (E \cap A_i) \subseteq E \cap \left(\bigcup_{i \in I} A_i\right) \) — from (8) and (13)
From (I) and (II): \( E \cap \left(\bigcup_{i \in I} A_i\right) = \bigcup_{i \in I} (E \cap A_i) \). ∎
The proofs of FD.2, FD.3, and FD.4 follow the same double-inclusion scheme, swapping quantifiers and connectives as needed.
Example
Let \( E = \{ 1, 2, 3 \} \), \( A_1 = \{ 2, 4, 6 \} \), \( A_2 = \{ 1, 3, 5 \} \), \( A_3 = \{ 3, 6, 9 \} \).
Let’s verify FD.1: \( E \cap \left(\bigcup_{i=1}^{3} A_i\right) = \bigcup_{i=1}^{3} (E \cap A_i) \)
Left-hand side:
\( \bigcup_{i=1}^{3} A_i = \{ 1, 2, 3, 4, 5, 6, 9 \} \)
\( E \cap \{ 1, 2 ,3 ,4 ,5 ,6 ,9 \} = \{ 1, 2, 3 \} \)
Right-hand side:
- \( E \cap A_1 = \{ 1, 2, 3 \} \cap \{2, 4, 6 \} = \{ 2 \} \)
- \( E \cap A_2 = \{ 1, 2, 3 \} \cap \{1, 3, 5 \} = \{1, 3 \} \)
- \( E \cap A_3 = \{ 1, 2, 3 \} \cap \{ 3, 6, 9 \} = \{ 3 \} \)
- \( \bigcup_{i=1}^{3} (E \cap A_i) = \{ 2 \} \cup \{ 1, 3 \} \cup \{ 3 \} = \{ 1, 2, 3 \} \)
Both sides agree ✓
Covering a set
One important application of families is the concept of a covering (also called a cover). Informally, a covering of a set \( X \) is a family of subsets whose union is exactly \( X \). The sets may overlap — they can share elements.
Definition
A family \( (A_i)_{i \in I} \) of subsets of \( X \) is a covering of \( X \) if:
\[ \bigcup_{i \in I} A_i = X \]
Example. Let \( X = \{ 1, 2, 3, 4, 5 \} \) with \( A_1 = \{ 1, 3 \} \), \( A_2 = \{ 2, 3, 5 \} \), \( A_3 = \{ 4 \} \). Checking element by element:
- \( 1 \in A_1 \) ✓
- \( 2 \in A_2 \) ✓
- \( 3 \in A_1 \) and also \( 3 \in A_2 \) (an element can appear in more than one set) ✓
- \( 4 \in A_3 \) ✓
- \( 5 \in A_2 \) ✓
Since every element of \( X \) appears in at least one \( A_i \), the union adds up to \( X \): \( A_1 \cup A_2 \cup A_3 = \{ 1, 2, 3, 4, 5 \} = X \). So this family does cover \( X \). ✓
What if we remove \( A_3 \)? The family would be just \( A_1 = \{ 1, 3 \} \) and \( A_2 = \{ 2, 3, 5 \} \). Then \( A_1 \cup A_2 = \{ 1, 2, 3, 5 \} \neq X \), because the element \( 4 \) doesn’t appear in any subset. Missing a single element is enough to break the covering. ✗
The bottom line: every element of \( X \) must belong to at least one \( A_i \). Overlapping is fine.
Partition of a set
A partition is a covering with an extra constraint: the pieces can’t overlap. Every element of \( X \) lands in exactly one set — no more, no less.
Definition
A family \( (A_i)_{i \in I} \) of nonempty subsets of \( X \) is a partition of \( X \) if it satisfies both conditions at once:
- Pairwise disjoint: \( i \neq j \implies A_i \cap A_j = \emptyset \)
- Covers \( X \): \( \bigcup_{i \in I} A_i = X \)
In the diagram, \( X \) is fully covered with no overlaps — that’s exactly a partition.
Examples
1. Let \( X = \{ 1, 2, 3, 4, 5, 6 \} \). The family:
\[ A_1 = \{ 1, 2 \}, \quad A_2 = \{ 3, 4 \}, \quad A_3 = \{ 5, 6 \} \]
is a partition of \( X \) because:
- All three sets are nonempty ✓
- Pairwise disjoint: \( A_1 \cap A_2 = A_1 \cap A_3 = A_2 \cap A_3 = \emptyset \) ✓
- Their union is \( X \): \( A_1 \cup A_2 \cup A_3 = \{ 1, 2 ,3 ,4 ,5 ,6 \} = X \) ✓
2. The integers \( \mathbb{Z} \) can be partitioned into the evens and the odds:
\[ \mathbb{Z} = \underbrace{ \{ \dots, -4, -2, 0, 2, 4, \dots \} }_{ \text{even} } \cup \underbrace{ \{ \dots, -3, -1, 1, 3, 5, \dots \} }_{ \text{odd} } \]
3. The family \( A_1 = \{ 1, 2, 3 \} \), \( A_2 = \{ 3, 4, 5 \} \) on \( X = \{1, 2, 3, 4, 5 \} \) is not a partition, because \( A_1 \cap A_2 = \{ 3 \} \neq \emptyset \) ✗ (they overlap).
Counting partitions: the Bell numbers
How many ways can a set of \( n \) elements be partitioned? That count is the \( n \)-th Bell number, denoted \( B_n \):
| \( n \) | \( B_n \) | Partitions of \( {1, \dots, n} \) |
|---|---|---|
| 0 | 1 | \( \{ \emptyset \} \) (the empty partition) |
| 1 | 1 | \( \{ \{ 1 \} \} \) |
| 2 | 2 | \( \{ \{ 1 \}, \{ 2 \} \} \) and \( \{ \{ 1, 2 \} \} \) |
| 3 | 5 | \( \{ 1 \}, \{ 2 \}, \{ 3 \} \), \( \{ 1, 2 \}, \{ 3 \} \), \( \{ 1, 3 \}, \{ 2 \} \), \( \{ 2, 3 \}, \{ 1 \} \), \( \{ 1, 2, 3 \} \) |
| 4 | 15 | — |
| 5 | 52 | — |
Bell numbers satisfy the recurrence:
\[ B_{n+1} = \sum_{i=0}^{n} \binom{n}{i} B_i \]
The Bell numbers grow surprisingly fast — this recurrence captures that growth.
A detailed study of Bell numbers and how to compute them requires knowledge of sequences and series — topics covered in a more advanced post.
Partition vs. covering — at a glance:
| Condition | Partition | Covering |
|---|---|---|
| \( \bigcup A_i = X \) (covers everything) | ✓ | ✓ |
| \( A_i \cap A_j = \emptyset \) (no overlaps) | ✓ | Not required |
| \( A_i \neq \emptyset \) (all nonempty) | ✓ | Not required |
Example. Let \( X = \{ 1, 2, 3, 4, 5 \} \), \( A_1 = \{ 1, 2, 3 \} \), \( A_2 = \{ 3, 4, 5 \} \).
- \( A_1 \cup A_2 = X \) → it’s a covering ✓
- \( A_1 \cap A_2 = \{ 3 \} \neq \emptyset \) → it’s not a partition ✗
Summary
| Concept | Definition |
|---|---|
| Family of sets | A collection whose elements are sets |
| Indexed family | A collection where each index \( i \in I \) corresponds to exactly one set \( A_i \); written \( (A_i)_{i \in I} \) |
| Subfamily | Restriction of the family to a sub-index set \( J \subseteq I \) |
| Pairwise disjoint family | \( i \neq j \implies A_i \cap A_j = \emptyset \) |
| Generalized union | \( \bigcup_{i \in I} A_i = \{ x \mid x \in A_i, \exists i \in I \} \) |
| Generalized intersection | \( \bigcap_{i \in I} A_i = \{ x \mid x \in A_i, \forall i \in I \} \) |
| Generalized De Morgan | \( (\bigcup A_i)’ = \bigcap A_i’ \) and \( (\bigcap A_i)’ = \bigcup A_i’ \) |
| Generalized distributive laws | \( E \cap (\bigcup A_i) = \bigcup (E \cap A_i) \) and analogues |
| Partition | Pairwise disjoint family that covers \( X \) completely |
| Covering | Family whose union equals \( X \) (overlapping allowed) |
Solved exercises
Exercise 1. Let \( U = \mathbb{Z} \). For each \( n \in \mathbb{N}^+ \), define \( A_n = \{ x \in \mathbb{Z} \mid -n \leq x \leq n \} \). Find \( \bigcup_{n=1}^{\infty} A_n \) and \( \bigcap_{n=1}^{\infty} A_n \).
Solution:
The sets are: \( A_1 = \{ -1, 0, 1 \} \), \( A_2 = \{ -2,-1, 0, 1, 2 \} \), \( A_3 = \{ -3, \dots, 3 \} \), and so on — each one contains the previous.
- Union: \( \bigcup_{n=1}^{\infty} A_n = \mathbb{Z} \), since every integer \( x \) belongs to \( A_{n=|x|} \) (or to \( A_1 \) if \( x = 0 \)). ✓
- Intersection: \( \bigcap_{n=1}^{\infty} A_n = A_1 = \{ -1, 0, 1 \} \), since \( A_1 \subseteq A_n \) for all \( n \) and \( A_1 \) is the smallest. ✓
Exercise 2. Let \( U = \{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 \} \). Define:
- \( A_1 = \{ 1, 2, 3, 4, 5 \} \)
- \( A_2 = \{ 4, 5, 6, 7 \} \)
- \( A_3 = \{ 6, 7, 8, 9, 10 \} \)
Find:
- (a) \( \bigcup_{i=1}^{3} A_i \) and \( \bigcap_{i=1}^{3} A_i \).
- (b) Verify De Morgan’s Law: \( \left(\bigcup_{i=1}^{3} A_i\right)’ = \bigcap_{i=1}^{3} A_i’ \).
Solution:
(a)
- \( \bigcup_{i=1}^{3} A_i = \{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 \} = U \)
- Looking for elements in all three sets at once:
- \( 4 \in A_1, 4 \in A_2 \) but \( 4 \notin A_3 \) ✗
- \( 6 \in A_2, 6 \in A_3 \) but \( 6 \notin A_1 \) ✗
- No element belongs to all three simultaneously.
- \( \bigcap_{i=1}^{3} A_i = \emptyset \)
(b) Checking De Morgan:
- \( \left(\bigcup A_i\right)’ = U’ = \emptyset \)
- \( A_1′ = \{ 6, 7, 8, 9, 10 \} \), \( A_2′ = \{ 1, 2, 3, 8, 9, 10 \} \), \( A_3′ = \{ 1, 2, 3, 4, 5 \} \)
- \( \bigcap_{i=1}^{3} A_i’ = \{ 6, 7, 8, 9, 10 \} \cap \{ 1, 2, 3, 8, 9, 10 \} \cap \{ 1, 2, 3, 4, 5 \} = \emptyset \) ✓
Exercise 3. Determine which of the following families are partitions of \( X = \{ a, b, c, d, e, f \} \). Justify each answer.
(a) \( \mathcal{F}_1 = \{ \{ a, b \}, \{ c, d \}, \{ e,f \} \} \)
(b) \( \mathcal{F}_2 = \{ \{ a, b, c \}, \{ c, d, e \}, \{ f \} \} \)
(c) \( \mathcal{F}_3 = \{ \{ a, b, c \}, \{ d, e \} \} \)
Solution:
(a) \( \mathcal{F}_1 \):
- All nonempty ✓
- Pairwise disjoint ✓
- Union: \( \{ a, b \} \cup \{ c, d \} \cup \{ e, f \} = X \) ✓
- It is a partition ✓
(b) \( \mathcal{F}_2 \):
- \( \{ a, b, c \} \cap \{ c, d, e \} = \{ c \} \neq \emptyset \) ✗
- Not a partition (the first two sets overlap at \( c \)).
(c) \( \mathcal{F}_3 \):
- All nonempty ✓, pairwise disjoint ✓
- Union: \( \{ a, b, c \} \cup \{d, e \} = \{a, b, c, d, e \} \neq X \) ✗ (\( f \) is missing)
- Not a partition (doesn’t cover all of \( X \)).
Exercise 4. Let \( (A_i)_{1 \leq i \leq 4} \) where \( A_i = \{ x \in \mathbb{N} \mid i \leq x \leq 2i \} \).
(a) Determine each member of the family.
(b) Find \( \bigcup_{i=1}^{4} A_i \) and \( \bigcap_{i=1}^{4} A_i \).
(c) Find \( (A_3 – A_1) \cap A_4 \).
(d) Is this family pairwise disjoint?
Solution:
(a) Computing each set:
- \( A_1 = \{ x \in \mathbb{N} \mid 1 \leq x \leq 2 \} = \{ 1, 2 \} \)
- \( A_2 = \{ x \in \mathbb{N} \mid 2 \leq x \leq 4 \} = \{ 2, 3, 4 \} \)
- \( A_3 = \{ x \in \mathbb{N} \mid 3 \leq x \leq 6 \} = \{ 3, 4, 5, 6 \} \)
- \( A_4 = \{ x \in \mathbb{N} \mid 4 \leq x \leq 8 \} = \{ 4, 5, 6, 7, 8 \} \)
(b)
- \( \bigcup_{i=1}^{4} A_i = \{ 1, 2, 3, 4, 5, 6, 7, 8 \} \)
- For the intersection, we look for elements in all four sets. No element appears in all four (for example, \( 1 \in A_1 \) but \( 1 \notin A_2 \); \( 4 \in A_2 \cap A_3 \cap A_4 \) but \( 4 \notin A_1 \)).
- \( \bigcap_{i=1}^{4} A_i = \emptyset \)
(c) \( A_3 – A_1 = \{ 3, 4, 5, 6 \} – \{ 1, 2 \} = \{3, 4, 5, 6 \} \)
\( (A_3 – A_1) \cap A_4 = \{ 3, 4, 5, 6 \} \cap \{ 4, 5, 6, 7, 8 \} = \{ 4, 5, 6 \} \)
(d) No, because \( A_1 \cap A_2 = \{ 2 \} \neq \emptyset \). One non-disjoint pair is enough to conclude the family is not pairwise disjoint.
Exercise 5. Let \( (A_i)_{1 \leq i \leq 5} \) where \( A_i = \{ x + 1 \mid x \in \mathbb{N}, x \leq i \} \) with \( \mathbb{N} = \{ 1, 2, 3, \dots \} \).
- (a) Find \( A_1, A_2, A_3, A_4, A_5 \).
- (b) Find \( A_1 \cap A_3 \cap A_5 \).
- (c) Find \( (A_5 – A_3) \cap (A_4 – A_1) \).
- (d) Find \( (A_1 – A_3) \cap (A_1 \cup A_2) \).
Solution:
(a) \( A_1 = \{ 2 \} \), \( A_2 = \{ 2, 3 \} \), \( A_3 = \{ 2, 3, 4 \} \), \( A_4 = \{ 2, 3, 4, 5 \} \), \( A_5 = \{ 2, 3, 4, 5, 6 \} \).
Notice the family is nested: \( A_1 \subset A_2 \subset A_3 \subset A_4 \subset A_5 \).
(b) Since \( A_1 \subset A_3 \subset A_5 \), the intersection is the smallest: \( A_1 \cap A_3 \cap A_5 = A_1 = \{ 2 \} \).
(c) \( A_5 – A_3 = \{ 5, 6 \} \) and \( A_4 – A_1 = \{ 3, 4, 5 \} \).
\( (A_5 – A_3) \cap (A_4 – A_1) = \{ 5, 6 \} \cap \{ 3, 4, 5 \} = \{ 5 \} \)
(d) \( A_1 – A_3 = \emptyset \) (since \( A_1 \subset A_3 \)).
\( \emptyset \cap (A_1 \cup A_2) = \emptyset \) — by property I.2. ✓
Exercise 6. Let \( E = \{ 1, 2, 3, 4 \} \), \( A_1 = \{ 2, 4, 6 \} \), \( A_2 = \{ 1, 3, 5 \} \), \( A_3 = \{ 3, 4, 7 \} \).
Verify distributive property FD.1: \( E \cap \left(\bigcup_{i=1}^{3} A_i\right) = \bigcup_{i=1}^{3} (E \cap A_i) \).
Solution:
Left-hand side:
- \( \bigcup_{i=1}^{3} A_i = \{ 1, 2, 3, 4, 5, 6, 7 \} \)
- \( E \cap \{ 1, 2, 3, 4, 5, 6, 7 \} = \{ 1, 2, 3, 4 \} \)
Right-hand side:
- \( E \cap A_1 = \{ 1, 2, 3, 4 \} \cap \{ 2, 4, 6 \} = \{ 2, 4 \} \)
- \( E \cap A_2 = \{ 1, 2, 3, 4 \} \cap \{ 1, 3, 5 \} = \{ 1, 3 \} \)
- \( E \cap A_3 = \{ 1, 2, 3, 4 \} \cap \{ 3, 4, 7 \} = \{ 3, 4 \} \)
- \( \bigcup_{i=1}^{3} (E \cap A_i) = \{ 2, 4 \} \cup \{ 1, 3 \} \cup \{ 3, 4 \} = \{ 1, 2, 3, 4 \} \)
Both sides agree ✓
Exercise 7. Prove that if \( (A_i){i \in I} \) is a pairwise disjoint family, then: \[ n \left ( \bigcup_{i \in I} A_i \right ) = \sum_{i \in I} n(A_i) \] (when \( I \) is finite and all sets are finite).
Proof:
Since the family is pairwise disjoint, no element belongs to more than one \( A_i \). So when counting the elements of \( \bigcup A_i \), each element is counted exactly once — in the unique set it belongs to. That is precisely what \( \sum_{i \in I} n(A_i) \) says. ∎
This is the generalized addition principle: when sets are disjoint, their cardinalities simply add up. When they’re not disjoint, the inclusion-exclusion principle from the previous chapter is needed instead.
There’s also a more compact, formal proof using mathematical induction. Although induction will be covered in future posts, we include it here as a preview.
Proof by induction on \( |I| = k \):
Base case: \( k = 2 \). We have \( I = {i_1, i_2} \) with \( A_{i_1} \cap A_{i_2} = \emptyset \). By inclusion-exclusion:
\[ n(A_{i_1} \cup A_{i_2}) = n(A_{i_1}) + n(A_{i_2}) – n(A_{i_1} \cap A_{i_2}) \]
Since they’re disjoint, \( n(A_{i_1} \cap A_{i_2}) = 0 \), so:
\[ n(A_{i_1} \cup A_{i_2}) = n(A_{i_1}) + n(A_{i_2}) ; ✓ \]
Inductive hypothesis. Assume that for any pairwise disjoint family of \( k \) sets:
\[ n \left ( \bigcup_{j=1}^{k} A_{i_j} \right ) = \sum_{j=1}^{k} n(A_{i_j}) \]
Inductive step: from \( k \) to \( k+1 \). Let \( I = \{ i_1, \ldots, i_k, i_{k+1} \} \) and define:
\[ B = \bigcup_{j=1}^{k} A_{i_j} \]
The full union is \( B \cup A_{i_{k+1}} \). Are \( B \) and \( A_{i_{k+1}} \) disjoint? Yes — if there were some \( x \in B \cap A_{i_{k+1}} \), then \( x \in A_{i_j} \) for some \( j \leq k \), contradicting the pairwise disjoint assumption.
Applying the base case to \( B \) and \( A_{i_{k+1}} \):
\[ n!\left(B \cup A_{i_{k+1}}\right) = n(B) + n(A_{i_{k+1}}) \]
Applying the inductive hypothesis to \( B \):
\[ n(B) = \sum_{j=1}^{k} n(A_{i_j}) \]
Putting it together:
\[ n!\left(\bigcup_{j=1}^{k+1} A_{i_j}\right) = \sum_{j=1}^{k} n(A_{i_j}) + n(A_{i_{k+1}}) = \sum_{j=1}^{k+1} n(A_{i_j}) ; ✓ \]
By induction, the result holds for every finite \( |I| = k \). \( \blacksquare \)
Mathematical induction and series (like \( \sum \)) will be developed in future posts. For now, this exercise serves as a first glimpse at both tools.
What’s next?
Families of sets are the foundation for two of the most important concepts in all of mathematics: relations and functions. A relation between two sets \( A \) and \( B \) is a subset of the Cartesian product \( A \times B \), and a function is a special kind of relation. In the next chapter we’ll build those ideas from the ground up.
Have questions about families, partitions, or generalized operations? Drop them in the comments — and check out the previous post on set theory if you need a refresher on binary operations.

