How to write diagram chases

From stacky wiki

It's been said that diagram chasing arguments are impossible to write in such a way that it takes somebody less effort to read than to reproduce the argument for themselves. Many years ago, I cooked up what I think is a reasonably good solution to this problem. In fact, this problem was what motivated me to learn more about the Salamander lemma in the first place.

The Rules

Draw the diagram of sets which you're going to chase. The elements being chased will be drawn in a "parallel" diagram, where their relative positioning indicates which set they belong to (see the examples below). Then draw elements connected by arrows using the following rules:

  1. The "starting element" should be visually distinguished in some way (I like to put a circle around it). Moreover, any time you introduce a new element which is not the image or in the preimage of any other element of the diagram, it should be visually distinguished (relax this rule as you see fit).
  2. Two elements are connected by a solid arrow if one is defined in terms of the other using that arrow. For example, one element might be defined as the image of another under some map, or as some element of the preimage under some map.
  3. Two elements are connected by a dotted arrow to indicate a relationship forced by some aspect of the problem. The relationship may be imposed by commutativity of the diagram, exactness of some row, additivity of the maps, or some other fact that was taken as input to the problem.

Basically, whenever a new element is introduced into the diagram, connect it to an existing element using a solid arrow. Whenever you wish to connect two existing elements of your diagram, use a dotted arrow.

The point of these rules is that the graph of solid arrows must be acyclic, so any element has a unique path of solid arrows connecting it to one of the roots (the "starting elements"). This means that a reader can unambiguously figure out how each element of the diagram was constructed.


Here are a couple of examples to illustrate.

Connecting homomorphism in the Snake Lemma

The Snake Lemma says that if the two middle horizontal rows in the following commutative diagram are exact, then there is a connecting homomorphism $\def\cok{\mathrm{cok\,}} \ker h\xrightarrow\delta\cok f$ so that the 6-term sequence $\ker f\to\ker g\to\ker h\xrightarrow\delta\cok f\to\cok g\to\cok h$ is exact. Here we produce this connecting homomorphism.

Given an element $x$ of $\ker h$, let $y$ be its image. Let $z$ be an element mapping to $y$. Let $w$ be the image of $z$. Since the right vertical column is exact, $y$ maps to zero, and since the diagram commutes, $w$ must also map to zero, so it must be the image of some $r$. Let $s$ be the image of $r$. We define $\delta(x)=s$.

To see that this definition is independent of the choice of $z$, suppose $z'$ is some other element mapping to $y$, and define $w'$ and $r'$ accordingly. Since $z-z'$ maps to $y-y=0$, it must be the image of some element $t$. By commutativity of the diagram (and the fact that the bottom middle row is exact), $t$ must map to $r-r'$. Since the left column is exact, we have that $r-r'$ must map to zero, so $r'$ must have the same image as $r$.

