In topology and related areas of mathematics, a **subnet** is a generalization of the concept of subsequence to the case of nets. The analogue of "subsequence" for nets is the notion of a "subnet". The definition is not completely straightforward, but is designed to allow as many theorems about subsequences to generalize to nets as possible.

There are three non-equivalent definitions of "subnet".
The first definition of a subnet was introduced by John L. Kelley in 1955^{[1]} and later, Stephen Willard introduced his own (non-equivalent) variant of Kelley's definition in 1970.^{[1]}
Subnets in the sense of Willard and subnets in the sense of Kelley are the most commonly used definitions of "subnet"^{[1]} but they are each *not* equivalent to the concept of "subordinate filter", which is the analog of "subsequence" for filters (they are not equivalent in the sense that there exist subordinate filters on whose filter/subordinate–filter relationship cannot be described in terms of the corresponding net/subnet relationship).
A third definition of "subnet" (not equivalent to those given by Kelley or Willard) that *is* equivalent to the concept of "subordinate filter" was introduced independently by Smiley (1957), Aarnes and Andenaes (1972), Murdeshwar (1983), and possibly others, although it is not often used.^{[1]}

This article discusses the definition due to Willard (the other definitions are described in the article Filters in topology#Non–equivalence of subnets and subordinate filters).

See also: Filters in topology § Subnets |

There are several different non-equivalent definitions of "subnet" and this article will use the definition introduced in 1970 by Stephen Willard,^{[1]} which is as follows:
If and are nets in a set from directed sets and respectively, then is said to be a *subnet* of (*in the sense of Willard* or a *Willard–subnet*^{[1]}) if there exists a monotone final function
such that
A function is *monotone*, *order-preserving*, and an *order homomorphism* if whenever then and it is called *final* if its image is cofinal in
The set being *cofinal* in means that for every there exists some such that that is, for every there exists an such that ^{[note 1]}

Since the net is the function and the net is the function the defining condition may be written more succinctly and cleanly as either or where denotes function composition and is just notation for the function

Importantly, a subnet is not merely the restriction of a net to a directed subset of its domain
In contrast, by definition, a ** subsequence** of a given sequence is a sequence formed from the given sequence by deleting some of the elements without disturbing the relative positions of the remaining elements. Explicitly, a sequence is said to be a

**Subsequences are subnets**

Every subsequence is a subnet because if is a subsequence of then the map defined by is an order-preserving map whose image is cofinal in its codomain and satisfies for all

**Sequence and subnet but not a subsequence**

The sequence is not a subsequence of although it is a subnet because the map defined by is an order-preserving map whose image is and satisfies for all ^{[note 2]}

While a sequence is a net, a sequence has subnets that are not subsequences. The key difference is that subnets can use the same point in the net multiple times and the indexing set of the subnet can have much larger cardinality. Using the more general definition where we do not require monotonicity, a sequence is a subnet of a given sequence, if and only if it can be obtained from some subsequence by repeating its terms and reordering them.^{[2]}

**Subnet of a sequence that is not a sequence**

A subnet of a sequence is *not* necessarily a sequence.^{[3]}
For an example, let be directed by the usual order and define by letting be the ceiling of Then is an order-preserving map (because it is a non-decreasing function) whose image is a cofinal subset of its codomain. Let be any sequence (such as a constant sequence, for instance) and let for every (in other words, let ). This net is not a sequence since its domain is an uncountable set. However, is a subnet of the sequence since (by definition) holds for every Thus is a subnet of that is not a sequence.

Furthermore, the sequence is also a subnet of since the inclusion map (that sends ) is an order-preserving map whose image is a cofinal subset of its codomain and holds for all Thus and are (simultaneously) subnets of each another.

**Subnets induced by subsets**

Suppose is an infinite set and is a sequence. Then is a net on that is also a subnet of (take to be the inclusion map ). This subnet in turn induces a subsequence by defining as the smallest value in (that is, let and let for every integer ). In this way, every infinite subset of induces a canonical subnet that may be written as a subsequence. However, as demonstrated below, not every subnet of a sequence is a subsequence.

The definition generalizes some key theorems about subsequences:

- A net converges to if and only if every subnet of converges to
- A net has a cluster point if and only if it has a subnet that converges to
- A topological space is compact if and only if every net in has a convergent subnet (see net for a proof).

Taking be the identity map in the definition of "subnet" and requiring to be a cofinal subset of leads to the concept of a *cofinal subnet*, which turns out to be inadequate since, for example, the second theorem above fails for the Tychonoff plank if we restrict ourselves to cofinal subnets.

If is a net in a subset and if is a cluster point of then In other words, every cluster point of a net in a subset belongs to the closure of that set.

If is a net in then the set of all cluster points of in is equal to^{[3]}
where for each

If a net converges to a point then is necessarily a cluster point of that net.^{[3]} The converse is not guaranteed in general. That is, it is possible for to be a cluster point of a net but for to *not* converge to
However, if clusters at then there exists a subnet of that converges to
This subnet can be explicitly constructed from and the neighborhood filter at as follows: make
into a directed set by declaring that
then and is a subnet of since the map
is a monotone function whose image is a cofinal subset of and

Thus, a point is a cluster point of a given net if and only if it has a subnet that converges to ^{[3]}