{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "6ZRRH96VZT"
    },
    {
      "field": "uses",
      "target": "AHKJ361FDB"
    }
  ],
  "body": "\n## Statement\n\nLet $\\mathcal{A}$ be an [[abelian category|Y9CZ3MTNF1]], such as the category of modules over a ring.\nConsider a [[commutative diagram|WV898P4X16]]\n$$\\begin{array}{ccccccc} \u0026 A \u0026 \\xrightarrow{f} \u0026 B \u0026 \\xrightarrow{g} \u0026 C \u0026 \\to 0 \\\\ \u0026 \\downarrow{\\scriptstyle a} \u0026 \u0026 \\downarrow{\\scriptstyle b} \u0026 \u0026 \\downarrow{\\scriptstyle c} \u0026 \\\\ 0 \\to \u0026 A' \u0026 \\xrightarrow{f'} \u0026 B' \u0026 \\xrightarrow{g'} \u0026 C' \u0026 \\end{array}$$\nin $\\mathcal{A}$ whose rows are [[exact|JB7ZBFBA9C]].\nThen there is a morphism $\\partial \\colon \\ker c \\to \\operatorname{coker} a$ such that the sequence\n$$\\ker a \\to \\ker b \\to \\ker c \\xrightarrow{\\partial} \\operatorname{coker} a \\to \\operatorname{coker} b \\to \\operatorname{coker} c$$\nis exact, where the unlabeled morphisms are induced by $f, g, f', g'$ on [[kernels|S417YNEJ6M]] and [[cokernels|H8W38933NC]].\nMoreover, if $f$ is a [[monomorphism|Y2NP1JFR86]], then $\\ker a \\to \\ker b$ is a monomorphism, and if $g'$ is an [[epimorphism|RVXDSY04KG]], then $\\operatorname{coker} b \\to \\operatorname{coker} c$ is an epimorphism.\n\n## Remarks\n\nThe morphism $\\partial$ is called the *connecting morphism*.\nFor modules, $\\partial$ is defined by a chase.\nGiven $z \\in \\ker c$, choose $y \\in B$ with $g(y) = z$.\nThen $g'(b(y)) = c(z) = 0$, so $b(y) = f'(x')$ for a unique $x' \\in A'$, and $\\partial(z)$ is the class of $x'$ in $\\operatorname{coker} a$.\nOne checks that this class does not depend on the choice of $y$, and then checks exactness at each place by similar chases.\nIn a general abelian category one uses [[pseudo-elements|1WV2THA6NY]] or an embedding theorem.\n\nExample: map $0 \\to \\Z \\xrightarrow{2} \\Z \\to \\Z/2\\Z \\to 0$ to itself by multiplication by $2$ in each place, which is $0$ on $\\Z/2\\Z$.\nThe kernels are $0, 0, \\Z/2\\Z$ and the cokernels are $\\Z/2\\Z, \\Z/2\\Z, \\Z/2\\Z$.\nExactness forces $\\partial \\colon \\Z/2\\Z \\to \\Z/2\\Z$ to be an isomorphism, the map $\\operatorname{coker} a \\to \\operatorname{coker} b$ to be $0$, and $\\operatorname{coker} b \\to \\operatorname{coker} c$ to be an isomorphism, which one can confirm directly.\n\n## Explanations\n\n### L1 human\n\nThe lemma starts from two exact rows joined by three vertical maps.\nIt produces one long exact sequence that runs through the three kernels and then the three cokernels.\nThe surprising link is the connecting map from the last kernel to the first cokernel; drawn in the diagram, the whole sequence winds through it like a snake.\n\n### L2 human\n\nThe snake lemma is the engine behind most long exact sequences.\nApplied to a short exact sequence of chain complexes, it gives the long exact sequence in homology.\nIt also gives the long exact sequences of derived functors and the nine lemma.\nIn practice, it is how one computes a kernel or cokernel that is hard to see directly, from ones that are easy to see.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "JB7ZBFBA9C"
    ],
    "kind": "statement",
    "msc": [
      "18G35",
      "18E10"
    ],
    "name": "Snake lemma",
    "role": "lemma",
    "same_as": {
      "wikidata": "Q1064342",
      "wikipedia": "Snake lemma"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Snake_lemma"
      }
    ],
    "tag": "Q8AYGD93CW",
    "uses": [
      "Y9CZ3MTNF1",
      "JB7ZBFBA9C",
      "S417YNEJ6M",
      "H8W38933NC",
      "WV898P4X16",
      "Y2NP1JFR86",
      "RVXDSY04KG",
      "1WV2THA6NY"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/Q8AYGD93CW/",
  "links": [
    {
      "field": "about",
      "target": "JB7ZBFBA9C"
    },
    {
      "field": "uses",
      "target": "Y9CZ3MTNF1"
    },
    {
      "field": "uses",
      "target": "JB7ZBFBA9C"
    },
    {
      "field": "uses",
      "target": "S417YNEJ6M"
    },
    {
      "field": "uses",
      "target": "H8W38933NC"
    },
    {
      "field": "uses",
      "target": "WV898P4X16"
    },
    {
      "field": "uses",
      "target": "Y2NP1JFR86"
    },
    {
      "field": "uses",
      "target": "RVXDSY04KG"
    },
    {
      "field": "uses",
      "target": "1WV2THA6NY"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/Q8AYGD93CW.md",
  "msc": [
    "18G35",
    "18E10"
  ],
  "name": "Snake lemma",
  "prov": null,
  "role": "lemma",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/Q8A/Q8AYGD93CW.md",
  "status": null,
  "tag": "Q8AYGD93CW",
  "uri": "m2://Q8AYGD93CW",
  "url": "https://tamnd.github.io/math2/wiki/snake-lemma/",
  "writing": {
    "tag": "Q8AYGD93CW",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
