The Unapologetic Mathematician

Mathematics for the interested outsider

Complete Uniform Spaces

Okay, in a uniform space we have these things called “Cauchy nets”, which are ones where the points of the net are getting closer and closer to each other. If our space is sequential — usually a result of assuming it to be first- or second-countable — then we can forget the more complicated nets and just consider Cauchy sequences. In fact, let’s talk as if we’re looking at a sequence to build up an intuition here.

Okay, so a sequence is Cauchy if no matter what entourage we pick to give a scale of closeness, there’s some point along our sequence where all of the remaining points are at least that close to each other. If we pick a smaller entourage we might have to walk further out the sequence, but eventually every point will be at least that close to all the points beyond it. So clearly they’re all getting pressed together towards a limit, right?

Unfortunately, no. And we have an example at hand of where it can go horribly, horribly wrong. The rational numbers \mathbb{Q} are an ordered topological group, and so they have a uniform structure. We can give a base for this topology consisting of all the rays (a,\infty)=\{x\in\mathbb{Q}|a<x\}, the rays (-\infty,a)=\{x\in\mathbb{Q}|x<a\}, and the intervals (a,b)=\{x\in\mathbb{Q}|a<x<b\}, which is clearly countable and thus makes \mathbb{Q} second-countable, and thus sequential.

Okay, I’ll take part of that back. This is only “clear” if you know a few things about cardinalities which I’d thought I’d mentioned but it turns out I haven’t. It was also pointed out that I never said how to generate an equivalence relation from a simpler relation in a comment earlier. I’ll wrap up those loose ends shortly, probably tomorrow.

Back to the business at hand: we can now just consider Cauchy sequences, instead of more general Cauchy nets. Also we can explicitly give entourages that comprise a base for the uniform structure, which is all we really need to check the Cauchy condition: E_a=\{(x,y)\in\mathbb{Q}\times\mathbb{Q}|\left|x-y\right|<a\}. I did do absolute values, didn’t I? So a sequence x_i is Cauchy if for every rational number a there is an index N so that for all i\geq N and j\geq N we have \left|x_i-x_j\right|<a.

We also have a neighborhood base \mathcal{B}(q) for each rational number q given by the basic entourages. For each rational number r we have the neighborhood \{x\in\mathbb{Q}|\left|x-q\right|<r\}. These are all we need to check convergence. That is, a sequence x_i of rational numbers converges to q if for all rational r there is an index N so that for all i\geq N we have \left|x_i-q\right|<r.

And finally: for each natural number n\in\mathbb{N} there are only finitely many square numbers less than 2n^2. We’ll let a_n^2 be the largest such number, and consider the rational number x_n=\frac{a_n}{n}. We can show that this sequence is Cauchy, but it cannot converge to any rational number. In fact, if we had such a thing this sequence would be trying to converge to the square root of two.

The uniform space \mathbb{Q} is shot through with holes like this, making tons of examples of Cauchy sequences which “should” converge, but don’t. And this is all just in one little uniform space! Clearly Cauchy nets don’t converge in general. But we dearly want them to. If we have a uniform space in which every Cauchy sequence does converge, we call it “complete”.

Categorically, a complete uniform space is sort of alike an abelian group. The additional assumption is an extra property which we may forget when convenient. That is, we have a category \mathbf{Unif} of uniform spaces and a full subcategory \mathbf{CUnif} of complete uniform spaces. The inclusion functor of the subcategory is our forgetful functor, and we’d like an adjoint to this functor which assigns to each uniform space X its “completion” \overline{X}. This will contain X as a dense subspace — the closure \mathrm{Cl}(X) in \overline{X} is the whole of \overline{X} — and will satisfy the universal property that if Y is any other complete uniform space and f:X\rightarrow Y is a uniformly continuous map, then there is a unique uniformly continuous \bar{f}:\overline{X}\rightarrow Y extending f.

To construct such a completion, we’ll throw in the additional assumption that X is second-countable so that we only have to consider Cauchy sequences. This isn’t strictly necessary, but it’s convenient and gets the major ideas across. I’ll leave you to extend the construction to more general uniform spaces if you’re interested.

What we want to do is identify Cauchy sequences in X — those which should converge to something in the completion — with their limit points in the completion. But more than one sequence might be trying to converge to the same point, so we can’t just take all Cauchy sequences as points. So how do we pick out which Cauchy sequences should correspond to the same point? We’ll get at this by defining what the uniform structure (and thus the topology) should be, and then see which points have the same neighborhoods.

Given an entourage E of X we can define an entourage \overline{E} as the set of those pairs of sequences (x_i,y_j) where there exists some N so that for all i\geq N and j\geq N we have (x_i,y_j)\in E. That is, the sequences which get eventually E-close to each other are considered \overline{E}-close.

Now two sequences will be equivalent if they are \overline{E}-close for all entourages E of X. We can identify these sequences and define the points of \overline{X} to be these equivalence classes of Cauchy sequences. The entourages \overline{E} descend to define entourages on \overline{X}, thus defining it as a uniform space. It contains X as a uniform subspace if we identify x\in X with (the equivalence class of) the constant sequence x, x, x, .... It’s straightforward to show that this inclusion map is uniformly continuous. We can also verify that the second-countability of X lifts up to \overline{X}.

Now it also turns out that \overline{X} is complete. Let’s consider a sequence of Cauchy sequences (x_k)_i. This will be Cauchy if for all entourages \overline{E} there is an \bar{N} so that if i\geq\bar{N} and j\geq\bar{N} the pair ((x_k)_i,(x_k)_j) is in \overline{E}. That is, there is an N_{i,j} so that for k\geq N_{i,j} and l\geq N_{i,j} we have ((x_k)_i,(x_l)_j)\in E. We can’t take the limits in X of the individual Cauchy sequences (x_k)_i — the limits along k — but we can take the limits along i! This will give us another Cauchy sequence, which will then give a limit point in \overline{X}.

