----- > [!proposition] Proposition. ([[the snake lemma]]) > Let $R$ be a [[ring]]. Consider two [[short exact sequence|short]] [[exact sequence|exact]] [[chain complex of modules|sequences]] of $R$-[[module|modules]], linked by [[linear map|homomorphisms]] so as to form a commutative diagram (i.e., linked by a [[chain map]]): > > ```tikz > \usepackage{tikz-cd} > \usepackage{amsmath} > \begin{document} > % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZABgBpiBdUkANwEMAbAVxiRGJAF9T1Nd9CKAIzkqtRizYAZAPpCuPEBmx4CRAEyjq9Zq0QgAsnIW8VAogGYt43WwByx7qf5qUAFms7J+jk6V9VQRJSITEvPXYTfzNXZBFQ7QkI2V9FZRcgzQSbb0MZVOdAyxCwpPt8qPSi9xLE2x8uMRgoAHN4IlAAMwAnCABbJBEQHAgkADY63IAdKYY6PoAjKDoonv6kTWHRxAB2SYiZvqZV3oHEKy2kAA59thmwY781s7JLxCEn08HqEY3b-RmjDQAAs6I5FM8-m8LuE7lMFjAcGD5J91ucfts3KizgBWDHjbHjfG7f4gQEMEFgjjUOYIhgABQC5n03SwLWBOBOaL2bxuOQO8MRVJANLodMZMUEIFZ7M5hMQfN+iAAnJwKJwgA > \begin{tikzcd} > 0 \arrow[r] & L_1 \arrow[d, "\lambda"] \arrow[r, "\alpha_1"] & M_1 \arrow[d, "\mu"] \arrow[r, "\beta_1"] & N_1 \arrow[d, "\nu"] \arrow[r] & 0 \\ > 0 \arrow[r] & L_0 \arrow[r, "\alpha_0"'] & M_0 \arrow[r, "\beta_0"'] & N_0 \arrow[r] & 0 > \end{tikzcd} > \end{document} > ``` > > Then with notation as above, there is an [[exact sequence]] $0 \xrightarrow{} \ker \lambda \to \ker \mu \to \ker \nu \xrightarrow{\delta} \text{coker }\lambda \to \text{coker }\mu \to \text{coker }\nu \to 0.$ > Equivalently, in view of [[(co)homology of a complex#^specialization|this example]], we have an exact sequence on [[(co)homology of a complex|homology]] > > ```tikz > \usepackage{tikz-cd} > \usepackage{amsmath} > \begin{document} > % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZABgBpiBdUkANwEMAbAVxiRGJAF9T1Nd9CKAIzkqtRizYAJAPpCAFABkZAHRUAjJgwYwcASi48QGbHgJEATKOr1mrRCFkKAsqo1ad+w71MCiAZmtxO2k5eQA5N01tXQNuH35zYVILMVtJB1liJSiPWO9jPjNBZCtUmwl7Rxls1zVozzijE0SSwPLgjOrsyPq8r3jC3yTkABYUtMq2DkGW4stSIUmQhzVYBhw6LjEYKABzeCJQADMAJwgAWyQyEBwIJCFBs8uH6jukCyfzq8QrW-vEP4vi9EON-kgAKzAn4Qt4AgBs0KQ8LhSAA7EjAajEAAOajqGBgKBIfw3AAWMDoxIckDArExePBoPxhOpAFpSZwKJwgA > \begin{tikzcd} > 0 \arrow[r] & H_1(L_\bullet) \arrow[r] & H_1(M_\bullet) \arrow[r] & H_1(N_\bullet) \arrow[ld, no head, bend left] & \\ > & & \delta \arrow[ld, bend right] & & \\ > & H_0(L_\bullet) \arrow[r] & H_0(M_\bullet) \arrow[r] & H_0(N_\bullet) \arrow[r] & 0 > \end{tikzcd} > \end{document} > ``` > > where > - $L_{\bullet}$ is the complex $0 \to L_{1} \xrightarrow{\lambda} L_{0} \to 0$; > - $M_{\bullet}$ is the complex $0 \to M_{1} \xrightarrow{\mu} M_{0} \to 0$; > - $N_{\bullet}$ is the complex $0 \to N_{1} \xrightarrow{\nu} N_{0} \to 0$. > > We can capture everything said here in the following commutative diagram, wherein each row, each column, and the path of (co)kernels containing the **snaking homomorphism $\delta$** is exact: > > > ```tikz > \usepackage{tikz-cd} \usepackage{amsmath} \begin{document} \def\red#1{|[red]|#1} \def\coker{\operatorname{coker}} \def\atfield[#1]{\arrow[#1,preaction={draw=white,-,line width=3},nodes={fill=white}]} \begin{tikzcd} & 0 \arrow[d] & 0 \arrow[d] & 0 \arrow[d] & \\ 0 \arrow[r] & \red{\ker \lambda} \arrow[r, "\overline{\alpha_1}", red] \arrow[d, hook, "\iota_\lambda"] & \red{\ker \mu} \arrow[r, "\overline{\beta_1}", red] \arrow[d, hook, "\iota_\mu"] & \red{\ker \nu} \arrow[d, hook, "\iota_\nu"] \arrow[ddd, phantom, ""{coordinate, name=Z}] \arrow[dddll, "\qquad\delta", rounded corners, to path={ -- ([xshift=2ex]\tikztostart.east) |- (Z) [near end]\tikztonodes -| ([xshift=-2ex]\tikztotarget.west) -- (\tikztotarget)}, red] & {}\\ 0 \arrow[r] & L_1 \arrow[r, "\alpha_1"] \atfield[d, "\lambda"] & M \arrow[r, "\beta_1"] \atfield[d, "\mu"] & M_1 \arrow[r] \atfield[d, "\nu"] & 0 \\ 0 \arrow[r] & N_1 \arrow[r, "\alpha_0"] \arrow[d, two heads, "\pi_\lambda"] & N \arrow[r, "\beta_0"] \arrow[d, two heads, "\pi_\mu"] & L_0 \arrow[r] \arrow[d, two heads, "\pi_\nu"] & 0 & \\ & \red{\coker \lambda} \arrow[r, "\overline{\alpha_0}", red] \arrow[d] & \red{\coker \mu} \arrow[r, "\overline{\beta_1}", red] \arrow[d] & \red{\coker \nu} \arrow[r] \arrow[d] & 0 \\ & 0 & 0 & 0 & \end{tikzcd} \end{document} > ``` > > > [!proposition] Defining the connecting morphism $\delta$. > In some contexts, one needs on-hand the precise definition of $\delta:H_{1}(N_{\bullet})=\operatorname{ker }\nu \to H_{0}(L_{\bullet})=\operatorname{coker }\lambda$. It is as follows. > > Let $a \in \operatorname{ker }\nu=H_{1}(N_{\bullet})$. Then $\delta(a)$ is defined by 'forcing' $a$ through the above diagram via the solid arrows marked below, where the lifts under $\beta_{1}$ and $\alpha_{0}$ are chosen arbitrarily (the proof shows this procedure is [[well-defined]]). > > ```tikz > \usepackage{tikz-cd} > \usepackage{amsmath} > \begin{document} > % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZARgBoAGAXVJADcBDAGwFcYkRyQBfU9TXfIRQAmCtTpNW7Tjz7Y8BIgGYxNBizaIO3XiAzzBRcqWLj1UrTN36BilMeFnJm7bL38FQ5MaVON0nTlbLxVTNWd2ekD3AztkFUdw-y0AI2ibTyJRRIlkkABjdI9DEVJfJIsQKCLYrzJy3Mq2NwySklIAFj9KgDMa4KIyAFZulysgzNKRirH+yfjSacbZluK4js7RgNXaog2G8xXrNa8NnMPt492UFQOIrQAqObbRLpn2Z7iVN+WPnYGUGRzvcQJ86iYtlowVkIe8oVxxDAoABzeBEUA9ABOEAAtkhRCAcBAkAA2GgACxg9GqWkgYDYNEYWHp7CgEBwOCR0SxuKQAHYaESkMQBSBKdT2HSGSAmSytGyOVy3Dy8YgAByC4mIUXimlgZiMRiM5kuOAQJnVOEgAA61pSMBw9AA+sRudjVQBOTXCjViqk08AEaWylwKzmW35aW32x1OziM+j2xgABRO7ExWGR5Jwbt5iGIvqF+bJfoltKDIGNcqq7PDudVha1XtLeoNRplJvYZotlcjNutOOY9f53vzvt1korVdDta5Vtt+uH+eMhKb8+tTDQ5Od4xAKuFK6LxGIyvdwrIq+FzZDrNnEYn5ZZp7zwkPWuIzYfgZZ09viuqz6qq+o7EEMFL+pOP4dtWYZKro+75heR4El+Uq9je8p3kuH4gSoLaQcGnaYf+S7AZe+YbPhj6ETBWGAUgYHkcQK6oVO0EziR9GIJRRbCBerFQRhNacfBZ6IHxo7jhB1HoURwl1lxeG8Sh0nfjRHEKaJL4ErxeECepf6aRiYnCEpWolvpsm0SJxkvmZwrgWWalWRpcG2UBOlaixqlob+xFGXuJmefi-E+WxQmwQBWlAfZ6qOQGvnsYZbmBXmJZFnyXHNken5hYJcmRdhjb4t5TmJRFdHRSFIGlQl4UFXRlBcEAA > \begin{tikzcd} > & 0 & 0 & 0 \arrow[d, no head, dotted] & \\ > 0 \arrow[r, no head, dotted] & {} \arrow[r, no head, dotted] \arrow[u, no head, dotted] \arrow[d, no head, dotted] & {} \arrow[r, no head, dotted] \arrow[u, no head, dotted] \arrow[d, no head, dotted] & a \arrow[d] & \\ > 0 \arrow[r, no head, dotted] & {} \arrow[r, no head, dotted] \arrow[d, no head, dotted] & c \arrow[r, "\beta_1"] \arrow[d, "\mu"] & b \arrow[r, no head, dotted] \arrow[d, "\nu", no head, dotted] & 0 \\ > 0 \arrow[r, no head, dotted] & e \arrow[r, "\alpha_0"] \arrow[d] & d \arrow[r, "\beta_0"', no head, dotted] \arrow[d, no head, dotted] & * \arrow[r, no head, dotted] \arrow[d, no head, dotted] & 0 \\ > & f \arrow[r, no head, dotted] \arrow[d, no head, dotted] & {} \arrow[d, no head, dotted] & {} \arrow[l, no head, dotted] \arrow[r, no head, dotted] \arrow[d, no head, dotted] & 0 \\ > & 0 & 0 & 0 & > \end{tikzcd} > \end{document} > ``` > Concretely: > 1. Map $a \mapsto b$ via the [[inclusion map|inclusion]] of $\ker \nu$ into $N_{1}$; > 2. $\beta_{1}$ is [[surjection|surjective]], so *choose* $c \in \beta_{1} ^{-1}(b)$ (we will show below that this is safe to do) and map $b \mapsto c$; > 3. Take $d:= \mu(c)$ in $M_{0}$; > 4. Due to commutativity, $\beta_{0}(d)=\nu(b)$. Except $b \in \ker \nu$, so $\nu(b)=0$. Conclude that $\beta_{0}(d)=0$, so that $d \in \ker B_{0}=\im \alpha_{0}$. Because $\alpha_{0}$ is in [[injection]], $\alpha_{0}^{-1}(d)=e$ for a single $e \in L_{0}$. Map $d \mapsto e$; > 5. Finally, let $f \in \text{coker }\lambda$ be the image of $e$ under the projection $\pi_{\lambda}$. *Put $\delta(a):=f$.* > > [!proposition] Corollary. > [[long exact sequence on homology induced by short exact sequence of chain complexes]] ^proposition --- > [!proof]- Proof. ([[the snake lemma]]) > We first try to obtain the exact sequences of kernels and cokernels individually before putting them together via $\delta$. > > As a prototype of the approach, notice that (invoking commutativity (!) of the diagram) $\begin{align} > \mu \circ (\alpha_{1} \circ \iota_{\lambda}) = & (\mu \circ \alpha_{1}) \circ \iota_{\lambda} \\ > =^{!} & (\alpha_{0} \circ \lambda) \circ \iota_{\lambda} \\ > = & \alpha_{0} \circ (\lambda \circ \iota_{\lambda}) \\ > = & \alpha_{0} \circ 0 \\ > = & 0 > \end{align}$ > and similarly $\nu \circ (\beta_{1} \circ \iota_{\mu})=0.$ Consequently contemplate the resultant manifestations of the [[universal property]] of [[categorical kernel|kernels]] in $R$-$\mathsf{Mod}$. > > ```tikz > \usepackage{tikz-cd} > \usepackage{amsmath} > \begin{document} > % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZABgBpiBdUkANwEMAbAVxiRAB12cYAPHYANYwATgAIAvpwZ0AtgCModEONLpMufIRQBGclVqMWbALIB9bctUgM2PASIAmPdXrNWiEGeKW1tzUV1tfVcjD05uPkERCVFOGSZlfRgoAHN4IlAAM2EIGSRdEBwIJCcDNzY4hJUsnLzEMkLixAKQ9w52RjQACzpzWPYAYyxhAf78HF6pWQUlapBs3KQAZmoi-JdDNs5xyfZ4n3napAa1xBWQBiwwNsU4LuSQDfKw9l4sOBw4UQBCfogaESXa7ATidHp9ThDEZjCATUxTeSKcSPC50OQwBgABXUdi0IGEWBSXRwBwWdROTVK6LAUGWDVabG84go4iAA > \begin{tikzcd} > \text{ker }\lambda \arrow[r, "\alpha_1 \circ \iota_\lambda"] \arrow[rd, "\exists ! \overline{\alpha_1 \circ \iota_\lambda}"', dashed] \arrow[rr, "0", bend left] & M_1 \arrow[r, "\mu"] & M_0 \\ > & \text{ker } \mu \arrow[u, "\iota_\mu"] & > \end{tikzcd} > \end{document} > ``` > and > ```tikz > \usepackage{tikz-cd} > \usepackage{amsmath} > \begin{document} > % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZABgBpiBdUkANwEMAbAVxiRAB12cYAPHYANYwATgAIAvpwC2TEONLpMufIRQBGclVqMWbAHIB9NXIUgM2PASIAmTdXrNWiEIeInFFlUQ1qtD3c6c3HyCIhKinGCy4lowUADm8ESgAGbCEFJIGiA4EEi22o5skdGmaRlIZDl5iNn+ThzsAEYwOHRGEewAxljCXZ34bQbSpanpmYgAzNS5WfY6DZyD7SXuIOUTVbNT1AxYYA1QdHAAFnEg80WB7LxYcDhwogCEnRA0InsHwJwtQ2qdPT6AwgQxG4guIAYdBaDAACkpLKoQMIsPETjg1htKjMagUWmAoEhJlV6mw3DFxEA > \begin{tikzcd} > \text{ker }\mu \arrow[r, "\beta_1 \circ \iota_\mu"] \arrow[rd, "\exists ! \overline{\beta_1 \circ \iota_\mu}"', dashed] \arrow[rr, "0", bend left] & N_1 \arrow[r, "\nu"] & N_0 \\ > & \text{ker } \nu \arrow[u, "\iota_\nu"] & > \end{tikzcd} > \end{document} > ``` > > The claim is that $0 \xrightarrow{}\ker \lambda \xrightarrow{\overline{\alpha_{1} \circ \iota_{\lambda}}} \ker \mu {\xrightarrow{\overline{\beta_{1} \circ \iota_{\mu}}}} \ker \nu$ > is an [[exact sequence]] of [[module|modules]]. To show this, we must first check that it is a [[chain complex of modules|complex]] to begin with. The only nontrivial check is $\begin{align} > \im \big(\overline{\beta_{1} \circ \iota_{\mu}} \circ \overline{\alpha_{1} \circ \iota_{\lambda}} \big) = & \im \big(\beta_{1} \circ \alpha_{1} \big)\\ > = & 0 \ \text{(by exactness of the premised sequences)} > \end{align}$ > implying $\im \overline{\alpha_{1} \circ \iota_{\lambda}} \subset \ker \overline{\beta_{1} \circ \iota_{\mu}} \ (*)$ as required. > > To show exactness: > - First note that $\im 0=\{ 0 \}=\ker \overline{\alpha_{1} \circ \iota_{\lambda}}$, [[module homomorphism is injective iff kernel is trivial iff is a monomorphism|since]] the latter is a composition of [[injection|injections]]. > - Next we wish to show the reverse inclusion to $(*)$. Let $g \in \ker \overline{\beta_{1} \circ \iota_{\mu}}$. Then $\beta_{1}(g)=0$, so that $g \in \ker \beta_{1}=\im \alpha_{1}$. Lift it to its (recall $\alpha_{1}$ is an [[injection]]) unique preimage $h \in L_{1}$. If we can show $h \in \ker \lambda$ then we are done with this step. Since $\mu \circ \alpha_{1}(h)= \mu(g)= 0$ (as $g \in \ker \mu$ by definition), diagram commutativity enforces $\alpha_{0}\circ \lambda(h)=0$. But $\alpha_{0}$ is an [[injection]] — the only element it sends to $0$ is $0$... meaning we must have $\lambda(h)=0$ as desired. Thus, $\im \overline{\alpha_{1} \circ \iota_{\lambda}} \supset \ker \overline{\beta_{1} \circ \iota_{\mu}}$. > > > > > > It is time to define the snaking homomorphism $\delta: \ker \nu \to \text{coker }\lambda$. The claim is that $a \in \ker \nu$ can be mapped all the way to $\text{coker }\lambda$ via the solid arrows marked here: > > ```tikz > \usepackage{tikz-cd} > \usepackage{amsmath} > \begin{document} > % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZARgBoAGAXVJADcBDAGwFcYkRyQBfU9TXfIRQAmCtTpNW7Tjz7Y8BIgGYxNBizaIO3XiAzzBRcqWLj1UrTN36BilMeFnJm7bL38FQ5MaVON0nTlbLxVTNWd2ekD3AztkFUdw-y0AI2ibTyJRRIlkkABjdI9DEVJfJIsQKCLYrzJy3Mq2NwySklIAFj9KgDMa4KIyAFZulysgzNKRirH+yfjSacbZluK4js7RgNXaog2G8xXrNa8NnMPt492UFQOIrQAqObbRLpn2Z7iVN+WPnYGUGRzvcQJ86iYtlowVkIe8oVxxDAoABzeBEUA9ABOEAAtkhRCAcBAkAA2GgACxg9GqWkgYDYNEYWHp7CgEBwOCR0SxuKQAHYaESkMQBSBKdT2HSGSAmSytGyOVy3Dy8YgAByC4mIUXimlgZiMRiM5kuOAQJnVOEgAA61pSMBw9AA+sRudjVQBOTXCjViqk08AEaWylwKzmW35aW32x1OziM+j2xgABRO7ExWGR5Jwbt5iGIvqF+bJfoltKDIGNcqq7PDudVha1XtLeoNRplJvYZotlcjNutOOY9f53vzvt1korVdDta5Vtt+uH+eMhKb8+tTDQ5Od4xAKuFK6LxGIyvdwrIq+FzZDrNnEYn5ZZp7zwkPWuIzYfgZZ09viuqz6qq+o7EEMFL+pOP4dtWYZKro+75heR4El+Uq9je8p3kuH4gSoLaQcGnaYf+S7AZe+YbPhj6ETBWGAUgYHkcQK6oVO0EziR9GIJRRbCBerFQRhNacfBZ6IHxo7jhB1HoURwl1lxeG8Sh0nfjRHEKaJL4ErxeECepf6aRiYnCEpWolvpsm0SJxkvmZwrgWWalWRpcG2UBOlaixqlob+xFGXuJmefi-E+WxQmwQBWlAfZ6qOQGvnsYZbmBXmJZFnyXHNken5hYJcmRdhjb4t5TmJRFdHRSFIGlQl4UFXRlBcEAA > \begin{tikzcd} > & 0 & 0 & 0 \arrow[d, no head, dotted] & \\ > 0 \arrow[r, no head, dotted] & {} \arrow[r, no head, dotted] \arrow[u, no head, dotted] \arrow[d, no head, dotted] & {} \arrow[r, no head, dotted] \arrow[u, no head, dotted] \arrow[d, no head, dotted] & a \arrow[d] & \\ > 0 \arrow[r, no head, dotted] & {} \arrow[r, no head, dotted] \arrow[d, no head, dotted] & c \arrow[r, "\beta_1"] \arrow[d, "\mu"] & b \arrow[r, no head, dotted] \arrow[d, "\nu", no head, dotted] & 0 \\ > 0 \arrow[r, no head, dotted] & e \arrow[r, "\alpha_0"] \arrow[d] & d \arrow[r, "\beta_0"', no head, dotted] \arrow[d, no head, dotted] & * \arrow[r, no head, dotted] \arrow[d, no head, dotted] & 0 \\ > & f \arrow[r, no head, dotted] \arrow[d, no head, dotted] & {} \arrow[d, no head, dotted] & {} \arrow[l, no head, dotted] \arrow[r, no head, dotted] \arrow[d, no head, dotted] & 0 \\ > & 0 & 0 & 0 & > \end{tikzcd} > \end{document} > ``` > Indeed, proceed as follows: > - Map $a \mapsto b$ via the [[inclusion map|inclusion]] of $\ker \nu$ into $N_{1}$; > - $\beta_{1}$ is [[surjection|surjective]], so *choose* $c \in \beta_{1} ^{-1}(b)$ (we will show below that this is safe to do) and map $b \mapsto c$; > - Take $d:= \mu(c)$ in $M_{0}$; > - Due to commutativity, $\beta_{0}(d)=\nu(b)$. Except $b \in \ker \nu$, so $\nu(b)=0$. Conclude that $\beta_{0}(d)=0$, so that $d \in \ker B_{0}=\im \alpha_{0}$. Because $\alpha_{0}$ is in [[injection]], $\alpha_{0}^{-1}(d)=e$ for a single $e \in L_{0}$. Map $d \mapsto e$; > - Finally, let $f \in \text{coker }\lambda$ be the image of $e$ under the projection $\pi_{\lambda}$. > > We want to define $\delta(a):=f$, but [[well-defined|well-definition]] necessarily and sufficiently hinges on arbitrariness of how we chose $c$ in the second step. Said arbitrariness is proved by another chase. Here is the relevant part of the diagram: > > ```tikz > \usepackage{tikz-cd} > \usepackage{amsmath} > \begin{document} > % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZABgBpiBdUkANwEMAbAVxiRGJAF9T1Nd9CKAEzkqtRizYBjLjxAZseAkQDMo6vWatEIAEazeigUQAs68VrYduh-spQBGc5sk6D8vksHInDsS+0QVhsPI3tkET8NCUCodwU7bzUoi1cQeM9jFDIUgKsMsO8nIX8YtgAzAsSiERLoyzdOMRgoAHN4IlBygCcIAFskMhAcCCQzEAALGDo4nUgwVmoGLAW2KAgcHBb3Hv6x6hGkJ0np2fACRZBl1Z11ze36tIAdJ8Y0CboAfQcd3oHEY6HRAiE4zJBgJgMBhLFaBOAQZZxR6BF66GA4L4-EK7f4goFqUFneaXa6xDZbOLYv77YajRAAVmoUzBcwuIBhNxAdwp7NSKKeDDofV0UDovMFaIYAAVMvYQN0sK0JjhfnsAQc6QA2JmncGQ6FXWFseGI3l5HQvPpMVW4jVIADsOpZ51WHLJ90pchxSAAHHaGU6iWy3WtydsqWrGbSkNrCXqoSGdCasEi+WwXm8Pp9rF7qYhY0DHYbOdyHnHWasI-8o0CAJyB+MG0nGhEpm1IevRgFDZlB13F908qsx-0OHu6isko23MOUiicIA > \begin{tikzcd} > 0 \arrow[r, no head, dotted] & {} \arrow[r, "\alpha_1", no head, dotted] \arrow[d, "\lambda"', no head, dotted] & c \arrow[r, "\beta_1"] \arrow[d, "\mu"] & b \arrow[r, no head, dotted] \arrow[d, no head, dotted] & 0 \\ > 0 \arrow[r, no head, dotted] & e \arrow[r, "\alpha_0"] \arrow[d] & d \arrow[r, no head, dotted] \arrow[d, no head, dotted] & {} & \\ > & f \arrow[r, no head, dotted] & {} & & > \end{tikzcd} > \end{document} > ``` > > Suppose we chose $c' \in \beta_{1} ^{-1}(b)$ instead of $c$. We need to show the same $f$ comes out anyways. Here is the reasoning: $\begin{align} > \beta(c)=\beta(c') \implies & \beta(c-c')=0 & \text{(so, } c-c' \in \ker \beta) \\ > \implies & \alpha_{1}^{-1}(c -c') = \{ g \} \text{ for some }g & (\alpha_{1} \text{ mono + exactness}) \\ > \implies & \alpha_{0} \circ \lambda(g) = \mu \circ \alpha_{1}(g) & \text{(commutativity)} \\ > \implies & \lambda(g) = \alpha_{0} ^{-1}(\mu(c-c')) & (\alpha_{0} \text{ mono}) \\ > \implies & \lambda(g) = \alpha_{0} ^{-1}(d - \mu(c')) & (\mu(c)=d) \\ > \implies & \lambda(g)= e - d' , d'=\alpha_{0}^{-1}\big( \mu(c') \big) > \end{align}$ > and so we see that changing $c$ to $c'$ changes $e$ to $e+\lambda(g)$ and in turn $f$ to $f+0=f$ (the relevant [[coset]] doesn't change, hence the images under the projection onto $\text{coker }\lambda$ don't change). > > The symbol crunching makes this all look far more complicated than it really is, see Aluffi for a more illuminating (but less thorough) discussion of what's going on. > > Now that we have $\delta$, we must show exactness at $\ker \nu$ and at $\text{coker }\lambda$. > ----- #### ---- #### References > [!backlink] > ```dataview > TABLE rows.file.link as "Further Reading" > FROM [[]] > FLATTEN file.tags as Tag > WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom" > GROUP BY Tag > ``` > [!frontlink] > ```dataview > TABLE rows.file.link as "Further Reading" > FROM outgoing([[]]) > FLATTEN file.tags as Tag > WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom" > GROUP BY Tag > ``` The [[linear map|module homomorphisms]] induced between [[kernel of a module homomorphism|kernels]] and [[cokernel of a module homomorphism|cokernels]] follow from the respective [[universal property|universal properties]] cf. [[categorical kernel]] and [[categorical cokernel]]. Indeed, $\text{im }\alpha_{1}=\text{ker }$ [[exact sequence|exactness]] ~~okay so below diagram is not quite right... the universal diagrams for (co)kernels should actually just fit in straight from the rows (this makes things much simpler). they also can be defined explicitly. it would be instructive to try out both.~~ - [ ] Define morphisms between (co)kernels via [[universal property]] - [ ] Define morphisms between (co)kernels explicitly - [ ] explain why columns are also exact (rows are exact by hypothesis) ```tikz \usepackage{tikz-cd} \usepackage{amsmath} \begin{document} % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZARgBoAGAXVJADcBDAGwFcYkRyQBfU9TXfIRQAmCtTpNW7Tjz7Y8BIgGYxNBizaIO3XiAzzBRMsXHqpWgDoWcMAB45gAaxgAnAARcrjegFsARlD0OnICiiKkJmqSmiBWNvZOrh5WPszBevwKQsgqkRIa7HF2Ds7unhZgabIZBmEkpMKm0ewAMgD6xOn6odmijVEFWgCyHV2Zhigq-fnmIAByo9XdWUakSk2DIO0yussTyKLrA7MjOyErk2sbswtnNT2rACzXMUUJAMYQpckW3v6BY1qvVIz2Or2sxWAn2+5VSgIel1BM3B8Qc0KS5Uq8Iu9QArC9pNj9qJ8WDCUtxnUVKTkeTdpTsuQIgStHc9nUmdMzDE2QyiEyjrTWUS6o8GiztBSgUQxYLuXTzvsxUj5cKuOIYFAAObwIigABmLggPiQxFEIBwEFNuOqhuNppUFqtiGIADZbUaTS6xU7TQB2D32l0ADholqQSkDXuIAE4w873bo7V7hEzfYgY1GkKH08JiFmXWRc8IC8QfeHEMJI0nPUg0xXqwbay740hHgXzRWbTWg46K66w-QsIx2AALCBfdLJtutxB+wfDscTxxT5u42c5nBDkdaceTgtx9NmmijmD0KDsHAAdwgp-PCAXO-ABDYZMsFjQWDawDeDiwPh+P4AnoLgQBobw-BgRgAAU+S0LAwGwWBVyDYh62dYhHTvC8tGvW8zygB8hViD8vx-CEEn-H5UlA8D6EgmC4JABCkLYUsiwrMsTwIy8b2wojVRIz9v1-YAqMxZhaJACCoNg6V4MQrBkILAd03nYirCYNBR3oUY6IYuSEWYxTlJ7L11IrHNBKsSCtz06T6NkpiWKUtizKQQ9OLTayLC0nS2k4fSnPk4zWJQ6N0NNIsfNs3TAocgznJMtymyDVSK0PHygIBILGJClwsC1UccHCpALIw7zmnfOFcsMi4QAKoqSoLTcMOiqqSKxWqmMa4qwOkhCYjgCBGCU0rEHSiqaEgsAcIAWkeQ9RrAGIoAgHAbAvN8SJ8egcFHPx9WAcgpJkvKjJc0zUujTspoGlb2ECOBTy2hLgou5L+p8uwsDgHA4DcABCNwrAgWhXGWmBgBB3zGG0uLQILcqoummBZqQBbMo6lI9oOo6Tv6s66omULXMJwbHvWzbxsw2diCLSHHvoZ7NUJxzzvqy7Xw0iwfr+gHgdB8GXEh6GbJgOyCZUum00ZrQ1o21nUfRxBFu2nH9sO47TvZ4mwlJq6QGnOc6YZin5appWQBmnC1Z53bNfxnXEpCrnxsmmd7tW5mXq+7HedsX7-qBmGwYhwbyL83T8zZl2PrCpHZ3XL2mZZ17vsD-mQ6F8OVvI2KOmd97Oc+9UuCAA \begin{tikzcd}[row sep=huge] & 0 \arrow[d] & 0 \arrow[d] & 0 \arrow[d] & \\ 0 \arrow[r] & \text{ker }\lambda \arrow[d, hook] & \text{ker }\mu \arrow[d, hook] & \text{ker }\nu \arrow[d, hook] & \\ 0 \arrow[r] & L_1 \arrow[r, "\alpha_1" description] \arrow[d, "\lambda"'] \arrow[rd, "\mathbf{0}" description, dotted, bend right=49] \arrow[rd, "\mathbf{0}" description, dotted, bend left=49] \arrow[ru, "\exists ! \overline{\alpha_1}" description, dashed] & M_1 \arrow[r, "\beta_1" description] \arrow[d, "\mu"'] \arrow[rd, "\mathbf{0}" description, dotted, bend right=49] \arrow[rd, "\mathbf{0}" description, dotted, bend left=49] \arrow[ru, "\exists ! \overline{\beta_1}" description, dashed] & N_1 \arrow[r] \arrow[d, "\nu"'] & 0 \\ 0 \arrow[r] & L_0 \arrow[d, "\pi_{\text{im }\lambda}" description, two heads] \arrow[r, "\alpha_0" description] & M_0 \arrow[d, "\pi_{\text{im }\mu}" description, two heads] \arrow[r, "\beta_0" description] & N_0 \arrow[r] \arrow[d, "\pi_{\text{im }\nu}" description, two heads] & 0 \\ & \text{coker }\lambda \arrow[d] \arrow[ru, "\exists ! \overline{ \alpha_0}" description, dashed] & \text{coker }\mu \arrow[d] \arrow[ru, "\exists ! \overline{ \beta_0}" description, dashed] & \text{coker }\nu \arrow[d] \arrow[r] & 0 \\ & 0 & 0 & 0 & \end{tikzcd} \end{document} ```