\documentclass[12pt,titlepage]{article} \usepackage{amsmath} \usepackage{mathrsfs} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} \usepackage{mathtools} \usepackage{graphicx} \usepackage{color} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{xparse} \usepackage{hyperref} %----Macros---------- % % Unresolved issues: % % \righttoleftarrow % \lefttorightarrow % % \color{} with HTML colorspec % \bgcolor % \array with options (without options, it's equivalent to the matrix environment) % Of the standard HTML named colors, white, black, red, green, blue and yellow % are predefined in the color package. Here are the rest. \definecolor{aqua}{rgb}{0, 1.0, 1.0} \definecolor{fuschia}{rgb}{1.0, 0, 1.0} \definecolor{gray}{rgb}{0.502, 0.502, 0.502} \definecolor{lime}{rgb}{0, 1.0, 0} \definecolor{maroon}{rgb}{0.502, 0, 0} \definecolor{navy}{rgb}{0, 0, 0.502} \definecolor{olive}{rgb}{0.502, 0.502, 0} \definecolor{purple}{rgb}{0.502, 0, 0.502} \definecolor{silver}{rgb}{0.753, 0.753, 0.753} \definecolor{teal}{rgb}{0, 0.502, 0.502} % Because of conflicts, \space and \mathop are converted to % \itexspace and \operatorname during preprocessing. % itex: \space{ht}{dp}{wd} % % Height and baseline depth measurements are in units of tenths of an ex while % the width is measured in tenths of an em. \makeatletter \newdimen\itex@wd% \newdimen\itex@dp% \newdimen\itex@thd% \def\itexspace#1#2#3{\itex@wd=#3em% \itex@wd=0.1\itex@wd% \itex@dp=#2ex% \itex@dp=0.1\itex@dp% \itex@thd=#1ex% \itex@thd=0.1\itex@thd% \advance\itex@thd\the\itex@dp% \makebox[\the\itex@wd]{\rule[-\the\itex@dp]{0cm}{\the\itex@thd}}} \makeatother % \tensor and \multiscript \makeatletter \newif\if@sup \newtoks\@sups \def\append@sup#1{\edef\act{\noexpand\@sups={\the\@sups #1}}\act}% \def\reset@sup{\@supfalse\@sups={}}% \def\mk@scripts#1#2{\if #2/ \if@sup ^{\the\@sups}\fi \else% \ifx #1_ \if@sup ^{\the\@sups}\reset@sup \fi {}_{#2}% \else \append@sup#2 \@suptrue \fi% \expandafter\mk@scripts\fi} \def\tensor#1#2{\reset@sup#1\mk@scripts#2_/} \def\multiscripts#1#2#3{\reset@sup{}\mk@scripts#1_/#2% \reset@sup\mk@scripts#3_/} \makeatother % \slash \makeatletter \newbox\slashbox \setbox\slashbox=\hbox{$/$} \def\itex@pslash#1{\setbox\@tempboxa=\hbox{$#1$} \@tempdima=0.5\wd\slashbox \advance\@tempdima 0.5\wd\@tempboxa \copy\slashbox \kern-\@tempdima \box\@tempboxa} \def\slash{\protect\itex@pslash} \makeatother % math-mode versions of \rlap, etc % from Alexander Perlis, "A complement to \smash, \llap, and lap" % http://math.arizona.edu/~aprl/publications/mathclap/ \def\clap#1{\hbox to 0pt{\hss#1\hss}} \def\mathllap{\mathpalette\mathllapinternal} \def\mathrlap{\mathpalette\mathrlapinternal} \def\mathclap{\mathpalette\mathclapinternal} \def\mathllapinternal#1#2{\llap{$\mathsurround=0pt#1{#2}$}} \def\mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}} \def\mathclapinternal#1#2{\clap{$\mathsurround=0pt#1{#2}$}} % Renames \sqrt as \oldsqrt and redefine root to result in \sqrt[#1]{#2} \let\oldroot\root \def\root#1#2{\oldroot #1 \of{#2}} \renewcommand{\sqrt}[2][]{\oldroot #1 \of{#2}} % Manually declare the txfonts symbolsC font \DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n} \SetSymbolFont{symbolsC}{bold}{U}{txsyc}{bx}{n} \DeclareFontSubstitution{U}{txsyc}{m}{n} % Manually declare the stmaryrd font \DeclareSymbolFont{stmry}{U}{stmry}{m}{n} \SetSymbolFont{stmry}{bold}{U}{stmry}{b}{n} % Manually declare the MnSymbolE font \DeclareFontFamily{OMX}{MnSymbolE}{} \DeclareSymbolFont{mnomx}{OMX}{MnSymbolE}{m}{n} \SetSymbolFont{mnomx}{bold}{OMX}{MnSymbolE}{b}{n} \DeclareFontShape{OMX}{MnSymbolE}{m}{n}{ <-6> MnSymbolE5 <6-7> MnSymbolE6 <7-8> MnSymbolE7 <8-9> MnSymbolE8 <9-10> MnSymbolE9 <10-12> MnSymbolE10 <12-> MnSymbolE12}{} % Declare specific arrows from txfonts without loading the full package \makeatletter \def\re@DeclareMathSymbol#1#2#3#4{% \let#1=\undefined \DeclareMathSymbol{#1}{#2}{#3}{#4}} \re@DeclareMathSymbol{\neArrow}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\neArr}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\seArrow}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\seArr}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\nwArrow}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\nwArr}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\swArrow}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\swArr}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\nequiv}{\mathrel}{symbolsC}{46} \re@DeclareMathSymbol{\Perp}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\Vbar}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\sslash}{\mathrel}{stmry}{12} \re@DeclareMathSymbol{\bigsqcap}{\mathop}{stmry}{"64} \re@DeclareMathSymbol{\biginterleave}{\mathop}{stmry}{"6} \re@DeclareMathSymbol{\invamp}{\mathrel}{symbolsC}{77} \re@DeclareMathSymbol{\parr}{\mathrel}{symbolsC}{77} \makeatother % \llangle, \rrangle, \lmoustache and \rmoustache from MnSymbolE \makeatletter \def\Decl@Mn@Delim#1#2#3#4{% \if\relax\noexpand#1% \let#1\undefined \fi \DeclareMathDelimiter{#1}{#2}{#3}{#4}{#3}{#4}} \def\Decl@Mn@Open#1#2#3{\Decl@Mn@Delim{#1}{\mathopen}{#2}{#3}} \def\Decl@Mn@Close#1#2#3{\Decl@Mn@Delim{#1}{\mathclose}{#2}{#3}} \Decl@Mn@Open{\llangle}{mnomx}{'164} \Decl@Mn@Close{\rrangle}{mnomx}{'171} \Decl@Mn@Open{\lmoustache}{mnomx}{'245} \Decl@Mn@Close{\rmoustache}{mnomx}{'244} \makeatother % Widecheck \makeatletter \DeclareRobustCommand\widecheck[1]{{\mathpalette\@widecheck{#1}}} \def\@widecheck#1#2{% \setbox\z@\hbox{\m@th$#1#2$}% \setbox\tw@\hbox{\m@th$#1% \widehat{% \vrule\@width\z@\@height\ht\z@ \vrule\@height\z@\@width\wd\z@}$}% \dp\tw@-\ht\z@ \@tempdima\ht\z@ \advance\@tempdima2\ht\tw@ \divide\@tempdima\thr@@ \setbox\tw@\hbox{% \raise\@tempdima\hbox{\scalebox{1}[-1]{\lower\@tempdima\box \tw@}}}% {\ooalign{\box\tw@ \cr \box\z@}}} \makeatother % \mathraisebox{voffset}[height][depth]{something} \makeatletter \NewDocumentCommand\mathraisebox{moom}{% \IfNoValueTF{#2}{\def\@temp##1##2{\raisebox{#1}{$\m@th##1##2$}}}{% \IfNoValueTF{#3}{\def\@temp##1##2{\raisebox{#1}[#2]{$\m@th##1##2$}}% }{\def\@temp##1##2{\raisebox{#1}[#2][#3]{$\m@th##1##2$}}}}% \mathpalette\@temp{#4}} \makeatletter % udots (taken from yhmath) \makeatletter \def\udots{\mathinner{\mkern2mu\raise\p@\hbox{.} \mkern2mu\raise4\p@\hbox{.}\mkern1mu \raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}} \makeatother %% Fix array \newcommand{\itexarray}[1]{\begin{matrix}#1\end{matrix}} %% \itexnum is a noop \newcommand{\itexnum}[1]{#1} %% Renaming existing commands \newcommand{\underoverset}[3]{\underset{#1}{\overset{#2}{#3}}} \newcommand{\widevec}{\overrightarrow} \newcommand{\darr}{\downarrow} \newcommand{\nearr}{\nearrow} \newcommand{\nwarr}{\nwarrow} \newcommand{\searr}{\searrow} \newcommand{\swarr}{\swarrow} \newcommand{\curvearrowbotright}{\curvearrowright} \newcommand{\uparr}{\uparrow} \newcommand{\downuparrow}{\updownarrow} \newcommand{\duparr}{\updownarrow} \newcommand{\updarr}{\updownarrow} \newcommand{\gt}{>} \newcommand{\lt}{<} \newcommand{\map}{\mapsto} \newcommand{\embedsin}{\hookrightarrow} \newcommand{\Alpha}{A} \newcommand{\Beta}{B} \newcommand{\Zeta}{Z} \newcommand{\Eta}{H} \newcommand{\Iota}{I} \newcommand{\Kappa}{K} \newcommand{\Mu}{M} \newcommand{\Nu}{N} \newcommand{\Rho}{P} \newcommand{\Tau}{T} \newcommand{\Upsi}{\Upsilon} \newcommand{\omicron}{o} \newcommand{\lang}{\langle} \newcommand{\rang}{\rangle} \newcommand{\Union}{\bigcup} \newcommand{\Intersection}{\bigcap} \newcommand{\Oplus}{\bigoplus} \newcommand{\Otimes}{\bigotimes} \newcommand{\Wedge}{\bigwedge} \newcommand{\Vee}{\bigvee} \newcommand{\coproduct}{\coprod} \newcommand{\product}{\prod} \newcommand{\closure}{\overline} \newcommand{\integral}{\int} \newcommand{\doubleintegral}{\iint} \newcommand{\tripleintegral}{\iiint} \newcommand{\quadrupleintegral}{\iiiint} \newcommand{\conint}{\oint} \newcommand{\contourintegral}{\oint} \newcommand{\infinity}{\infty} \newcommand{\bottom}{\bot} \newcommand{\minusb}{\boxminus} \newcommand{\plusb}{\boxplus} \newcommand{\timesb}{\boxtimes} \newcommand{\intersection}{\cap} \newcommand{\union}{\cup} \newcommand{\Del}{\nabla} \newcommand{\odash}{\circleddash} \newcommand{\negspace}{\!} \newcommand{\widebar}{\overline} \newcommand{\textsize}{\normalsize} \renewcommand{\scriptsize}{\scriptstyle} \newcommand{\scriptscriptsize}{\scriptscriptstyle} \newcommand{\mathfr}{\mathfrak} \newcommand{\statusline}[2]{#2} \newcommand{\tooltip}[2]{#2} \newcommand{\toggle}[2]{#2} % Theorem Environments \theoremstyle{plain} \newtheorem{theorem}{Theorem} \newtheorem{lemma}{Lemma} \newtheorem{prop}{Proposition} \newtheorem{cor}{Corollary} \newtheorem*{utheorem}{Theorem} \newtheorem*{ulemma}{Lemma} \newtheorem*{uprop}{Proposition} \newtheorem*{ucor}{Corollary} \theoremstyle{definition} \newtheorem{defn}{Definition} \newtheorem{example}{Example} \newtheorem*{udefn}{Definition} \newtheorem*{uexample}{Example} \theoremstyle{remark} \newtheorem{remark}{Remark} \newtheorem{note}{Note} \newtheorem*{uremark}{Remark} \newtheorem*{unote}{Note} %------------------------------------------------------------------- \begin{document} %------------------------------------------------------------------- \section*{filter} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{category_theory}{}\paragraph*{{$(0,1)$-Category theory}}\label{category_theory} [[!include (0,1)-category theory - contents]] \hypertarget{filters}{}\section*{{Filters}}\label{filters} \noindent\hyperlink{idea}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{definitions}{Definitions}\dotfill \pageref*{definitions} \linebreak \noindent\hyperlink{kinds_of_filters}{Kinds of filters}\dotfill \pageref*{kinds_of_filters} \linebreak \noindent\hyperlink{filterbases}{Filterbases}\dotfill \pageref*{filterbases} \linebreak \noindent\hyperlink{the_poset_of_filters_and_pushforwards}{The poset of filters and push-forwards}\dotfill \pageref*{the_poset_of_filters_and_pushforwards} \linebreak \noindent\hyperlink{examples}{Examples}\dotfill \pageref*{examples} \linebreak \noindent\hyperlink{application_to_analysis_and_topology}{Application to analysis and topology}\dotfill \pageref*{application_to_analysis_and_topology} \linebreak \noindent\hyperlink{references}{References}\dotfill \pageref*{references} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} A \emph{filter} is [[duality|dual]] to an [[ideal]]. A [[proper filter]] is equivalently the [[eventuality filter]] of a [[net]]. \hypertarget{definitions}{}\subsection*{{Definitions}}\label{definitions} A subset $F$ of a [[partial order|poset]] $L$ is called a \textbf{filter} if it is upward-closed and downward-[[direction|directed]]; that is: \begin{enumerate}% \item If $A \leq B$ in $L$ and $A \in F$, then $B \in F$; \item for some $A$ in $L$, $A \in F$; \item if $A \in F$ and $B \in F$, then for some $C \in F$, $C \leq A$ and $C \leq B$. \end{enumerate} Sometimes the term `filter' is used for an [[upper set]], that is any set satisfying axiom (1). (Ultimately this connects with the use of `[[ideal in a monoid|ideal]]' in [[monoid]] theory.) In a [[lattice]], one can use these alternative axioms: \begin{enumerate}% \item If $A \in F$ and $B$ in $L$, then $A \vee B \in F$; \item $\top \in F$; \item if $A \in F$ and $B \in F$, then $A \wedge B \in F$. \end{enumerate} Here, (1) is equivalent to the previous version; the others, which here say that the lattice is closed under finite [[meets]], are equivalent given (1). (These axioms look more like the axioms for an ideal of a ring.) You can also interpret these axioms to say that, if you think of $F$ as a function from $L$ to the set $TV$ of [[truth values]], then $F$ is a homomorphism of meet-semilattices. A \textbf{filter of subsets} of a given set $S$ is a filter in the [[power set]] of $S$. One also sees filters of open subsets, filters of compact subsets, etc, especially in topology. \hypertarget{kinds_of_filters}{}\subsection*{{Kinds of filters}}\label{kinds_of_filters} A filter $F$ is \textbf{proper} if there exists an element $A$ of $L$ such that $A \notin F$. A filter in a lattice is proper iff $\bot \notin F$; in particular, a filter of subsets of $S$ is proper iff $\empty \notin F$. In [[constructive mathematics]], however, one usually wants a stronger (but classically equivalent) notion: a filter $F$ of subsets of $S$ is \textbf{proper} if every element of $F$ is [[inhabited set|inhabited]]. If $A \in F$ for every $A$ (in particular if $\empty \in F$), then we have the \textbf{[[improper filter]]}. Compare [[proper subset]] and [[improper subset]]. Filters are often assumed to be proper by default in analysis and topology, where proper filters correspond to [[nets]]. However, we will try to remember to include the adjective `proper'. If the complement of a filter is an ideal, then we say that the filter is \textbf{prime} (and equivalently that the ideal is prime). A prime filter is necessarily proper; a proper filter in a lattice is prime iff, whenever $A \vee B \in F$, either $A \in F$ or $B \in F$. In other words, $F: L \to TV$ must be a homomorphism of lattices. The generalisation to arbitrary joins gives a [[completely prime filter]]. A filter is an \textbf{[[ultrafilter]]}, or \textbf{maximal filter}, if it is maximal among the proper filters. (See that article for alternative formulations and applications.) In a distributive lattice, every ultrafilter is prime; the converse holds in a [[Boolean algebra|Boolean lattice]]. In this case, we can say that $F: L \to TV$ is a homomorphism of Boolean lattices. Given an element $x$ of $S$, the \textbf{principal ultrafilter} (of subsets of $S$) at $x$ consists of every subset of $S$ to which $x$ belongs. A principal ultrafilter is also called a \textbf{fixed ultrafilter}; more generally, a filter of subsets is \textbf{fixed} if its [[intersection]] is [[inhabited set|inhabited]]. In contrast, if $F$ is an filter whose meet (of all elements) exists and is a [[bottom]] element (the [[empty set]] for a filter of subsets), then we call $F$ \textbf{free}. Free ultrafilters on Boolean algebras are important in [[nonstandard analysis]] and [[model theory]]. \hypertarget{filterbases}{}\subsection*{{Filterbases}}\label{filterbases} A subset $F$ of a lattice $L$ is a \textbf{filter[[base]]} if it becomes a filter when closed under axiom (1). Equivalently, a filterbase is any downward-directed subset. Any subset of a meet-semilattice may be used as a filter \textbf{[[subbase]]}; form a filterbase by closing under finite meets. A filterbase $F$ of sets is proper (that is, it generates a proper filter of sets) iff each set in $F$ is inhabited. A filter subbase of sets is proper iff it satisfies the finite intersection property (well known in topology from a criterion for [[compact spaces]]): every finite collection from the subfilter has inhabited intersection. \hypertarget{the_poset_of_filters_and_pushforwards}{}\subsection*{{The poset of filters and push-forwards}}\label{the_poset_of_filters_and_pushforwards} If $f:L_1\to L_2$ is a [[monotone map]] and $F\subseteq L_1$ a filter, then $\lbrace f(A) \mid A\in F\rbrace\subseteq L_2$ is a filter base. Let $f_\ast(F)$ be the filter generated by this filter base. The set of filters $Filters(L)$ is a poset in its own right w.r.t. inclusion and $f_\ast: (Filters(L_1),\subseteq)\to(Filters(L_2),\subseteq)$ is monotone. Therefore $L\mapsto Filters(L), f\mapsto f_\ast$ is a functor from the category of posets to itself. If $f$ satisfies stronger properties than mere monotony, then $f_\ast$ will be better behaved as well: \begin{itemize}% \item If $L$ is a meet-[[semilattice]], then $Filters(L)$ is a complete join-semilattice: $\bigvee_{i\in I} F_i = \left\langle \bigwedge_{j\in J} A_j \mid J\subseteq I\text{ finite}, A_j\in F_j\right\rangle$. If $f:L_1\to L_2$ respects finite meets, then $f_\ast$ respects all joins. If $f$ is merely monotone, then $f_\ast$ respects all filtered joins. \item If $L$ has all $|I|$-fold joins for some indexing set $I$, then $Filters(L)$ has $|I|$-fold meets: $\bigwedge_{i\in I} F_i = \lbrace \bigvee_{i\in I} A_i \mid A_i\in F_i\rbrace$. If $f$ respects $|I|$-fold joins, then $f_\ast$ respects $|I|$-fold meets. \item If $L$ is a [[distributive lattice]], then $Filters(L)$ is a [[frame]], i.e. the infinite distributive law $F \wedge \bigvee_{i\in I} G_i = \bigvee_{i\in I} (F\wedge G_i)$ holds. The other distributive law also holds for finite meets: $F \vee \bigwedge_{i\in I} G_i = \bigwedge_{i\in I} (F\vee G_i)$ if $I$ is finite. It holds more generally if $L$ has all $|I|$-fold meets, the $|I|$-fold distributive law $A\wedge \bigvee_{i\in I} B_i = \bigvee_{i\in I} (A\wedge B_i)$ holds in $L$ and $F$ is closed under $|I|$-fold meets. \item If $L$ is a complete join-semilattice, then $Filters(L)$ is a complete lattice. If $f$ respects all joins, then $f_\ast$ respects all meets. In this case $f_\ast$ has a [[left adjoint]] $f^\ast: L_2\to L_1$ which is given by $f^\ast(G) = \bigwedge \lbrace F | G\subseteq f_\ast(F)\rbrace$ so that $f^\ast(G)\subseteq F \iff G\subseteq f_\ast(F)$ holds. As a left adjoint $f^\ast$ respects all joins. \item If $(f,g)$ is an adjoint pair between $L_1$ and $L_2$, that is f$: L_1 \to L_2$, $g: L_2\to L_1$ monotone and $f(x) \leq y \iff x\leq g(y)$ for all $x\in L_1$, $y\in L_2$, then $(g_\ast,f_\ast)$ is an adjoint pair between $Filters(L_2)$ and $Filters(L_1)$. Note that the push-forward turns left adjoints into right adjoint and vice versa. \end{itemize} \hypertarget{examples}{}\subsubsection*{{Examples}}\label{examples} \begin{itemize}% \item If $L_1=(P(X),\subseteq), L_2=(P(Y),\subseteq)$ for some sets $X,Y$ and $\alpha:X\to Y$ is any map, then $f:L_1\to L_2, A\mapsto \alpha(A)$ is monotone and respects arbitrary joins. Therefore $f_\ast: Filters(L_1)\to Filters(L_2)$ respects arbitrary meets. Note that even though $L_1, L_2$ are meet-semilattices, $f$ does not respect meets in general, because $\alpha(A\cap A')\subseteq \alpha(A)\cap\alpha(A')$ holds, but equality is equivalent to $\alpha$ being injective. \item $f$ is the left adjoint of $g: L_2\to L_1, B\mapsto \alpha^{-1}(B)$. Therefore $f_\ast$ is the right adjoint of $f^\ast=g_\ast$ which is given by taking preimage filters: $g_\ast(G) = \langle \alpha^{-1}(B) | B\in G\rangle$. \item $g$ has not only the left adjoint $f$, but also a right adjoint $h:L_1\to L_2$. It can be described as follows: Call a set $A\subseteq X$ is called $\alpha$-saturated if it is the union of fibers of $\alpha$, i.e. if $\alpha^{-1}(\alpha(A)) = A$. There is a biggest $\alpha$-saturated subset $A_\alpha$ of every $A$. The morphism $h$ is given by $h(A) := \alpha(A_\alpha) \cup (Y\setminus \alpha(X))$. \item Therefore $g_\ast$ not only preserves all joins but all meets as well. \end{itemize} \hypertarget{application_to_analysis_and_topology}{}\subsection*{{Application to analysis and topology}}\label{application_to_analysis_and_topology} Every [[net]] $\nu: I \to S$ defines an \textbf{[[eventuality filter]]} $E_\nu$: let $A$ belong to $E_\nu$ if, for some index $k$, for every $l \geq k$, $\nu_l \in A$. (That is, $\nu$ is eventually in $A$.) Note that $E_\nu$ is proper; conversely, any proper filter $F$ has a net whose eventuality filter is $F$ (as described at [[net]]). Everything below can be done for nets as well as for (proper) filters, but filters often lead to a cleaner theory. In a [[topological space]] $S$, a filter $F$ on $S$ \textbf{[[convergence|converges]]} to a point $x$ of $S$ if every [[neighbourhood]] of $x$ belongs to $F$. A filter $F$ \textbf{clusters} at a point $x$ if every neighbourhood of $x$ intersects every element of $F$. With these definitions, the improper filter converges to every point and clusters at no point; a proper filter, however, clusters at every point that it converges to. The concepts of continuous function and such conditions as [[compact space|compactness]] and [[Hausdorff space|Hausdorffness]] may be defined quite nicely in terms of the convergence relation. In fact, everything about topological spaces may be defined in terms of the convergence relation, although not always nicely. This is because topological spaces form a [[full subcategory]] of the category of [[convergence spaces]], where the convergence relation is the fundamental concept. More details are there. In a [[metric space]] $S$, a filter $F$ on $S$ is \textbf{Cauchy} if it has elements of arbitrarily small diameter. Then a [[sequence]] is a [[Cauchy sequence]] iff its eventuality filter is Cauchy. (This can be generalised to [[uniform spaces]].) The concept of completion of a metric space may be defined quite nicely in terms of the Cauchy filters, although not every property (not even every uniform property) of metric spaces can be defined in this way. As for convergence, there is a general notion of [[Cauchy space]], but the forgetful functors from metric and uniform spaces are now not full. \hypertarget{references}{}\subsection*{{References}}\label{references} \begin{itemize}% \item \href{https://secure.wikimedia.org/wikipedia/en/wiki/Filter_%28mathematics%29}{Wikipedia}. \item [[Peter Johnstone]] (1982); \emph{[[Stone Spaces]]}; Cambridge University Press. ISBN 0-521-23893-5. \end{itemize} [[!redirects filter]] [[!redirects filters]] [[!redirects filter of subsets]] [[!redirects filters of subsets]] [[!redirects proper filter]] [[!redirects proper filters]] [[!redirects prime filter]] [[!redirects prime filters]] [[!redirects fixed filter]] [[!redirects fixed filters]] [[!redirects free filter]] [[!redirects free filters]] [[!redirects filterbase]] [[!redirects filterbases]] [[!redirects filter base]] [[!redirects filter bases]] [[!redirects filter subbase]] [[!redirects filter subbases]] \end{document}