Documentation

ExpanderGraphs.Connectivity

Connectivity for general graphs #

inductive UnweightedGraph.Walk {α : Type u_1} {β : Type u_2} {G : UnweightedGraph α β} :
ααType u_1

A walk is a sequence of adjacent vertices. For vertices u v : α, the type Walk G u v consists of all walks starting at u and ending at v.

Instances For
    @[implicit_reducible]
    instance UnweightedGraph.instDecidableEqWalk {α✝ : Type u_3} {β✝ : Type u_4} {G✝ : UnweightedGraph α✝ β✝} {a✝ a✝¹ : α✝} [DecidableEq α✝] [DecidableEq β✝] :
    DecidableEq (Walk a✝ a✝¹)
    Equations
    def UnweightedGraph.Reachable {α : Type u_1} {β : Type u_2} {G : UnweightedGraph α β} (u v : α) :

    Two vertices are reachable if there is a walk between them.

    Equations
    Instances For
      def UnweightedGraph.Preconnected {α : Type u_1} {β : Type u_2} {G : UnweightedGraph α β} :

      A graph is preconnected if every pair of vertices is reachable from one another.

      Equations
      Instances For
        structure UnweightedGraph.Connected {α : Type u_1} {β : Type u_2} {G : UnweightedGraph α β} :

        A graph is connected if it's preconnected and contains at least one vertex.

        Instances For
          def UnweightedGraph.edgeBoundary {α : Type u_1} {β : Type u_2} {G : UnweightedGraph α β} (S : Set α) :
          Set β

          We define the edge boundary ∂S of S to consist of all edges with exactly one endpoint in S.

          Equations
          Instances For
            def UnweightedGraph.vertexBoundary {α : Type u_1} {β : Type u_2} {G : UnweightedGraph α β} (S : Set α) :
            Set α

            We can define the vertex boundary δS of S to be the set of all vertices v not in S but adjacent to some vertex in S.

            Equations
            Instances For
              theorem UnweightedGraph.walk_crossing {α : Type u_1} {β : Type u_2} [DecidableEq α] [Fintype α] [Fintype β] {G : UnweightedGraph α β} [DecidableRel G.Adj] ( : G.edgeSet = Set.univ) (S : Set α) {u v : α} (hW : Walk u v) :
              u SvS∃ (e : β), e edgeBoundary S

              If there is a walk going from S to Sᶜ then there is a least on edge that goes from S to Sᶜ.

              theorem UnweightedGraph.connected_non_empty_edge_boundary {α : Type u_1} {β : Type u_2} [DecidableEq α] [Fintype α] [Fintype β] {G : UnweightedGraph α β} [DecidableRel G.Adj] ( : G.edgeSet = Set.univ) (h : Connected) (S : Set α) (hS_nonempty : S.Nonempty) (hS_ne_univ : S Set.univ) :

              In a connected graph, every set of vertices, different from ∅ and univ, has non empty edgeBoundary: ∂S ≠ ∅.