As for the universal property, consider a uniformly continuous map f:X\rightarrow Y to a complete uniform space Y. Then every point \bar{x} in \overline{X} comes from a Cauchy sequence x_i in X. Being uniformly continuous, f will send this to a Cauchy sequence f(x_i) in Y, which must then converge to some limit \bar{f}(\bar{x})\in Y since Y is complete. On the other hand, if x_i' is another representative of \bar{x} then the uniform continuity of f will force \lim f(x_i)=\lim f(x_i'), so \bar{f} is well-defined. It is unique because there can be only one continuous function on \overline{X} which agrees with f on the dense subspace X.

So what happens when we apply this construction to the rational numbers \mathbb{Q} in an attempt to patch up all those holes and make all the Cauchy sequences converge? At long last we have the real numbers \mathbb{R}! Or, at least, we have the underlying complete uniform space. What we don’t have is any of the field properties we’ll want for the real numbers, but we’re getting close to what every freshman in calculus thinks they understand.

November 29, 2007 Posted by | Point-Set Topology, Topology | 14 Comments

Countability Axioms

Now I want to toss out a few assumptions that, if they happen to hold for a topological space, will often simplify our work. There are a lot of these, and the ones that I’ll mention I’ll dole out in small, related collections. Often we will impose one of these assumptions and then just work in the subcategory of \mathbf{Top} of spaces satisfying them, so I’ll also say a few things about how these subcategories behave. Often this restriction to “nice” spaces will end up breaking some “nice” properties about \mathbf{Top}, and Grothendieck tells us that it’s often better to have a nice category with some bad objects than to have a bad category with only nice objects. Still, the restrictions can come in handy.

First I have to toss out the concept of a neighborhood base, which is for a neighborhood filter like a base for a topology. That is, a collection \mathcal{B}(x)\subseteq\mathcal{N}(x) of neighborhoods of a point x is a base for the neighborhood filter \mathcal{N}(x) if for every neighborhood N\in\mathcal{N}(x) there is some neighborhood B\in\mathcal{B}(x) with B\subseteq N. Just like we saw for a base of a topology, we only need to check the definition of continuity at a point x on a neighborhood base at x.

Now we’ll say that a topological space is “first-countable” if each neighborhood filter has a countable base. That is, the sets in \mathcal{B}(x) can be put into one-to-one correspondence with some subset of the natural numbers \mathbb{N}. We can take this collection of sets in the order given by the natural numbers: B_i. Then we can define U_0=B_0, U_1=U_0\cap B_1, and in general U_n=U_{n-1}\cap B_n. This collection U_i will also be a countable base for the neighborhood filter, and it satisfies the extra property that m\geq n implies that U_m\subseteq U_n. From this point we will assume that our countable base is ordered like this.

Why does it simplify our lives to only have a countable neighborhood base at each point? One great fact is that a function f:X\rightarrow Y from a first-countable space X will be continuous at x if each neighborhood V\in\mathcal{N}_Y(f(x)) contains the image of some neighborhood U\in\mathcal{N}_X(x). But U must contain a set from our countable base, so we can just ask if there is an i\in\mathbb{N} with f(B_i)\in V.

We also picked the B_i to nest inside of each other. Why? Well we know that if f isn’t continuous at x then we can construct a net x_\alpha\in X that converges to x but whose image doesn’t converge to f(x). But if we examine our proof of this fact, we can look only at the base B_i and construct a sequence that converges to x and whose image fails to converge to f(x). That is, a function from a first-countable space is continuous if and only if \lim f(x_i)=f(\lim x_i) for all sequences x_i\in X, and sequences are a lot more intuitive than general nets. When this happens we say that a space is “sequential”, and so we have shown that every first-countable space is sequential.

Every subspace of a first-countable space is first-countable, as is every countable product. Thus the subcategory of \mathbf{Top} consisting of first-countable spaces has all countable limits, or is “countably complete”. Disjoint unions of first-countable spaces are also first-countable, so we still have coproducts, but quotients of first-countable spaces may only be sequential. On the other hand, there are sequential spaces which are not first-countable whose subspaces are not even sequential, so we can’t just pass to the subcategory of sequential spaces to recover colimits.

A stronger condition than first-countability is second-countability. This says that not only does every neighborhood filter have a countable base, but that there is a countable base for the topology as a whole. Clearly given any point x we can take the sets in our base which contain x and thus get a countable neighborhood base at that point, so any second-countable space is also first-countable, and thus sequential.

Another nice thing about second-countable spaces is that they are “separable”. That is, in a second-countable space X there will be a countable subset S\subseteq X whose closure \mathrm{Cl}(S) is all of X. That is, given any point x\in X there is a sequence x_i\in S — we don’t need nets because X is sequential — so that x_i converges to x. That is, in some sense we can “approximate” points of X by sequences of points in S, and S itself has only countably many points.

The subcategory of all second-countable spaces is again countably complete, since subspaces and countable products of second-countable spaces are again second-countable. Again, we have coproducts, but not coequalizers since a quotient of a second-countable space may not be second-countable. However, if the map X\rightarrow X/\sim sends open sets in X to open sets in the quotient, then the quotient space is second-countable, so that’s not quite as bad as first-countability.

Second-countability (and sometimes first-countability) is a property that makes a number of constructions work out a lot more easily, and which doesn’t really break too much. It’s a very common assumption since pretty much every space an algebraic topologist or a differential geometer will think of is second-countable. However, as is usually the case with such things, “most” spaces are not second-countable. Still, it’s a common enough assumption that we will usually take it as read, making explicit those times when we don’t assume that a space is second-countable.

November 28, 2007 Posted by | Point-Set Topology, Topology | 4 Comments

Topological Groups

Now we’ve said a lot about the category \mathbf{Top} of topological spaces and continuous maps between them. In particular we’ve seen that it’s complete and cocomplete — it has all limits and colimits. But we’ve still yet to see any good examples of topological spaces. That will change soon.

