\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*{ultrapower} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{model_theory}{}\paragraph*{{Model theory}}\label{model_theory} [[!include model theory - contents]] \hypertarget{contents}{}\section*{{Contents}}\label{contents} \noindent\hyperlink{definition}{Definition}\dotfill \pageref*{definition} \linebreak \noindent\hyperlink{sheaftheoretic_interpretation}{Sheaf-theoretic interpretation}\dotfill \pageref*{sheaftheoretic_interpretation} \linebreak \noindent\hyperlink{filterquotient_construction}{Filterquotient construction}\dotfill \pageref*{filterquotient_construction} \linebreak \noindent\hyperlink{applications}{Applications}\dotfill \pageref*{applications} \linebreak In model theory, an ultrapower of a structure with respect to an ultrafilter is a common method for creating new structures, with applications to nonstandard arithmetic and nonstandard analysis. It is a standard construction for constructing models which embody infinite and infinitesimal quantities, as in [[Abraham Robinson]]`s nonstandard analysis. An ultrapower is a special case of [[ultraproduct]]; see the description under the sheaf-theoretic interpretation below. \hypertarget{definition}{}\subsection*{{Definition}}\label{definition} Let $X$ be a set, and let $\mathcal{U}$ be an [[ultrafilter]] on $X$; that is, a collection of subsets such that \begin{enumerate}% \item If $A \in \mathcal{U}$ and $A \subseteq B \subseteq X$, then $B \in \mathcal{U}$, \item If $A, B \in \mathcal{U}$, then $A \cap B \in \mathcal{U}$, \item $\emptyset \notin \mathcal{U}$, \item For every set $A \subseteq X$, either $A$ belongs to $\mathcal{U}$ or its complement $\neg A$ belongs to $\mathcal{U}$. \end{enumerate} (The first three axioms are the defining axioms for a [[filter]], and the last is satisfied for maximal filters, aka ultrafilters.) Let $Y$ be a model of a (finitary, single-sorted) first-order theory $T$ (given by a [[signature]] $\Sigma$ together with a set of axioms in the language generated by $\Sigma$). Then the \textbf{ultrapower} \begin{displaymath} Y^X/\mathcal{U} \end{displaymath} is the set of $\sim$-equivalence classes $[f]$ on the set of functions $f \in hom(X, Y)$, where $f \sim g$ if and only if \begin{displaymath} \{x \in X: f(x) = g(x)\} \in \mathcal{U}. \end{displaymath} The ultrapower is a structure of $\Sigma$ under the evident pointwise definitions: for each $n$-ary function symbol $\phi$, define \begin{displaymath} \phi(f_1, \ldots, f_n)(x) = \phi_Y(f_1(x), \ldots, f_n(x)) \end{displaymath} and observe that $f_1 \sim g_1, \ldots, f_n \sim g_n$ implies that $\phi(f_1, \ldots, f_n) \sim \phi(g_1, \ldots, g_n)$, so that the interpretation of $\phi$ descends to equivalence classes. Similarly, for each $n$-ary relation symbol $R$, say $\vdash R([f_1], \ldots, [f_n])$ if \begin{displaymath} \{x \in X: \vdash_Y R(f_1(x), \ldots, f_n(x))\} \in \mathcal{U} \end{displaymath} for any chosen representatives $f_1, \ldots, f_n$. Note that the well-definedness of the interpretations of functions and relations depends only on the filter axioms. That the ultrapower is a model of the theory is a consequence of [[Los ultraproduct theorem|Los's theorem]]. (Here one needs all of the ultrafilter conditions, in particular one needs condition 4 in order to accommodate satisfaction of formulas involving instances of negation.) \hypertarget{sheaftheoretic_interpretation}{}\subsection*{{Sheaf-theoretic interpretation}}\label{sheaftheoretic_interpretation} An ultrafilter $\mathcal{U}$ on a set $X$ may be regarded as a point in the Stone-Cech compactification $\beta X$ of the discrete space $X_d$, and ultrapowers may be interpreted as a special case of taking stalks. Namely, let $i: X_d \hookrightarrow \beta X$ be the inclusion. This is a continuous function; hence it induces a geometric morphism $i_*$ between the sheaf toposes over these spaces. Then, under the composite \begin{displaymath} Set \stackrel{\Delta}{\to} Set/X \cong Sh(X_d) \stackrel{i_*}{\to} Sh(\beta X) \stackrel{stalk_{\mathcal{U}}}{\to} Set, \end{displaymath} the set $Y$ is taken to the ultrapower $Y^X/\mathcal{U}$. An object of $Set/X$ is just an $X$-indexed collection $Y_x$ of sets, and the more general \textbf{ultraproduct} $\prod_x Y_x/\mathcal{U}$ is the value obtained by applying the composite \begin{displaymath} Set/X \cong Sh(X_d) \stackrel{i_*}{\to} Sh(\beta X) \stackrel{stalk_{\mathcal{U}}}{\to} Set \end{displaymath} to the object $\langle Y_x \rangle_{x \in X}$. \hypertarget{filterquotient_construction}{}\subsection*{{Filterquotient construction}}\label{filterquotient_construction} For any filter $\mathcal{U}$ on a set $X$, we can form the 2-colimit of the pseudofunctor \begin{displaymath} F: \mathcal{U}^{op} \to Cat: U \mapsto Set/U (\simeq Set^U) \end{displaymath} Each $F(i: U \subseteq V): Set/V \to Set/U$ is the logical morphism of toposes given by the pullback functor $i^*$. The 2-colimit is itself a topos denoted $Set/\mathcal{U}$, in fact a 2-valued topos if $\mathcal{U}$ is an ultrafilter, and the functor defined by \begin{displaymath} Set \stackrel{\Delta}{\to} Set/X \to Set/\mathcal{U} \end{displaymath} defines a logical morphism. \hypertarget{applications}{}\subsection*{{Applications}}\label{applications} If $\mathcal{U}$ is a \emph{principal} ultrafilter, then the ultrapower of $Y$ is isomorphic to $Y$ again. Thus the interest in ultrapowers relies on the existence of non-principal ultrafilters, which requires some sort of choice principle. An important application is to $Y = \mathbb{R}$ as a model of the theory of ordered fields. If $\mathcal{U}$ is a non-principal ultrafilter on the set of natural numbers $\mathbb{N}$, then the model $\mathbb{R}^{\mathbb{N}}/\mathcal{U}$ provides a model for nonstandard analysis (in the sense promulgated by [[Abraham Robinson]]). There are in particular infinitesimal elements in the ultrapower, for example the $\sim$-equivalence class of the sequence $\langle 1/n \rangle_{n \in \mathbb{N}} \in \mathbb{R}^{\mathbb{N}}$. At the same time, the ultrapower is elementarily equivalent to $\mathbb{R}$, so that the sentences true for $\mathbb{R}$ in the first-order theory of ordered fields coincide with the sentences that are true for the ultrapower. This principle assures us that any conclusions adduced with the help of infinitesimals in the ultrapower are still valid in the standard model $\mathbb{R}$; in some cases, however, the arguments based on infinitesimals may offer more perspicuous proofs. \end{document}