Documentation

Matroid.Graph.Connected.Defs

@[simp]
theorem isLeast_empty {α : Type u_3} [LE α] {m : α} :
theorem diff_nonempty_of_encard_lt_encard {α : Type u_1} {s t : Set α} (h : s.encard < t.encard) :
(t \ s).Nonempty
theorem Graph.ConnBetween.walkable_eq_walkable {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} (h : G.ConnBetween x y) :

Connectivity on a graph #

def Graph.Preconnected {α : Type u_1} {β : Type u_2} (G : Graph α β) :

A graph is preconnected if for every pair of vertices, there is a path between them.

Equations
Instances For
    theorem Graph.Preconnected.isSpanningSubgraph {α : Type u_1} {β : Type u_2} {G H : Graph α β} (h : H.Preconnected) (hsle : H ≤s G) :
    @[simp]
    theorem Graph.IsComplete.preconnected {α : Type u_1} {β : Type u_2} {G : Graph α β} (h : G.IsComplete) :
    theorem Graph.preconnected_bot {α : Type u_1} {β : Type u_2} :
    theorem Graph.preconnected_of_exists_connBetween {α : Type u_1} {β : Type u_2} {G : Graph α β} (h : ∃ (x : α), ∀ y ∈ G.vertexSet, G.ConnBetween x y) :
    theorem Graph.preconnected_iff_exists_connBetween {α : Type u_1} {β : Type u_2} {G : Graph α β} {x : α} (hx : x ∈ G.vertexSet) :
    G.Preconnected ↔ ∀ y ∈ G.vertexSet, G.ConnBetween x y
    @[simp]
    theorem Graph.preconnected_edgeMap_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} {β' : Type u_3} {φ : β → β'} {hφ : ∀ e₁ ∈ G.edgeSet, ∀ e₂ ∈ G.edgeSet, φ e₁ = φ e₂ → G.IsLink e₁ = G.IsLink e₂} :
    theorem Graph.preconnected_map_iff_of_injOn {α : Type u_1} {β : Type u_2} {G : Graph α β} {α' : Type u_3} {φ : α → α'} (hφ : Set.InjOn φ G.vertexSet) :
    def Graph.Connected {α : Type u_1} {β : Type u_2} (G : Graph α β) :

    A graph is connected if it is a minimal closed subgraph of itself

    Equations
    Instances For
      theorem Graph.Connected.nonempty {α : Type u_1} {β : Type u_2} {G : Graph α β} (hG : G.Connected) :
      @[simp]
      theorem Graph.bot_not_connected {α : Type u_1} {β : Type u_2} :
      theorem Graph.Connected.ne_bot {α : Type u_1} {β : Type u_2} {G : Graph α β} (hG : G.Connected) :
      theorem Graph.connected_iff_forall_closed {α : Type u_1} {β : Type u_2} {G : Graph α β} (hG : G.vertexSet.Nonempty) :
      G.Connected ↔ ∀ ⦃H : Graph α β⦄, H.IsClosedSubgraph G → H.vertexSet.Nonempty → H = G
      theorem Graph.connected_iff_forall_closed_ge {α : Type u_1} {β : Type u_2} {G : Graph α β} (hG : G.vertexSet.Nonempty) :
      G.Connected ↔ ∀ ⦃H : Graph α β⦄, H.IsClosedSubgraph G → H.vertexSet.Nonempty → G ≤ H
      theorem Graph.Connected.eq_of_isClosedSubgraph {α : Type u_1} {β : Type u_2} {G H : Graph α β} (hG : G.Connected) (hH : H.IsClosedSubgraph G) (hne : H.vertexSet.Nonempty) :
      H = G
      theorem Graph.Connected.isSimpleOrder {α : Type u_1} {β : Type u_2} {G : Graph α β} (hG : G.Connected) (hnonempty : G ≠ ⊥) :
      theorem Graph.IsClosedSubgraph.disjoint_or_subset_of_isCompOf {α : Type u_1} {β : Type u_2} {G H K : Graph α β} (h : H.IsClosedSubgraph G) (hK : K.IsCompOf G) :
      theorem Graph.IsCompOf.of_le_le {α : Type u_1} {β : Type u_2} {G H K : Graph α β} (h : K.IsCompOf G) (hKH : K ≤ H) (hHG : H ≤ G) :
      theorem Graph.ConnBetween.mem_walkable {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} (h : G.ConnBetween x y) :
      theorem Graph.connected_of_vertex {α : Type u_1} {β : Type u_2} {G : Graph α β} {u : α} (hu : u ∈ G.vertexSet) (h : ∀ y ∈ G.vertexSet, G.ConnBetween y u) :

      If G has one vertex connected to all others, then G is connected.

      theorem Graph.connBetween_iff_mem_walkable_of_mem {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} :
      theorem Graph.Connected.connBetween {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} (h : G.Connected) (hx : x ∈ G.vertexSet) (hy : y ∈ G.vertexSet) :
      theorem Graph.Connected.pre {α : Type u_1} {β : Type u_2} {G : Graph α β} (h : G.Connected) :
      theorem Graph.connected_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} :
      theorem Graph.connected_map_iff_of_injOn {α : Type u_1} {β : Type u_2} {G : Graph α β} {α' : Type u_3} {φ : α → α'} (hφ : Set.InjOn φ G.vertexSet) :
      @[simp]
      theorem Graph.connected_edgeMap_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} {β' : Type u_3} {φ : β → β'} {hφ : ∀ e₁ ∈ G.edgeSet, ∀ e₂ ∈ G.edgeSet, φ e₁ = φ e₂ → G.IsLink e₁ = G.IsLink e₂} :
      theorem Graph.preconnected_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} :
      theorem Graph.preconnected_iff_of_mem {α : Type u_1} {β : Type u_2} {G : Graph α β} {x : α} (hx : x ∈ G.vertexSet) :
      theorem Graph.connected_of_exists_connBetween {α : Type u_1} {β : Type u_2} {G : Graph α β} (h : ∃ x ∈ G.vertexSet, ∀ y ∈ G.vertexSet, G.ConnBetween x y) :
      theorem Graph.connected_iff_exists_connBetween {α : Type u_1} {β : Type u_2} {G : Graph α β} {x : α} (hx : x ∈ G.vertexSet) :
      G.Connected ↔ ∀ y ∈ G.vertexSet, G.ConnBetween x y
      theorem Graph.exists_not_connBetween_of_not_connected {α : Type u_1} {β : Type u_2} {G : Graph α β} {x : α} (h : ¬G.Connected) (hx : x ∈ G.vertexSet) :
      ∃ y ∈ G.vertexSet, ¬G.ConnBetween x y
      theorem Graph.Connected.of_isSpanningSubgraph {α : Type u_1} {β : Type u_2} {G H : Graph α β} (h : H.Connected) (hsle : H ≤s G) :
      theorem Graph.Preconnected.of_isSpanningSubgraph {α : Type u_1} {β : Type u_2} {G H : Graph α β} (h : H.Preconnected) (hsle : H ≤s G) :
      @[simp]
      theorem Graph.IsComplete.connected_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} (h : G.IsComplete) :
      theorem Graph.Preconnected.eq_of_isClosedSubgraph {α : Type u_1} {β : Type u_2} {G H : Graph α β} (hG : G.Preconnected) (hH : H.IsClosedSubgraph G) (hne : H.vertexSet.Nonempty) :
      H = G
      theorem Graph.not_preconnected_of_ne_of_isClosedSubgraph {α : Type u_1} {β : Type u_2} {G H₁ H₂ : Graph α β} (h₁ : H₁.IsClosedSubgraph G) (hV₁ : H₁.vertexSet.Nonempty) (h₂ : H₂.IsClosedSubgraph G) (hV₂ : H₂.vertexSet.Nonempty) (hdj : H₁ ≠ H₂) :

      Cut #

      structure Graph.Separation {α : Type u_1} {β : Type u_2} (G : Graph α β) :
      Type u_1

      A partition of G.V into two parts with no edge between them.

      Instances For
        theorem Graph.Separation.left_subset {α : Type u_1} {β : Type u_2} {G : Graph α β} (S : G.Separation) :
        S.left ⊆ G.vertexSet
        theorem Graph.Separation.right_subset {α : Type u_1} {β : Type u_2} {G : Graph α β} (S : G.Separation) :
        def Graph.Separation.symm {α : Type u_1} {β : Type u_2} {G : Graph α β} (S : G.Separation) :
        Equations
        • S.symm = { left := S.right, right := S.left, nonempty_left := ⋯, nonempty_right := ⋯, disjoint := ⋯, union_eq := ⋯, not_adj := ⋯ }
        Instances For
          @[simp]
          theorem Graph.Separation.symm_left {α : Type u_1} {β : Type u_2} {G : Graph α β} (S : G.Separation) :
          @[simp]
          theorem Graph.Separation.symm_right {α : Type u_1} {β : Type u_2} {G : Graph α β} (S : G.Separation) :
          @[simp]
          theorem Graph.Separation.left_ssubset {α : Type u_1} {β : Type u_2} {G : Graph α β} (S : G.Separation) :
          S.left ⊂ G.vertexSet
          @[simp]
          theorem Graph.Separation.right_ssubset {α : Type u_1} {β : Type u_2} {G : Graph α β} (S : G.Separation) :
          @[simp]
          theorem Graph.Separation.symm_symm {α : Type u_1} {β : Type u_2} {G : Graph α β} (S : G.Separation) :
          S.symm.symm = S
          theorem Graph.Separation.not_left_mem_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} {x : α} (S : G.Separation) (hxV : x ∈ G.vertexSet) :
          x ∉ S.left ↔ x ∈ S.right
          theorem Graph.Separation.not_right_mem_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} {x : α} (S : G.Separation) (hxV : x ∈ G.vertexSet) :
          x ∉ S.right ↔ x ∈ S.left
          theorem Graph.Separation.left_mem_of_adj {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} {S : G.Separation} (hx : x ∈ S.left) (hxy : G.Adj x y) :
          y ∈ S.left
          theorem Graph.Separation.right_mem_of_adj {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} {S : G.Separation} (hx : x ∈ S.right) (hxy : G.Adj x y) :
          theorem Graph.Separation.mem_or_mem {α : Type u_1} {β : Type u_2} {G : Graph α β} {x : α} (S : G.Separation) (hxV : x ∈ G.vertexSet) :
          x ∈ S.left ∨ x ∈ S.right
          theorem Graph.Separation.eq_union {α : Type u_1} {β : Type u_2} {G : Graph α β} (S : G.Separation) :
          theorem Graph.Separation.edge_mem_or_mem {α : Type u_1} {β : Type u_2} {G : Graph α β} {e : β} (S : G.Separation) (he : e ∈ G.edgeSet) :
          theorem Graph.Separation.vertexSet_nontrivial {α : Type u_1} {β : Type u_2} {G : Graph α β} (S : G.Separation) :
          def Graph.Separation.of_not_connBetween {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} (h : ¬G.ConnBetween x y) (hx : x ∈ G.vertexSet) (hy : y ∈ G.vertexSet) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem Graph.Separation.not_connBetween {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} (S : G.Separation) (hx : x ∈ S.left) (hy : y ∈ S.right) :
            theorem Graph.Separation.isSepBetween_of_deleteVerts {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} {X : Set α} (S : (G.deleteVerts X).Separation) (hx : x ∈ S.left) (hy : y ∈ S.right) :
            theorem Graph.Separation.induce_left_lt {α : Type u_1} {β : Type u_2} {G : Graph α β} (S : G.Separation) :
            G[S.left] < G
            theorem Graph.Separation.induce_right_lt {α : Type u_1} {β : Type u_2} {G : Graph α β} (S : G.Separation) :
            G[S.right] < G
            theorem Graph.exists_mem_left_of_nonempty_separation {α : Type u_1} {β : Type u_2} {G : Graph α β} {x : α} (h : Nonempty G.Separation) (hx : x ∈ G.vertexSet) :
            ∃ (S : G.Separation), x ∈ S.left
            theorem Graph.exists_separation_of_not_connBetween {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} (hxV : x ∈ G.vertexSet) (hyV : y ∈ G.vertexSet) (hxy : ¬G.ConnBetween x y) :
            ∃ (S : G.Separation), x ∈ S.left ∧ y ∈ S.right
            theorem Graph.Preconnected.separation_isEmpty {α : Type u_1} {β : Type u_2} {G : Graph α β} :

            Alias of the forward direction of Graph.preconnected_iff_isEmpty_separation.

            theorem Graph.Separation.not_connected {α : Type u_1} {β : Type u_2} {G : Graph α β} (S : G.Separation) :
            theorem Graph.Connected.isEmpty_separation {α : Type u_1} {β : Type u_2} {G : Graph α β} (hG : G.Connected) :
            theorem Graph.nonempty_separation_of_not_connected {α : Type u_1} {β : Type u_2} {G : Graph α β} (hne : G.vertexSet.Nonempty) (hG : ¬G.Connected) :
            structure Graph.IsSep {α : Type u_1} {β : Type u_2} (G : Graph α β) (S : Set α) :

            G.IsSep S means that S is a subset of the vertices whose deletion leaves a disconnected graph

            Instances For
              theorem Graph.isSep_iff {α : Type u_1} {β : Type u_2} (G : Graph α β) (S : Set α) :
              structure Graph.IsMinSep {α : Type u_1} {β : Type u_2} (G : Graph α β) (S : Set α) extends G.IsSep S :
              Instances For
                theorem Graph.isMinSep_iff {α : Type u_1} {β : Type u_2} (G : Graph α β) (S : Set α) :
                G.IsMinSep S ↔ G.IsSep S ∧ ∀ (A : Set α), G.IsSep A → S.encard ≤ A.encard
                theorem Graph.IsMinSep.encard_le_of_isSep {α : Type u_1} {β : Type u_2} {G : Graph α β} {S T : Set α} (hS : G.IsMinSep S) (hT : G.IsSep T) :
                theorem Graph.IsMinSep.not_isSep_of_encard_lt {α : Type u_1} {β : Type u_2} {G : Graph α β} {S S' : Set α} (hM : G.IsMinSep S) (hSS' : S'.encard < S.encard) :
                ¬G.IsSep S'
                theorem Graph.connected_of_not_isSep {α : Type u_1} {β : Type u_2} {G : Graph α β} {S : Set α} (hV : S ⊆ G.vertexSet) (hS : ¬G.IsSep S) :
                @[simp]
                theorem Graph.empty_isSep_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} :
                theorem Graph.empty_isSep {α : Type u_1} {β : Type u_2} {G : Graph α β} (h : ¬G.Connected) :
                theorem Graph.IsSep.not_connected_of_empty {α : Type u_1} {β : Type u_2} {G : Graph α β} (h : G.IsSep ∅) :
                @[simp]
                theorem Graph.IsMinSep.eq_empty_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} {S : Set α} (hS : G.IsMinSep S) :
                @[simp]
                theorem Graph.empty_isMinSep_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} :
                theorem Graph.IsMinSep.connected_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} {S : Set α} (hS : G.IsMinSep S) :
                theorem Graph.IsMinSep.encard_eq_encard_of_isMinSep {α : Type u_1} {β : Type u_2} {G : Graph α β} {S T : Set α} (hS : G.IsMinSep S) (hT : G.IsMinSep T) :
                theorem Graph.isSep_empty_iff_isMinSep_empty {α : Type u_1} {β : Type u_2} {G : Graph α β} :
                theorem Graph.conn_iff_forall_isSep {α : Type u_1} {β : Type u_2} {G : Graph α β} :
                G.Connected ↔ ∀ ⦃S : Set α⦄, G.IsSep S → S.Nonempty
                theorem Graph.IsSep.nonempty_of_connected {α : Type u_1} {β : Type u_2} {G : Graph α β} {S : Set α} (hG : G.Connected) (hS : G.IsSep S) :
                theorem Graph.IsMinSep.nonempty_of_connected {α : Type u_1} {β : Type u_2} {G : Graph α β} {S : Set α} (hG : G.Connected) (hM : G.IsMinSep S) :
                theorem Graph.vertexSet_isSep {α : Type u_1} {β : Type u_2} {G : Graph α β} :
                theorem Graph.isSep_of_not_connected {α : Type u_1} {β : Type u_2} {G : Graph α β} {S : Set α} (h : ¬(G.deleteVerts S).Connected) :
                theorem Graph.IsSep.of_deleteVerts {α : Type u_1} {β : Type u_2} {G : Graph α β} {S X : Set α} (h : (G.deleteVerts X).IsSep S) :
                theorem Graph.IsSep.of_isSpanningSubgraph {α : Type u_1} {β : Type u_2} {G H : Graph α β} {S : Set α} (h : G.IsSep S) (hsle : H ≤s G) :
                H.IsSep S
                theorem Graph.IsComplete.isInducedSubgraph {α : Type u_1} {β : Type u_2} {G H : Graph α β} (hG : G.IsComplete) (hH : H.IsInducedSubgraph G) :
                @[simp]
                theorem Graph.IsComplete.isSep_iff_subset {α : Type u_1} {β : Type u_2} {G : Graph α β} {S : Set α} (h : G.IsComplete) :
                theorem Graph.neighbor_isSep {α : Type u_1} {β : Type u_2} {G : Graph α β} {x : α} (hx : x ∈ G.vertexSet) (h : ∃ v ∈ G.vertexSet, v ≠ x ∧ ¬G.Adj x v) :
                G.IsSep (N(G, x) \ {x})
                structure Graph.IsEdgeSep {α : Type u_1} {β : Type u_2} (G : Graph α β) (S : Set β) :
                Instances For
                  theorem Graph.isEdgeSep_iff {α : Type u_1} {β : Type u_2} (G : Graph α β) (S : Set β) :
                  structure Graph.IsMinEdgeSep {α : Type u_1} {β : Type u_2} (G : Graph α β) (S : Set β) extends G.IsEdgeSep S :
                  Instances For
                    theorem Graph.isMinEdgeSep_iff {α : Type u_1} {β : Type u_2} (G : Graph α β) (S : Set β) :
                    G.IsMinEdgeSep S ↔ G.IsEdgeSep S ∧ ∀ (A : Set β), G.IsEdgeSep A → S.encard ≤ A.encard
                    theorem Graph.IsMinEdgeSep.isEdgeSep {α : Type u_1} {β : Type u_2} {G : Graph α β} {F : Set β} (hM : G.IsMinEdgeSep F) :
                    theorem Graph.IsMinEdgeSep.encard_le_of_isEdgeSep {α : Type u_1} {β : Type u_2} {G : Graph α β} {F F' : Set β} (hF : G.IsMinEdgeSep F) (hF' : G.IsEdgeSep F') :
                    @[simp]
                    theorem Graph.empty_isEdgeSep_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} :
                    structure Graph.IsMixedSep {α : Type u_1} {β : Type u_2} (G : Graph α β) (S : Set α) (F : Set β) :
                    Instances For
                      theorem Graph.isMixedSep_iff {α : Type u_1} {β : Type u_2} (G : Graph α β) (S : Set α) (F : Set β) :
                      noncomputable def Graph.IsMixedSep.size {α : Type u_1} {β : Type u_2} (S : Set α) (F : Set β) :
                      Equations
                      Instances For
                        structure Graph.IsMinMixedSep {α : Type u_1} {β : Type u_2} (G : Graph α β) (S : Set α) (F : Set β) extends G.IsMixedSep S F :
                        Instances For
                          theorem Graph.isMinMixedSep_iff {α : Type u_1} {β : Type u_2} (G : Graph α β) (S : Set α) (F : Set β) :
                          G.IsMinMixedSep S F ↔ G.IsMixedSep S F ∧ ∀ (S' : Set α) (F' : Set β), G.IsMixedSep S' F' → IsMixedSep.size S F ≤ IsMixedSep.size S' F'
                          theorem Graph.IsMinMixedSep.isMixedSep {α : Type u_1} {β : Type u_2} {G : Graph α β} {S : Set α} {F : Set β} (hM : G.IsMinMixedSep S F) :
                          theorem Graph.IsMinMixedSep.size_le_of_isMixedSep {α : Type u_1} {β : Type u_2} {G : Graph α β} {S S' : Set α} {F F' : Set β} (hM : G.IsMinMixedSep S F) (h : G.IsMixedSep S' F') :
                          theorem Graph.IsEdgeSep.toIsMixedSep {α : Type u_1} {β : Type u_2} {G : Graph α β} {F : Set β} (h : G.IsEdgeSep F) :
                          theorem Graph.IsMixedSep.of_isSpanningSubgraph {α : Type u_1} {β : Type u_2} {G H : Graph α β} {S : Set α} {F : Set β} (h : G.IsMixedSep S F) (hsle : H ≤s G) :
                          def Graph.PreconnGE {α : Type u_1} {β : Type u_2} (G : Graph α β) (n : ℕ) :

                          A graph has PreconnGE n, if for every pair of vertices s and t, there is no n-vertex cut between them. In the case of complete graphs, K_n, ∀ κ, K_n.PreconnGE κ.

                          Equations
                          Instances For
                            structure Graph.ConnGE {α : Type u_1} {β : Type u_2} (G : Graph α β) (n : ℕ) :

                            A graph has ConnGE n, if every cut has size at least n and the number of vertices is at least n + 1.

                            Instances For
                              theorem Graph.connGE_iff {α : Type u_1} {β : Type u_2} (G : Graph α β) (n : ℕ) :
                              G.ConnGE n ↔ (∀ ⦃C : Set α⦄, G.IsSep C → ↑n ≤ C.encard) ∧ (G.vertexSet.Subsingleton ∨ ↑n < G.vertexSet.encard)
                              theorem Graph.exists_isSepSet_encard_lt_of_not_connGE {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} (hnV : ↑n < G.vertexSet.encard) (h : ¬G.ConnGE n) :
                              ∃ (C : Set α), G.IsSep C ∧ C.encard < ↑n
                              theorem Graph.exists_isSepSet_encard_le_of_not_connGE {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} (hnV : ↑n + 1 < G.vertexSet.encard) (h : ¬G.ConnGE (n + 1)) :
                              ∃ (C : Set α), G.IsSep C ∧ C.encard ≤ ↑n
                              def Graph.EdgeConnGE {α : Type u_1} {β : Type u_2} (G : Graph α β) (n : ℕ) :

                              A graph has EdgeConnGE n, if for every pair of vertices s and t, there is no n-edge cut between them.

                              Equations
                              Instances For
                                @[simp]
                                theorem Graph.PreconnGE_zero {α : Type u_1} {β : Type u_2} {G : Graph α β} :
                                theorem Graph.PreconnGE.anti_right {α : Type u_1} {β : Type u_2} {G : Graph α β} {n m : ℕ} (hle : n ≤ m) (h : G.PreconnGE m) :
                                @[simp]
                                theorem Graph.preconnGE_one_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} :
                                theorem Graph.preconnGE_iff_forall_connBetweenGE {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} :
                                G.PreconnGE n ↔ ∀ ⦃s t : α⦄, s ∈ G.vertexSet → t ∈ G.vertexSet → G.ConnBetweenGE s t n
                                theorem Graph.preconnGE_iff_forall_preconnected {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} :
                                G.PreconnGE n ↔ ∀ X ⊆ G.vertexSet, X.encard < ↑n → (G.deleteVerts X).Preconnected
                                theorem Graph.preconnGE_map_iff_of_injOn {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} {α' : Type u_3} {φ : α → α'} (hφ : Set.InjOn φ G.vertexSet) :
                                (map φ G).PreconnGE n ↔ G.PreconnGE n
                                @[simp]
                                theorem Graph.preconnGE_edgeMap_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} {β' : Type u_3} {φ : β → β'} {hφ : ∀ e₁ ∈ G.edgeSet, ∀ e₂ ∈ G.edgeSet, φ e₁ = φ e₂ → G.IsLink e₁ = G.IsLink e₂} :
                                (G.edgeMap φ hφ).PreconnGE n ↔ G.PreconnGE n
                                theorem Graph.PreconnGE.preconnected_deleteVerts {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} {X : Set α} (hG : G.PreconnGE n) (hX : X.encard < ↑n) :
                                theorem Graph.PreconnGE.encard_ge {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} {X : Set α} (hG : G.PreconnGE n) (hX : ¬(G.deleteVerts X).Preconnected) :
                                ↑n ≤ X.encard
                                theorem Graph.PreconnGE_two_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} :
                                theorem Graph.preconnGE_iff_forall_setConnGE {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} :
                                G.PreconnGE n ↔ ∀ (S T : Set α), S ⊆ G.vertexSet → T ⊆ G.vertexSet → G.SetConnGE S T (min (↑n) (min S.encard T.encard)).toNat
                                noncomputable def Graph.sepConnectivity {α : Type u_1} {β : Type u_2} (G : Graph α β) :

                                Minimum C.encard over vertex cuts C of G, as an ℕ∞.

                                Equations
                                Instances For
                                  noncomputable def Graph.cardConnectivityBound {α : Type u_1} {β : Type u_2} (G : Graph α β) :

                                  Upper bound on connectivity from the vertex count: ⊤ if V(G) is a subsingleton, else |V(G)| - 1 in ℕ∞.

                                  Equations
                                  Instances For
                                    noncomputable def Graph.connectivity {α : Type u_1} {β : Type u_2} (G : Graph α β) :

                                    Global vertex connectivity as an ℕ∞: minimum of separator connectivity and the cardinality bound that appears in ConnGE.

                                    Equations
                                    Instances For
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        noncomputable def Graph.preconnectivity {α : Type u_1} {β : Type u_2} (G : Graph α β) :

                                        Minimum pairwise connBetweenConnectivity over ordered pairs of vertices in V(G).

                                        Equations
                                        Instances For
                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            noncomputable def Graph.edgeConnectivity {α : Type u_1} {β : Type u_2} (G : Graph α β) :

                                            Minimum pairwise edgeConnBetweenConnectivity over ordered pairs of vertices in V(G).

                                            Equations
                                            Instances For
                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                theorem Graph.le_sepConnectivity_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} {k : ℕ∞} :
                                                k ≤ G.sepConnectivity ↔ ∀ ⦃C : Set α⦄, G.IsSep C → k ≤ C.encard
                                                theorem Graph.connGE_iff_le_connectivity {α : Type u_1} {β : Type u_2} {G : Graph α β} (n : ℕ) :
                                                G.ConnGE n ↔ ↑n ≤ κ(G)
                                                theorem Graph.le_preconnectivity_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} {k : ℕ∞} :
                                                k ≤ κ'(G) ↔ ∀ ⦃s t : α⦄, s ∈ G.vertexSet → t ∈ G.vertexSet → k ≤ G.connectivityBetween s t
                                                theorem Graph.preconnGE_iff_le_preconnectivity {α : Type u_1} {β : Type u_2} {G : Graph α β} (n : ℕ) :
                                                theorem Graph.le_edgeConnectivity_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} {k : ℕ∞} :
                                                k ≤ κₑ(G) ↔ ∀ ⦃s t : α⦄, s ∈ G.vertexSet → t ∈ G.vertexSet → k ≤ G.edgeConnectivityBetween s t
                                                theorem Graph.connectivity_simplify {α : Type u_1} {β : Type u_2} {G H : Graph α β} (h : G.IsSimpleficationOf H) :
                                                theorem Graph.edgeConnGE_iff_le_edgeConnectivity {α : Type u_1} {β : Type u_2} {G : Graph α β} (n : ℕ) :
                                                theorem Graph.PreconnGE.isSpanningSubgraph {α : Type u_1} {β : Type u_2} {G H : Graph α β} {n : ℕ} (hconn : H.PreconnGE n) (hsle : H ≤s G) :
                                                @[simp]
                                                theorem Graph.IsComplete.preconnGE {α : Type u_1} {β : Type u_2} {G : Graph α β} (h : G.IsComplete) (n : ℕ) :
                                                theorem Graph.encard_le_preconnGE_of_not_isComplete {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} (h : ¬G.IsComplete) (hn : G.PreconnGE n) :
                                                theorem Graph.preconnGE_add_two_le_encard_of_not_isComplete {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} (h : ¬G.IsComplete) (hn : G.PreconnGE n) :
                                                @[simp]
                                                theorem Graph.connGE_zero {α : Type u_1} {β : Type u_2} {G : Graph α β} :
                                                G.ConnGE 0
                                                theorem Graph.ConnGE.anti_right {α : Type u_1} {β : Type u_2} {G : Graph α β} {n m : ℕ} (hle : n ≤ m) (h : G.ConnGE m) :
                                                G.ConnGE n
                                                @[simp]
                                                theorem Graph.connGE_one_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} :
                                                @[simp]
                                                theorem Graph.connGE_bot {α : Type u_1} {β : Type u_2} {n : ℕ} :
                                                ⊥.ConnGE n ↔ n = 0
                                                @[simp]
                                                theorem Graph.bouquet_deleteVerts {α : Type u_1} {β : Type u_2} {v : α} {F : Set β} :
                                                @[simp]
                                                theorem Graph.connGE_bouquet_iff {α : Type u_1} {β : Type u_2} {v : α} {F : Set β} (n : ℕ) :
                                                (bouquet v F).ConnGE n ↔ n ≤ 1
                                                theorem Graph.connGE_iff_of_vertexSet_singleton {α : Type u_1} {β : Type u_2} {G : Graph α β} {x : α} {n : ℕ} (h : G.vertexSet = {x}) :
                                                G.ConnGE n ↔ n ≤ 1
                                                theorem Graph.connGE_iff_of_vertexSet_subsingleton {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} (hss : G.vertexSet.Subsingleton) :
                                                theorem Graph.ConnGE.pre {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} (h : G.ConnGE n) :
                                                theorem Graph.preconnGE_iff_connGE_of_not_isComplete {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} (h' : G.vertexSet.encard ≤ ↑n → ¬G.IsComplete) :

                                                G.PreconnGE n and G.ConnGE n agree except on complete graphs on more than n vertices.

                                                theorem Graph.connGE_iff_preconnGE {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} (hnt : G.vertexSet.Nontrivial) :
                                                theorem Graph.preconnGE_iff_connGE {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} :
                                                theorem Graph.connGE_iff_forall_connected {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} (h' : G.vertexSet.encard = ↑n → ¬G.IsComplete) :
                                                G.ConnGE n ↔ ∀ X ⊆ G.vertexSet, X.encard < ↑n → (G.deleteVerts X).Connected
                                                theorem Graph.connGE_map_iff_of_injOn {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} {α' : Type u_3} {φ : α → α'} (hφ : Set.InjOn φ G.vertexSet) :
                                                (map φ G).ConnGE n ↔ G.ConnGE n
                                                @[simp]
                                                theorem Graph.connGE_edgeMap_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} {β' : Type u_3} {φ : β → β'} {hφ : ∀ e₁ ∈ G.edgeSet, ∀ e₂ ∈ G.edgeSet, φ e₁ = φ e₂ → G.IsLink e₁ = G.IsLink e₂} :
                                                (G.edgeMap φ hφ).ConnGE n ↔ G.ConnGE n
                                                theorem Graph.IsComplete.connGE_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} (h : G.IsComplete) (n : ℕ) :
                                                theorem Graph.IsComplete.connGE_iff' {α : Type u_1} {β : Type u_2} {G : Graph α β} (h : G.IsComplete) (n : ℕ) :
                                                theorem Graph.IsComplete.connGE {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} (h : G.IsComplete) (hn : ↑n < G.vertexSet.encard) :
                                                G.ConnGE n
                                                theorem Graph.ConnGE.isSpanningSubgraph {α : Type u_1} {β : Type u_2} {G H : Graph α β} {n : ℕ} (h : H.ConnGE n) (hsle : H ≤s G) :
                                                G.ConnGE n
                                                theorem Graph.ConnGE.of_deleteEdges {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} {F : Set β} (h : (G.deleteEdges F).ConnGE n) :
                                                G.ConnGE n
                                                theorem Graph.ConnGE.deleteVerts {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} {X : Set α} (h : G.ConnGE n) (hFin : (G.vertexSet ∩ X).Finite) :
                                                theorem Graph.ConnGE.vertexSet_encard_of_nontrivial {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} (h : G.ConnGE n) (hnt : G.vertexSet.Nontrivial) :
                                                theorem Graph.ConnGE.lt_encard_vertexSet {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} (hG : G.ConnGE n) (hn : 2 ≤ n) :

                                                A 2-connected graph has more than n vertices. This is the le_card field of ConnGE with the V(G).Subsingleton alternative ruled out: a subsingleton graph is ⊥ or a bouquet, and connGE_bot and connGE_bouquet_iff cap both at ConnGE 1.

                                                theorem Graph.PreconnGE.deleteVerts {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} {X : Set α} (hX : X.Finite) (h : G.PreconnGE (n + hX.toFinset.card)) :
                                                theorem Graph.ConnGE.deleteVerts' {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} {X : Set α} (hX : X.Finite) (h : G.ConnGE (n + hX.toFinset.card)) :
                                                theorem Graph.connGE_delete_vertex_of_add_one {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} (hG : G.ConnGE (n + 1)) (x : α) :
                                                theorem Graph.ConnGE.deleteVert_connected {α : Type u_1} {β : Type u_2} {G : Graph α β} {x : α} (hG : G.ConnGE 2) (hx : x ∈ G.vertexSet) :
                                                theorem Graph.preconnGE_delete_vertex_of_add_one {α : Type u_1} {β : Type u_2} {G : Graph α β} {n : ℕ} (hG : G.PreconnGE (n + 1)) (x : α) :
                                                theorem Graph.PreconnGE.preconnGE_add_one_of_delete_of_forall_adj {α : Type u_1} {β : Type u_2} {G : Graph α β} {v : α} {n : ℕ} (hG : (G.deleteVerts {v}).PreconnGE n) (hv : ∀ x ∈ G.vertexSet, x ≠ v → G.Adj x v) :
                                                G.PreconnGE (n + 1)

                                                If v is adjacent to every other vertex, then deleting it drops the preconnectivity by one.

                                                theorem Graph.ConnGE.connGE_add_one_of_delete_of_forall_adj {α : Type u_1} {β : Type u_2} {G : Graph α β} {v : α} {n : ℕ} (hG : (G.deleteVerts {v}).ConnGE n) (hV : 3 ≤ G.vertexSet.encard) (hv : ∀ x ∈ G.vertexSet, x ≠ v → G.Adj x v) :
                                                G.ConnGE (n + 1)

                                                If v is adjacent to every other vertex, then deleting it drops the connectivity by one.

                                                @[simp]
                                                theorem Graph.EdgeConnGE_zero {α : Type u_1} {β : Type u_2} {G : Graph α β} :
                                                theorem Graph.EdgeConnGE.anti_right {α : Type u_1} {β : Type u_2} {G : Graph α β} {n m : ℕ} (hle : n ≤ m) (h : G.EdgeConnGE m) :
                                                @[simp]
                                                theorem Graph.edgeConnGE_one_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} :