First, though, I want to point out something we can do with these limits: we can define topological groups. Specifically, a topological group is a group object in the category of topological spaces. That is, it’s a topological space G along with continuous functions m:G\times G\rightarrow G, e:\{*\}\rightarrow G, and i:G\rightarrow G that satisfy the usual commutative diagrams. A morphism of topological groups is then just like a homomorphism of groups, but by a continuous function between the underlying topological spaces.

Alternately we can think of it as a group to which we’ve added a topology so that the group operations are continuous. But as we’ve seen, a topological structure feels a bit floppier than a group structure, so it’s not really as easy to think of a “topology object” in a category. So we’ll start with \mathbf{Top} and take group objects in there.

Now it turns out that every topological group is a uniform space in at least two ways. We can declare the set E_U=\{(x,y)|xy^{-1}\in U\} to be an entourage for any neighborhood U of the identity, along with any subset of G\times G containing such an E_U. Since any neighborhood of e contains e itself, each E_U must contain the diagonal \{(x,x)\}. The intersection E_U\cap E_V is the entourage E_{U\cap V}, and so this collection is closed under intersections.

To see that \bar{E}_U is an entourage, we must consider the inversion map. Any neighborhood N of the identity contains an open set U. Then the preimage i^{-1}(U) is just the “reflection” that sends each element of U to its inverse, which must thus be open. The reflection of N contains the reflection of U, and is thus a neighborhood of the identity. Then \bar{E}_U=\{(x,y)|yx^{-1}=(xy^{-1})^{-1}\in U\} is the same as E_{i^{-1}(U)}.

Now, why must there be a “half-size” entourage? We’ll need to construct a half-size neighborhood of the identity. That is, a neighborhood V so that the product of any two elements of V lands in the neighborhood U. Then (x,y) and (y,z) in E_V means that xy^{-1} and yz^{-1} are in V, and thus their product xz^{-1} is in U, so (x,z)\in E_U.

To construct this neighborhood V let’s start by assuming U is an open neighborhood by passing to an open subset of our neighborhood if necessary. Then its preimage m^{-1}(U) is open in G\times G by the continuity of m, and U\times G and G\times U will be open by the way we built the product topology. The intersection of these will be the collection of pairs (x,y)\in G\times G with both x and y in U, and whose product also lands in U, and will be open as a finite intersection of open sets. We can project this set of pairs onto its first or second factor, and take the intersection of these two projections to get the open set V which is our half-size neighborhood.

The uniform structure we have constructed is called the right uniformity on G because if we take any element a\in G the function from G to itself define by right multiplication by ax\mapsto m(x,a) — is uniformly continuous. Indeed, right multiplication sends an entourage E_U=\{(x,y)|xy^{-1}\in U\} to itself, since the pair (xa,ya) satisfies xa(ya)^{-1}=xaa^{-1}y^{-1}=xy^{-1}\in U. Left multiplication, on the other hand, sends a pair (x,y) in E_U to (ax,ay), for which we have ax(ay)^{-1}=axy^{-1}a^{-1}\in aUa^{-1}. Thus to an entourage E_U we can pick the entourage E_{a^{-1}Ua}. So left multiplication is also uniformly continuous, but not quite as easily. We could go through the same procedure to define the left uniformity which again swaps the roles of left and right multiplication. Note that the left and right uniformities need not be the same collection of entourages, but they define the same topology.

Still, this doesn’t tell us how to get our hands on any topological groups to begin with, so here’s a way to do just that: start with an ordered group. That is, a set with the structures of both a group and a partial order so that if a\leq b then ga\leq gb and ag\leq bg. Using this translation invariance we can determine the order just by knowing which elements lie above the identity, for then a\leq b if and only if e\leq a^{-1}b. The elements x with 1\leq x form what we call the positive cone G^+.

We can now use this to define a topology by declaring the positive cone to be closed. Then we’d like our translations to be homeomorphisms, so for each a the set of x with a\leq x must also be closed. Similarly we want inversion to be a homeomorphism, and since it reverses the order we find that for each a the set of x with x\leq a is closed. And then we can use the complements of all these as a subbase to generate a topology. This topology will in fact be uniform by everything we’ve done above.

And, finally, one specific example. The field \mathbb{Q} of rational numbers is an ordered group if we forget the multiplication. And thus we get a uniform topology on it, generated by the subbase of half-infinite sets. Specifically, for each rational number a the set (a,\infty) of all x\in\mathbb{Q} with a<x and the set (-\infty,a) of all x\in\mathbb{Q} with x<a are declared open, and they generate the topology. A neighborhood of 0\in\mathbb{Q} will be any subset which contains one of the form (-a,a). Since the group is abelian, both the left and the right uniformities coincide. For each rational number a we have an entourage E_a=\{(x,y)|-a<x-y<a\}. That is, a pair of rational numbers are in E_a if they differ by less than a.

November 27, 2007 Posted by | Group theory, Topology | 2 Comments

Limits of Topological Spaces

We’ve defined topological spaces and continuous maps between them. Together these give us a category \mathbf{Top}. We’d like to understand a few of our favorite categorical constructions as they work in this context.

First off, the empty set \varnothing has a unique topology, since it only has the one subset at all. Given any other space X (we’ll omit explicit mention of its topology) there is a unique function \varnothing\rightarrow X, and it is continuous since the preimage of any subset of X is empty. Thus \varnothing is the initial object in \mathbf{Top}.

On the other side, any singleton set \{*\} also has a unique topology, since the only subsets are the whole set and the empty set, which must both be open. Given any other space X there is a unique function X\rightarrow\{*\}, and it is continuous because the preimage of the empty set is empty and the preimage of the single point is the whole of X, both of which are open in X. Thus \{*\} is a terminal object in \mathbf{Top}.

