{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Definition\n\nLet $\\mathcal{C}$ be a [[category|A2DE66937D]] with finite limits, and let $1$ be its [[terminal object|EK85VSSRMR]].\nA *subobject classifier* is an object $\\Omega$ of $\\mathcal{C}$ with a morphism $\\top \\colon 1 \\to \\Omega$ with the following property.\nFor every [[monomorphism|Y2NP1JFR86]] $m \\colon S \\to X$, there is exactly one morphism $\\chi_m \\colon X \\to \\Omega$ for which the square\n$$\\begin{array}{ccc} S \u0026 \\longrightarrow \u0026 1 \\\\ {\\scriptstyle m}\\downarrow \u0026 \u0026 \\downarrow{\\scriptstyle \\top} \\\\ X \u0026 \\xrightarrow{\\chi_m} \u0026 \\Omega \\end{array}$$\nis a [[pullback|Q05K04QJ71]].\nThe morphism $\\chi_m$ is the *characteristic morphism* of $m$.\n\n## Remarks\n\nEquivalently, when $\\mathcal{C}$ is locally small, there is a natural bijection between the [[subobjects|FS1FKAE89H]] of $X$ and $\\Hom(X, \\Omega)$, and $\\Omega$ represents the subobject functor.\nExample: in $\\mathbf{Set}$, take $\\Omega = \\set{0, 1}$ and $\\top(*) = 1$; for $S \\subseteq X$, the unique $\\chi$ is the characteristic function, since the pullback of $\\set{1}$ along $\\chi$ is $\\chi^{-1}(1) = S$.\nNon-example: the category of [[groups|G5S1M9]] has no subobject classifier.\nIts terminal object is the trivial group, so every pullback of $\\top \\colon 1 \\to \\Omega$ is the kernel of a homomorphism, which is a normal subgroup.\nA subgroup of order $2$ in $S_3$ is not normal, so it is not classified.\nIn a presheaf category $\\mathbf{Set}^{\\mathcal{C}^{\\mathrm{op}}}$, the object $\\Omega(c)$ is the set of [[sieves|CNCXNWKC6R]] on $c$, and $\\top$ picks the maximal sieves.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "defines": "NKP5TPQ79X",
    "kind": "definition",
    "msc": [
      "18B25",
      "03G30"
    ],
    "name": "Subobject classifier",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Subobject_classifier"
      }
    ],
    "tag": "PRFRD5RQ1W",
    "uses": [
      "A2DE66937D",
      "EK85VSSRMR",
      "Q05K04QJ71",
      "Y2NP1JFR86",
      "FS1FKAE89H",
      "CNCXNWKC6R",
      "G5S1M9"
    ]
  },
  "kind": "definition",
  "link": "https://tamnd.github.io/math2/node/PRFRD5RQ1W/",
  "links": [
    {
      "field": "defines",
      "target": "NKP5TPQ79X"
    },
    {
      "field": "uses",
      "target": "A2DE66937D"
    },
    {
      "field": "uses",
      "target": "EK85VSSRMR"
    },
    {
      "field": "uses",
      "target": "Q05K04QJ71"
    },
    {
      "field": "uses",
      "target": "Y2NP1JFR86"
    },
    {
      "field": "uses",
      "target": "FS1FKAE89H"
    },
    {
      "field": "uses",
      "target": "CNCXNWKC6R"
    },
    {
      "field": "uses",
      "target": "G5S1M9"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/PRFRD5RQ1W.md",
  "msc": [
    "18B25",
    "03G30"
  ],
  "name": "Subobject classifier",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/PRF/PRFRD5RQ1W.md",
  "status": null,
  "tag": "PRFRD5RQ1W",
  "uri": "m2://PRFRD5RQ1W",
  "url": "https://tamnd.github.io/math2/wiki/subobject-classifier-definition/",
  "writing": {
    "tag": "PRFRD5RQ1W",
    "kind": "definition",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
