{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Definition\n\nA *combinatorial class* is a set $\\mathcal{A}$ with a size function $\\abs{\\cdot} \\colon \\mathcal{A} \\to \\N$ such that each set $\\mathcal{A}_n = \\set{a \\in \\mathcal{A} : \\abs{a} = n}$ is finite.\nIts ordinary [[generating function|0PHAC833JF]] is $A(z) = \\sum_{n \\ge 0} \\abs{\\mathcal{A}_n} z^n$.\nA construction $\\Phi$ builds a class from given classes $\\mathcal{B}, \\mathcal{C}, \\ldots$.\nIt is *admissible* if the counts of $\\Phi(\\mathcal{B}, \\mathcal{C}, \\ldots)$ depend only on the counts of $\\mathcal{B}, \\mathcal{C}, \\ldots$.\nLet $\\mathcal{E}$ be the neutral class, with one object of size $0$, and $\\mathcal{Z}$ the atomic class, with one object of size $1$.\nThe *symbolic method* has two steps:\n\n1. describe the class by an equation built from $\\mathcal{E}$, $\\mathcal{Z}$ and admissible constructions;\n2. replace each construction by its rule on generating functions, which gives an equation for $A(z)$.\n\n## Remarks\n\nFor unlabelled classes the basic rules are as follows.\nThe disjoint union $\\mathcal{B} + \\mathcal{C}$ gives $B(z) + C(z)$.\nThe Cartesian product $\\mathcal{B} \\times \\mathcal{C}$, with sizes added, gives $B(z) C(z)$.\nThe sequence construction $\\operatorname{SEQ}(\\mathcal{B})$, for $\\mathcal{B}_0 = \\emptyset$, gives $1 / (1 - B(z))$.\nThe multiset construction $\\operatorname{MSET}(\\mathcal{B})$, for $\\mathcal{B}_0 = \\emptyset$, gives $\\exp\\big(\\sum_{k \\ge 1} B(z^k) / k\\big)$.\nFor labelled classes one uses [[exponential generating functions|0JHXPVFKT0]].\nThen the labelled product gives $B(z) C(z)$, and, for $\\mathcal{B}_0 = \\emptyset$, sets give $\\exp(B(z))$ and cycles give $\\log \\frac{1}{1 - B(z)}$.\n\nExample: binary trees satisfy $\\mathcal{B} = \\mathcal{E} + \\mathcal{Z} \\times \\mathcal{B} \\times \\mathcal{B}$, with size the number of internal nodes.\nThe rules give $B(z) = 1 + z B(z)^2$.\nExample: permutations are labelled sets of cycles, so their exponential generating function is $\\exp\\big(\\log \\frac{1}{1 - z}\\big) = \\frac{1}{1 - z}$, which gives $n!$.\n\nNon-example: the operation \"keep the objects of $\\mathcal{B}$ that are trees of height at most $2$\" is not admissible.\nIts counts depend on the inner structure of the objects of $\\mathcal{B}$, and not only on the numbers $\\abs{\\mathcal{B}_n}$.\n",
  "commit": "547b6eddb8f2feb8d579f2d633d22a27b7e132fc",
  "front": {
    "defines": "JP11D90EJC",
    "kind": "definition",
    "msc": [
      "05A15"
    ],
    "name": "Symbolic method",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Symbolic_method_(combinatorics)"
      }
    ],
    "tag": "39HWNYW5EF",
    "uses": [
      "0PHAC833JF",
      "0JHXPVFKT0",
      "033WGN00BF"
    ]
  },
  "kind": "definition",
  "link": "https://math2.tamnd.com/node/39HWNYW5EF/",
  "links": [
    {
      "field": "defines",
      "target": "JP11D90EJC"
    },
    {
      "field": "uses",
      "target": "0PHAC833JF"
    },
    {
      "field": "uses",
      "target": "0JHXPVFKT0"
    },
    {
      "field": "uses",
      "target": "033WGN00BF"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/39HWNYW5EF.md",
  "msc": [
    "05A15"
  ],
  "name": "Symbolic method",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/39H/39HWNYW5EF.md",
  "status": null,
  "tag": "39HWNYW5EF",
  "uri": "m2://39HWNYW5EF",
  "url": "https://math2.tamnd.com/wiki/symbolic-method-definition/",
  "writing": {
    "tag": "39HWNYW5EF",
    "kind": "definition",
    "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
      }
    ]
  }
}
