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
      • One or more equations did not get rendered due to their size.
      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₁
          theorem SimpleGraph.exists_isPathGraph3Compl_of_not_isCompleteMultipartite {α : Type u} {G : SimpleGraph α} (h : ¬G.IsCompleteMultipartite) :
          ∃ (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
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    completeEquipartiteGraph r t contains no edges when r ≤ 1 or t = 0.

                    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).