Documentation

ExpanderGraphs.Connectivity

Connectivity for general graphs #

inductive WeightedGraph.Walk {α : Type u_1} {β : Type u_2} {G : WeightedGraph α β} :
αα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 WeightedGraph.instDecidableEqWalk {α✝ : Type u_3} {β✝ : Type u_4} {G✝ : WeightedGraph α✝ β✝} {a✝ a✝¹ : α✝} [DecidableEq α✝] [DecidableEq β✝] :
    DecidableEq (Walk a✝ a✝¹)
    Equations
    def WeightedGraph.instDecidableEqWalk.decEq {α✝ : Type u_3} {β✝ : Type u_4} {G✝ : WeightedGraph α✝ β✝} {a✝ a✝¹ : α✝} [DecidableEq α✝] [DecidableEq β✝] (x✝ x✝¹ : Walk a✝ a✝¹) :
    Decidable (x✝ = x✝¹)
    Equations
    Instances For
      def WeightedGraph.Reachable {α : Type u_1} {β : Type u_2} {G : WeightedGraph α β} (u v : α) :

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

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

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

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

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

          Instances For
            def WeightedGraph.edgeBoundary {α : Type u_1} {β : Type u_2} {G : WeightedGraph α β} (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
              theorem WeightedGraph.walk_crossing {α : Type u_1} {β : Type u_2} [DecidableEq α] [Fintype α] [Fintype β] {G : WeightedGraph α β} [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 WeightedGraph.connected_non_empty_edge_boundary {α : Type u_1} {β : Type u_2} [DecidableEq α] [Fintype α] [Fintype β] {G : WeightedGraph α β} [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 ≠ ∅.