{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "A9CSR7RQAY"
    },
    {
      "field": "uses",
      "target": "M31BYH9VSS"
    },
    {
      "field": "uses",
      "target": "P8TMYNPSYD"
    }
  ],
  "body": "\n## Statement\n\nLet $X$ be a [[vector space|000AYPA9AJ]] over $\\R$, and let $p \\colon X \\to \\R$ be a [[sublinear function|K3356N0SAX]].\nLet $M$ be a [[linear subspace|00YC1D652K]] of $X$, and let $f \\colon M \\to \\R$ be a [[linear form|07YQ1C78G0]] with $f(m) \\le p(m)$ for all $m \\in M$.\nThen there is a linear form $F \\colon X \\to \\R$ such that $F(m) = f(m)$ for all $m \\in M$ and $F(x) \\le p(x)$ for all $x \\in X$.\n\n## Remarks\n\nThe proof first extends $f$ to $M + \\R x_0$ for one vector $x_0 \\notin M$.\nThe value $F(x_0)$ must be a number $c$ with $\\sup_{m \\in M} (f(m) - p(m - x_0)) \\le c \\le \\inf_{m \\in M} (p(m + x_0) - f(m))$, and subadditivity of $p$ shows that such a $c$ exists.\n[[Zorn's lemma|04RXTQA5ZA]] applied to the partial extensions dominated by $p$ then gives an extension to all of $X$.\n\nThe most used case takes $p(x) = \\norm{f}\\,\\norm{x}$ on a real [[normed vector space|03J5RAKB30]].\nIt shows that every bounded linear functional on a subspace extends to the whole space with the same [[operator norm|06EKW1AKXF]].\nThe complex case of this norm version follows by applying the real theorem to the real part of $f$.\nA consequence is that for each $x \\ne 0$ in a normed space there is a functional $F$ of norm $1$ with $F(x) = \\norm{x}$, so the [[continuous dual space|4A82S5FVRT]] separates points.\n\n## Explanations\n\n### L1 human\n\nThe theorem says that a linear rule defined on part of a space can be extended to the whole space without breaking a given bound.\nThe bound is a sublinear function, such as a norm.\nIt is the basic tool that guarantees there are enough continuous linear functionals on a normed space to tell its points apart.\n\n### L2 human\n\nIn a course on functional analysis this is the first of the main theorems, next to the [[uniform boundedness principle|YG0042V8CJ]] and the [[bounded inverse theorem|MR5FJXR348]].\nIts norm form gives the isometric embedding of a space into its [[bidual|QKR3D65TTH]].\nIts geometric form is the [[Hahn–Banach separation theorem|6GWMGFGFJJ]], which separates disjoint convex sets by a closed hyperplane.\nThe two forms are linked by the [[Minkowski functional|PAX9SHDHDW]] of a convex neighbourhood of $0$.\nIn a general real vector space the proof needs Zorn's lemma or a weaker choice principle.\n",
  "commit": "547b6eddb8f2feb8d579f2d633d22a27b7e132fc",
  "front": {
    "about": [
      "07YQ1C78G0",
      "K3356N0SAX"
    ],
    "kind": "statement",
    "msc": [
      "46A22"
    ],
    "name": "Hahn–Banach theorem",
    "role": "theorem",
    "same_as": {
      "wikidata": "Q866116",
      "wikipedia": "Hahn–Banach theorem"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Hahn%E2%80%93Banach_theorem"
      }
    ],
    "tag": "QB5AE3VYZZ",
    "uses": [
      "000AYPA9AJ",
      "00YC1D652K",
      "07YQ1C78G0",
      "K3356N0SAX"
    ]
  },
  "kind": "statement",
  "link": "https://math2.tamnd.com/node/QB5AE3VYZZ/",
  "links": [
    {
      "field": "about",
      "target": "07YQ1C78G0"
    },
    {
      "field": "about",
      "target": "K3356N0SAX"
    },
    {
      "field": "uses",
      "target": "000AYPA9AJ"
    },
    {
      "field": "uses",
      "target": "00YC1D652K"
    },
    {
      "field": "uses",
      "target": "07YQ1C78G0"
    },
    {
      "field": "uses",
      "target": "K3356N0SAX"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/QB5AE3VYZZ.md",
  "msc": [
    "46A22"
  ],
  "name": "Hahn–Banach theorem",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/QB5/QB5AE3VYZZ.md",
  "status": null,
  "tag": "QB5AE3VYZZ",
  "uri": "m2://QB5AE3VYZZ",
  "url": "https://math2.tamnd.com/wiki/hahn-banach-theorem/",
  "writing": {
    "tag": "QB5AE3VYZZ",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
