Documentation

Mathlib.Combinatorics.SimpleGraph.Maps

Maps between graphs #

This file defines two functions and three structures relating graphs. The structures directly correspond to the classification of functions as injective, surjective and bijective, and have corresponding notation.

Main definitions #

Note that a graph embedding is a stronger notion than an injective graph homomorphism, since its image is an induced subgraph.

Implementation notes #

Morphisms of graphs are abbreviations for RelHom, RelEmbedding and RelIso. To make use of pre-existing simp lemmas, definitions involving morphisms are abbreviations as well.

Map and comap #

def SimpleGraph.map {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph V) :

Given an injective function, there is a covariant induced map on graphs by pushing forward the adjacency relation.

This is injective (see SimpleGraph.map_injective).

Equations
Instances For
    instance SimpleGraph.instDecidableMapAdj {V : Type u_1} {W : Type u_2} (G : SimpleGraph V) {f : V W} {a : W} {b : W} [Decidable (Relation.Map G.Adj (f) (f) a b)] :
    Decidable ((SimpleGraph.map f G).Adj a b)
    Equations
    @[simp]
    theorem SimpleGraph.map_adj {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph V) (u : W) (v : W) :
    (SimpleGraph.map f G).Adj u v ∃ (u' : V) (v' : V), G.Adj u' v' f u' = u f v' = v
    theorem SimpleGraph.map_adj_apply {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {f : V W} {a : V} {b : V} :
    (SimpleGraph.map f G).Adj (f a) (f b) G.Adj a b
    theorem SimpleGraph.map_monotone {V : Type u_1} {W : Type u_2} (f : V W) :
    @[simp]
    theorem SimpleGraph.map_map {V : Type u_1} {W : Type u_2} {X : Type u_3} (G : SimpleGraph V) (f : V W) (g : W X) :
    def SimpleGraph.comap {V : Type u_1} {W : Type u_2} (f : VW) (G : SimpleGraph W) :

    Given a function, there is a contravariant induced map on graphs by pulling back the adjacency relation. This is one of the ways of creating induced graphs. See SimpleGraph.induce for a wrapper.

    This is surjective when f is injective (see SimpleGraph.comap_surjective).

    Equations
    • SimpleGraph.comap f G = { Adj := fun (u v : V) => G.Adj (f u) (f v), symm := , loopless := }
    Instances For
      @[simp]
      theorem SimpleGraph.comap_adj {V : Type u_1} {W : Type u_2} {u : V} {v : V} {G : SimpleGraph W} {f : VW} :
      (SimpleGraph.comap f G).Adj u v G.Adj (f u) (f v)
      @[simp]
      theorem SimpleGraph.comap_id {V : Type u_1} {G : SimpleGraph V} :
      @[simp]
      theorem SimpleGraph.comap_comap {V : Type u_1} {W : Type u_2} {X : Type u_3} {G : SimpleGraph X} (f : VW) (g : WX) :
      instance SimpleGraph.instDecidableComapAdj {V : Type u_1} {W : Type u_2} (f : VW) (G : SimpleGraph W) [DecidableRel G.Adj] :
      Equations
      theorem SimpleGraph.comap_symm {V : Type u_1} {W : Type u_2} (G : SimpleGraph V) (e : V W) :
      theorem SimpleGraph.map_symm {V : Type u_1} {W : Type u_2} (G : SimpleGraph W) (e : V W) :
      theorem SimpleGraph.comap_monotone {V : Type u_1} {W : Type u_2} (f : V W) :
      @[simp]
      theorem SimpleGraph.comap_map_eq {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph V) :
      theorem SimpleGraph.map_le_iff_le_comap {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph V) (G' : SimpleGraph W) :
      theorem SimpleGraph.map_comap_le {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph W) :
      theorem SimpleGraph.le_comap_of_subsingleton {V : Type u_1} {W : Type u_2} (G : SimpleGraph V) (G' : SimpleGraph W) (f : VW) [Subsingleton V] :
      theorem SimpleGraph.map_le_of_subsingleton {V : Type u_1} {W : Type u_2} (G : SimpleGraph V) (G' : SimpleGraph W) (f : V W) [Subsingleton V] :
      @[inline, reducible]
      abbrev SimpleGraph.completeMultipartiteGraph {ι : Type u_4} (V : ιType u_5) :
      SimpleGraph ((i : ι) × V i)

      Given a family of vertex types indexed by ι, pulling back from ⊤ : SimpleGraph ι yields the complete multipartite graph on the family. Two vertices are adjacent if and only if their indices are not equal.

      Equations
      Instances For
        @[simp]
        theorem Equiv.simpleGraph_apply {V : Type u_1} {W : Type u_2} (e : V W) (G : SimpleGraph V) :
        def Equiv.simpleGraph {V : Type u_1} {W : Type u_2} (e : V W) :

        Equivalent types have equivalent simple graphs.

        Equations
        Instances For
          @[simp]
          theorem Equiv.simpleGraph_trans {V : Type u_1} {W : Type u_2} {X : Type u_3} (e₁ : V W) (e₂ : W X) :
          Equiv.simpleGraph (e₁.trans e₂) = (Equiv.simpleGraph e₁).trans (Equiv.simpleGraph e₂)
          @[simp]
          theorem Equiv.symm_simpleGraph {V : Type u_1} {W : Type u_2} (e : V W) :

          Induced graphs #

          @[reducible]
          def SimpleGraph.induce {V : Type u_1} (s : Set V) (G : SimpleGraph V) :

          Restrict a graph to the vertices in the set s, deleting all edges incident to vertices outside the set. This is a wrapper around SimpleGraph.comap.

          Equations
          Instances For
            @[simp]
            @[reducible]
            def SimpleGraph.spanningCoe {V : Type u_1} {s : Set V} (G : SimpleGraph s) :

            Given a graph on a set of vertices, we can make it be a SimpleGraph V by adding in the remaining vertices without adding in any additional edges. This is a wrapper around SimpleGraph.map.

            Equations
            Instances For

              Homomorphisms, embeddings and isomorphisms #

              @[inline, reducible]
              abbrev SimpleGraph.Hom {V : Type u_1} {W : Type u_2} (G : SimpleGraph V) (G' : SimpleGraph W) :
              Type (max u_1 u_2)

              A graph homomorphism is a map on vertex sets that respects adjacency relations.

              The notation G →g G' represents the type of graph homomorphisms.

              Equations
              Instances For
                @[inline, reducible]
                abbrev SimpleGraph.Embedding {V : Type u_1} {W : Type u_2} (G : SimpleGraph V) (G' : SimpleGraph W) :
                Type (max u_1 u_2)

                A graph embedding is an embedding f such that for vertices v w : V, G.Adj (f v) (f w) ↔ G.Adj v w. Its image is an induced subgraph of G'.

                The notation G ↪g G' represents the type of graph embeddings.

                Equations
                Instances For
                  @[inline, reducible]
                  abbrev SimpleGraph.Iso {V : Type u_1} {W : Type u_2} (G : SimpleGraph V) (G' : SimpleGraph W) :
                  Type (max u_1 u_2)

                  A graph isomorphism is a bijective map on vertex sets that respects adjacency relations.

                  The notation G ≃g G' represents the type of graph isomorphisms.

                  Equations
                  Instances For

                    A graph homomorphism is a map on vertex sets that respects adjacency relations.

                    The notation G →g G' represents the type of graph homomorphisms.

                    Equations
                    Instances For

                      A graph embedding is an embedding f such that for vertices v w : V, G.Adj (f v) (f w) ↔ G.Adj v w. Its image is an induced subgraph of G'.

                      The notation G ↪g G' represents the type of graph embeddings.

                      Equations
                      Instances For

                        A graph isomorphism is a bijective map on vertex sets that respects adjacency relations.

                        The notation G ≃g G' represents the type of graph isomorphisms.

                        Equations
                        Instances For
                          @[inline, reducible]
                          abbrev SimpleGraph.Hom.id {V : Type u_1} {G : SimpleGraph V} :
                          G →g G

                          The identity homomorphism from a graph to itself.

                          Equations
                          Instances For
                            @[simp]
                            theorem SimpleGraph.Hom.coe_id {V : Type u_1} {G : SimpleGraph V} :
                            SimpleGraph.Hom.id = id
                            instance SimpleGraph.Hom.instSubsingletonHom {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {H : SimpleGraph W} [Subsingleton (VW)] :
                            Equations
                            • =
                            instance SimpleGraph.Hom.instUniqueHom {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {H : SimpleGraph W} [IsEmpty V] :
                            Unique (G →g H)
                            Equations
                            • SimpleGraph.Hom.instUniqueHom = { toInhabited := { default := { toFun := fun (a : V) => isEmptyElim a, map_rel' := } }, uniq := }
                            instance SimpleGraph.Hom.instFintype {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {H : SimpleGraph W} [DecidableEq V] [Fintype V] [Fintype W] [DecidableRel G.Adj] [DecidableRel H.Adj] :
                            Equations
                            • One or more equations did not get rendered due to their size.
                            instance SimpleGraph.Hom.instFiniteHom {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {H : SimpleGraph W} [Finite V] [Finite W] :
                            Finite (G →g H)
                            Equations
                            • =
                            theorem SimpleGraph.Hom.map_adj {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G →g G') {v : V} {w : V} (h : G.Adj v w) :
                            G'.Adj (f v) (f w)
                            theorem SimpleGraph.Hom.map_mem_edgeSet {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G →g G') {e : Sym2 V} (h : e SimpleGraph.edgeSet G) :
                            theorem SimpleGraph.Hom.apply_mem_neighborSet {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G →g G') {v : V} {w : V} (h : w SimpleGraph.neighborSet G v) :
                            @[simp]
                            theorem SimpleGraph.Hom.mapEdgeSet_coe {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G →g G') (e : (SimpleGraph.edgeSet G)) :
                            def SimpleGraph.Hom.mapEdgeSet {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G →g G') (e : (SimpleGraph.edgeSet G)) :

                            The map between edge sets induced by a homomorphism. The underlying map on edges is given by Sym2.map.

                            Equations
                            Instances For
                              @[simp]
                              theorem SimpleGraph.Hom.mapNeighborSet_coe {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G →g G') (v : V) (w : (SimpleGraph.neighborSet G v)) :
                              def SimpleGraph.Hom.mapNeighborSet {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G →g G') (v : V) (w : (SimpleGraph.neighborSet G v)) :

                              The map between neighbor sets induced by a homomorphism.

                              Equations
                              Instances For
                                def SimpleGraph.Hom.mapDart {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G →g G') (d : SimpleGraph.Dart G) :

                                The map between darts induced by a homomorphism.

                                Equations
                                Instances For
                                  @[simp]
                                  theorem SimpleGraph.Hom.mapDart_apply {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G →g G') (d : SimpleGraph.Dart G) :
                                  SimpleGraph.Hom.mapDart f d = { toProd := Prod.map (f) (f) d.toProd, is_adj := }
                                  @[simp]
                                  def SimpleGraph.Hom.mapSpanningSubgraphs {V : Type u_1} {G : SimpleGraph V} {G' : SimpleGraph V} (h : G G') :
                                  G →g G'

                                  The induced map for spanning subgraphs, which is the identity on vertices.

                                  Equations
                                  Instances For
                                    theorem SimpleGraph.Hom.injective_of_top_hom {V : Type u_1} {W : Type u_2} {G' : SimpleGraph W} (f : →g G') :

                                    Every graph homomorphism from a complete graph is injective.

                                    @[simp]
                                    theorem SimpleGraph.Hom.comap_apply {V : Type u_1} {W : Type u_2} (f : VW) (G : SimpleGraph W) :
                                    ∀ (a : V), (SimpleGraph.Hom.comap f G) a = f a
                                    def SimpleGraph.Hom.comap {V : Type u_1} {W : Type u_2} (f : VW) (G : SimpleGraph W) :

                                    There is a homomorphism to a graph from a comapped graph. When the function is injective, this is an embedding (see SimpleGraph.Embedding.comap).

                                    Equations
                                    Instances For
                                      @[inline, reducible]
                                      abbrev SimpleGraph.Hom.comp {V : Type u_1} {W : Type u_2} {X : Type u_3} {G : SimpleGraph V} {G' : SimpleGraph W} {G'' : SimpleGraph X} (f' : G' →g G'') (f : G →g G') :
                                      G →g G''

                                      Composition of graph homomorphisms.

                                      Equations
                                      Instances For
                                        @[simp]
                                        theorem SimpleGraph.Hom.coe_comp {V : Type u_1} {W : Type u_2} {X : Type u_3} {G : SimpleGraph V} {G' : SimpleGraph W} {G'' : SimpleGraph X} (f' : G' →g G'') (f : G →g G') :
                                        (SimpleGraph.Hom.comp f' f) = f' f
                                        def SimpleGraph.Hom.ofLE {V : Type u_1} {G₁ : SimpleGraph V} {G₂ : SimpleGraph V} (h : G₁ G₂) :
                                        G₁ →g G₂

                                        The graph homomorphism from a smaller graph to a bigger one.

                                        Equations
                                        Instances For
                                          @[simp]
                                          theorem SimpleGraph.Hom.coe_ofLE {V : Type u_1} {G₁ : SimpleGraph V} {G₂ : SimpleGraph V} (h : G₁ G₂) :
                                          @[inline, reducible]
                                          abbrev SimpleGraph.Embedding.refl {V : Type u_1} {G : SimpleGraph V} :
                                          G ↪g G

                                          The identity embedding from a graph to itself.

                                          Equations
                                          Instances For
                                            @[inline, reducible]
                                            abbrev SimpleGraph.Embedding.toHom {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ↪g G') :
                                            G →g G'

                                            An embedding of graphs gives rise to a homomorphism of graphs.

                                            Equations
                                            Instances For
                                              @[simp]
                                              theorem SimpleGraph.Embedding.coe_toHom {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {H : SimpleGraph W} (f : G ↪g H) :
                                              @[simp]
                                              theorem SimpleGraph.Embedding.map_adj_iff {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ↪g G') {v : V} {w : V} :
                                              G'.Adj (f v) (f w) G.Adj v w
                                              theorem SimpleGraph.Embedding.apply_mem_neighborSet_iff {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ↪g G') {v : V} {w : V} :
                                              def SimpleGraph.Embedding.mapEdgeSet {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ↪g G') :

                                              A graph embedding induces an embedding of edge sets.

                                              Equations
                                              Instances For
                                                @[simp]
                                                theorem SimpleGraph.Embedding.mapNeighborSet_apply_coe {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ↪g G') (v : V) (w : (SimpleGraph.neighborSet G v)) :
                                                def SimpleGraph.Embedding.mapNeighborSet {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ↪g G') (v : V) :

                                                A graph embedding induces an embedding of neighbor sets.

                                                Equations
                                                Instances For
                                                  def SimpleGraph.Embedding.comap {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph W) :

                                                  Given an injective function, there is an embedding from the comapped graph into the original graph.

                                                  Equations
                                                  Instances For
                                                    @[simp]
                                                    theorem SimpleGraph.Embedding.comap_apply {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph W) (v : V) :
                                                    def SimpleGraph.Embedding.map {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph V) :

                                                    Given an injective function, there is an embedding from a graph into the mapped graph.

                                                    Equations
                                                    Instances For
                                                      @[simp]
                                                      theorem SimpleGraph.Embedding.map_apply {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph V) (v : V) :
                                                      @[reducible]

                                                      Induced graphs embed in the original graph.

                                                      Note that if G.induce s = ⊤ (i.e., if s is a clique) then this gives the embedding of a complete graph.

                                                      Equations
                                                      Instances For
                                                        @[reducible]

                                                        Graphs on a set of vertices embed in their spanningCoe.

                                                        Equations
                                                        Instances For
                                                          def SimpleGraph.Embedding.completeGraph {α : Type u_4} {β : Type u_5} (f : α β) :

                                                          Embeddings of types induce embeddings of complete graphs on those types.

                                                          Equations
                                                          Instances For
                                                            @[simp]
                                                            theorem SimpleGraph.Embedding.coe_completeGraph {α : Type u_4} {β : Type u_5} (f : α β) :
                                                            @[inline, reducible]
                                                            abbrev SimpleGraph.Embedding.comp {V : Type u_1} {W : Type u_2} {X : Type u_3} {G : SimpleGraph V} {G' : SimpleGraph W} {G'' : SimpleGraph X} (f' : G' ↪g G'') (f : G ↪g G') :
                                                            G ↪g G''

                                                            Composition of graph embeddings.

                                                            Equations
                                                            Instances For
                                                              @[simp]
                                                              theorem SimpleGraph.Embedding.coe_comp {V : Type u_1} {W : Type u_2} {X : Type u_3} {G : SimpleGraph V} {G' : SimpleGraph W} {G'' : SimpleGraph X} (f' : G' ↪g G'') (f : G ↪g G') :
                                                              (SimpleGraph.Embedding.comp f' f) = f' f
                                                              def SimpleGraph.induceHom {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} {s : Set V} {t : Set W} (φ : G →g G') (φst : Set.MapsTo (φ) s t) :

                                                              The restriction of a morphism of graphs to induced subgraphs.

                                                              Equations
                                                              Instances For
                                                                @[simp]
                                                                theorem SimpleGraph.coe_induceHom {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} {s : Set V} {t : Set W} (φ : G →g G') (φst : Set.MapsTo (φ) s t) :
                                                                (SimpleGraph.induceHom φ φst) = Set.MapsTo.restrict (φ) s t φst
                                                                @[simp]
                                                                theorem SimpleGraph.induceHom_id {V : Type u_1} (G : SimpleGraph V) (s : Set V) :
                                                                SimpleGraph.induceHom SimpleGraph.Hom.id = SimpleGraph.Hom.id
                                                                @[simp]
                                                                theorem SimpleGraph.induceHom_comp {V : Type u_1} {W : Type u_2} {X : Type u_3} {G : SimpleGraph V} {G' : SimpleGraph W} {G'' : SimpleGraph X} {s : Set V} {t : Set W} {r : Set X} (φ : G →g G') (φst : Set.MapsTo (φ) s t) (ψ : G' →g G'') (ψtr : Set.MapsTo (ψ) t r) :
                                                                theorem SimpleGraph.induceHom_injective {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} {s : Set V} {t : Set W} (φ : G →g G') (φst : Set.MapsTo (φ) s t) (hi : Set.InjOn (φ) s) :
                                                                def SimpleGraph.induceHomOfLE {V : Type u_1} (G : SimpleGraph V) {s : Set V} {s' : Set V} (h : s s') :

                                                                Given an inclusion of vertex subsets, the induced embedding on induced graphs. This is not an abbreviation for induceHom since we get an embedding in this case.

                                                                Equations
                                                                Instances For
                                                                  @[simp]
                                                                  theorem SimpleGraph.induceHomOfLE_apply {V : Type u_1} (G : SimpleGraph V) {s : Set V} {s' : Set V} (h : s s') (v : s) :
                                                                  @[simp]
                                                                  theorem SimpleGraph.induceHomOfLE_toHom {V : Type u_1} (G : SimpleGraph V) {s : Set V} {s' : Set V} (h : s s') :
                                                                  @[inline, reducible]
                                                                  abbrev SimpleGraph.Iso.refl {V : Type u_1} {G : SimpleGraph V} :
                                                                  G ≃g G

                                                                  The identity isomorphism of a graph with itself.

                                                                  Equations
                                                                  Instances For
                                                                    @[inline, reducible]
                                                                    abbrev SimpleGraph.Iso.toEmbedding {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') :
                                                                    G ↪g G'

                                                                    An isomorphism of graphs gives rise to an embedding of graphs.

                                                                    Equations
                                                                    Instances For
                                                                      @[inline, reducible]
                                                                      abbrev SimpleGraph.Iso.toHom {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') :
                                                                      G →g G'

                                                                      An isomorphism of graphs gives rise to a homomorphism of graphs.

                                                                      Equations
                                                                      Instances For
                                                                        @[inline, reducible]
                                                                        abbrev SimpleGraph.Iso.symm {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') :
                                                                        G' ≃g G

                                                                        The inverse of a graph isomorphism.

                                                                        Equations
                                                                        Instances For
                                                                          theorem SimpleGraph.Iso.map_adj_iff {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') {v : V} {w : V} :
                                                                          G'.Adj (f v) (f w) G.Adj v w
                                                                          theorem SimpleGraph.Iso.map_mem_edgeSet_iff {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') {e : Sym2 V} :
                                                                          theorem SimpleGraph.Iso.apply_mem_neighborSet_iff {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') {v : V} {w : V} :
                                                                          def SimpleGraph.Iso.mapEdgeSet {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') :

                                                                          An isomorphism of graphs induces an equivalence of edge sets.

                                                                          Equations
                                                                          • One or more equations did not get rendered due to their size.
                                                                          Instances For
                                                                            @[simp]
                                                                            theorem SimpleGraph.Iso.mapNeighborSet_apply_coe {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') (v : V) (w : (SimpleGraph.neighborSet G v)) :
                                                                            ((SimpleGraph.Iso.mapNeighborSet f v) w) = f w
                                                                            @[simp]
                                                                            theorem SimpleGraph.Iso.mapNeighborSet_symm_apply_coe {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') (v : V) (w : (SimpleGraph.neighborSet G' (f v))) :
                                                                            def SimpleGraph.Iso.mapNeighborSet {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') (v : V) :

                                                                            A graph isomorphism induces an equivalence of neighbor sets.

                                                                            Equations
                                                                            • One or more equations did not get rendered due to their size.
                                                                            Instances For
                                                                              theorem SimpleGraph.Iso.card_eq {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') [Fintype V] [Fintype W] :
                                                                              def SimpleGraph.Iso.comap {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph W) :

                                                                              Given a bijection, there is an embedding from the comapped graph into the original graph.

                                                                              Equations
                                                                              Instances For
                                                                                @[simp]
                                                                                theorem SimpleGraph.Iso.comap_apply {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph W) (v : V) :
                                                                                @[simp]
                                                                                theorem SimpleGraph.Iso.comap_symm_apply {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph W) (w : W) :
                                                                                def SimpleGraph.Iso.map {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph V) :

                                                                                Given an injective function, there is an embedding from a graph into the mapped graph.

                                                                                Equations
                                                                                Instances For
                                                                                  @[simp]
                                                                                  theorem SimpleGraph.Iso.map_apply {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph V) (v : V) :
                                                                                  @[simp]
                                                                                  theorem SimpleGraph.Iso.map_symm_apply {V : Type u_1} {W : Type u_2} (f : V W) (G : SimpleGraph V) (w : W) :
                                                                                  def SimpleGraph.Iso.completeGraph {α : Type u_4} {β : Type u_5} (f : α β) :

                                                                                  Equivalences of types induce isomorphisms of complete graphs on those types.

                                                                                  Equations
                                                                                  Instances For
                                                                                    @[inline, reducible]
                                                                                    abbrev SimpleGraph.Iso.comp {V : Type u_1} {W : Type u_2} {X : Type u_3} {G : SimpleGraph V} {G' : SimpleGraph W} {G'' : SimpleGraph X} (f' : G' ≃g G'') (f : G ≃g G') :
                                                                                    G ≃g G''

                                                                                    Composition of graph isomorphisms.

                                                                                    Equations
                                                                                    Instances For
                                                                                      @[simp]
                                                                                      theorem SimpleGraph.Iso.coe_comp {V : Type u_1} {W : Type u_2} {X : Type u_3} {G : SimpleGraph V} {G' : SimpleGraph W} {G'' : SimpleGraph X} (f' : G' ≃g G'') (f : G ≃g G') :
                                                                                      (SimpleGraph.Iso.comp f' f) = f' f
                                                                                      @[simp]
                                                                                      theorem SimpleGraph.induceUnivIso_apply {V : Type u_1} (G : SimpleGraph V) (self : { x : V // x Set.univ }) :
                                                                                      (SimpleGraph.induceUnivIso G) self = self

                                                                                      The graph induced on Set.univ is isomorphic to the original graph.

                                                                                      Equations
                                                                                      Instances For
                                                                                        def SimpleGraph.overFin {V : Type u_1} (G : SimpleGraph V) [Fintype V] {n : } (hc : Fintype.card V = n) :

                                                                                        Given a graph over a finite vertex type V and a proof hc that Fintype.card V = n, G.overFin n is an isomorphic (as shown in overFinIso) graph over Fin n.

                                                                                        Equations
                                                                                        Instances For
                                                                                          noncomputable def SimpleGraph.overFinIso {V : Type u_1} (G : SimpleGraph V) [Fintype V] {n : } (hc : Fintype.card V = n) :

                                                                                          The isomorphism between G and G.overFin hc.

                                                                                          Equations
                                                                                          Instances For