Documentation

Mathlib.Combinatorics.SimpleGraph.Acyclic

Acyclic graphs and trees #

This module introduces acyclic graphs (a.k.a. forests) and trees.

Main definitions #

Main statements #

References #

The structure of the proofs for SimpleGraph.IsAcyclic and SimpleGraph.IsTree, including supporting lemmas about SimpleGraph.IsBridge, generally follows the high-level description for these theorems for multigraphs from [Cho94].

Tags #

acyclic graphs, trees

A graph is acyclic (or a forest) if it has no cycles.

Equations
Instances For
    structure SimpleGraph.IsTree {V : Type u} (G : SimpleGraph V) :

    A tree is a connected acyclic graph.

    Instances For
      theorem SimpleGraph.isAcyclic_iff_forall_adj_isBridge {V : Type u} {G : SimpleGraph V} :
      G.IsAcyclic ∀ ⦃v w : V⦄, G.Adj v wG.IsBridge s(v, w)
      theorem SimpleGraph.IsAcyclic.path_unique {V : Type u} {G : SimpleGraph V} (h : G.IsAcyclic) {v w : V} (p q : G.Path v w) :
      p = q
      theorem SimpleGraph.isAcyclic_of_path_unique {V : Type u} {G : SimpleGraph V} (h : ∀ (v w : V) (p q : G.Path v w), p = q) :
      theorem SimpleGraph.isAcyclic_iff_path_unique {V : Type u} {G : SimpleGraph V} :
      G.IsAcyclic ∀ ⦃v w : V⦄ (p q : G.Path v w), p = q
      theorem SimpleGraph.IsTree.existsUnique_path {V : Type u} {G : SimpleGraph V} (hG : G.IsTree) (v w : V) :
      ∃! p : G.Walk v w, p.IsPath