Now for products. Given a family X_\alpha of topological spaces indexed by \alpha\in A, we can form the product set \prod\limits_{\alpha\in A}X_\alpha, which comes with projection functions \pi_\beta:\prod\limits_{\alpha\in A}X_\alpha\rightarrow X_\beta and satisfies a universal property. We want to use this same set and these same functions to describe the product in \mathbf{Top}, so we must choose our topology on the product set so that these projections will be continuous. Given an open set U\subseteq X_\beta, then, its preimage \pi_\beta^{-1}(U) must be open in \prod\limits_{\alpha\in A}X_\alpha. Let’s take these preimages to be a subbase and consider the topology they generate.

If X is any other space with a family of continuous maps f_\alpha:X\rightarrow X_\alpha, then the universal property in \mathbf{Set} gives us a unique function f:X\rightarrow\prod\limits_{\alpha\in A}X_\alpha. But will it be a continuous map? To check this, remember that we only need to verify it on a subbase for the topology on the product space, and we have one ready to work with. Each set in the subbase is the preimage \pi_\beta^{-1}(U) of an open set in some X_\beta, and then its preimage under f is f^{-1}(\pi_\beta^{-1}(U))=(\pi_\beta\circ f)^{-1}(U)=f_\beta^{-1}(U), which is open by the assumption that each f_\beta is continuous. And so the product set equipped with the product topology described above is the categorical product of the topological spaces X_\alpha.

What about coproducts? Let’s again start with the coproduct in \mathbf{Set}, which is the disjoint union \biguplus\limits_{\alpha\in A}X_\alpha, and which comes with canonical injections \iota_\beta:X_\beta\rightarrow\biguplus\limits_{\alpha\in A}X_\alpha. This time let’s jump right into the universal property, which says that given another space X and functions f_\alpha:X_\alpha\rightarrow X, we have a unique function f:\biguplus\limits_{\alpha\in A}X_\alpha\rightarrow X. Now we need any function we get like this to be continuous. The preimage of an open set U\subseteq X will be the union of the preimages of each of the f_\alpha, sitting inside the disjoint union. By choosing X, the f_\alpha, and U judiciously, we can get the preimage f_\alpha^{-1}(U) to be any open set we want in X_\alpha, so the open sets in the disjoint union should consist precisely of those subsets V whose preimage \iota_\alpha^{-1}(V)\subseteq X_\alpha is open for each \alpha\in A. It’s easy to verify that this collection is actually a topology, which then gives us the categorical coproduct in \mathbf{Top}.

If we start with a topological space X and take any subset S\subseteq X then we can ask for the coarsest topology on S that makes the inclusion map i:S\rightarrow X continuous, sort of like how we defined the product topology above. The open sets in S will be any set of the form S\cap U for an open subset U\subseteq X. Then given another space Y, a function f:Y\rightarrow S will be continuous if and only if i\circ f:Y\rightarrow X is continuous. Indeed, the preimage (i\circ f)^{-1}(U)=f^{-1}(S\cap U) clearly shows this equivalence. We call this the subspace topology on S.

In particular, if we have two continuous maps f:X\rightarrow Y and g:X\rightarrow Y, then we can consider the subspace E\subseteq X consisting of those points x\in X satisfying f(x)=g(x). Given any other space Z and a continuous map h:Z\rightarrow X such that f\circ h=g\circ h, clearly h sends all of Z into the set E; the function h factors as e\circ h', where e:E\rightarrow X is the inclusion map. Then h' must be continuous because h is, and so the subspace E is the equalizer of the maps f and g.

Dually, given a topological space X and an equivalence relation \sim on the underlying set of X we can define the quotient space X/\sim to be the set of equivalence classes of points of X. This comes with a canonical function p:X\rightarrow X/\sim, which we want to be continuous. Further, we know that if g:X\rightarrow Y is any function for which x_1\sim x_2 implies g(x_1)=g(x_2), then g factors as g=g'\circ p for some function g':X/\sim\rightarrow Y. We want to define the topology on the quotient set so that g is continuous if and only if g' is. Given an open set U\in Y, its preimage g'^{-1}(U) is the set of equivalence classes that get sent into U, while its preimage g^{-1}(U) is the set of all points that get sent to U. And so we say a subset V of the quotient space X/\sim is open if and only if its preimage — the union of the equivalence classes in V is open in X.

In particular, if we have two maps f:Y\rightarrow X and g:Y\rightarrow X we get an equivalence relation on X by defining x_1\sim x_2 if there is a y\in Y so that f(y)=x_1 and g(y)=x_2. If we walk through the above description of the quotient space we find that this construction gives us the coequalizer of f and g.

And now, the existence theorem for limits tells us that all limits and colimits exist in \mathbf{Top}. That is, the category of topological spaces is both complete and cocomplete.

As a particularly useful example, let’s look at an example of a pushout. If we have two topological spaces U and V and a third space A with maps A\rightarrow U and A\rightarrow V making A into a subspace of both U and V, then we can construct the pushout of U and V over A. The general rule is to first construct the coproduct of U and V, and then pass to an appropriate coequalizer. That is, we take the disjoint union U\uplus V and then identify the points in the copy of A sitting inside U with those in the copy of A sitting inside V. That is, we get the union of U and V, “glued” along A.

November 26, 2007 Posted by | Category theory, Topology | 25 Comments

Uniform Spaces

Now let’s add a little more structure to our topological spaces. We can use a topology on a set to talk about which points are “close” to a subset. Now we want to make a finer comparison by being able to say “the point a is closer to the subset A than y is to B.” We’ll do this with a technique similar to neighborhoods. But there we just defined a collection of neighborhoods for each point. Here we will define the neighborhoods of all of our points “uniformly” over the whole space.

To this end, we will equip our set X with a family \Upsilon of subsets of X\times X called the “uniform structure” on our space, and the elements E\in\Upsilon will be “entourages”. We will write E[x] for the set of y so that (x,y)\in E, and we want these sets to form a neighborhood filter for x as E varies over \Upsilon. Here we go:

  • Every entourage E contains the diagonal \{(x,x)|x\in X\}.
  • If E is an entourage and E\subseteq F\subseteq X\times X, then F is an entourage.
  • If E and F are entourages, then E\cap F is an entourage.
  • If E is an entourage then there is another entourage F so that (x,y)\in F and (y,z)\in F imply (x,z)\in E.
  • If E is an entourage then its reflection \bar{E}=\{(y,x)|(x,y)\in E\} is also an entourage.

