WikiLeanRecent changes · Proposals · Flags · Stats · About

Diff — Tree (graph theory)

Revision #1639 → #2148 · back to history

modifiedTree (lead)f92004116533
FieldFrom #1639To #2148
mathlib.declSimpleGraph.isTree_iff_existsUnique_path
mathlib.match_kindexact
mathlib.moduleMathlib.Combinatorics.SimpleGraph.Acyclic
note`isTree_iff_existsUnique_path` states a graph is a tree iff the vertex type is nonempty and every pair of vertices is joined by a unique path.
statusformalized
modifiedForest (lead)d1928f7c8c68
FieldFrom #1639To #2148
mathlib.declSimpleGraph.isAcyclic_iff_path_unique
mathlib.match_kindexact
mathlib.moduleMathlib.Combinatorics.SimpleGraph.Acyclic
note`IsAcyclic` is defined as having no cycles, and `isAcyclic_iff_path_unique` characterizes a forest as having at most one path between any two vertices.
statusformalized
modifiedPolytree / directed tree06769a282cd3
FieldFrom #1639To #2148
mathlib.declQuiver.Arborescence
mathlib.match_kindspecial_case
mathlib.moduleMathlib.Combinatorics.Quiver.Arborescence
noteMathlib formalizes the rooted directed-tree (arborescence) variant via `Quiver.Arborescence`, but not the general polytree (DAG whose underlying graph is a tree).
statuspartial
modifiedPolyforest155825ccd046
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo definition of a polyforest (DAG whose underlying graph is a forest) was found in Mathlib.
statusnot_formalized
modifiedRooted tree, arborescence, anti-arborescence7cc541e20dd0
FieldFrom #1639To #2148
mathlib.declQuiver.Arborescence
mathlib.match_kindspecial_case
mathlib.moduleMathlib.Combinatorics.Quiver.Arborescence
note`Quiver.Arborescence` formalizes an arborescence (unique path from root to every vertex), but anti-arborescences and the general undirected-rooted-tree notion are not formalized.
statuspartial
modifiedRooted forest, branching, anti-branching4ea4bed8eab7
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo notion of rooted forest, branching, or anti-branching was found in Mathlib.
statusnot_formalized
modifiedTree (equivalent conditions)3ff3d03ab674
FieldFrom #1639To #2148
mathlib.declSimpleGraph.isTree_iff_existsUnique_path
mathlib.match_kindexact
mathlib.moduleMathlib.Combinatorics.SimpleGraph.Acyclic
noteSeveral equivalences are proved: `isTree_iff_existsUnique_path`, `isTree_iff_minimal_connected`, `maximal_isAcyclic_iff_isTree`, and `isTree_iff_maximal_isAcyclic`.
statusformalized
modifiedFinite tree equivalent conditions0fd33a883db2
FieldFrom #1639To #2148
mathlib.declSimpleGraph.isTree_iff_connected_and_card
mathlib.match_kindexact
mathlib.moduleMathlib.Combinatorics.SimpleGraph.Acyclic
note`isTree_iff_connected_and_card` proves that, over a finite vertex type, a graph is a tree iff it is connected and has exactly `n - 1` edges.
statusformalized
modifiedOrder-zero graph as forestfd7b0a00ed3a
FieldFrom #1639To #2148
mathlib.declSimpleGraph.isAcyclic_bot
mathlib.match_kindspecial_case
mathlib.moduleMathlib.Combinatorics.SimpleGraph.Acyclic
note`isAcyclic_bot` shows the empty graph is acyclic, and `IsTree` requires `Connected` (hence Nonempty V), so the convention is implicitly captured but not articulated as such.
statuspartial
modifiedInternal, external, branch vertexe63e4a78d7b7
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteMathlib has `SimpleGraph.degree` but no named predicates for internal/external/branch vertices.
statusnot_formalized
modifiedIrreducible tree94d0291b7d53
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo notion of irreducible/series-reduced tree was found in Mathlib.
statusnot_formalized
modifiedForest567260d4d42c
FieldFrom #1639To #2148
mathlib.declSimpleGraph.IsAcyclic
mathlib.match_kindexact
mathlib.moduleMathlib.Combinatorics.SimpleGraph.Acyclic
note`IsAcyclic` is defined directly as having no cyclic walk; `IsAcyclic.isTree_connectedComponent` shows the disjoint-union-of-trees view.
statusformalized
modifiedCounting trees in a forest845dd46f0eff
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteMathlib has `IsTree.card_edgeFinset` (n = m+1 for a tree) but no theorem expressing #components = #vertices − #edges for a forest.
statusnot_formalized
modifiedPolytree448aea9d1cf4
FieldFrom #1639To #2148
mathlib.declQuiver.Arborescence
mathlib.match_kindspecial_case
mathlib.moduleMathlib.Combinatorics.Quiver.Arborescence
noteOnly the rooted/arborescence special case appears in Mathlib; the general polytree (DAG whose underlying graph is a tree) is not formalized.
statuspartial
modifiedPolyforestbf86be210ebf
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo definition of polyforest was found in Mathlib.
statusnot_formalized
modifiedRooted tree, arborescence, in-treea59cfd24f796
FieldFrom #1639To #2148
mathlib.declQuiver.Arborescence
mathlib.match_kindspecial_case
mathlib.moduleMathlib.Combinatorics.Quiver.Arborescence
note`Quiver.Arborescence` covers out-arborescences from a root; in-trees and a generic undirected-graph + designated-root rooted tree are not formalized.
statuspartial
modifiedTree-order7be5b5222189
FieldFrom #1639To #2148
mathlib.declIsPredArchimedean.findAtom
mathlib.match_kindgeneralization
mathlib.moduleMathlib.Order.SuccPred.Tree
note`Mathlib.Order.SuccPred.Tree` models a rooted tree as a `PartialOrder` with `PredOrder`+`IsPredArchimedean`+`OrderBot`, encoding the tree-order, but it is not connected to `SimpleGraph` trees.
statuspartial
modifiedNormal treeec52a7a1a5cf
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo notion of normal tree was found in Mathlib.
statusnot_formalized
modifiedFree treee5326b5ba439
FieldFrom #1639To #2148
mathlib.declSimpleGraph.IsTree
mathlib.match_kindexact
mathlib.moduleMathlib.Combinatorics.SimpleGraph.Acyclic
note`SimpleGraph.IsTree` is a connected acyclic graph with no designated root, matching the notion of a free tree.
statusformalized
modifiedLabeled treeaa1d1fb3cd7e
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo labeled-tree concept beyond the implicit vertex-type indexing was found in Mathlib.
statusnot_formalized
modifiedRecursive treeab371879bca1
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo recursive-tree definition was found in Mathlib.
statusnot_formalized
modifiedParent, child, ascendant, descendant, sibling, leaf931f529346ba
FieldFrom #1639To #2148
mathlib.declBinaryTree
mathlib.match_kindspecial_case
mathlib.moduleMathlib.Data.Tree.Basic
note`BinaryTree` (and `Order.SuccPred.Tree` via `Order.pred`) encode parent/child relations in their respective settings, but Mathlib has no graph-theoretic parent/child/leaf API for `SimpleGraph` rooted trees.
statuspartial
modifiedHeight and depthc7a8dedde557
FieldFrom #1639To #2148
mathlib.declBinaryTree.height
mathlib.match_kindspecial_case
mathlib.moduleMathlib.Data.Tree.Basic
note`BinaryTree.height` defines tree height for the binary-tree datatype only; no graph-theoretic height/depth on `SimpleGraph` rooted trees was found.
statuspartial
modifiedk-ary tree, binary tree, ternary tree681c7cb7342f
FieldFrom #1639To #2148
mathlib.declBinaryTree
mathlib.match_kindspecial_case
mathlib.moduleMathlib.Data.Tree.Basic
noteMathlib formalizes `BinaryTree` as a recursive datatype, but no general k-ary or ternary tree predicate over graphs is provided.
statuspartial
modifiedOrdered (plane) treec1118fd1c822
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo ordered/plane-tree definition was found in Mathlib.
statusnot_formalized
modifiedEvery tree is bipartite363dc88d5d12
FieldFrom #1639To #2148
mathlib.declSimpleGraph.IsTree.isBipartite
mathlib.match_kindexact
mathlib.moduleMathlib.Combinatorics.SimpleGraph.Acyclic
note`IsTree.isBipartite` (via the explicit two-coloring `IsTree.coloringTwo`) proves every tree is bipartite.
statusformalized
modifiedCountable trees are planar1f28cc7bf663
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
notePlanarity of graphs is not formalized in Mathlib (only mentioned in a docstring).
statusnot_formalized
modifiedSpanning tree existencedd2801e07a61
FieldFrom #1639To #2148
mathlib.declSimpleGraph.Connected.exists_isTree_le
mathlib.match_kindexact
mathlib.moduleMathlib.Combinatorics.SimpleGraph.Acyclic
note`Connected.exists_isTree_le` proves every connected graph has a spanning subgraph that is a tree.
statusformalized
addedTrémaux tree existence9f313b3235f7
modifiedLeaves in finite treesb7d62b1cb34b
FieldFrom #1639To #2148
mathlib.declSimpleGraph.IsTree.exists_vert_degree_one_of_nontrivial
mathlib.match_kindspecial_case
mathlib.moduleMathlib.Combinatorics.SimpleGraph.Acyclic
note`IsTree.exists_vert_degree_one_of_nontrivial` gives the existence of one degree-1 vertex (one leaf), but the stronger "at least two leaves" statement was not found.
statuspartial
modifiedTree as median graph40b6b756ad01
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo median-graph or Steiner-point property of trees was found in Mathlib.
statusnot_formalized
modifiedCenter and centroid of a treeca06104a4649
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo notion of graph center/centroid for trees was found in Mathlib.
statusnot_formalized
modifiedMaximal cliques of a tree0ce0261d2217
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteAlthough Mathlib has `SimpleGraph.IsClique`, the specific characterization of maximal cliques of a tree was not found.
statusnot_formalized
modifiedCayley's formulacc548c4e205a
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteCayley's formula counting labeled trees by n^{n-2} was not found in Mathlib.
statusnot_formalized
modifiedMatrix tree theorem575bf00db0bc
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
note`LapMatrix` defines the graph Laplacian and proves rank-related results, but Kirchhoff's matrix-tree theorem (cofactor counts spanning trees) was not found.
statusnot_formalized
modifiedOtter's asymptotic estimate (unlabeled trees)79684904bdaf
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo asymptotic count of unlabeled trees (Otter's theorem) was found in Mathlib.
statusnot_formalized
modifiedOtter's asymptotic estimate (rooted trees)97aab062df30
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo asymptotic count of rooted unlabeled trees was found in Mathlib.
statusnot_formalized
modifiedPath graph6489402948b9
FieldFrom #1639To #2148
mathlib.declSimpleGraph.pathGraph
mathlib.match_kindexact
mathlib.moduleMathlib.Combinatorics.SimpleGraph.Hasse
note`SimpleGraph.pathGraph n` is the path graph on `Fin n`, with adjacency and connectedness lemmas.
statusformalized
modifiedStarlike treebd1471703b39
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo starlike-tree definition was found in Mathlib.
statusnot_formalized
modifiedStar tree6deb175514f2
FieldFrom #1639To #2148
mathlib.declSimpleGraph.starGraph
mathlib.match_kindexact
mathlib.moduleMathlib.Combinatorics.SimpleGraph.Star
note`SimpleGraph.starGraph r` is the star graph centered at `r`, and `isTree_starGraph` proves it is a tree.
statusformalized
modifiedCaterpillar treeeaf6a613a0a0
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo caterpillar-tree definition was found in Mathlib.
statusnot_formalized
modifiedLobster treec8833899be06
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo lobster-tree definition was found in Mathlib.
statusnot_formalized
modifiedRegular tree / Bethe lattice873f5be5a3bc
FieldFrom #1639To #2148
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo regular-tree or Bethe-lattice definition was found in Mathlib.
statusnot_formalized