{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $A$ be a [[Boolean algebra|06GKBTAA5E]].\nThen $\\neg(a \\vee b) = \\neg a \\wedge \\neg b$ and $\\neg(a \\wedge b) = \\neg a \\vee \\neg b$ for all $a, b \\in A$.\n\n## Remarks\n\nProof idea: in a Boolean algebra each element has a unique complement. Check that $\\neg a \\wedge \\neg b$ satisfies the two complement equations for $a \\vee b$.\nIn the [[power set Boolean algebra|004J7ZEFAT]], the laws become $X \\setminus (A \\cup B) = (X \\setminus A) \\cap (X \\setminus B)$ and its dual.\nIn the [[two-element Boolean algebra|0WG43AC0EV]], they are the laws of logic for not, and, and or.\n\n## History\n\nThe laws are named after Augustus De Morgan. His book Formal Logic of 1847 states them.\n\n## Explanations\n\n### L1 human\n\nThe complement of an or is the and of the complements, and the complement of an and is the or of the complements.\nNot (rain or snow) means no rain and no snow.\n",
  "commit": "6ac761d40018146541484a9e8b9eafd6ecc303dc",
  "front": {
    "kind": "statement",
    "msc": [
      "06E05"
    ],
    "name": "De Morgan's laws in a Boolean algebra",
    "role": "proposition",
    "sources": [
      {
        "locator": "Boolean algebra",
        "url": "https://en.wikipedia.org/wiki/De_Morgan's_laws"
      }
    ],
    "tag": "0XYVDWGQX2",
    "uses": [
      "06GKBTAA5E"
    ]
  },
  "kind": "statement",
  "link": "https://math2.tamnd.com/node/0XYVDWGQX2/",
  "links": [
    {
      "field": "uses",
      "target": "06GKBTAA5E"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/0XYVDWGQX2.md",
  "msc": [
    "06E05"
  ],
  "name": "De Morgan's laws in a Boolean algebra",
  "prov": null,
  "role": "proposition",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/0XY/0XYVDWGQX2.md",
  "status": null,
  "tag": "0XYVDWGQX2",
  "uri": "m2://0XYVDWGQX2",
  "url": "https://math2.tamnd.com/wiki/de-morgans-laws-in-a-boolean-algebra/",
  "writing": {
    "tag": "0XYVDWGQX2",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      }
    ]
  }
}