The first of these axioms says that x\in E[x], as we’d hope for a neighborhood. The next two ensure that the collection of all the E[x] forms a neighborhood filter for x, but it does so “uniformly” for all the x\in X at once. This means that we can compare neighborhoods of two different points because each of them comes from an entourage, and we can compare the entourages. The fourth axiom is like the one I omitted from my discussion of neighborhoods; every collection of entourages gives rise to a topology, but topologies can only give back uniform structures satisfying this requirement. Finally, the last axiom gives the very reasonable condition that if y\in E[x], then x\in \bar{E}[y]. That is, if one point is in a neighborhood of another, then the other point should be in a neighborhood of the first. Sometimes this requirement is omitted to get a “quasi-uniform space”.

Now that we can compare closeness at different points, we can significantly enrich our concept of nets. Before now we talked about a net x_\alpha converging to a point x in the sense that the points x_\alpha eventually got close to x. But now we can talk about whether the points of the net are getting closer to each other. That is, for every entourage E there is a \gamma\in D so that for all \alpha\geq\gamma and \beta\geq\gamma the pair (x_\alpha,x_\beta) is in E. In this case we say that the net is “Cauchy”.

Now, if the full generality of nets still unnerves you, you can restrict to sequences. Then the condition is that there is some number N so that for any two numbers m and n bigger than N we have x_m\in E[x_n]. This gives us the notion of a Cauchy sequence, which some of you may already have heard of.

We can also enrich our notion of continuity. Before we said that a function f:X\rightarrow Y from a topological space defined by a neighborhood system (X,\mathcal{N}_X) to another one (Y,\mathcal{N}_Y) is continuous at a point x\in X if for each neighborhood V\in\mathcal{N}_Y(f(x)) contained the image f(U) of some neighborhood U\in\mathcal{N}_X(x), and we said that f was continuous if it was continuous at every point of X.

Now our uniform structures allow us to talk about neighborhoods of all points of a space together, so we can adapt our definition to work uniformly. We say that a function f:X\rightarrow Y from a uniform space (X,\Upsilon_X) to another one (Y,\Upsilon_Y) is uniformly continuous if for each entourage F\in\Upsilon_Y there is some entourage E\in\Upsilon_X that gets sent into F. More precisely, for every pair (x_1,x_2)\in E the pair (f(x_1),f(x_2)) is in F.

In particular, any neighborhood of a point f(x)\in Y is of the form F[f(x)] for some entourage F\in\Upsilon_Y. Then uniform continuity gives us an entourage E\in\Upsilon_X, and thus a neighborhood E[x] which is sent into F[f(x)]. Thus uniform continuity implies continuity, but not necessarily the other way around. It is possible that a function is continuous, but that the only ways of picking neighborhoods to satisfy the definition do not come from entourages.

These two extended definitions play well with each other too. Let’s consider a uniformly continuous function f:X\rightarrow Y and a Cauchy net x_\alpha in X. Then I assert that the image f(x_\alpha) of this net is again Cauchy. Indeed, for every entourage F\in\Upsilon_Y we want a \gamma so that \alpha\geq\gamma and \beta\geq\gamma imply that the pair (f(x_\alpha),f(x_\beta)) is in F. But uniform continuity gives us an entourage E\in\Upsilon_X that gets sent into F, and the Cauchy property of our net gives us a \gamma so that (x_\alpha,x_\beta)\in E for all \alpha and \beta above \gamma. Then (f(x_\alpha),f(x_\beta))\in F and we’re done.

It wouldn’t surprise me if one could turn this around like we did for neighborhoods. Given a map f:X\rightarrow Y which is not uniformly continuous use the uniform structure \Upsilon_X as a directed set and construct a net on it which is Cauchy in X, but whose image is not Cauchy in Y. Then one could define uniform continuity as preservation of Cauchy nets and derive the other definition from it. However I’ve been looking at this conjecture for about an hour now and don’t quite see how to prove it. So for now I’ll just leave it, but if anyone else knows the right construction offhand I’d be glad to hear it.

November 23, 2007 Posted by | Point-Set Topology, Topology | 10 Comments

Bases and Subbases

We’ve defined topologies by convergence of nets, by neighborhood systems, and by closure operators. In each case, we saw some additional hypothesis — sometimes more and sometimes less explicitly — to restrict which data actually corresponded to a topological space. That is, many neighborhood systems give rise to the same topology, which in turn induces only one of those neighborhood systems. Now let’s turn back to our original definition of topology and see how we can weaken it in a similar way.

Remember that we defined the closure of a set A in a topological space (X,\tau) as the smallest closed set containing A. To get at it, we took the intersection of all the closed sets containing A. And we knew that at least one such closed set existed because the whole space X was closed. We’re going to do the exact same thing to come up with topologies.

So let’s take a collection \sigma\subseteq P(X) of subsets of X. We want the smallest collection \tau\subseteq\sigma of subsets of X that contains \sigma so that \tau is a topology. To get at it, we consider all the topologies on X that contain \sigma, and then take their intersection. As we saw back when we first defined topologies, this intersection will again be a topology, and it will be contained in any topology containing \sigma. And we know that we have at least one topology containing \sigma because the discrete topology has all of P(X) as its open sets.

Let’s see how we can build up the topology \tau from \sigma more directly. What is it that prevents \sigma from being a topology itself? Well, it might not be closed under taking arbitrary unions and finite intersections. So let’s start with \sigma and throw in all the unions of finite intersections of elements of \sigma. We’ll use the convention that the union of no subsets of X is the empty set \varnothing, while the intersection of no subsets of X is the entire set X. This means we at least have \varnothing and X as unions of finite intersections.

