Documentation

Mathlib.Combinatorics.SimpleGraph.CompleteMultipartite

Complete Multipartite Graphs #

A graph is complete multipartite iff non-adjacency is transitive.

Main declarations #

Implementation Notes #

The definition of completeEquipartiteGraph is similar to completeMultipartiteGraph except that Sigma.fst is replaced by Prod.fst in the definition. The difference is that the former vertices are a product type whereas the latter vertices are a dependent product type.

While completeEquipartiteGraph r t could have been defined as the specialisation completeMultipartiteGraph (const (Fin r) (Fin t)) (or turanGraph (r * t) r), it is convenient to instead have a non-dependent product type for the vertices.

See completeEquipartiteGraph.completeMultipartiteGraph, completeEquipartiteGraph.turanGraph for the isomorphisms between a completeEquipartiteGraph and a corresponding completeMultipartiteGraph, turanGraph.

G is IsCompleteMultipartite iff non-adjacency is transitive

Equations
    Instances For

      The setoid given by non-adjacency

      Equations
        Instances For

          The graph isomorphism from a graph G that IsCompleteMultipartite to the corresponding completeMultipartiteGraph (see also isCompleteMultipartite_iff)

          Equations
            Instances For
              theorem SimpleGraph.isCompleteMultipartite_iff {α : Type u} {G : SimpleGraph α} :
              G.IsCompleteMultipartite ∃ (ι : Type u) (V : ιType u) (_ : ∀ (i : ι), Nonempty (V i)), Nonempty (G ≃g completeMultipartiteGraph V)
              structure SimpleGraph.IsPathGraph3Compl {α : Type u} (G : SimpleGraph α) (v w₁ w₂ : α) :

              The vertices v, w₁, w₂ form an IsPathGraph3Compl in G iff w₁w₂ is the only edge present between these three vertices. It is a witness to the non-complete-multipartite-ness of G (see not_isCompleteMultipartite_iff_exists_isPathGraph3Compl). This structure is an explicit way of saying that the induced graph on {v, w₁, w₂} is the complement of P3.

              • adj : G.Adj w₁ w₂
              • not_adj_fst : ¬G.Adj v w₁
              • not_adj_snd : ¬G.Adj v w₂
              Instances For
                theorem SimpleGraph.IsPathGraph3Compl.ne_fst {α : Type u} {G : SimpleGraph α} {v w₁ w₂ : α} (h2 : G.IsPathGraph3Compl v w₁ w₂) :
                v w₁
                theorem SimpleGraph.IsPathGraph3Compl.ne_snd {α : Type u} {G : SimpleGraph α} {v w₁ w₂ : α} (h2 : G.IsPathGraph3Compl v w₁ w₂) :
                v w₂
                theorem SimpleGraph.IsPathGraph3Compl.fst_ne_snd {α : Type u} {G : SimpleGraph α} {v w₁ w₂ : α} (h2 : G.IsPathGraph3Compl v w₁ w₂) :
                w₁ w₂
                theorem SimpleGraph.IsPathGraph3Compl.symm {α : Type u} {G : SimpleGraph α} {v w₁ w₂ : α} (h : G.IsPathGraph3Compl v w₁ w₂) :
                G.IsPathGraph3Compl v w₂ w₁
                def SimpleGraph.IsPathGraph3Compl.pathGraph3ComplEmbedding {α : Type u} {G : SimpleGraph α} {v w₁ w₂ : α} (h : G.IsPathGraph3Compl v w₁ w₂) :

                Any IsPathGraph3Compl in G gives rise to a graph embedding of the complement of the path graph

                Equations
                  Instances For

                    Embedding of (pathGraph 3)ᶜ into G that is not complete-multipartite.

                    Equations
                      Instances For
                        @[reducible, inline]

                        The complete equipartite graph in r parts each of equal size t such that two vertices are adjacent if and only if they are in different parts, often denoted $K_r(t)$.

                        This is isomorphic to a corresponding completeMultipartiteGraph and turanGraph. The difference is that the former vertices are a product type.

                        See completeEquipartiteGraph.completeMultipartiteGraph, completeEquipartiteGraph.turanGraph.

                        Equations
                          Instances For

                            A completeEquipartiteGraph is isomorphic to a corresponding completeMultipartiteGraph.

                            The difference is that the former vertices are a product type whereas the latter vertices are a dependent product type.

                            Equations
                              Instances For

                                A completeEquipartiteGraph is isomorphic to a corresponding turanGraph.

                                The difference is that the former vertices are a product type whereas the latter vertices are not.

                                Equations
                                  Instances For

                                    Every n-colorable graph is contained in a completeEquipartiteGraph in n parts (as long as the parts are at least as large as the largest color class).