Documentation

LeanPool.StructuralGraphClasses.Split

Split partitions #

A split partition records a clique and an independent set covering the vertices. Either part may be empty. Membership in the class is a proposition; a partition is a separate certificate that can be restricted or transported.

structure SimpleGraph.SplitPartition {V : Type u_1} (G : SimpleGraph V) :
Type u_1

A partition of the vertices into a clique and an independent set.

Instances For
    def SimpleGraph.IsSplit {V : Type u_1} (G : SimpleGraph V) :

    A graph is split if it admits a split partition.

    Equations
    Instances For

      Every vertex lies in one of the two parts.

      Complementation exchanges the two parts.

      Equations
      • P.compl = { clique := P.independent, independent := P.clique, isClique := ⋯, isIndepSet := ⋯, disjoint := ⋯, cover := ⋯ }
      Instances For
        def SimpleGraph.SplitPartition.comap {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} (P : G.SplitPartition) (f : W ↪ V) :

        Pull a partition back along an injective vertex map.

        Equations
        Instances For

          Restrict a split partition to an arbitrary induced subgraph.

          Equations
          Instances For
            theorem SimpleGraph.IsSplit.compl {V : Type u_1} {G : SimpleGraph V} (h : G.IsSplit) :

            Split graphs are closed under complementation.

            @[simp]

            Split membership is invariant under complementation.

            theorem SimpleGraph.IsSplit.comap {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} (h : G.IsSplit) (f : W ↪ V) :

            Split membership pulls back along an injective vertex map.

            theorem SimpleGraph.IsSplit.induce {V : Type u_1} {G : SimpleGraph V} (h : G.IsSplit) (s : Set V) :

            Every induced subgraph of a split graph is split.

            theorem SimpleGraph.Iso.isSplit_iff {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {H : SimpleGraph W} (f : G ≃g H) :

            Graph isomorphisms preserve split membership.

            Empty graphs are split, with every vertex in the independent part.

            Complete graphs are split, with every vertex in the clique part.