Now let’s consider the intersection of two such sets. That is, if we start with \bigcup\limits_{a\in\mathcal{A}}\bigcap\limits_{i\in\mathcal{I}_a}U_{a,i} and \bigcup\limits_{b\in\mathcal{B}}\bigcap\limits_{i\in\mathcal{I}_b}U_{b,i}, then we get the intersection

\left(\bigcup\limits_{a\in A}\bigcap\limits_{i\in\mathcal{I}_a}U_{a,i}\right)\cap\left(\bigcup\limits_{b\in B}\bigcap\limits_{i\in\mathcal{I}_b}U_{b,i}\right)=\bigcup\limits_{a\in A}\bigcup\limits_{b\in B}\left(\bigcap\limits_{i\in\mathcal{I}_a}U_{a,i}\cap\bigcap\limits_{i\in\mathcal{I}_b}U_{b,i}\right)

which is again a union of finite intersections. Similarly, if we take an arbitrary union of these unions of finite intersections, we get another union of finite intersections. And any topology containing the sets in \sigma must contain these sets. So this is exactly the topology generated by \sigma. In this case, we call \sigma a subbase for the topology it generates.

“Subbase”? What happened to “base”? Well, a base for a topology is sort of halfway in between a subbase and a topology. First of all, we require that the elements of \sigma cover X. That is, every point in X shows up in at least one of the sets in \sigma. We also require that if S_1 and S_2 are in \sigma and x\in S_1\cap S_2 then there is some S_3 in \sigma with x\in S_3\subseteq S_1\cap S_2. Thus we can write the intersection of any two elements of \sigma as a union of other elements of \sigma. The covering property says that we can write the empty intersection as a union as well. And so we don’t need to take any intersections at all — only unions. That is, a base \beta for a topology \tau on a set X is a collection of subsets of X so that every subset in \tau is a union of subsets in \beta. In particular, if we start with any collection of sets \sigma and throw in all the finite intersections of subsets in \sigma we get a base for the topology generated by \sigma.

Probably the nicest thing about defining a topology with a subbase is that the subbase is all we need to check continuity. More explicitly: let \sigma\subseteq P(Y) be a subbase generating a topology \tau_Y on a set Y, and let (X,\tau_X) be any topological space. Then we have defined a function f:X\rightarrow Y to be continuous if f^{-1}(U)\in\tau_X for each U\in\tau_Y. What I’m asserting here is that we can weaken this to say that U\in\sigma implies f^{-1}(U)\in\tau_X. For then any set in \tau_Y is the union of finite intersections of sets in \sigma, and the preimage of such a set is then the union of the finite intersections of the preimages of the sets in \sigma. So if these are all open, so will be the preimage of every set in \tau_Y.

November 22, 2007 Posted by | Point-Set Topology, Topology | 3 Comments

Nets and Continuity

Okay, so why have we been talking about nets? Because continuous functions look great in terms of nets!

First I’ll give you the answer: a function f:X\rightarrow Y is continuous if and only if f(\lim\Phi)=\lim f\circ\Phi. To be a little more clear, let’s write x_\alpha=\Phi(\alpha) for \alpha\in D. Then \lim f(x_\alpha)=f(\lim x_\alpha). That is, a continuous function preserves the limits — and more generally the accumulation points — of all nets. Now this looks a lot more like algebra than that messy business of pulling back open sets!

We can even get a little finer and say that a function f:X\rightarrow Y is continuous at a point x\in X if every net in X that converges to x gets sent to a net in Y converging to f(x). Then we say that a function is continuous if it is continuous at all points of X. This should remind us of how we defined continuity at a point by using neighborhood systems, and so we’ll show the equivalence of that definition of continuity and our new one.

So, let X and Y have the neighborhood systems \mathcal{N}_X and \mathcal{N}_Y, respectively. We’ll assume that for every neighborhood V\in\mathcal{N}_Y(f(x)) there is a neighborhood U\in\mathcal{N}_X(x) with f(U)\subseteq V. Now if we take a net x_\alpha converging to x, we must show that f(x_\alpha) is eventually in V for all V\in\mathcal{N}_Y(f(x)). But for each such neighborhood of f(x) we have a neighborhood U\in\mathcal{N}_X(x), and we know that x_\alpha is eventually in U. Then f(x_\alpha) must be eventually in f(U)\subseteq V, and so f(x_\alpha) converges to x.

On the other hand, let’s suppose that there is some neighborhood N of f(x) so that no neighborhood of x completely fit into N. We’ll construct a net converging to x, but whose image doesn’t converge to f(x). For our directed set we take the neighborhood filter \mathcal{N}(x) itself, ordered by inclusion. That is, U\geq V if U\subseteq V. Then since f(U)\nsubseteq N there must be some point x_U\in U with f(x_U)\notin N. We pick any such point as the value of our net at U. Clearly the net x_U is eventually in every neighborhood of x, and so the net converges to x. But just as clearly, since f(x_U) is not eventually in N, the image net can’t converge to f(x).

So nets give us a very “algebraic” picture of topological spaces. A topological space is a set X equipped with a (partially-defined) rule that sends every convergent net \Phi:D\rightarrow X to its limit point in X, and continuous maps are those which preserve this rule. Still, there’s something different here. Since taking the limit only works on some nets, this “preservation” is to be read in a more logical sense: if the net converges then the image net converges, and we know the answer. However, the image net could easily converge without the original net converging, and then we have no idea what its limit is. This is in contradistinction to the case for algebraic structures, where the algebraic operations are always defined and the connection between source and target structures feels a lot tighter.

There’s also a tantalizing connection to category theory, in that our directed sets are categories of a sort. Clearly I’d like to think of a net as some sort of functor, and the limit of a net as being the limit of this functor. But I don’t really see what the target category should be. I could take objects to be points of X, but then what are the morphisms? And if the objects aren’t points of X, what are they? How does this process of taking a limit correspond to the categorical one?

