{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "QNMWK3GCF2"
    }
  ],
  "body": "\n## Summary\n\nA pseudofunctor is a map between [[bicategories|TAHV24ED74]] that preserves composition and identities up to specified invertible 2-morphisms, rather than on the nose.\nThese comparison 2-morphisms must be compatible with the associators and unitors.\nPseudofunctors into the 2-category of categories describe families of categories that vary with a parameter.\nExamples are the categories of modules over varying rings, or of sheaves over varying spaces.\nThe [[Grothendieck construction|272T16NWZ9]] turns such a pseudofunctor into a fibred category.\n\n## Explanations\n\n### L1 human\n\nA functor must send a composite $g \\circ f$ to exactly $F(g) \\circ F(f)$.\nIn many natural constructions this holds only up to a canonical isomorphism.\nFor example, extending scalars along $R \\to S$ and then along $S \\to T$ gives modules isomorphic, but not equal, to extending along $R \\to T$ in one step.\nA pseudofunctor keeps these isomorphisms as data and asks them to fit together consistently.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "18N10"
    ],
    "name": "Pseudofunctor",
    "same_as": {
      "wikidata": "Q16919007",
      "wikipedia": "Pseudo-functor"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Pseudo-functor"
      }
    ],
    "tag": "18M8XGY04N"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/18M8XGY04N/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/18M8XGY04N.md",
  "msc": [
    "18N10"
  ],
  "name": "Pseudofunctor",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/18M/18M8XGY04N.md",
  "status": null,
  "tag": "18M8XGY04N",
  "uri": "m2://18M8XGY04N",
  "url": "https://tamnd.github.io/math2/wiki/pseudofunctor/",
  "writing": {
    "tag": "18M8XGY04N",
    "kind": "concept",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
