{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "6KFS240R42"
    },
    {
      "field": "uses",
      "target": "T440VB9JJM"
    },
    {
      "field": "uses",
      "target": "WGBR7JHBV4"
    },
    {
      "field": "defines",
      "target": "FSZ6PCKN0F"
    },
    {
      "field": "about",
      "target": "WGBR7JHBV4"
    }
  ],
  "body": "\n## Summary\n\nA set of operations on a finite set $A$ is functionally complete if every finitary operation on $A$ can be built from it by composition.\nIn other words, the [[clone|PTKR703G6A]] it generates is the clone of all operations.\nFor $A = \\set{0, 1}$ this is the familiar notion for sets of [[logical connectives|QS0XVAN9BG]], such as $\\set{\\wedge, \\neg}$.\nCriteria for functional completeness are given by [[Post's lattice|MA20X7JCET]] in the two-valued case and by maximal clones in general.\n\n## Explanations\n\n### L1 human\n\nA set of logic gates is functionally complete if every truth table can be realised by a circuit built from those gates.\nFor example, AND and NOT suffice: OR can be written as $x \\vee y = \\neg(\\neg x \\wedge \\neg y)$, and every truth table has a disjunctive normal form.\nAND and OR together do not suffice, because they can never turn an input of all ones into a zero.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "08A40",
      "06E30",
      "03B50"
    ],
    "name": "Functional completeness",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Functional_completeness"
      }
    ],
    "tag": "TDZVCWYJ9F"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/TDZVCWYJ9F/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/TDZVCWYJ9F.md",
  "msc": [
    "08A40",
    "06E30",
    "03B50"
  ],
  "name": "Functional completeness",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/TDZ/TDZVCWYJ9F.md",
  "status": null,
  "tag": "TDZVCWYJ9F",
  "uri": "m2://TDZVCWYJ9F",
  "url": "https://tamnd.github.io/math2/wiki/functional-completeness/",
  "writing": {
    "tag": "TDZVCWYJ9F",
    "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
      }
    ]
  }
}
