{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "2D4E6NY8Q4"
    }
  ],
  "body": "\n## Summary\n\nA Kleene algebra is an [[idempotent semiring|JCSAC9Y1CV]] with a star operation $a^*$ that behaves like \"any number of repetitions of $a$\".\nThe model is the algebra of formal languages, with union, concatenation and the Kleene star.\nKleene algebras give an equational theory of regular expressions, and they are used to reason about programs and automata.\nBinary relations on a set, with union, composition and reflexive transitive closure, also form a Kleene algebra.\n\n## Explanations\n\n### L1 human\n\nA regular expression such as $(ab)^*c$ describes strings: any number of copies of $ab$, followed by $c$.\nIts building blocks are choice ($+$), sequencing (writing one thing after another) and repetition ($^*$).\nA Kleene algebra keeps the laws that these three operations obey, such as $a^* = 1 + a a^*$, where $1$ is the empty string.\nWith these laws one can prove that two regular expressions describe the same strings without listing the strings.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "16Y60",
      "68Q70",
      "68Q45"
    ],
    "name": "Kleene algebra",
    "same_as": {
      "wikidata": "Q2634506",
      "wikipedia": "Kleene algebra"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Kleene_algebra"
      }
    ],
    "specializes": [
      "JCSAC9Y1CV"
    ],
    "tag": "BK4DDS24XC"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/BK4DDS24XC/",
  "links": [
    {
      "field": "specializes",
      "target": "JCSAC9Y1CV"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/BK4DDS24XC.md",
  "msc": [
    "16Y60",
    "68Q70",
    "68Q45"
  ],
  "name": "Kleene algebra",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/BK4/BK4DDS24XC.md",
  "status": null,
  "tag": "BK4DDS24XC",
  "uri": "m2://BK4DDS24XC",
  "url": "https://tamnd.github.io/math2/wiki/kleene-algebra/",
  "writing": {
    "tag": "BK4DDS24XC",
    "kind": "concept",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
