Documentation

Mathlib.Combinatorics.Graph.Delete

Deletion of edges and vertices #

This file defines the deletion of edges and vertices from a graph.

Main definitions #

Tags #

graphs, edge deletion, vertex deletion

def Graph.restrict {α : Type u_1} {β : Type u_2} (G : Graph α β) (E₀ : Set β) :
Graph α β

Restrict G : Graph α β to the edges in a set E₀ without removing vertices

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem Graph.vertexSet_restrict {α : Type u_1} {β : Type u_2} (G : Graph α β) (E₀ : Set β) :
    @[simp]
    theorem Graph.edgeSet_restrict {α : Type u_1} {β : Type u_2} (G : Graph α β) (E₀ : Set β) :
    (G.restrict E₀).edgeSet = G.edgeSet E₀
    @[simp]
    theorem Graph.restrict_le {α : Type u_1} {β : Type u_2} {G : Graph α β} {E₀ : Set β} :
    G.restrict E₀ G
    @[simp]
    theorem Graph.restrict_eq_self_iff {α : Type u_1} {β : Type u_2} (G : Graph α β) (E₀ : Set β) :
    G.restrict E₀ = G G.edgeSet E₀
    @[simp]
    theorem Graph.restrict_self {α : Type u_1} {β : Type u_2} (G : Graph α β) :
    @[simp]
    theorem Graph.restrict_edgeSet_inter {α : Type u_1} {β : Type u_2} (G : Graph α β) (F : Set β) :
    @[simp]
    theorem Graph.restrict_inter_edgeSet {α : Type u_1} {β : Type u_2} (G : Graph α β) (F : Set β) :
    theorem Graph.restrict_mono_left {α : Type u_1} {β : Type u_2} {G H : Graph α β} (h : H G) (F : Set β) :
    theorem Graph.restrict_mono_right {α : Type u_1} {β : Type u_2} {F F₀ : Set β} (G : Graph α β) (hss : F₀ F) :
    G.restrict F₀ G.restrict F
    @[simp]
    theorem Graph.restrict_inc {α : Type u_1} {β : Type u_2} {x : α} {e : β} {G : Graph α β} {F : Set β} :
    (G.restrict F).Inc e x G.Inc e x e F
    @[simp]
    theorem Graph.restrict_isLoopAt {α : Type u_1} {β : Type u_2} {x : α} {e : β} {G : Graph α β} {F : Set β} :
    (G.restrict F).IsLoopAt e x G.IsLoopAt e x e F
    @[simp]
    theorem Graph.restrict_restrict {α : Type u_1} {β : Type u_2} (G : Graph α β) (F₁ F₂ : Set β) :
    (G.restrict F₁).restrict F₂ = G.restrict (F₁ F₂)
    def Graph.deleteEdges {α : Type u_1} {β : Type u_2} (G : Graph α β) (F : Set β) :
    Graph α β

    Delete a set F of edges from G. This is a special case of restrict, but we define it with copy so that the edge set is definitionally equal to E(G) \ F.

    Equations
    Instances For
      @[simp]
      theorem Graph.edgeSet_deleteEdges {α : Type u_1} {β : Type u_2} (G : Graph α β) (F : Set β) :
      @[simp]
      theorem Graph.vertexSet_deleteEdges {α : Type u_1} {β : Type u_2} (G : Graph α β) (F : Set β) :
      @[simp]
      theorem Graph.restrict_edgeSet_diff_eq_deleteEdges {α : Type u_1} {β : Type u_2} (G : Graph α β) (F : Set β) :
      @[simp]
      theorem Graph.deleteEdges_le {α : Type u_1} {β : Type u_2} {G : Graph α β} {F : Set β} :
      theorem Graph.restrict_eq_deleteEdges {α : Type u_1} {β : Type u_2} (G : Graph α β) (F : Set β) :
      @[simp]
      theorem Graph.deleteEdges_empty {α : Type u_1} {β : Type u_2} {G : Graph α β} :
      theorem Graph.deleteEdges_mono_left {α : Type u_1} {β : Type u_2} {G H : Graph α β} (h : H G) (F : Set β) :
      @[simp]
      theorem Graph.deleteEdges_inc {α : Type u_1} {β : Type u_2} {x : α} {e : β} {G : Graph α β} {F : Set β} :
      (G.deleteEdges F).Inc e x G.Inc e x eF
      @[simp]
      theorem Graph.deleteEdges_isLoopAt {α : Type u_1} {β : Type u_2} {x : α} {e : β} {G : Graph α β} {F : Set β} :
      (G.deleteEdges F).IsLoopAt e x G.IsLoopAt e x eF
      @[simp]
      theorem Graph.deleteEdges_deleteEdges {α : Type u_1} {β : Type u_2} (G : Graph α β) (F₁ F₂ : Set β) :
      (G.deleteEdges F₁).deleteEdges F₂ = G.deleteEdges (F₁ F₂)
      def Graph.induce {α : Type u_1} {β : Type u_2} (G : Graph α β) (X : Set α) :
      Graph α β

      The subgraph of G induced by a set X of vertices. The edges are the edges of G with both ends in X. (X is not required to be a subset of V(G) for this definition to work, even though this is the standard use case)

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem Graph.vertexSet_induce {α : Type u_1} {β : Type u_2} (G : Graph α β) (X : Set α) :
        theorem Graph.induce_le {α : Type u_1} {β : Type u_2} {G : Graph α β} {X : Set α} (hX : X G.vertexSet) :
        G.induce X G
        @[simp]
        theorem Graph.induce_le_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} {X : Set α} :
        theorem Graph.edgeSet_induce {α : Type u_1} {β : Type u_2} (G : Graph α β) (X : Set α) :
        (G.induce X).edgeSet = {e : β | ∃ (x : α) (y : α), G.IsLink e x y x X y X}
        @[simp]
        theorem Graph.induce_vertexSet {α : Type u_1} {β : Type u_2} (G : Graph α β) :
        def Graph.deleteVerts {α : Type u_1} {β : Type u_2} (G : Graph α β) (X : Set α) :
        Graph α β

        The graph obtained from G by deleting a set of vertices.

        Equations
        Instances For
          @[simp]
          theorem Graph.vertexSet_deleteVerts {α : Type u_1} {β : Type u_2} (G : Graph α β) (X : Set α) :
          @[simp]
          theorem Graph.edgeSet_deleteVerts {α : Type u_1} {β : Type u_2} (G : Graph α β) (X : Set α) :
          (G.deleteVerts X).edgeSet = {e : β | ∃ (x : α) (y : α), G.IsLink e x y xX yX}
          @[simp]
          theorem Graph.deleteVerts_empty {α : Type u_1} {β : Type u_2} (G : Graph α β) :
          @[simp]
          theorem Graph.deleteVerts_le {α : Type u_1} {β : Type u_2} {G : Graph α β} {X : Set α} :