\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*{axiom of separation} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{foundations}{}\paragraph*{{Foundations}}\label{foundations} [[!include foundations - contents]] \hypertarget{category_theory}{}\paragraph*{{$(0,1)$-Category theory}}\label{category_theory} [[!include (0,1)-category theory - contents]] \hypertarget{type_theory}{}\paragraph*{{Type theory}}\label{type_theory} [[!include type theory - contents]] \hypertarget{axiom_schemes_of_separation}{}\section*{{Axiom schemes of separation}}\label{axiom_schemes_of_separation} \noindent\hyperlink{idea}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{statements}{Statements}\dotfill \pageref*{statements} \linebreak \noindent\hyperlink{in_structural_set_theory}{In structural set theory}\dotfill \pageref*{in_structural_set_theory} \linebreak \noindent\hyperlink{in_hyperdoctrines}{In hyperdoctrines}\dotfill \pageref*{in_hyperdoctrines} \linebreak \noindent\hyperlink{LawvereDefinition}{Lawvere's definition}\dotfill \pageref*{LawvereDefinition} \linebreak \noindent\hyperlink{ehrhards_reformulation}{Ehrhard's reformulation}\dotfill \pageref*{ehrhards_reformulation} \linebreak \noindent\hyperlink{examples}{Examples}\dotfill \pageref*{examples} \linebreak \noindent\hyperlink{subsets}{Subsets}\dotfill \pageref*{subsets} \linebreak \noindent\hyperlink{presheaves}{Presheaves}\dotfill \pageref*{presheaves} \linebreak \noindent\hyperlink{ExamplesDependentLinearTypeTheory}{In dependent linear type theory}\dotfill \pageref*{ExamplesDependentLinearTypeTheory} \linebreak \noindent\hyperlink{the_comprehensive_factorization_system}{The comprehensive factorization system}\dotfill \pageref*{the_comprehensive_factorization_system} \linebreak \noindent\hyperlink{axiom_or_axiom_scheme}{Axiom or axiom scheme?}\dotfill \pageref*{axiom_or_axiom_scheme} \linebreak \noindent\hyperlink{relation_to_the_axiom_of_replacement}{Relation to the axiom of replacement}\dotfill \pageref*{relation_to_the_axiom_of_replacement} \linebreak \noindent\hyperlink{references}{References}\dotfill \pageref*{references} \linebreak \noindent\hyperlink{general}{General}\dotfill \pageref*{general} \linebreak \noindent\hyperlink{in_hyperdoctrines_2}{In hyperdoctrines}\dotfill \pageref*{in_hyperdoctrines_2} \linebreak \noindent\hyperlink{in_linear_logic}{In linear logic}\dotfill \pageref*{in_linear_logic} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} In [[set theory]], the \textbf{axiom scheme of separation} aka \textbf{specification} states that, given any [[set]] $X$ and any [[property]] $P$ of the [[elements]] of $X$, there is a set \begin{displaymath} \{ X | P \} = \{ a \in X \;|\; P(a) \} \end{displaymath} consisting precisely of those elements of $X$ for which $P$ holds: \begin{displaymath} a \in \{ X | P \} \;\leftrightarrow\; a \in X \;\wedge\; P(a) . \end{displaymath} Note that $\{X|P\}$ is a [[subset]] of $X$. It is important to specify what language $P$ can be written in. This connects the axiom to [[logic]] and the [[foundations of mathematics]]. Arguably, [[first-order logic]] developed in order to explain the meaning of [[Ernst Zermelo]]'s axiom of separation (although Zermelo himself disagreed with the interpretation that this gave). Separation is (usually) given as an axiom \emph{scheme} because there is one axiom for each way to state a property in the language. (We also allow parameters in $P$.) \hypertarget{statements}{}\subsection*{{Statements}}\label{statements} From weaker to stronger: \begin{itemize}% \item For \textbf{bounded separation} aka \textbf{restricted separation} aka \textbf{$\Delta_0$-separation}, $P$ must be written in the language of first-order set theory and all [[quantifications]] must be guarded by a set: of the form $\forall x \in A$ or $\exists x \in A$ for some set $A$. \item For \textbf{limited separation} aka \textbf{$\Delta_0^{\mathcal{P}}$-separation}, $P$ must be written in the language of first-order set theory and all quantifications must be guarded by a set or a [[power class]]: of the form $\forall x \in A$, $\exists B \subseteq A$, etc. Limited separation trivially implies bounded separation, while bounded separation implies limited separation if [[power sets]] exist. \item For \textbf{full separation} aka simply \textbf{separation}, $P$ must be written in the language of first-order set theory, but otherwise anything goes; in a [[class theory]], $P$ must be guarded by a class. Full separation trivially implies limited separation. \item For \textbf{large separation}, $P$ must be written in the language of first-order class theory; of course, this only makes sense \emph{in} a class theory. The difference in strength between the class theories $MK$ and $NBG$ is precisely that the former has large separation but the latter does not. \item Separation is sometimes called \textbf{restricted comprehension}; for \textbf{full comprehension} aka simply \textbf{comprehension}, no set $X$ needs to be given ahead of time. Full comprehension was proposed by [[Gottlob Frege]], but leads to [[Russell's paradox]]. However, full comprehension can sometimes be allowed if the ambient logic is nonclassical, such as [[linear logic]] or [[paraconsistent logic]]. \item For \textbf{stratified comprehension}, no set $X$ is given, but $P$ is restricted to stratified formulas, in which each [[variable]] $x$ can be given a consistent [[natural number]] $\sigma(x)$ (its stratification) such that $x \in y$ appears in the formula only if $\sigma(y) = \sigma(x) + 1$. This is used in [[Van Quine]]'s [[New Foundations]]. \end{itemize} \hypertarget{in_structural_set_theory}{}\subsection*{{In structural set theory}}\label{in_structural_set_theory} Set theory is usually given in [[material set theory|material]] form, with a language based on a global membership relation $\in$, and we have implicitly followed this above. However, separation makes sense also in [[structural set theory]] (although full comprehension does not, except in a structural class theory with a [[class of all sets]], where it again leads to paradox). The conclusion of the axiom is the existence of a set \begin{displaymath} \{ X | P \} = \{ a\colon X \;|\; P(a) \} \end{displaymath} and an [[injection]] $i_P\colon \{X|P\} \to X$ such that \begin{displaymath} \exists b\colon S,\; a = i_P(b) \;\leftrightarrow\; P(a) . \end{displaymath} Note that $\{X|P\}$, equipped with $i_P$, is a [[subset]] of $X$ in the structural sense. The structural axioms can of course be stated even in a material set theory, where they are actually weaker than the corresponding material axioms; however, the material axioms follow (as usual) from the structural axioms using [[axiom of replacement|restricted replacement]], which is quite weak (and also follows from the material form of bounded separation). If a structural set theory is given by stating axioms for the [[category of sets]], then restricted separation amounts to the property that this category is a [[Heyting category]]. If it is an [[elementary topos]], then since it satisfies the power set axiom, this implies limited separation as well. Full separation is somewhat less natural to state category-theoretically, but the combination of full separation with the structural [[axiom of collection]] is equivalent to saying that the category of sets is [[autological category|autological]]. \hypertarget{in_hyperdoctrines}{}\subsection*{{In hyperdoctrines}}\label{in_hyperdoctrines} \hypertarget{LawvereDefinition}{}\subsubsection*{{Lawvere's definition}}\label{LawvereDefinition} [[Lawvere]] gives a definition (\hyperlink{Lawvere70}{Lawvere70, p. 12-13}) of comprehension in [[hyperdoctrines]]. \begin{defn} \label{LawvereianComprehension}\hypertarget{LawvereianComprehension}{} Let $p \colon E \to B$ be a [[bifibration]] over the category $B$, and assume that each [[fibre]] $E_X$ of $E$ has a [[terminal object]] $T_X$. For any [[morphism]] $t \colon Y \to X$ in $B$, define the \emph{image} $im t$ of $t$ to be the pushforward ([[dependent sum]]) $t_! T_Y$. This gives rise to a functor $im \colon B/X \to E_X$ for each $X$. Then $E$ is said to \emph{have comprehension}, or to satisfy the \emph{comprehension schema}, if each image functor has a [[right adjoint]] $\{-\} \colon E_X \to B/X$. \end{defn} \begin{remark} \label{}\hypertarget{}{} This means that for each $P \in E_X$ there is a morphism $i_P \colon \{ P \} \to X$ in $B$ such that there is a [[bijection]] between commuting triangles $t = i_P \circ t'$ in $B$ and morphisms $im t \to P$ in $E_X$. Lawvere calls the morphism $\{P\} \to X$ the \emph{[[extension (semantics)|extension]]} of $P$, so that one could say that $E$ satisfies the comprehension schema if the extensions of all predicates exist. \end{remark} \hypertarget{ehrhards_reformulation}{}\subsubsection*{{Ehrhard's reformulation}}\label{ehrhards_reformulation} Notice that, in the above situation, morphisms $\im t \to P$ in $E_X$ are in bijection with morphisms $T_Y \to t^* P$ in $E_Y$, and that these are the same as morphisms $T_Y \to P$ in the total category $E$ that lie over $t$. This leads to an alternative formulation of the definition, originally considered by \hyperlink{Ehrhard88}{Ehrhard 1988} (see also \hyperlink{Jacobs93}{Jacobs 1993}, \hyperlink{Jacobs99}{Jacobs 99}), which does not depend on $p$ being a bifibration. Suppose the fibres $E_X$ have terminal objects that are preserved by the reindexing functors. This is equivalent to saying that $p:E\to B$ has a section $T:B\to E$ taking each object $X$ to a terminal object $T_X$ of $E_X$ and each morphism to a cartesian arrow; such a functor is then automatically [[fully faithful]] and [[right adjoint]] to $p:E\to B$. If $B$ has a terminal object $1$, then this is additionally equivalent to saying that the entire category $E$ has a terminal object $T_1$ preserved by $p$, since then $X^*(T_1)$ will be terminal in $E_X$ by combining the universal properties of $X^*$ and $T_1$. Note also that if $p$ is a bifibration, as in Lawvere's definition, then the reindexing functors are right adjoints and hence automatically preserve all terminal objects. Comprehension in the sense above is equivalent to the existence of a further right adjoint to the terminal-object functor $T:B\to E$. The implication from \hyperlink{LawvereDefinition}{Lawvere's definition} to Ehrhard's is clear. Conversely, if a fibration $p \colon E \to B$ satisfies the Ehrhard definition, then there is a bijection between morphisms $T_Y \to P$ in $E$ and morphisms $Y \to \{P\}$ in $B$. One must then show that the composite of this last with the canonical $\{P\} \to X$ (given by $p$ applied to the counit $T_{\{P\}} \to P$) is equal to $p$ applied to the morphism $Y \to \{P\}$, thus giving a morphism in $B/X$ of the right sort. But in fact the morphism $Y \to \{P\}$ is unique with the property that applying the functor $T_{-}$ and composing with the counit gives the morphism $T_Y \to P$, by the counit's universal property, and applying $p$ to this commuting triangle in $E$ produces the required one in $B$. \hypertarget{examples}{}\subsubsection*{{Examples}}\label{examples} \hypertarget{subsets}{}\paragraph*{{Subsets}}\label{subsets} The tautological example which is useful to see what the abstract \hyperlink{LawvereDefinition}{definition by Lawvere} axiomatizes is the following. Let $B =$[[Set]] be the category of sets and for $X$ a [[set]] let $E_X$ be the [[poset]] of [[subsets]] of $X$, regarded as the [[propositions]] about elements in $X$. Then comprehension exists and is given by sending a subset of $X$ regarded as an object of $E_X$ (hence regarded as a proposition) to the same subset, but now regarded as a [[monomorphism]] in [[Set]] into $X$. More generally, the same construction works for the posets of subobjects in any [[regular category]]. \hypertarget{presheaves}{}\paragraph*{{Presheaves}}\label{presheaves} There is a functor $Cat_1^{op} \to CAT_1$, from the [[large category|large]] [[Cat|1-category of categories]] and functors to the `[[very large category|very large]]' 1-category of large categories and functors, that sends a category $C$ to the [[category of presheaves]] $[C^{op}, Set]$ on $C$, and a functor $F \colon C \to D$ to the pullback functor $F^* \colon [D^{op}, Set] \to [C^{op}, Set]$. These pullback functors have left and right adjoints given by [[Kan extension]]. \hyperlink{Lawvere70}{Lawvere 70} shows that this fibration has comprehension, with the [[extension (semantics)|extension]] of a presheaf given by its [[category of elements]] together with the canonical projection from this to the base category. \hypertarget{ExamplesDependentLinearTypeTheory}{}\paragraph*{{In dependent linear type theory}}\label{ExamplesDependentLinearTypeTheory} If the [[hyperdoctrine]] has [[linear type theories]]/[[symmetric monoidal categories]] as fibers, then it is more natural to consider in def. \ref{LawvereianComprehension} not the [[terminal object]] in some fiber (if any) but the [[tensor unit]] (which of course happens to be the terminal object in the case of [[cartesian monoidal category|cartesian monoidal]]) fibers. In this case then the image functor in def. \ref{LawvereianComprehension} is \begin{displaymath} \Sigma_X \;\colon\; (Y \stackrel{f}{\to} X) \mapsto \underset{f}{\sum} 1_Y \,. \end{displaymath} If this has a [[right adjoint]] $R_X$, hence if we have linear comprehension according to def. \ref{LawvereianComprehension}, then the induced [[comonad]] \begin{displaymath} !_X \coloneqq \Sigma_X \circ R_X \end{displaymath} is (the [[dependent type theory|dependent]] version of) the canonical [[categorical semantics|categorical interpretation]] of the [[exponential modality]] of [[linear logic]]. See at \emph{\href{http://ncatlab.org/nlab/show/dependent+linear+type+theory#TheCanonicalComodality}{dependent linear type theory -- The canonical co-modality}} for more. \hypertarget{the_comprehensive_factorization_system}{}\subsubsection*{{The comprehensive factorization system}}\label{the_comprehensive_factorization_system} If the extension functors $E_X \to B/X$ are [[fully faithful]], then together they make $E$ into a `fibrewise [[reflective subcategory|reflective]]' subfibration of the codomain fibration of $B$, which is a reflective subfibration if the image functors preserve pullbacks. (See [[stable factorization system]].) Call a morphism of the form $\{P\} \to X$ a \emph{subtype inclusion}. Every morphism $t \colon Y \to X$ of $B$ factors through one such by means of the unit $\eta_t$ of the adjunction $im \dashv \{-\}$: \begin{displaymath} \itexarray{ Y & & \overset{\eta_t}{\to} & & \{ im t \} \\ & \mathllap{t}\searrow & & \swarrow\mathrlap{i_t} & \\ & & X & & } \end{displaymath} This gives rise to an [[orthogonal factorization system]] precisely when each $\eta_t$ is [[orthogonal]] to all subtype inclusions. It is shown by \hyperlink{Carboni97}{(Carboni et. al., section 2.12)} that this holds if and only if subtype inclusions are closed under composition. For the subobject fibration of a regular category, this gives the usual ([[regular epimorphism|regular epi]], [[monomorphism|mono]]) factorization system, while for the fibration of presheaves over $Cat$ it gives the factorization of a functor into a [[final functor]] followed by a [[discrete fibration]]. (See also [[michaelshulman:comprehensive factorization]] for a description of the latter as a [[factorization system in a 2-category]].) \hypertarget{axiom_or_axiom_scheme}{}\subsection*{{Axiom or axiom scheme?}}\label{axiom_or_axiom_scheme} Although usually presented as an axiom scheme, in many cases, all instances of separation follow from finitely many special cases (which can then be packaged into a single axiom, using [[and|conjunction]], although this is probably pointless). This is the case, for example, in [[ETCS]] (a structural set theory that satisfied bounded separation) and [[NBG]] (a material class theory that satisfies full separation). In [[type theory|type-theoretic]] foundations of mathematics, separation is usually invisible, but again some form (generally only bounded) can again be proved from a few specific axioms or constructions. \hypertarget{relation_to_the_axiom_of_replacement}{}\subsection*{{Relation to the axiom of replacement}}\label{relation_to_the_axiom_of_replacement} Full separation follows from the [[axiom of replacement]] and the principle of [[excluded middle]] (along with the axiom of the [[empty set]]). Therefore, the axiom is often left out entirely of a description of [[ZFC]] (the usually accepted foundation of mathematics). In versions of set theory for [[constructive mathematics]], however, we often have replacement but only bounded or limited separation, and in any case separation must be listed explicitly. \hypertarget{references}{}\subsection*{{References}}\label{references} \hypertarget{general}{}\subsubsection*{{General}}\label{general} (\ldots{}) \hypertarget{in_hyperdoctrines_2}{}\subsubsection*{{In hyperdoctrines}}\label{in_hyperdoctrines_2} \begin{itemize}% \item [[Lawvere]], F. W. \emph{Equality in hyperdoctrines and comprehension schema as an adjoint functor}. In A. Heller, ed., \emph{Proc. New York Symp. on Applications of Categorical Algebra}, pp. 1--14. AMS, 1970. ([[LawvereComprehension.pdf:file]]) \end{itemize} \begin{itemize}% \item [[Lawvere]], F. W. \emph{Metric spaces, generalized logic and closed categories} Rend. Sem. Mat. Fis. Milano, 43:135--166 (1973). Reprints in Theory and Applications of Categories, No. 1 (2002) pp 1-37 (\href{http://www.tac.mta.ca/tac/reprints/articles/1/tr1abs.html}{tac}) \end{itemize} \begin{itemize}% \item [[Thomas Ehrhard]]. A Categorical Semantics of Constructions. LICS 1988. (\href{https://www.irif.univ-paris-diderot.fr/~ehrhard/pub/categ-sem-constr.pdf}{pdf}) \end{itemize} \begin{itemize}% \item [[Bart Jacobs]]. Comprehension categories and the semantics of type dependency. \emph{Theoretical Computer Science} 107:2 (1993), pp. 169-207. \end{itemize} \begin{itemize}% \item [[Bart Jacobs]]. \emph{Categorical Logic and Type Theory}. Elsevier, 1999. \end{itemize} \begin{itemize}% \item [[Finn Lawler]], section ``Tabulation and comprehension'' in \emph{[[finnlawler:thesis outline|Fibrations of predicates and bicategories of relations]]} (2014) \item Carboni, Janelidze, Kelly, Par\'e{}. \emph{On localization and stabilization for factorization systems}. Applied Categorical Structures, 1997. \end{itemize} \hypertarget{in_linear_logic}{}\subsubsection*{{In linear logic}}\label{in_linear_logic} Full comprehension (a.k.a. ``naive set theory'') in the context of logic without the [[contraction rule]] is discussed in: \begin{itemize}% \item Grishin, V. N., ``Predicate and set theoretic calculi based on logic without contraction rules'' (Russian), \emph{Izvestiya Akademii Nauk SSSR Seriya Matematicheskaya}, 45(1): 47 -- 68, 1981. English translation in Math. USSR Izv., 18(1): 41 -- 59, 1982. (\href{http://www.mathnet.ru/php/archive.phtml?wshow=paper&jrnid=im&paperid=1547&option_lang=eng}{math-net.ru}) \item [[Jean-Yves Girard]], Light Linear Logic, \emph{Information and Computation}, 14(3):123-137, 2003. (\href{http://iml.univ-mrs.fr/~girard/LLL.pdf.gz}{pdf.gz}) \item [[Kazushige Terui]], Light Affine Set Theory: A Naive Set Theory of Polynomial Time, \emph{Studia Logica: An International Journal for Symbolic Logic}, Vol. 77, No. 1 (Jun., 2004), pp. 9-40. (\href{http://www.jstor.org/stable/20016605}{jstor}) (\href{http://www.kurims.kyoto-u.ac.jp/~terui/lastfin.pdf}{pdf}). See also Terui's slides, \href{http://www.kurims.kyoto-u.ac.jp/~terui/summer3.pdf}{Linear Logic and Naive Set Theory (Make our garden grow)} \end{itemize} category: foundational axiom [[!redirects comprehension]] [[!redirects comprehension schema]] [[!redirects comprehension scheme]] [[!redirects comprehension schemes]] [[!redirects axiom of separation]] [[!redirects axioms of separation]] [[!redirects axiom scheme of separation]] [[!redirects axiom schemes of separation]] [[!redirects axiom schema of separation]] [[!redirects axiom schemas of separation]] [[!redirects axiom schemata of separation]] [[!redirects axiom of specification]] [[!redirects axioms of specification]] [[!redirects axiom scheme of specification]] [[!redirects axiom schemes of specification]] [[!redirects axiom schema of specification]] [[!redirects axiom schemas of specification]] [[!redirects axiom schemata of specification]] [[!redirects axiom of comprehension]] [[!redirects axioms of comprehension]] [[!redirects axiom scheme of comprehension]] [[!redirects axiom schemes of comprehension]] [[!redirects axiom schema of comprehension]] [[!redirects axiom schemas of comprehension]] [[!redirects axiom schemata of comprehension]] [[!redirects bounded separation]] [[!redirects axiom of bounded separation]] [[!redirects axioms of bounded separation]] [[!redirects axiom scheme of bounded separation]] [[!redirects axiom schemes of bounded separation]] [[!redirects axiom schema of bounded separation]] [[!redirects axiom schemas of bounded separation]] [[!redirects axiom schemata of bounded separation]] [[!redirects restricted separation]] [[!redirects axiom of restricted separation]] [[!redirects axioms of restricted separation]] [[!redirects axiom scheme of restricted separation]] [[!redirects axiom schemes of restricted separation]] [[!redirects axiom schema of restricted separation]] [[!redirects axiom schemas of restricted separation]] [[!redirects axiom schemata of restricted separation]] [[!redirects limited separation]] [[!redirects axiom of limited separation]] [[!redirects axioms of limited separation]] [[!redirects axiom scheme of limited separation]] [[!redirects axiom schemes of limited separation]] [[!redirects axiom schema of limited separation]] [[!redirects axiom schemas of limited separation]] [[!redirects axiom schemata of limited separation]] [[!redirects full separation]] [[!redirects axiom of full separation]] [[!redirects axioms of full separation]] [[!redirects axiom scheme of full separation]] [[!redirects axiom schemes of full separation]] [[!redirects axiom schema of full separation]] [[!redirects axiom schemas of full separation]] [[!redirects axiom schemata of full separation]] [[!redirects large separation]] [[!redirects axiom of large separation]] [[!redirects axioms of large separation]] [[!redirects axiom scheme of large separation]] [[!redirects axiom schemes of large separation]] [[!redirects axiom schema of large separation]] [[!redirects axiom schemas of large separation]] [[!redirects axiom schemata of large separation]] [[!redirects restricted comprehension]] [[!redirects axiom of restricted comprehension]] [[!redirects axioms of restricted comprehension]] [[!redirects axiom scheme of restricted comprehension]] [[!redirects axiom schemes of restricted comprehension]] [[!redirects axiom schema of restricted comprehension]] [[!redirects axiom schemas of restricted comprehension]] [[!redirects axiom schemata of restricted comprehension]] [[!redirects full comprehension]] [[!redirects axiom of full comprehension]] [[!redirects axioms of full comprehension]] [[!redirects axiom scheme of full comprehension]] [[!redirects axiom schemes of full comprehension]] [[!redirects axiom schema of full comprehension]] [[!redirects axiom schemas of full comprehension]] [[!redirects axiom schemata of full comprehension]] [[!redirects stratified comprehension]] [[!redirects axiom of stratified comprehension]] [[!redirects axioms of stratified comprehension]] [[!redirects axiom scheme of stratified comprehension]] [[!redirects axiom schemes of stratified comprehension]] [[!redirects axiom schema of stratified comprehension]] [[!redirects axiom schemas of stratified comprehension]] [[!redirects axiom schemata of stratified comprehension]] [[!redirects comprehension rule]] [[!redirects comprehension rules]] \end{document}