\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*{Street fibration} \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}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{definition}{Definition}\dotfill \pageref*{definition} \linebreak \noindent\hyperlink{in_terms_of_adjoint_inverses}{In terms of adjoint inverses}\dotfill \pageref*{in_terms_of_adjoint_inverses} \linebreak \noindent\hyperlink{other_definitions}{Other definitions}\dotfill \pageref*{other_definitions} \linebreak \noindent\hyperlink{comparison_to_grothendieck_fibrations}{Comparison to Grothendieck fibrations}\dotfill \pageref*{comparison_to_grothendieck_fibrations} \linebreak \noindent\hyperlink{properties}{Properties}\dotfill \pageref*{properties} \linebreak \noindent\hyperlink{examples}{Examples}\dotfill \pageref*{examples} \linebreak \noindent\hyperlink{references}{References}\dotfill \pageref*{references} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} A \textbf{Street fibration}, or \textbf{weak fibration}, is a generalization of a [[Grothendieck fibration]] which obeys the [[principle of equivalence]], i.e. covariant under [[equivalence of categories]]. In [[Cat]], almost all Street fibrations which arise in practice are actually Grothendieck fibrations, so the extra generality is not very useful; since it is also fairly cumbersome, it is rarely used. However, when working with [[anafunctors]] or internally to a [[bicategory]] (a weak [[2-category]]), one is essentially forced to work with Street fibrations instead; see below. \hypertarget{definition}{}\subsection*{{Definition}}\label{definition} Let $p\colon E\to B$ be a [[functor]]. The notion of when a morphism of $E$ is [[cartesian morphism|cartesian]] is unchanged from the version for [[Grothendieck fibrations]]. However, now we say that $p$ is a \textbf{Street fibration} if for any $f:a\to b$ and $e\in E_b$ there exists a cartesian $\phi:e'\to e$ and an \emph{isomorphism} $h:p(e') \cong a$ such that $f\circ h = p(\phi)$. An [[internalization|internalized]] version of this definition can be given in any [[2-category]]; see [[fibration in a 2-category]]. The above definition corresponds to the special case of the 2-category [[Cat]]. \hypertarget{in_terms_of_adjoint_inverses}{}\subsubsection*{{In terms of adjoint inverses}}\label{in_terms_of_adjoint_inverses} Back in the 1960s, J. Gray characterized fibrations as the functors $p\colon E\to B$ where for every $a \in E$ the [[slice functor]] $p/a \colon E/a \to B/p(a)$ has a [[right adjoint]] [[right inverse]] $c_a$. One avoids violating the [[principle of equivalence]] if one just requires that $c_a$ is [[fully faithful functor|full and faithful]], i.e. the [[counit of the adjunction]] $p/a \dashv c_a$ is an isomorphism. Explicating this condition in elementary terms, one arrives at the above definition. A simpler version of this characterization is the following. \begin{ulemma} A functor $p \colon E \to B$ is a [[cleavage|cloven]] Street fibration if and only if the canonical functor $i \colon E \to B/p$ has a right adjoint $r$ in $Cat / B$. \end{ulemma} \begin{proof} First, recall that the 2-category $Cat/B$ has objects the functors $C \to B$, as morphisms the triangles \begin{displaymath} \itexarray{C & \xrightarrow{h} & C' \\ & f \searrow \cong \swarrow g & \\ & B & } \end{displaymath} which commute up to specified isomorphism, and as 2-cells the natural transformations $\alpha : h_1 \to h_2$ which commute with the specified isomorphisms (i.e. $f \xrightarrow{\cong} g h_1 \xrightarrow{g \alpha} g h_2 \xrightarrow{\cong} f$ is the identity). Next, recall that the [[comma category]] $B/p$ has objects the triples $(x, e, k)$, with $k \colon x \to p(e)$ a morphism in $B$. Let $\pi \colon B/p \to B$ denote the projection $(x, e, k) \mapsto x$. The canonical morphism $i\colon p \to B/p$ in $Cat/B$ sends $e\in E$ to the triple $(p(e),e,1_{p(e)})$. Somewhat imprecisely, seeing both categories $E$ and $B/p$ as sitting over $B$ means that functors between those should be the identity (up to specified isomorphism) on the $b$ component, and natural transformations should have the identity as their $b$ component (modulo the specified isomorphisms). Now, to give an adjunction $i \dashv r$ in $Cat$, it suffices to give, for each object $k \colon x \to p(e)$ in $B/p$, an object $r(x,e,k) = r(k)$ in $E$ and an arrow $i(r(k)) = (p(r(k)), r(k), 1_{p(r(k))}) \to (x,e,k)$ in $B/p$ that is [[universal arrow|universal]] from $i$ to $k$. Such an arrow consists of a pair of morphisms $\theta_k\colon p(r(k)) \to x$ in $B$ and $\epsilon_k\colon r(k) \to e$ in $E$ such that \begin{displaymath} \itexarray{ p(r(k)) & \overset{1}{\to} & p(r(k)) \\ \mathllap{\theta} \downarrow & & \downarrow \mathrlap{p(\epsilon_k)} \\ x & \underset{k}{\to} & p(e) } \end{displaymath} commutes, i.e. such that $p(\epsilon_k) = k \circ \theta_k$. Note that since $x = \pi(x,e,k)$, the morphisms $\theta$ supply a natural transformation $\theta\colon p r \to \pi$, not necessarily invertible. By general [[doctrinal adjunction]] arguments, in order for $i \dashv r$ to be an adjunction in $Cat/B$, it is necessary and sufficient that $\theta$ be invertible (and we then use it to make $r$ into a morphism in $Cat/B$). Now, the universal property of $(\theta_k,\epsilon_k)$ tells us that for any other morphism in $B/p$ from some $i(y)$ to $k$, i.e., for any $y$ and any pair $(f,g)$ making the square \begin{displaymath} \itexarray{ p(y) & \stackrel{1}{\to} & p(y) \\ \mathllap{f} \downarrow & & \downarrow \mathrlap{p(g)} \\ x & \underset{k}{\to} & p(e) } \end{displaymath} commute, there is a unique map $h \colon y \to r(k)$ in $B$ such that the above square factors in $B/p$ as \begin{displaymath} \itexarray{ p(y) & \stackrel{1}{\to} & p(y) \\ \mathllap{p(h)} \downarrow & & \downarrow \mathrlap{p(h)} \\ \mathllap{p(r(k))} & \stackrel{1}{\to} & \mathrlap{p(r(k))}\\ \mathllap{\theta_k} \downarrow & & \downarrow \mathrlap{p(\epsilon_k)} \\ x & \underset{k}{\to} & p(e). } \end{displaymath} In other words, the universal property provides a unique $h$ such that $\epsilon_k \circ h = g$ and $\theta_k \circ p(h) = f$, which exactly asserts that $\epsilon_k$ is a [[cartesian arrow]]. Thus, the existence of a right adjoint to $i$ means precisely that for each morphism $k \colon x \to p(e)$, a choice is given of a cartesian lift of $k$ up to isomorphism. In turn, this means that $p$ is a cloven fibration. \end{proof} \hypertarget{other_definitions}{}\subsubsection*{{Other definitions}}\label{other_definitions} Most other characterizations of Grothendieck fibrations can also be given in a way which does not violate the [[principle of equivalence]] to characterize Street fibrations. \hypertarget{comparison_to_grothendieck_fibrations}{}\subsection*{{Comparison to Grothendieck fibrations}}\label{comparison_to_grothendieck_fibrations} Every Grothendieck fibration is a Street fibration, as is every [[equivalence of categories]] (the latter are not in general Grothendieck fibrations). Since Street fibrations are closed under composition, any functor equivalent to a Street fibration is also a Street fibration (this is the ``covariance'' property). As remarked above, however, almost all functors in [[Cat]] which one wants to treat as ``fibrations'' are actually Grothendieck fibrations. Moreover, in $Cat$ every Street fibration is the composite of an equivalence with a Grothendieck fibration: the latter can be taken to be a [[fibrant replacement]] of it in the [[canonical model structure]] on Cat. (In fact, a Street fibration is a Grothendieck fibration precisely when it is also a [[isofibration]].) For these reasons, Street fibrations in $Cat$ are little-studied. The fact that they exist, and that any Street fibration is equivalent to a Grothendieck one, can be useful in assuaging philosophical worries about violation of the [[principle of equivalence]] in the notion of Grothendieck fibration, but in practice in $Cat$ one usually wants to use Grothendieck fibrations. However, when internalizing in other 2-categories, covariance becomes more important. This is most obvious when the 2-category in which one wishes to internalize is only a weak 2-category (a [[bicategory]]), in which it does not even make much sense to internalize the notion of Grothendieck fibration. (This is even the case in [[Cat]] if we define it using [[anafunctors]], as is often important to do in the absence of the [[axiom of choice]].) However, even when internalizing in a [[strict 2-category]], if the strict 2-category itself is ``only defined up to [[biequivalence]],'' then one is again compelled to use internal Street fibrations, since they are ``covariant under biequivalence'' of the containing bicategory, whereas Grothendieck fibrations are not. For example, this is arguably the case in the 2-category [[Topos]], where we have to make the arbitrary choice of whether to define the [[geometric morphism|morphisms]] to be [[left exact functor|left-exact]] left [[adjoint functor|adjoints]] $f^*$, right adjoints $f_*$ having a left-exact left adjoint, or adjoint pairs $(f^*,f_*)$ in which $f^*$ is left exact. The three choices give three strict 2-categories which are all biequivalent, but not strictly 2-equivalent; thus it is more sensible to consider internal Street fibrations in $Topos$ than strict Grothendieck ones. \hypertarget{properties}{}\subsection*{{Properties}}\label{properties} Since Street fibrations are the ``minimal covariant modification'' of Grothendieck ones, any property enjoyed by Grothendieck fibrations which is itself covariant under equivalence will also be possessed by Street fibrations. One thing to note is that in general, when working with Street fibrations, one must always replace [[fibers]] with [[essential fibers]]. In particular, the lifting property of a Street fibration is insufficient for a morphism $u\colon J\to I$ in $B$ to induce a functor $u^*\colon E^I\to E^J$ between strict fibers, but such a functor is induced between essential fibers. In this way we can reconstruct a [[pseudofunctor]] $B^{op}\to Cat$ from any Street fibration, and show that the [[2-category]] of Street fibrations is equivalent to that of such pseudofunctors (though not, as in the case of Grothendieck fibrations, [[strict 2-equivalence of 2-categories|strictly 2-equivalent]]). Just as every Grothendieck fibration is a [[strictly exponentiable functor]], i.e. an [[exponential object|exponentiable morphism]] in the [[strict 2-category]] [[Cat]], every Street fibration is a non-strictly exponentiable functor, i.e. an exponentiable morphism in the weak [[2-category]] Cat. \hypertarget{examples}{}\subsection*{{Examples}}\label{examples} Of course, any Grothendieck fibration is a Street fibration, but the interest is in those which are not Grothendieck. Some of the applications are internal to 2-categories other than [[Cat]]. \begin{itemize}% \item The original motivation was to consider fibrations (and opfibrations, and [[two-sided fibrations]]) in $V Cat^{op}$ as a means to construct [[Prof]]. \item Street fibrations in [[Topos]] are discussed in the paper of Johnstone below. \end{itemize} Street fibrations in [[Cat]] also arise in mathematics, though often under different names. The following examples were pointed out by [[George Janelidze]], [[Steve Lack]], and [[Ross Street]]. \begin{itemize}% \item The notion of ``admissible object'' in [[categorical Galois theory]] can be expressed in terms of a functor being (partially) a Street fibration, not generally Grothendieck. \item Any [[left exact functor|left exact]] (or, more generally, ``semi-left exact'') [[reflection]] is a Street fibration, not generally Grothendieck. \end{itemize} \hypertarget{references}{}\subsection*{{References}}\label{references} The notion was originally defined in \begin{itemize}% \item [[Ross Street]], \emph{Fibrations in bicategories}, Cahiers de topologie et g\'e{}om\'e{}trie diff\'e{}rentielle cat\'e{}goriques, tome 21, no 2 (1980), 111-160. (\href{http://www.numdam.org/article/CTGDC_1980__21_2_111_0.pdf}{pdf}) \end{itemize} although there it was given in a very abstract form. A more explicit form like that given above can be found in \begin{itemize}% \item Ross Street, \emph{Conspectus of variable categories}, Journal of Pure and Applied Algebra, Volume 21, Issue 3 (1981), 307-338. (\href{https://www.sciencedirect.com/science/article/pii/0022404981900219/pdf?md5=3d791b95c31feb34887b5144975c2f02&pid=1-s2.0-0022404981900219-main.pdf}{pdf}) \end{itemize} Some alternate characterizations, and applications in [[Topos]], are discussed in \begin{itemize}% \item [[Peter Johnstone]], \emph{Fibrations and partial products in a 2-category}. \end{itemize} [[!redirects Street fibration]] [[!redirects Street fibrations]] [[!redirects weak fibration]] [[!redirects weak fibrations]] [[!redirects Street opfibration]] [[!redirects Street opfibrations]] [[!redirects weak opfibration]] [[!redirects weak opfibrations]] \end{document}