{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $X$ be a set and let $\\mathrm{FL}(X)$ be the [[free lattice|WP20S9NZ15]] on $X$.\nFor lattice [[terms|6D3WA7N2W4]] $s$ and $t$ over $X$, write $s \\le t$ when the value of $s$ is below the value of $t$ in $\\mathrm{FL}(X)$.\nThen $s \\le t$ holds if and only if one of the following holds:\n\n1. $s$ and $t$ are the same letter $x \\in X$;\n2. $s = s_1 \\vee s_2$, and $s_1 \\le t$ and $s_2 \\le t$;\n3. $t = t_1 \\wedge t_2$, and $s \\le t_1$ and $s \\le t_2$;\n4. $s$ is a letter $x \\in X$, $t = t_1 \\vee t_2$, and $x \\le t_1$ or $x \\le t_2$;\n5. $s = s_1 \\wedge s_2$, $t$ is a letter $x \\in X$, and $s_1 \\le x$ or $s_2 \\le x$;\n6. $s = s_1 \\wedge s_2$, $t = t_1 \\vee t_2$, and $s_1 \\le t$ or $s_2 \\le t$ or $s \\le t_1$ or $s \\le t_2$.\n\nConsequently, equality of two lattice terms in $\\mathrm{FL}(X)$ is [[decidable|PPGD5KW8JC]]: $s = t$ in $\\mathrm{FL}(X)$ exactly when $s \\le t$ and $t \\le s$.\n\n## Remarks\n\nIn each clause the comparisons on the right involve terms of smaller total length, so the clauses give a recursive algorithm to decide $s \\le t$.\nThe \"if\" direction holds in every lattice.\nThe \"only if\" direction is the content of the theorem; clause 6 is [[Whitman's condition|5TNA2HBG7Y]].\nExample: $x \\wedge (y \\vee z) \\le (x \\wedge y) \\vee (x \\wedge z)$ fails in $\\mathrm{FL}(\\set{x, y, z})$.\nBy clause 6 it would need one of $x \\le (x \\wedge y) \\vee (x \\wedge z)$, $y \\vee z \\le (x \\wedge y) \\vee (x \\wedge z)$, $x \\wedge (y \\vee z) \\le x \\wedge y$ or $x \\wedge (y \\vee z) \\le x \\wedge z$, and the clauses refute each of them in turn.\nSo the distributive law is not an identity of all lattices.\n\n## Explanations\n\n### L1 human\n\nTwo lattice formulas, such as $x \\wedge (y \\vee x)$ and $x$, may look different but always give the same value.\nThis theorem gives a mechanical test for when this happens.\nTo compare two formulas, look at their outermost operations and reduce the question to smaller comparisons, until only letters are left.\n\n### L2 human\n\nThe word problem asks whether two terms define the same element of a free algebra.\nFor finitely presented groups it can be undecidable, but for free lattices it has this explicit solution, due to Whitman.\nThe procedure also decides whether a lattice identity holds in all lattices.\nIndeed, $s = t$ holds in every lattice exactly when $s = t$ in the free lattice on the letters of $s$ and $t$.\nWhitman also used these rules to show that each element of $\\mathrm{FL}(X)$ has a canonical form: a shortest term, unique up to commutativity and associativity.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "WP20S9NZ15"
    ],
    "kind": "statement",
    "msc": [
      "06B25",
      "03D40"
    ],
    "name": "Word problem for free lattices",
    "role": "theorem",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Free_lattice"
      }
    ],
    "tag": "Z86VGP5RMG",
    "uses": [
      "WP20S9NZ15",
      "J2T75ATRV5",
      "6D3WA7N2W4",
      "PPGD5KW8JC"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/Z86VGP5RMG/",
  "links": [
    {
      "field": "about",
      "target": "WP20S9NZ15"
    },
    {
      "field": "uses",
      "target": "WP20S9NZ15"
    },
    {
      "field": "uses",
      "target": "J2T75ATRV5"
    },
    {
      "field": "uses",
      "target": "6D3WA7N2W4"
    },
    {
      "field": "uses",
      "target": "PPGD5KW8JC"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/Z86VGP5RMG.md",
  "msc": [
    "06B25",
    "03D40"
  ],
  "name": "Word problem for free lattices",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/Z86/Z86VGP5RMG.md",
  "status": null,
  "tag": "Z86VGP5RMG",
  "uri": "m2://Z86VGP5RMG",
  "url": "https://tamnd.github.io/math2/wiki/word-problem-for-free-lattices/",
  "writing": {
    "tag": "Z86VGP5RMG",
    "kind": "statement",
    "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
      }
    ]
  }
}
