Everything I said about -tuples can also be said about "-tuples", where is now an arbitrary set. What I mean by this is that we can define an -tuple to be a function with domain . If we set , we just get the notion of an -tuple! However, in this case we usually don't use the term "tuple", but rather a family. So, a family indexed by set is just a function with domain . An -tuple is then a family indexed by . A family of elements of (indexed by ) is a function
We sometimes write to denote the family indexed by such that for all .
If is a family (of sets), we define its product
to be the class consisting of all families indexed by which satisfy that for all . If we have that for all , we use the notation
This is exactly the set of all families of elements of indexed by .
As in the case of -tuples, class is really a set. However, in the case of -tuples, i.e. , the proof of this fact was constructive. In other words, we showed that this is a set by running an induction on . In the inductive step, we gave an explicit explanation why is a set provided that is so: is equal to , after replacing with . However, in the case of general families we can't really do this: there is no clear way to "induct" over .
The proof itself is relatively easy. Notice that every element is a function from to . This means that , or equivalently, . This means that
while is a set. (Recall that denotes the powerset of .) A class that is contained in a set is itself a set, and we are done. What you should notice is that we used Axiom of Powerset. This axiom asserts that the set of all subsets of a given set exists, but it doesn't explain where this powerset comes from. This is the non-constructive part. I'll have to come back to this later, but here's a very brief explanation.
Let's look at and . Suppose that you come up with a way to describe subsets of . Say, for example, you have a program which takes an input and spits out "yes" or "no". We can interpret this answer as "yes, it belongs to the subset" or "no, it doesn't belong to the subset". Then you got yourself a definition of a subset of ! The issue is that if you have all such programs, you can list them as in a dictionary and enumerate by natural numbers. This means that you can also enumerate all the subsets of that can be described in this way. Now, even though sets and are both infinite, they can nevertheless be compared in size. It turns out that the set has more elements then set ! This means that your programs can't possibly list all the subsets! The same is true for any kind of language or system of description that you might come up with.
Leaving this digression aside, we have a proof that is a set and that proof uses Axiom of Powerset. In a sense, this is inevitable: is essentially the same object as . I'll explain. Look at a subset of . You can define an indicator function for this set:
(for ). This function essentially answers yes/no to the question of whether . So, you get an element of . On the other hand, if you start from an element of , you can define the subset
of . Function can be thought of as an oracle which answers yes/no when asked about an element and set is just the set of elements of for which answers "yes". It's not hard to see that
What we essentially did here is to define a function which maps a subset of to the family . This function has two every nice properties. Firstly, different subsets of are mapped to different families. To see this, let's say are two subsets. Then there exists which belongs to one of them, but not to the other. We may assume that , but . Then we have
which shows that . Secondly, every element of is an image of a subset of via : a family is an image of , i.e. .
Functions having the two properties that I've just described are called bijections. Thus, is a bijection. The function defined by for is also a bijection. I leave it to you to verify this. These two functions are closely related to each other. They're inverses of each other. This is just a fancy way of saying that for all and for all , we have that
Now, back to families. Long story short, we showed that class is a set, for all and all . We can then show that the class
is also a set, for all families of sets . The reason for this is simply that this class is contained inside the class
which is itself a set. (To see that this containment is true, you can reason in the same way as for tuples.) So at the end of the day, we've gotten ourselves a new way of constructing sets: by taking products of sets that we already have! However, this operation is not as simple as it might look like. A good deal of Set Theory is about understanding this operation. To get a gist of it, say all sets are non-empty. Is the set non-empty? It turns out that, based solely on the axioms that we've introduced so far, i.e. the axioms of ZF, we cannot answer this question! The positive answer to it is in fact equivalent to the final axiom, which I still haven't introduced, and which is called Axiom of Choice.
Comments
Post a Comment