Documentation

Marginis.Goldbring2011

Ends of groups: a nonstandard perspective #

Isaac Goldbring

Inspired by the paper we give a definition of the Cayley graph of a group. We start from Kyle Miller's Lean 3 code at https://leanprover-community.github.io/archive/stream/217875-Is-there-code-for-X%3F/topic/graph.2C.20expander.20graph.2C.20cayley.20graph.2C.20.2E.2E.2E.html

After converting that to Lean 4, we construct the Cayley graph of ℤ and give some computations on it.

We also construct a path in this Cayley graph, using Lean's Quiver.Path.

structure digraph (V : Type) (E : Type) :
  • edges : VVSet E
Instances For
    def symmetric_subset (G : Type) [Group G] (S : Set G) :
    Equations
    Instances For
      def schreier_graph (G : Type) [Group G] (S : Set G) (X : Type) [MulAction G X] :
      Equations
      Instances For
        theorem schreier_graph.edge_mem {G : Type} [Group G] {S : Set G} {X : Type} [MulAction G X] (g : G) (x : X) (y : X) (h : g (schreier_graph G S X).edges x y) :
        g S
        theorem schreier_graph.edge_gen {G : Type} [Group G] {S : Set G} {X : Type} [MulAction G X] (g : G) (x : X) (y : X) (h : g (schreier_graph G S X).edges x y) :
        g x = y
        theorem schreier_graph.edge_comm_aux {G : Type} [Group G] {S : Set G} {X : Type} [MulAction G X] {g : G} {x : X} {y : X} {sym : symmetric_subset G S} (h : g (schreier_graph G S X).edges x y) :
        g⁻¹ (schreier_graph G S X).edges y x
        theorem schreier_graph.edge_comm {G : Type} [Group G] {S : Set G} {X : Type} [MulAction G X] (g : G) (x : X) (y : X) (sym : symmetric_subset G S) :
        g (schreier_graph G S X).edges x y g⁻¹ (schreier_graph G S X).edges y x
        def cayley_graph (G : Type) [Group G] (S : Set G) :
        Equations
        Instances For
          theorem cayley_graph.edge_mem {G : Type} [Group G] {S : Set G} (v : G) (w : G) (g : G) (h : g (cayley_graph G S).edges v w) :
          g S
          theorem cayley_graph.mem_iff {G : Type} [Group G] {S : Set G} (v : G) (w : G) (g : G) :
          g (cayley_graph G S).edges v w g S g * v = w
          theorem cayley_graph.apply {G : Type} [Group G] {S : Set G} (v : G) (g : G) (h : g S) :
          g (cayley_graph G S).edges v (g * v)
          Equations
          Instances For
            Equations
            Equations
            Instances For