{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $X$ be a topological vector space over $\\R$, and let $A, B \\subseteq X$ be nonempty disjoint [[convex sets|02AS45T3H9]].\n\n1. If $A$ is open, then there are a continuous linear functional $f \\colon X \\to \\R$ and a real number $t$ such that $f(a) \u003c t \\le f(b)$ for all $a \\in A$ and $b \\in B$.\n2. If $X$ is a [[locally convex space|B6GY2KJMWW]], $A$ is [[compact|0R6EWFKRCF]] and $B$ is [[closed|0ZCK8DQYN1]], then the sets can be strictly separated.\n   There are a continuous linear functional $f \\colon X \\to \\R$ and real numbers $s \u003c t$ such that $f(a) \u003c s$ and $f(b) \u003e t$ for all $a \\in A$ and $b \\in B$.\n\n## Remarks\n\nFor part 1, the set $C = A - B + x_0$, with $x_0 \\in B - A$ fixed, is an open convex neighbourhood of $0$ that misses $x_0$.\nIts [[Minkowski functional|PAX9SHDHDW]] $p$ is sublinear, and the [[Hahn–Banach theorem|QB5AE3VYZZ]] extends the functional $\\lambda x_0 \\mapsto \\lambda$ to a linear $f \\le p$; then $f \u003c 1 = f(x_0)$ on $C$, which gives the separation.\nPart 2 reduces to part 1: compactness of $A$ gives a convex open neighbourhood $U$ of $0$ with $(A + U) \\cap B = \\emptyset$.\nFor a complex space, apply the theorem to the underlying real space and take the real part of a complex functional.\nThe hypotheses matter: in $\\R^2$ the closed convex sets $A = \\set{(x, y) : y \\le 0}$ and $B = \\set{(x, y) : x \u003e 0,\\ y \\ge 1/x}$ are disjoint, but no line separates them strictly, so part 2 needs compactness of one set.\n\n## Explanations\n\n### L1 human\n\nTwo convex sets that do not meet can be put on the two sides of a flat wall.\nIn the plane the wall is a line and in space it is a plane.\nIn an infinite-dimensional space it is the set where a continuous linear functional takes one value.\nIf one set is compact and the other closed, there is even a gap between the sets and the wall.\n\n### L2 human\n\nThis is the geometric form of the [[Hahn–Banach theorem|QB5AE3VYZZ]].\nIt shows that a closed convex set in a locally convex space is the intersection of the closed half-spaces that contain it.\nHence closed convex sets are closed for the [[weak topology|P6KHVSTPZV]], which is the key step in [[Mazur's lemma|7ZR88SCSRF]].\nIt is also the main tool in the proofs of the [[Krein–Milman theorem|RSRAY0Q68S]], the [[Goldstine theorem|K4S9G3AQBM]] and the [[bipolar theorem|FX5PWKCMBQ]].\n",
  "commit": "5fc425f97f1f6b11da5892c2948ef8c5d8805665",
  "front": {
    "about": [
      "02AS45T3H9",
      "4A82S5FVRT"
    ],
    "kind": "statement",
    "msc": [
      "46A22",
      "52A07"
    ],
    "name": "Hahn–Banach separation theorem",
    "role": "theorem",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Hyperplane_separation_theorem"
      },
      {
        "url": "https://en.wikipedia.org/wiki/Hahn%E2%80%93Banach_theorem"
      }
    ],
    "tag": "6GWMGFGFJJ",
    "uses": [
      "02AS45T3H9",
      "4A82S5FVRT",
      "B6GY2KJMWW",
      "0R6EWFKRCF",
      "0ZCK8DQYN1"
    ]
  },
  "kind": "statement",
  "link": "https://math2.tamnd.com/node/6GWMGFGFJJ/",
  "links": [
    {
      "field": "about",
      "target": "02AS45T3H9"
    },
    {
      "field": "about",
      "target": "4A82S5FVRT"
    },
    {
      "field": "uses",
      "target": "02AS45T3H9"
    },
    {
      "field": "uses",
      "target": "4A82S5FVRT"
    },
    {
      "field": "uses",
      "target": "B6GY2KJMWW"
    },
    {
      "field": "uses",
      "target": "0R6EWFKRCF"
    },
    {
      "field": "uses",
      "target": "0ZCK8DQYN1"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/6GWMGFGFJJ.md",
  "msc": [
    "46A22",
    "52A07"
  ],
  "name": "Hahn–Banach separation theorem",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/6GW/6GWMGFGFJJ.md",
  "status": null,
  "tag": "6GWMGFGFJJ",
  "uri": "m2://6GWMGFGFJJ",
  "url": "https://math2.tamnd.com/wiki/hahn-banach-separation-theorem/",
  "writing": {
    "tag": "6GWMGFGFJJ",
    "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
      }
    ]
  }
}
