{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "2V8FATXF50"
    }
  ],
  "body": "\n## Summary\n\nA contravariant functor is an assignment like a [[functor|28NQ0KRHD3]] that reverses the direction of [[morphisms|859F0TFVA3]]: it sends $f \\colon A \\to B$ to a morphism $F(B) \\to F(A)$.\nIt is the same thing as an ordinary functor out of the [[opposite category|DAMK8XE1FR]].\nThe [[dual space|07JBSZE0V4]] construction, cohomology and [[presheaves|AND2WHZC8P]] are contravariant functors.\nThe hom functor $\\Hom(-, X)$ is the basic example, and the Yoneda lemma is about such functors.\n\n## Explanations\n\n### L1 human\n\nSome constructions turn arrows around.\nA map of sets $f \\colon A \\to B$ pulls back each subset of $B$ to a subset of $A$, its preimage.\nSo \"subsets of\" sends $f$ to a map going backwards, from subsets of $B$ to subsets of $A$.\nSuch a backward rule that still respects identities and composition is a contravariant functor.\nComposition flips order too: pulling back along $g \\circ f$ is pulling back along $g$, then along $f$.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "18A05",
      "18A22"
    ],
    "name": "Contravariant functor",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Functor"
      }
    ],
    "specializes": [
      "28NQ0KRHD3"
    ],
    "tag": "RECR96V97B"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/RECR96V97B/",
  "links": [
    {
      "field": "specializes",
      "target": "28NQ0KRHD3"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/RECR96V97B.md",
  "msc": [
    "18A05",
    "18A22"
  ],
  "name": "Contravariant functor",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/REC/RECR96V97B.md",
  "status": null,
  "tag": "RECR96V97B",
  "uri": "m2://RECR96V97B",
  "url": "https://tamnd.github.io/math2/wiki/contravariant-functor/",
  "writing": {
    "tag": "RECR96V97B",
    "kind": "concept",
    "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
      }
    ]
  }
}