$\LaTeX$ source

  \SelectTips{cm}{10}     % Use the arrowheads that agree with inline arrows.
  \everyxy={<2.5em,0em>:} % Set the unit length in xy diagrams.


  & \ker f \ar[r]\ar[d] & \ker g \ar[r]\ar[d] & \ker h \ar[d]\\
  & \bullet \ar[r]\ar[d]_(.6)f|(.3)\hole
      & \bullet \ar[r]\ar[d]_(.6)g|(.3)\hole
      & \bullet \ar[r]\ar[d]_(.6)h|(.3)\hole="hole" & 0 \\
  0\ar[r] & \bullet \ar[r]\ar[d] & \bullet \ar[r]\ar[d] & \bullet \ar[d] \\
  & \cok f \ar[r]
      \ar@{<-} `l [lu]-(.5,0) `"hole" `[rrruu]+(.5,0) `[rruuu] [rruuu]
      & \cok g \ar[r] & \cok h \\
 & & & *+[o][F-]{x} \ar@{|->}[d]\\
 & { }\POS p+(-.5,.5) *+{t}="t"
     & z\ar@{|->}[r]\ar@{|->}[d]
       \POS p+(-.5,.5) *+{z-z'}="z-zp" \ar@{|.>}[d]+(-.5,.7)
       \POS p+(.5,-.5) *+{z'}="zp" \ar@{|->}[r]
     & y \ar@{|.>}[r] \ar@{|.>}[d]
       \POS p+(-.5,.5) *+{0}="0" & 0\\
 & r\ar@{|->}[r]\ar@{|->}[d]
       \POS p+(-.5,.5) *+{r-r'}="r-rp"
       \POS p+(.5,-.5) *+{r'}="rp" \ar@{|.>}[d]
     & w\ar@{|.>}[r]\ar@{|.>}[d]
       \POS p+(.5,-.5) *+{w'}="wp" \ar@{|.>}[r]\ar@{|.>}[d]
       \POS p+(-.7,.5) *+{w-w'}="w-wp" & 0 \\
 & \llap{$\delta(x):=\;$} s\ar@{|.>}[r]
   \POS p+(-.5,.5) *+{0}="0p" & 0 \\
 \ar@{|->} "t";"z-zp"
 \ar@{|.>} "t";"r-rp"
 \ar@{|.>} "z-zp";"0"
 \ar@{|->} "zp";"wp"
 \ar@{|->} "rp";"wp"
 \ar@{|.>} "r-rp";"0p"
 \ar@{|.>} "r-rp";"w-wp"

Mittag-Leffler (?) Theorem

Theorem. Suppose $A_\bullet$, $B_\bullet$, and $C_\bullet$ are inverse systems of abelian groups and $A_\bullet\xrightarrow{f_\bullet} B_\bullet\xrightarrow{g_\bullet} C_\bullet \to 0$ is a right exact sequence of inverse systems. If $A_\bullet$ satisfies the Mittag-Leffler condition (e.g. if all the maps in $A_\bullet$ are surjective), then the induced sequence $\varprojlim A_\bullet \to \varprojlim B_\bullet \to \varprojlim C_\bullet \to 0$ is exact.

Note: $\varprojlim$ is a right adjoint functor, so it is automatically left exact.

Proof. After replacing $A_n$ by the intersection of the images of the $A_N$, we may assume all the maps in the inverse system $A_\bullet$ are surjective. It suffices to show that any compatible system $\{c_n\}$, representing an element of $\varprojlim C_\bullet$, is expressible as the image of some compatible system $\{b_n\}$, representing an element of $\varprojlim B_\bullet$. We construct $\{b_n\}$ by induction. Since $g_0$ is surjective, we have that $c_0 = g_0(b_0)$ for some $b_0\in B_0$. For the induction step, we chase the following diagram.

Since $g_n$ is surjective, there is some $x$ mapping to $c_n$. Let $y=\beta_n(x)$. By commutativity of the diagram, $g_{n-1}(y)=c_{n-1}$, so $g_{n-1}(b_{n-1}-y)=c_{n-1}-c_{n-1}=0$, so by exactness of the bottom row, there is some $z$ so that $f_{n-1}(z)=b_{n-1}-y$. Since $\alpha_n$ is surjective, there is some $w$ so that $\alpha_n(w)=z$. Let $r=f_n(w)$. By commutativity of the diagram, we have $\beta_n(r)=b_{n-1}-y$, so $\beta_n(x+r)=y+b_{n-1}-y$. Moreover, we have that $g_n(x+r)=0+c_n$. So we define $b_n$ to be $x+r$.

$\LaTeX$ source

  \SelectTips{cm}{10}     % Use the arrowheads that agree with inline arrows.
  \everyxy={<2.5em,0em>:} % Set the unit length in xy diagrams.

        & B_{n+1}\ar[d]^{\beta_n}\ar[r]^{g_n}
        & C_{n+1}\ar[d]^{\gamma_n}\ar[r] & 0\\
    A_n \ar[r]^{f_{n-1}} 
        & B_n \ar[r]^{g_{n-1}}
        & C_n\ar[r] & 0\\
    { }\POS p-(.8,.5)*+{w}="w" 
        & \llap{$b_n:=\;$}x+r \ar@{|.>}[d] \ar@{|.>}[r] 
          \POS p-(.8,.5)*+{r}="r" \ar@{<-|}"w" 
          \POS p+(.8,.5)*+{x}="x" \ar@/^/@{|->}[r] 
        & *+[o][F-]{c_n}\ar@{|.>}[d]\\
    { }\POS p-(.8,.5)*+{z}="z" \ar@{<-|}"w"
        & b_{n-1}\ar@{|.>}[r] 
          \POS p-(.8,.5)*+{b_{n-1}-y}="ed" \ar@{<-|}"z" 
          \POS p+(.8,.5)*+{y}="y"\ar@/^/@{|.>}[r] 
        & c_{n-1} 
          \POS p-(.8,.5)*+{0}="zero" \ar@{<.|}"ed"
   \ar@{|->} "x";"y"
   \ar@{|.>} "r";"ed"