Documentation

LeanPool.FiniteGraphFundamentalGroup.Proof

The spanning-tree computation for finite quivers #

This file builds the combinatorial fundamental group of a finite weakly connected quiver from Mathlib's free groupoid and identifies a basis indexed by the edges outside a geodesic spanning tree.

def FiniteGraphFreeGroup.totalEquiv {V : Type u} [Quiver V] (T : WideSubquiver V) :
Quiver.Total (WideSubquiver.toType V T) (a : V) × (b : V) × { e : a b // e T a b }

Identifies total arrows of a wide subquiver with their endpoints and underlying arrow.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[reducible]
    noncomputable def FiniteGraphFreeGroup.totalFintype {V : Type u} [Quiver V] [Fintype V] [(a b : V) → Fintype (a b)] (T : WideSubquiver V) :

    The finite structure on the total arrows of a finite wide subquiver.

    Equations
    Instances For
      @[instance_reducible]
      noncomputable instance FiniteGraphFreeGroup.wideSubquiverHomFintype {V : Type u} [Quiver V] [(a b : V) → Fintype (a b)] (T : WideSubquiver V) (a b : WideSubquiver.toType V T) :
      Fintype (a b)
      Equations
      def FiniteGraphFreeGroup.baseTotalEquiv (V : Type u) [Quiver V] :
      Quiver.Total V (a : V) × (b : V) × (a b)

      Identifies total arrows of a quiver with their endpoints and arrow data.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[reducible]
        noncomputable def FiniteGraphFreeGroup.baseTotalFintype {V : Type u} [Quiver V] [Fintype V] [(a b : V) → Fintype (a b)] :

        The finite structure on total arrows of a finite quiver.

        Equations
        Instances For
          @[instance_reducible]
          noncomputable instance FiniteGraphFreeGroup.symmetrifyHomFintype {V : Type u} [Quiver V] [(a b : V) → Fintype (a b)] (a b : Quiver.Symmetrify V) :
          Fintype (a b)
          Equations

          Identifies a wide subquiver's total arrows with the corresponding subset of base arrows.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            The penultimate vertex, prefix path, and last edge of the rooted path to a non-root vertex.

            Equations
            Instances For

              Identifies the edges of an arborescence with its non-root vertices.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem FiniteGraphFreeGroup.no_reverse_edges {V : Type u} [Quiver V] (T : WideSubquiver (Quiver.Symmetrify V)) [Quiver.Arborescence (WideSubquiver.toType (Quiver.Symmetrify V) T)] {a b : V} (e : a b) (h₁ : T a b (Sum.inl e)) (h₂ : T b a (Sum.inr e)) :

                Forgets the orientation tag on an edge of a symmetric wide subquiver.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  Recovers the uniquely oriented tree edge from its underlying graph edge.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    Equates oriented tree edges with the underlying edges of the symmetrified subquiver.

                    Equations
                    Instances For

                      The free-group basis obtained from the arrows outside a spanning tree.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        @[instance_reducible]
                        Equations
                        • One or more equations did not get rendered due to their size.

                        A quiver with a finite hom-set between every ordered pair of vertices.

                        • finiteHom (a b : V) : Fintype (a b)

                          The finite structure on each hom-set.

                        Instances

                          A quiver whose symmetrification has a path between every pair of vertices.

                          Instances

                            Identifies the objects of the generated free groupoid with graph vertices.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              The number of vertices in a finite graph.

                              Equations
                              Instances For
                                noncomputable def FiniteGraphFreeGroup.edgeCount {V : Type u} [Quiver V] [Fintype V] [FiniteQuiver V] :

                                The total number of directed edges in a finite quiver.

                                Equations
                                Instances For
                                  @[reducible, inline]
                                  noncomputable abbrev FiniteGraphFreeGroup.cycleRank {V : Type u} [Quiver V] [Fintype V] [FiniteQuiver V] :

                                  The graph cycle rank, written to account for truncated subtraction in .

                                  The spanning-tree inequality below identifies it with E - (V - 1) for a weakly connected graph.

                                  Equations
                                  Instances For
                                    @[reducible, inline]

                                    The endomorphism group at a root in the free groupoid generated by the graph.

                                    Equations
                                    Instances For
                                      @[reducible, inline]

                                      The canonical geodesic spanning tree rooted at the chosen graph vertex.

                                      Equations
                                      Instances For

                                        Identifies total free-groupoid generator arrows with total graph arrows.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For

                                          The complement of the geodesic tree, indexed by the actual non-tree generator arrows.

                                          Equations
                                          Instances For
                                            @[instance_reducible]
                                            noncomputable instance FiniteGraphFreeGroup.graphGeneratorSetFintype {V : Type u} [Quiver V] [Fintype V] [FiniteQuiver V] [WeaklyConnected V] (root : V) :
                                            Equations
                                            • One or more equations did not get rendered due to their size.

                                            The final theorem is kept in the original statement form for the Palomar Challenge/Solution correspondence. The reusable, basis-valued API and the consequences of the computation live in Consequences.lean.