|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
% (find-LATEX "2020pullback-lemmas.tex")
% (defun c () (interactive) (find-LATEXsh "lualatex -record 2020pullback-lemmas.tex" :end))
% (defun d () (interactive) (find-pdf-page "~/LATEX/2020pullback-lemmas.pdf"))
% (defun d () (interactive) (find-pdftools-page "~/LATEX/2020pullback-lemmas.pdf"))
% (defun e () (interactive) (find-LATEX "2020pullback-lemmas.tex"))
% (defun u () (interactive) (find-latex-upload-links "2020pullback-lemmas"))
% (defun v () (interactive) (find-2a '(e) '(d)) (g))
% (find-pdf-page "~/LATEX/2020pullback-lemmas.pdf")
% (find-sh0 "cp -v ~/LATEX/2020pullback-lemmas.pdf /tmp/")
% (find-sh0 "cp -v ~/LATEX/2020pullback-lemmas.pdf /tmp/pen/")
% file:///home/edrx/LATEX/2020pullback-lemmas.pdf
% file:///tmp/2020pullback-lemmas.pdf
% file:///tmp/pen/2020pullback-lemmas.pdf
% http://angg.twu.net/LATEX/2020pullback-lemmas.pdf
% (find-LATEX "2019.mk")
% «.make» (to "make")
\documentclass[oneside,12pt]{article}
\usepackage[colorlinks,citecolor=DarkRed,urlcolor=DarkRed]{hyperref} % (find-es "tex" "hyperref")
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{pict2e}
\usepackage[x11names,svgnames]{xcolor} % (find-es "tex" "xcolor")
%\usepackage{colorweb} % (find-es "tex" "colorweb")
%\usepackage{tikz}
%
% (find-dn6 "preamble6.lua" "preamble0")
\usepackage{proof} % For derivation trees ("%:" lines)
\input diagxy % For 2D diagrams ("%D" lines)
\xyoption{curve} % For the ".curve=" feature in 2D diagrams
%
\usepackage{edrx15} % (find-LATEX "edrx15.sty")
\input edrxaccents.tex % (find-LATEX "edrxaccents.tex")
\input edrxchars.tex % (find-LATEX "edrxchars.tex")
\input edrxheadfoot.tex % (find-LATEX "edrxheadfoot.tex")
\input edrxgac2.tex % (find-LATEX "edrxgac2.tex")
%
\usepackage[backend=biber,
style=alphabetic]{biblatex} % (find-es "tex" "biber")
\addbibresource{catsem-u.bib} % (find-LATEX "catsem-u.bib")
%
% (find-es "tex" "geometry")
\begin{document}
\catcode`\^^J=10
\directlua{dofile "dednat6load.lua"} % (find-LATEX "dednat6load.lua")
% %L dofile "edrxtikz.lua" -- (find-LATEX "edrxtikz.lua")
% %L dofile "edrxpict.lua" -- (find-LATEX "edrxpict.lua")
% \pu
\def\PB{\mathsf{PB}}
\def\Wd{\mathsf{wd}}
\def\good{\mathsf{good}}
\def\unique{\mathsf{unique}}
\title{Typing the Pullback Lemmas}
\author{Eduardo Ochs}
\date{}
\maketitle
The first Pullback Lemma states that if the squares $\sm{AB\\DE}$ and
$\sm{BC\\EF}$ in the diagram below
%
%D diagram PB0
%D 2Dx 100 +20 +20 +20
%D 2D 100 X
%D 2D
%D 2D +20 A B C
%D 2D
%D 2D +20 D E F
%D 2D
%D (( A B ->
%D B C ->
%D A D ->
%D B E ->
%D C F ->
%D D E ->
%D E F ->
%D
%D X A ->
%D X C ->
%D X D ->
%D ))
%D enddiagram
%D
$$\pu
\diag{PB0}
$$
%
are pullbacks then the rectangle obtained by glueing them together,
$\sm{A{-}C\\D{-}F}$, is also a pullback. I don't know any place in the
literature where this is proved in detail; its proof usually left as
an exercise (for example, in \cite{CWM2}, III.4.8), or said to be a
simple diagram chase (\cite{Awodey}, Lemma 5.10). Here we will see how
to prove that in a Type System {\sl starting by its syntactical
skeleton} --- a trick explained in section 12 and 19 of
\cite{OchsIDARCT}.
\msk
Let's fix our terminology. We are in a category $\catC$ --- we won't
need to consider other categories --- and our arrows will be named
like this:
%
%D diagram PB1
%D 2Dx 100 +25 +25 +25
%D 2D 100 X
%D 2D
%D 2D +25 A B C
%D 2D
%D 2D +25 D E F
%D 2D
%D (( A B -> .plabel= b f_{AB}
%D B C -> .plabel= b f_{BC}
%D A D -> .plabel= m f_{AD}
%D B E -> .plabel= m f_{BE}
%D C F -> .plabel= m f_{CD}
%D D E -> .plabel= b f_{DE}
%D E F -> .plabel= b f_{EF}
%D
%D X A -> .plabel= m g_{A}
%D X C -> .plabel= a g_{C}
%D X D -> .plabel= l g_{D}
%D ))
%D enddiagram
%D
$$\pu
\diag{PB1}
$$
%
The arrows $g_B$, $g_E$, and $g_F$ are not shown, and at some points
of the proof we will need arrows $h_A:X→A$ and $h_B:X→B$.
$\PB1$ is the statement that the left square $\sm{AB\\DE}$ is a
pullback, $\PB2$ the statement that right square $\sm{BC\\EF}$ is a
pullback, and $\PB3$ the statement that the outer rectangle is a
pullback. Formally, $\PB1$ is:
\begin{itemize}
\item The square $\sm{AB\\DE}$ commutes,
\item For every pair of arrows $(g_B,g_D)$ such that the
quadrillateral $\sm{XB\\DE}$ commutes there is a unique arrow $g_A$
that makes everything commute.
\end{itemize}
Let's create some abbreviations. $\Wd[A→E]$ means that we have two
``natural constructions'' for arrows of type $A→E$, and these two
natural constructions yield the same result. The pronounciation of
``$\Wd[A→E]$'' is ``the arrow from $A$ to $E$ is well-defined''.
$\good(g_A)$ means $(g_A;f_{AB})=g_B$ and $(g_A;f_{AD})=g_D$;
$\good(h_A)$ means $(h_A;f_{AB})=h_B$ and $(h_A;f_{AD})=h_D$; and
$\unique(g_A)$ means $∀h_A:X→A.(\good(h_A) → (g_A=h_A))$. We can now
express $\PB1$ in a more type-theoretical style as:
\begin{itemize}
\item $\Wd[A→E]$ plus:
\item an operation that receives a (dependent) tuple
$(g_B,g_D,\Wd[X→B],\Wd[X→D])$ and returns a tuple $(g_A, \good(g_A),
\unique(g_A))$.
\end{itemize}
We can type all that as:
%
$$\begin{array}{rcl}
\Wd[A→E] &:& ((f_{AB};f_{BE}) = (f_{AB};f_{BE})) \\
X &:& |\catC| \\
g_B &:& X→B \\
g_D &:& X→D \\
\Wd[X→B] &:& ((g_A;f_{AB}) = g_B) \\
\Wd[X→D] &:& ((g_A;f_{AD}) = g_D) \\
\end{array}
$$
$\Wd[A→E] : ((f_{AB};f_{BE}) = (f_{AB};f_{BE}))$
Hi Robert!
How are things? Long time no see/hear/read/write...
Sorry for disappearing for so long - the reason was the usual one: my
personal life was a total mess, I wasn't publishing enough, my
self-esteem was at abyssal levels, and in these situations we tend to
hide until things get much, much, much better...
Anyway, a few years ago I found a niche in which I could produce
material that lots of people found interesting, and I could get enough
feedback on it and even present it at lots of places and even organize
workshops on it (yaaaay!!!) -
% (find-books "__cats/__cats.el" "ochs")
% (find-awodeyctpage (+ 10 84) "Lemma 5.10. (Two-pullbacks)")
% (find-awodeycttext (+ 10 84) "Lemma 5.10. (Two-pullbacks)")
% (find-cwm2page (+ 9 76) "If both squares are pullbacks,")
% (find-cwm2text (+ 9 76) "If both squares are pullbacks,")
\printbibliography
\end{document}
% __ __ _
% | \/ | __ _| | _____
% | |\/| |/ _` | |/ / _ \
% | | | | (_| | < __/
% |_| |_|\__,_|_|\_\___|
%
% «make» (to ".make")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
make -f 2019.mk STEM=2020pullback-lemmas veryclean
make -f 2019.mk STEM=2020pullback-lemmas pdf
% Local Variables:
% coding: utf-8-unix
% ee-tla: "pbl"
% End: