{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "0R47MAD57S"
    }
  ],
  "body": "\n## Definition\n\nA semigroup is a pair $(S, \\ast)$, where $S$ is a set and $\\ast$ is a [[binary operation|0M418FE7BB]] on $S$ that is [[associative|0K8F7PVDMX]].\nThus $(a \\ast b) \\ast c = a \\ast (b \\ast c)$ for all $a, b, c \\in S$.\n\n## Remarks\n\nThe positive integers with addition form a semigroup that has no identity element.\nEach [[monoid|0N6R902FG1]] and each [[group|G5S1M9]] is a semigroup.\nSome authors allow the empty set as a semigroup, and others do not.\n\n## Explanations\n\n### L1 human\n\nA semigroup is the simplest structure with an associative operation.\nYou can combine elements and the grouping does not matter, but maybe nothing acts as \"do nothing\" and no step can be undone.\nAn example is the set of nonempty words over an alphabet, with the operation that writes one word after the other.\n",
  "commit": "545acf83a9b75c8ddc375ef8b23d2ae101a4d7e4",
  "front": {
    "defines": "0XMEM406JM",
    "kind": "definition",
    "msc": [
      "20M10"
    ],
    "name": "Semigroup",
    "sources": [
      {
        "locator": "Definition",
        "url": "https://en.wikipedia.org/wiki/Semigroup"
      }
    ],
    "tag": "0V3CFG1KK9",
    "uses": [
      "0580ZJSA3Q",
      "0NNQ4KFEX7"
    ]
  },
  "kind": "definition",
  "link": "https://math2.tamnd.com/node/0V3CFG1KK9/",
  "links": [
    {
      "field": "defines",
      "target": "0XMEM406JM"
    },
    {
      "field": "uses",
      "target": "0580ZJSA3Q"
    },
    {
      "field": "uses",
      "target": "0NNQ4KFEX7"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/0V3CFG1KK9.md",
  "msc": [
    "20M10"
  ],
  "name": "Semigroup",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/0V3/0V3CFG1KK9.md",
  "status": null,
  "tag": "0V3CFG1KK9",
  "uri": "m2://0V3CFG1KK9",
  "url": "https://math2.tamnd.com/wiki/semigroup-definition/",
  "writing": {
    "tag": "0V3CFG1KK9",
    "kind": "definition",
    "level": "W1",
    "next": [
      {
        "what": "edge instance_of in",
        "note": "one example",
        "have": 0,
        "want": 1
      },
      {
        "what": "edge not_instance_of in",
        "note": "one non-example that fails one clause",
        "have": 0,
        "want": 1
      }
    ]
  }
}
