\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*{generalized element} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{category_theory}{}\paragraph*{{Category theory}}\label{category_theory} [[!include category theory - contents]] \hypertarget{contents}{}\section*{{Contents}}\label{contents} \noindent\hyperlink{idea_and_definition}{Idea and definition}\dotfill \pageref*{idea_and_definition} \linebreak \noindent\hyperlink{examples}{Examples}\dotfill \pageref*{examples} \linebreak \noindent\hyperlink{in_}{In $Set$}\dotfill \pageref*{in_} \linebreak \noindent\hyperlink{in_concrete_categories}{In concrete categories}\dotfill \pageref*{in_concrete_categories} \linebreak \noindent\hyperlink{global_elements}{Global elements}\dotfill \pageref*{global_elements} \linebreak \noindent\hyperlink{in_toposes}{In toposes}\dotfill \pageref*{in_toposes} \linebreak \noindent\hyperlink{in_monoidal_categories}{In monoidal categories}\dotfill \pageref*{in_monoidal_categories} \linebreak \noindent\hyperlink{for_generators}{For generators}\dotfill \pageref*{for_generators} \linebreak \noindent\hyperlink{in_presheaf_categories}{In presheaf categories}\dotfill \pageref*{in_presheaf_categories} \linebreak \noindent\hyperlink{in_abelian_categories}{In abelian categories}\dotfill \pageref*{in_abelian_categories} \linebreak \noindent\hyperlink{relationship_to_type_theory}{Relationship to type theory}\dotfill \pageref*{relationship_to_type_theory} \linebreak \noindent\hyperlink{references}{References}\dotfill \pageref*{references} \linebreak \noindent\hyperlink{ReferencesInTypeTheory}{In type theory}\dotfill \pageref*{ReferencesInTypeTheory} \linebreak \hypertarget{idea_and_definition}{}\subsection*{{Idea and definition}}\label{idea_and_definition} In a broad, non-technical sense, an ``element'' is a ``building block'', ``component'', or ``basic part'' of a more substantial whole. Ordinary or [[global elements|global]] elements of a [[set]] are simply the [[points]] of that set, and hence sufficiently capture this broad notion of ``element'' in [[Set]], since by definition sets are no more than collections of points. However, in general, knowing about the points of an object is insufficient to count as knowing its elements (construed broadly). From the point of view of the category [[Set]], most things that can be said and done about elements of a set $X$, can more generally be said and done for morphisms $x \colon U\to X$, for \emph{any} other set $U$. The point is just that many constructions can be performed ``elementwise''. For instance, the fact that elements of $X\times Y$ are exactly pairs $(x,y)$ of an element of $X$ and an element of $Y$, when performed ``elementwise'' for morphisms out of $U$, expresses the universal property of a [[product]]. In [[structural set theory]] such as [[ETCS]], one sometimes (but not necessarily) takes this point of view for axiomatizing the structure of $Set$. On the other hand, once elements of objects are regarded as morphisms into these objects, the same reasoning applies to \emph{every} [[category]] $C$. Accordingly, for $C$ any [[category]] and $X$ an [[object]] of $C$, one may refer to a [[morphism]] $x \colon U \to X$ a \textbf{generalized element} of $X$. One says this is a generalized element with \textbf{stage of definition} given by $U$, or a \textbf{figure} of shape $U$ in $X$. The perspective of generalized elements of objects of a category $C$ is related to regarding $C$ as its image under the [[Yoneda embedding]] \begin{displaymath} Y : C \hookrightarrow [C^{op}, Set] \end{displaymath} into its [[presheaf category]]. Under this embedding, every object $X$ of $C$ is mapped to the [[functor]] -- the [[representable functor]] represented by it -- \begin{displaymath} GenEl(X) : C^{op} \to Set \end{displaymath} that sends each object $U$ of $C$ to the set of generalized elements of $X$ at stage $U$. It is also worth noting that the [[internal logic]] or [[type theory]] of a category provides us a way to go backwards formally. By reasoning about ``abstract elements'' in a set-theoretic style like ordinary elements, the interpretation then ``compiles'' such proofs to category-theoretic ones which actually apply to all generalized elements. \hypertarget{examples}{}\subsection*{{Examples}}\label{examples} \hypertarget{in_}{}\subsubsection*{{In $Set$}}\label{in_} The primordial example is when $C$ is the category [[Set]] of sets and $I$ is a [[terminal object]] in $Set$ --- that is, a set with one element. Then elements of any set $c$ are in one-to-one correspondence with functions $f: I \to c$. This correspondence works as follows: given any element of $c$ there is a unique function $f: I \to c$ with this element in its image, and conversely each function $f: I \to c$ has a unique element of $c$ in its image. \hypertarget{in_concrete_categories}{}\subsubsection*{{In concrete categories}}\label{in_concrete_categories} In the same way, in a [[concrete category]] whose underlying-set functor is represented by $I$, the $I$-elements of an object are the same as the elements of its underlying set. (The category of sets is actually a special case of this, since it is concrete, with the identity functor represented by a terminal object.) \hypertarget{global_elements}{}\subsubsection*{{Global elements}}\label{global_elements} Generalizing from $Set$ in another way, in any category with a terminal object $I$, we call a morphism $f : I \to c$ a [[global element]] of the object $c$. \hypertarget{in_toposes}{}\subsubsection*{{In toposes}}\label{in_toposes} The stability or slice theorem for [[toposes]] says that if $\mathbf{E}$ is a topos, then also the [[slice category]] $\mathbf{E}/U$ is a topos for any object $U$, and the [[pullback]] functor $U^\ast: \mathbf{E} \to \mathbf{E}/U$ is a logical functor. Observe that in $\mathbf{E}/U$, an ordinary (i.e. global) point of an object $U^\ast X$, a section $U^\ast 1 \to U^\ast X$, corresponds to a generalized element $U \to X$ in $\mathbf{E}$. Thus the slice theorem guarantees that generalized points with domain $U$ may be treated exactly as ordinary points, just in a more variable topos $\mathbf{E}/U$. \hypertarget{in_monoidal_categories}{}\subsubsection*{{In monoidal categories}}\label{in_monoidal_categories} On the other hand, it is common to take $I$ to be the unit object whenever $C$ is a [[monoidal category]]. The generalized elements defined over this $I$ are important in [[enriched category|enriched category theory]]). \hypertarget{for_generators}{}\subsubsection*{{For generators}}\label{for_generators} Arguably, the most general case where generalized elements defined at only one stage $I$ are ``sufficient'' when $I$ is some sort of [[generator]] of the category. However, not every category has a single object as any sort of generator! Instead, in arbitrary categories, generalized elements of \emph{all} possible stages of definition must often be used to replace global elements. Thus while a set is determined by its global elements, an object of an arbitrary category is determined by all of its generalized elements (this is one way to state the [[Yoneda lemma]]). \hypertarget{in_presheaf_categories}{}\subsubsection*{{In presheaf categories}}\label{in_presheaf_categories} For $C = [D^{op}, Set]$ a [[presheaf]] category and for $I = \Delta_{pt} = (d \mapsto \{\bullet\})$ the presheaf constant at the singleton set, the generalized elements of a presheaf $F$ are the \emph{[[global section]]s} of this presheaf, equivalently these are the elements in the [[limit]] set over $F$. On the other hand, if $I=D(-,d)$ is a [[representable functor|representable]] presheaf, then the generalized elements of $F$ at stage $d$ are precisely the elements of the set $F(d)$, by the [[Yoneda lemma]]. \hypertarget{in_abelian_categories}{}\subsubsection*{{In abelian categories}}\label{in_abelian_categories} An [[element in an abelian category]] is an equivalence class of generalised elements. \hypertarget{relationship_to_type_theory}{}\subsection*{{Relationship to type theory}}\label{relationship_to_type_theory} In the [[internal language|internal]] [[type theory]] of a category $C$, the generalized elements of $X$ at stage $U$ can be identified with [[terms]] of type $X$ in [[context]] $u\colon U$: \begin{displaymath} u\colon U \vdash x(u) \colon X \,. \end{displaymath} See the references \hyperlink{ReferencesInTypeTheory}{below}. The fact that all type-theoretic constructions can be performed in any context implies that we can manipulate ordinary elements, and end up speaking also about generalized elements defined at arbitrary stages. \hypertarget{references}{}\subsection*{{References}}\label{references} \hypertarget{ReferencesInTypeTheory}{}\subsubsection*{{In type theory}}\label{ReferencesInTypeTheory} The interpretation of [[terms]] in [[type theory]] as generalized elements of objects in a category is discussed for instance on p. 8 of \begin{itemize}% \item [[Steve Awodey]], [[Andrej Bauer]], \emph{Propositions as $[$Types$]$}, Journal of Logic and Computation. Volume 14, Issue 4, August 2004, pp. 447-471 (\href{http://math.andrej.com/data/bracket_types.pdf}{pdf}) \end{itemize} [[!redirects generalised element]] [[!redirects generalised elements]] [[!redirects generalized elements]] \end{document}