{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $R$ be a [[local ring|MZ02BKPHJA]] with maximal ideal $\\mathfrak{m}$ and [[residue field|NJ3APQ8BHH]] $k = R/\\mathfrak{m}$.\nLet $P$ be a [[finitely generated|05QY1VEBYD]] [[projective|BFFA03GE3V]] $R$-module.\nThen $P$ is [[free|0DZ9DKAKZR]], of rank $n = \\dim_k P/\\mathfrak{m}P$.\n\n## Remarks\n\nChoose $x_1, \\ldots, x_n \\in P$ whose classes form a basis of the $k$-vector space $P/\\mathfrak{m}P$.\nBy [[Nakayama's lemma|15JHBYR6KH]], they generate $P$, so there is a surjection $\\pi \\colon R^n \\to P$; it splits because $P$ is projective, so $R^n \\cong P \\oplus K$ with $K = \\ker \\pi$.\nReducing modulo $\\mathfrak{m}$ gives $k^n \\cong k^n \\oplus K/\\mathfrak{m}K$, so $K/\\mathfrak{m}K = 0$.\nAs a direct summand of $R^n$, $K$ is finitely generated, and Nakayama's lemma gives $K = 0$; thus $P \\cong R^n$.\n\nThe local hypothesis is necessary.\nOver $R = \\Z/6\\Z$, the module $\\Z/2\\Z$ is a direct summand of $R$, hence projective, but it has $2$ elements, while every finitely generated free $R$-module has $6^n$ elements for some $n \\ge 0$.\nKaplansky's theorem removes the finiteness hypothesis: every projective module over a local ring is free.\nMore generally, a finitely presented flat module over a local ring is free.\n\n## Explanations\n\n### L1 human\n\nProjective modules are pieces of free modules, and in general they can be twisted.\nOver a local ring there is no room for twisting: every finitely generated projective module has a basis.\nIts size is read off from the vector space you get by reducing modulo the maximal ideal.\n\n### L2 human\n\nThis is why finitely generated projective modules over any commutative ring are called locally free: their localizations at prime ideals are free.\nThe rank at each prime gives a locally constant function on the spectrum, and rank one projectives form the [[Picard group|DZW58R6T2Q]].\nGeometrically, finitely generated projective modules are vector bundles on $\\operatorname{Spec} R$, and the theorem says that a vector bundle is trivial near each point.\nWhether such modules are globally free over polynomial rings is the content of the [[Quillen–Suslin theorem|7N50GA46W1]].\n",
  "commit": "efe85cee8dbc57d85bedbacfb97b99d1b7bee843",
  "front": {
    "about": [
      "BFFA03GE3V",
      "MZ02BKPHJA",
      "0DZ9DKAKZR"
    ],
    "kind": "statement",
    "msc": [
      "13C10",
      "13H99"
    ],
    "name": "Finitely generated projective modules over local rings are free",
    "role": "theorem",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Projective_module"
      }
    ],
    "tag": "942FK83S09",
    "uses": [
      "MZ02BKPHJA",
      "BFFA03GE3V",
      "05QY1VEBYD",
      "0DZ9DKAKZR",
      "NJ3APQ8BHH",
      "15JHBYR6KH"
    ]
  },
  "kind": "statement",
  "link": "https://math2.tamnd.com/node/942FK83S09/",
  "links": [
    {
      "field": "about",
      "target": "BFFA03GE3V"
    },
    {
      "field": "about",
      "target": "MZ02BKPHJA"
    },
    {
      "field": "about",
      "target": "0DZ9DKAKZR"
    },
    {
      "field": "uses",
      "target": "MZ02BKPHJA"
    },
    {
      "field": "uses",
      "target": "BFFA03GE3V"
    },
    {
      "field": "uses",
      "target": "05QY1VEBYD"
    },
    {
      "field": "uses",
      "target": "0DZ9DKAKZR"
    },
    {
      "field": "uses",
      "target": "NJ3APQ8BHH"
    },
    {
      "field": "uses",
      "target": "15JHBYR6KH"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/942FK83S09.md",
  "msc": [
    "13C10",
    "13H99"
  ],
  "name": "Finitely generated projective modules over local rings are free",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/942/942FK83S09.md",
  "status": null,
  "tag": "942FK83S09",
  "uri": "m2://942FK83S09",
  "url": "https://math2.tamnd.com/wiki/finitely-generated-projective-modules-over-local-rings-are-free/",
  "writing": {
    "tag": "942FK83S09",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      },
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
