{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "81XXW834SS"
    },
    {
      "field": "uses",
      "target": "V288YS2F5W"
    },
    {
      "field": "uses",
      "target": "W8XWKYWV1D"
    },
    {
      "field": "defines",
      "target": "VA41ZY2HTF"
    }
  ],
  "body": "\n## Summary\n\nTerm evaluation computes the value of a [[term|6D3WA7N2W4]] in an algebra once each variable has been given a value.\nThe value is defined by recursion on the term.\nVariables take their assigned values, and a function symbol applied to subterms is computed with the matching operation of the algebra.\nIt is the bridge between syntax and algebra: identities, term operations and the free algebras of a variety are all defined through it.\n\n## Explanations\n\n### L1 human\n\nA term such as $x \\cdot (y + 1)$ is only a formula on paper.\nTo evaluate it in the ring of integers, choose numbers for the variables, say $x = 3$ and $y = 4$.\nThen compute from the inside out: $y + 1 = 5$, and $x \\cdot 5 = 15$.\nThe same term evaluated in the ring $\\Z/7\\Z$ with the same choices gives $1$, so the value depends on the algebra as well as on the assignment.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "08A40",
      "03C07"
    ],
    "name": "Term evaluation",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Term_(logic)"
      }
    ],
    "tag": "DH30WTA26T"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/DH30WTA26T/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/DH30WTA26T.md",
  "msc": [
    "08A40",
    "03C07"
  ],
  "name": "Term evaluation",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/DH3/DH30WTA26T.md",
  "status": null,
  "tag": "DH30WTA26T",
  "uri": "m2://DH30WTA26T",
  "url": "https://tamnd.github.io/math2/wiki/term-evaluation/",
  "writing": {
    "tag": "DH30WTA26T",
    "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
      }
    ]
  }
}