November 21, 2007 Posted by | Point-Set Topology, Topology | 8 Comments

Nets, Part II

Okay, let’s pick up our characterization of topologies with nets by, well, actually using them to characterize a topology. First we’re going to need yet another way of looking at the points in the closure of a set.

Here goes: a point x is in \mathrm{Cl}(A) if and only if every open neighborhood of x has a nonempty intersection with A. To see this, remember that the closure of A is the complement of the interior of the complement of A. And we defined the interior of the complement of A as the set of points that have at least one open neighborhood completely contained in the complement of A. And so the closure of A is the set of points that have no open neighborhoods completely contained in the complement of A. So they all touch A somewhere. Cool?

Okay, so let’s kick it up to nets. The closure \mathrm{Cl}(A) consists of exactly the accumulation points of nets in A. Well, since we know that every accumulation point of a net is the limit of some subnet, we can equivalently say that \mathrm{Cl}(A) consists of the limit points of nets in A. So for every point in \mathrm{Cl}(A) we need a net converging to it, and conversely we need to show that the limit of any convergent net in A lands in \mathrm{Cl}(A).

First, let’s take an x\in\mathrm{Cl}(A). Then every open neighborhood U of x meets A in a nonempty intersection, and so we can pick an x_U\in U\cap A. The collection of all open neighborhoods is partially ordered by inclusion, and we’ll write U\geq V if U\subseteq V. Also, for any U_1 and U_2 we have U_1\cap U_2\geq U_1 and U_1\cap U_2\geq U_2. Thus the open neighborhoods themselves form a directed set. The function U\mapsto x_U is then a net in A. And given any neighborhood N of x there is a neighborhood U contained in N. And then for any V\geq U we have x_V\in V\subseteq U\subseteq N, so our net is eventually in N. Thus we have a net which converges to x.

Now let’s say \Phi:D\rightarrow A\subseteq X is a net converging to x\in X. Then \Phi is eventually in any open neighborhood U of x. That is, every open neighborhood of x meets A in at least one point, and thus x\in\mathrm{Cl}(A).

So for any A, the closure \mathrm{Cl}(A) is the collection of accumulation points of all nets in A. And now we can turn this around and define a closure operator by this condition. That is, we specify for each net \Phi the collection of its accumulation points, and from these we derive a topology with this closure operator.

Let’s see that we really have a closure operator. First of all, clearly U\subseteq\mathrm{Cl}(U) for all U because we can just take constant nets. Even easier is to see that there are no nets into \varnothing, and so its closure is still empty. Any accumulation point of a net in U\cup V is the limit of a subnet, which we can pick to lie completely within either U or V, and so \mathrm{Cl}(U\cup V)=\mathrm{Cl}(U)\cup\mathrm{Cl}(V).

To finish, we must show that this purported closure operator is idempotent. For this, I’ll use a really nifty trick. A point in \mathrm{Cl}(\mathrm{Cl}(U)) is the limit of some net \Phi:D\rightarrow\mathrm{Cl}(U), and each of the points \Phi(d) is the limit of a net \Phi_d:D_d\rightarrow U. So let’s build a new directed set by taking the disjoint union \biguplus\limits_{d\in D}D_d and defining the order as follows: if a\in D_c and b\in D_d for c and d in D, then a\geq b if c\geq d, or if c=d and a\geq b in D_d. Then combining the nets \Phi_d we get a net from this new directed set, which clearly has an accumulation point at the limit point of \Phi, and which is completely contained within U. This completes the verification that \mathrm{Cl} is indeed a closure operator, and thus defines a topology.

November 20, 2007 Posted by | Point-Set Topology, Topology | 6 Comments

Nets, Part I

And now we come to my favorite definition of a topology: that by nets. If you’ve got a fair-to-middling mathematical background you’ve almost certainly seen the notion of a sequence, which picks out a point of a space for each natural number. Nets generalize this to picking out more general collections of points.

The essential thing about the natural numbers for sequences is that they’re “directed”. That is, there’s an order on them. It’s a particularly simple order since it’s total — any two elements are comparable — and the underlying set is very easy to understand. We want to consider more general sorts of “directed” sets, and we define them as follows: a directed set {D} is a preorder so that for any two elements a\in D and b\in D we have some c\in D with c\geq a and c\geq b. That is, we can always find some point that’s above the two points we started with. c doesn’t have to be distinct from them, though — if a\geq b then a is just such a point.

In categorical terms this is not quite the same as saying that our preorder has coproducts, since we don’t require any sort of universality here. We might say instead that we have “weak” binary coproducts, but that might be inessentially multiplying entities, and Ockham don’t play that. However, if we also throw in the existence of “weak” coequalizers — for a pair of arrows f:A\rightarrow B and g:A\rightarrow B there is at least one arrow h:B\rightarrow C so that h\circ f=h\circ g — we get something called a “filtered” category. Since there’s no such thing as a pair of distinct parallel arrows in a preorder, this adds nothing in that case. However, filtered categories show up in the theory of colimits in categories. In fact originally colimits were only defined over filtered index categories \mathcal{J}.

Anyhow, let’s say we have such a directed set {D} at hand. If it helps, just think of \mathbb{N} with the usual order. A net in a set X is just a function \Phi:D\rightarrow X. Now we have a bunch of definitions to talk about how the image of such a function behaves. Given a subset A\subseteq X, we say that the net \Phi is “frequently” in A if for any a\in D there is a b\geq a with \Phi(b)\in A. We say that the net is “eventually” in A if there is an a\in D so that \Phi(b)\in A for all b\geq a. For sequences, the first of these conditions says that no matter how far out the sequence we go we can find a point of the sequence in A. The second says that we will not only land in A, but stay within A from that point on.

