{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "64VN7KYGHK"
    },
    {
      "field": "uses",
      "target": "AKMASKR0ZG"
    },
    {
      "field": "uses",
      "target": "DFNM3BGMAY"
    }
  ],
  "body": "\n## Summary\n\nA quasi-identity is a law of the form \"if these finitely many equations between terms hold, then this further equation holds\".\nIt is required for all values of the variables.\nIt generalizes an [[identity|PKD440G2XW]], which is the case with no hypotheses.\nQuasi-identities are exactly the axioms of [[quasivarieties|WRXEKT4NQS]], just as identities are the axioms of varieties.\nThey are the strict universal [[Horn clauses|QR92EZDTKF]] of an algebraic language.\n\n## Explanations\n\n### L1 human\n\nAn identity such as $x \\cdot y = y \\cdot x$ must hold for every choice of $x$ and $y$.\nA quasi-identity only demands its conclusion when some equations already hold, like a conditional rule.\nThe cancellation law \"if $x z = y z$ then $x = y$\" is a typical example.\nIt holds in every group, since one can multiply by $z^{-1}$ on the right.\nIt fails in the integers under multiplication, because $1 \\cdot 0 = 2 \\cdot 0$ while $1 \\ne 2$.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "08C15",
      "03C52"
    ],
    "name": "Quasi-identity",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Quasivariety"
      }
    ],
    "tag": "94GVY3APPQ"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/94GVY3APPQ/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/94GVY3APPQ.md",
  "msc": [
    "08C15",
    "03C52"
  ],
  "name": "Quasi-identity",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/94G/94GVY3APPQ.md",
  "status": null,
  "tag": "94GVY3APPQ",
  "uri": "m2://94GVY3APPQ",
  "url": "https://tamnd.github.io/math2/wiki/quasi-identity/",
  "writing": {
    "tag": "94GVY3APPQ",
    "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
      }
    ]
  }
}
