{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nFor finite [[rooted trees|0C9J6W2A8A]] $T$ and $T'$, write $u \\wedge v$ for the nearest common ancestor of vertices $u, v$ of $T$.\nSay that $T$ embeds in $T'$ if some injective map $f$ from the vertices of $T$ to those of $T'$ satisfies $f(u \\wedge v) = f(u) \\wedge f(v)$ for all $u, v$.\nThen the finite rooted trees are well-quasi-ordered by embedding.\nThat is, for every infinite sequence $T_1, T_2, T_3, \\dots$ of finite rooted trees, there are indices $i \u003c j$ such that $T_i$ embeds in $T_j$.\n\n## Remarks\n\nThe labelled form also holds.\nLet the vertices carry labels from a well-quasi-ordered set $(X, \\le)$, and ask also that each label of $T$ is at most the label of its image.\nThen the trees are still well-quasi-ordered.\nJoseph Kruskal proved the theorem in 1960, and Crispin Nash-Williams gave a short proof by the minimal bad sequence argument.\nThat argument takes a bad sequence whose trees are as small as possible at each step.\nIt then applies Higman's lemma to the sets of subtrees at the roots to reach a contradiction.\nHarvey Friedman showed that a finite form of the theorem, although true, is not provable in the subsystem $\\mathrm{ATR}_0$ of second-order arithmetic.\nThe [[Robertson–Seymour theorem|WP3GDNWJJW]] on graph minors builds on its methods.\n\n## Explanations\n\n### L1 human\n\nWrite down an endless list of finite trees.\nThe theorem says that, no matter how you choose them, some tree in the list will be contained, in a branch-preserving way, in a later tree.\nYou cannot keep producing trees that avoid all earlier ones.\n\n### L2 human\n\nThe theorem is a basic example of a well-quasi-order on structured objects, after Higman's lemma for finite words.\nIt is used in term rewriting to prove that certain orderings, such as recursive path orderings, are well-founded.\nIts finite form grows so fast that it escapes strong formal systems, which makes it a standard example in proof theory.\n",
  "commit": "5fc425f97f1f6b11da5892c2948ef8c5d8805665",
  "front": {
    "about": [
      "0C9J6W2A8A"
    ],
    "kind": "statement",
    "msc": [
      "05C05",
      "06A07"
    ],
    "name": "Kruskal's tree theorem",
    "role": "theorem",
    "same_as": {
      "wikidata": "Q3527100",
      "wikipedia": "Kruskal's tree theorem"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Kruskal's_tree_theorem"
      }
    ],
    "tag": "XVHKCX4F5Y",
    "uses": [
      "0C9J6W2A8A"
    ]
  },
  "kind": "statement",
  "link": "https://math2.tamnd.com/node/XVHKCX4F5Y/",
  "links": [
    {
      "field": "about",
      "target": "0C9J6W2A8A"
    },
    {
      "field": "uses",
      "target": "0C9J6W2A8A"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/XVHKCX4F5Y.md",
  "msc": [
    "05C05",
    "06A07"
  ],
  "name": "Kruskal's tree theorem",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/XVH/XVHKCX4F5Y.md",
  "status": null,
  "tag": "XVHKCX4F5Y",
  "uri": "m2://XVHKCX4F5Y",
  "url": "https://math2.tamnd.com/wiki/kruskals-tree-theorem/",
  "writing": {
    "tag": "XVHKCX4F5Y",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
