Documentation

LeanPool.PaperIVCliqueTree.Connector

Joining a rooted clique forest by one connector #

The new node none is joined to every original root. Original parent edges are unchanged. The resulting graph is a tree, including for an empty forest. Strict rank descent proves connectivity; a maximal-rank vertex on a putative cycle would have two different lower neighbours, contradicting unique parenthood.

def SimpleGraph.CliqueTree.connectorParent {V : Type u_1} {ι : Type u_2} {G : SimpleGraph V} (T : G.CliqueTree ι) :
Option ι → Option ι

Parent in the connected augmentation; the connector is its own parent.

Equations
Instances For
    def SimpleGraph.CliqueTree.connectorRank {V : Type u_1} {ι : Type u_2} {G : SimpleGraph V} (T : G.CliqueTree ι) :
    Option ι → ℕ

    The connector has rank zero and original nodes have their rank shifted by one.

    Equations
    Instances For
      theorem SimpleGraph.CliqueTree.connectorParent_rank_lt {V : Type u_1} {ι : Type u_2} {G : SimpleGraph V} (T : G.CliqueTree ι) {x : Option ι} (hx : x ≠ none) :

      Every original node has a strictly lower parent in the augmentation.

      def SimpleGraph.CliqueTree.connectorGraph {V : Type u_1} {ι : Type u_2} {G : SimpleGraph V} (T : G.CliqueTree ι) :

      The undirected parent graph, with each root joined to a new connector.

      Equations
      Instances For
        theorem SimpleGraph.CliqueTree.connectorGraph_adj_parent {V : Type u_1} {ι : Type u_2} {G : SimpleGraph V} (T : G.CliqueTree ι) (i : ι) :

        An original node is adjacent to its augmented parent, even if it is a root.

        @[simp]
        theorem SimpleGraph.CliqueTree.connectorGraph_adj_none_some {V : Type u_1} {ι : Type u_2} {G : SimpleGraph V} (T : G.CliqueTree ι) (i : ι) :

        Exactly the original roots are adjacent to the connector.

        @[simp]
        theorem SimpleGraph.CliqueTree.connectorGraph_adj_some_some {V : Type u_1} {ι : Type u_2} {G : SimpleGraph V} (T : G.CliqueTree ι) (i j : ι) :

        Adjacency between original nodes is exactly their original parent relation.

        Every node reaches the connector by repeatedly following its parent.

        The connector joins all roots into a single connected graph.

        theorem SimpleGraph.CliqueTree.connectorParent_eq_of_adj_of_rank_le {V : Type u_1} {ι : Type u_2} {G : SimpleGraph V} (T : G.CliqueTree ι) {x y : Option ι} (hxy : T.connectorGraph.Adj x y) (hy : T.connectorRank y ≤ T.connectorRank x) :

        A neighbour with no larger rank must be the unique augmented parent.

        No cycle can have two different neighbours of its maximal-rank vertex.

        Connecting the roots of a clique forest produces a genuine tree.