Next let’s equip X with a topology defined by a neighborhood system. We say that a net \Phi:D\rightarrow X converges to a point x\in X if for every neighborhood U\in\mathcal{N}(x), the net is eventually in U. In this case we call x the limit of \Phi. Notice that if {D} has a top element \omega so that \omega\geq a for all a\in D then the limit of \Phi is just \Phi(\omega). In a sense, then, the process of taking a limit is an attempt to say, “if {D} did have a top element, where would it have to go?”

Now, a net may not have a limit. A weaker condition is to say that x\in X is an “accumulation point” of the net \Phi if for every neighborhood U\in\mathcal{N}(x) the net is frequently in U. For instance, a sequence that jumps back and forth between two points — \Phi(n)=x for even n and \Phi(n)=y for odd n — has both x and y as accumulation points. We see in this example that if we just picked out the even elements of \mathbb{N} we’d have a convergent sequence, so let’s formalize this concept of picking out just some elements of {D}.

For sequences you might be familiar with finding subsequences by just throwing out some of the indices. However for a general directed set we might not be left with a directed set after we throw away some of its points. Instead, we define a final function f:D'\rightarrow D between directed sets to be one so that for all d\in D there is some d'\in D' so that a'\geq d' implies that f(a)\geq d. That is, no matter “how far up” we want to get in {D}, we can find some point in D' so that the image of everything above it lands above where we’re looking in {D}. For sequences this just says that no matter how far out the natural numbers we march there’s still a point ahead of us that we’re going to keep. Then, given a net \Phi:D\rightarrow X and a final function f:D'\rightarrow D we define the subnet \Phi\circ f:D'\rightarrow X.

Now the connection between accumulation points and limits is this: if x is an accumulation point of \Phi then there is some subnet of \Phi which converges to x. To show this we need to come up with a directed set D' and a final function f:D'\rightarrow D so that \Phi\circ f is eventually in any neighborhood of x. We’ll let the points of D' be pairs (a,U) where a\in D, U\in\mathcal{N}(x), and \Phi(a)\in U. We order these by saying that (a,U)\geq(b,V) if a\geq b and U\subseteq V.

Given (a,U) and (b,V) in D', then U\cap V is again a neighborhood of x, and so \Phi is frequently in U\cap V. Thus there is a c with c\geq a, c\geq b, and \Phi(c)\in U\cap V. Thus (c,U\cap V) is in D', and is above both (a,U) and (b,V), which shows that D' is directed. We can easily check that the function f:D'\rightarrow D defined by f(a,U)=a is final, and thus defines a subnet \Phi\circ f of \Phi. Now if N\in\mathcal{N}(x) is any neighborhood of x, then there is some \Phi(b)\in N. If (a,U)\geq(b,N) then \Phi(f(a,U))=\Phi(a)\in U\subseteq N. Thus \Phi\circ f is eventually in N.

Conversely, if \Phi has a limit x then x is clearly an accumulation point of \Phi.

November 19, 2007 Posted by | Point-Set Topology, Topology | 13 Comments

Continuity redux

So now we have two new ways to talk about topologies: neighborhoods, and closure operators. We can turn around and talk about continuity directly in our new languages, rather than translating them into the open set definition we started with.

First let’s tackle neighborhoods. Remember that a continuous function f from a topological space (X,\tau_X) to (Y,\tau_Y) is one which pulls back open sets. That is, to every open set V\in\tau_Y there is an open set f^{-1}(V)\in\tau_X which f sends into V. But in the neighborhood definition we don’t have open sets at the beginning; we just have neighborhoods of points.

What we do is notice that a neighborhood N of a point y is a set which contains an open set V containing x. In particular we can consider neighborhoods of a point f(x). The the preimage f^{-1}(V) is an open set containing x, which is a neighborhood! So, given a neighborhood V of f(x) there is a neighborhood U of x so that f(U)\subseteq V. This is an implication of the definition of continuity written in the language of neighborhoods, and it turns out that we can turn around and derive our definition of continuity from this condition.

To this end, we consider sets X and Y with neighborhood systems \mathcal{N}_X and \mathcal{N}_Y, respectively. We will say that a function f:X\rightarrow Y is continuous at x if for every neighborhood V\in\mathcal{N}_Y(f(x)) there is a neighborhood U\in\mathcal{N}_X(x) so that f(U)\subseteq V, and that f is continuous if it is continuous at each point in X.

Now, let V be an open set in Y. That is, a set which is a neighborhood of each of its points. We must now show that f^{-1}(V) is a neighborhood of each of its points. So consider such a point x\in f^{-1}(V), and its image f(x)\in V Since we are assuming that V is a neighborhood of f(x), there must be a neighborhood U of x so that f(U)\subseteq V. But then U\subseteq f^{-1}(V), and since the neighborhoods of x form a filter this means f^{-1}(V) is a neighborhood as well. Thus the preimage of an open set is open.

In particular, we can consider a set T\subseteq Y and its interior \mathbf{int}_Y(T), which is an open set contained in T. And so its preimage f^{-1}(\mathrm{int}_Y(T)) is an open set contained in f^{-1}(T). Thus we see that f^{-1}(\mathrm{int}_Y(T))\subseteq\mathrm{int}_X(f^{-1}(T)). Finally, we can dualize this property to see that f(\mathrm{Cl}_X(S))\subseteq\mathrm{Cl}_Y(f(S)). That is, the image of the closure of S is contained in the closure of the image of S for all subsets S\subseteq X. Let’s now take this as our definition of continuity, and derive the original definition from it.

Well, first let’s just dualize this condition to get back to say that f^{-1}(\mathrm{int}_Y(T))\subseteq\mathrm{int}_X(f^{-1}(T)) for all sets T\subseteq Y. Now any open set V is its own interior, so f^{-1}(V)\subseteq\mathrm{int}_X(f^{-1}(V)). But \mathrm{int}_X(f^{-1}(V))\subseteq f^{-1}(V) by the definition of the interior. And so f^{-1}(V) is its own interior, and is thus open.

November 16, 2007 Posted by | Point-Set Topology, Topology | 2 Comments