{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "B1TVEMYMC0"
    },
    {
      "field": "uses",
      "target": "EZ21NHHAKG"
    },
    {
      "field": "defines",
      "target": "CZWDNA1HA7"
    }
  ],
  "body": "\n## Summary\n\nAn algebra over a [[monad|FF6XXA6D1A]] $T$ on a category $\\mathcal{C}$ is an object $A$ with a structure map $a \\colon T(A) \\to A$.\nThe structure map must be compatible with the unit and the multiplication of $T$.\nThese algebras, with the maps that respect the structure maps, form the Eilenberg–Moore category of $T$.\nMany algebraic structures are algebras over a monad on sets.\nExamples are monoids for the list monad, complete join-semilattices for the power set monad, and modules for the free module monad.\n\n## Explanations\n\n### L1 human\n\nA monad describes formal expressions, and an algebra is a way to evaluate them.\nThe structure map $a$ takes a formal expression in elements of $A$ and returns an element of $A$.\nThe first law says that evaluating a single element gives back that element.\nThe second law says that evaluating in stages gives the same result as flattening first and evaluating once.\nFor the list monad, a monoid $M$ is an algebra: a list $(m_1, \\dots, m_n)$ evaluates to the product $m_1 \\cdots m_n$.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "18C20",
      "18C15"
    ],
    "name": "Algebra over a monad",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Monad_(category_theory)"
      }
    ],
    "tag": "QG1ZXRC8EH"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/QG1ZXRC8EH/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/QG1ZXRC8EH.md",
  "msc": [
    "18C20",
    "18C15"
  ],
  "name": "Algebra over a monad",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/QG1/QG1ZXRC8EH.md",
  "status": null,
  "tag": "QG1ZXRC8EH",
  "uri": "m2://QG1ZXRC8EH",
  "url": "https://tamnd.github.io/math2/wiki/algebra-over-a-monad/",
  "writing": {
    "tag": "QG1ZXRC8EH",
    "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
      }
    ]
  }
}
