Documentation

Mathlib.Combinatorics.Quiver.Covering

Covering #

This file defines coverings of quivers as prefunctors that are bijective on the so-called stars and costars at each vertex of the domain.

Main definitions #

Main statements #

TODO #

Clean up the namespaces by renaming Prefunctor to Quiver.Prefunctor.

Tags #

Cover, covering, quiver, path, lift

@[reducible]
def Quiver.Star {U : Type u_1} [Quiver U] (u : U) :
Type (max u_1 u)

The Quiver.Star at a vertex is the collection of arrows whose source is the vertex. The type Quiver.Star u is defined to be Σ (v : U), (u ⟶ v).

Equations
Instances For
    @[reducible]
    def Quiver.Star.mk {U : Type u_1} [Quiver U] {u : U} {v : U} (f : u v) :

    Constructor for Quiver.Star. Defined to be Sigma.mk.

    Equations
    Instances For
      @[reducible]
      def Quiver.Costar {U : Type u_1} [Quiver U] (v : U) :
      Type (max u_1 u)

      The Quiver.Costar at a vertex is the collection of arrows whose target is the vertex. The type Quiver.Costar v is defined to be Σ (u : U), (u ⟶ v).

      Equations
      Instances For
        @[reducible]
        def Quiver.Costar.mk {U : Type u_1} [Quiver U] {u : U} {v : U} (f : u v) :

        Constructor for Quiver.Costar. Defined to be Sigma.mk.

        Equations
        Instances For
          @[simp]
          theorem Prefunctor.star_snd {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) (u : U) :
          ∀ (a : Quiver.Star u), (Prefunctor.star φ u a).snd = φ.map a.snd
          @[simp]
          theorem Prefunctor.star_fst {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) (u : U) :
          ∀ (a : Quiver.Star u), (Prefunctor.star φ u a).fst = φ.obj a.fst
          def Prefunctor.star {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) (u : U) :
          Quiver.Star uQuiver.Star (φ.obj u)

          A prefunctor induces a map of Quiver.Star at every vertex.

          Equations
          Instances For
            @[simp]
            theorem Prefunctor.costar_snd {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) (u : U) :
            ∀ (a : Quiver.Costar u), (Prefunctor.costar φ u a).snd = φ.map a.snd
            @[simp]
            theorem Prefunctor.costar_fst {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) (u : U) :
            ∀ (a : Quiver.Costar u), (Prefunctor.costar φ u a).fst = φ.obj a.fst
            def Prefunctor.costar {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) (u : U) :
            Quiver.Costar uQuiver.Costar (φ.obj u)

            A prefunctor induces a map of Quiver.Costar at every vertex.

            Equations
            Instances For
              @[simp]
              theorem Prefunctor.star_apply {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) {u : U} {v : U} (e : u v) :
              @[simp]
              theorem Prefunctor.costar_apply {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) {u : U} {v : U} (e : u v) :
              theorem Prefunctor.star_comp {U : Type u_1} [Quiver U] {V : Type u_3} [Quiver V] (φ : U ⥤q V) {W : Type u_2} [Quiver W] (ψ : V ⥤q W) (u : U) :
              theorem Prefunctor.costar_comp {U : Type u_1} [Quiver U] {V : Type u_3} [Quiver V] (φ : U ⥤q V) {W : Type u_2} [Quiver W] (ψ : V ⥤q W) (u : U) :
              structure Prefunctor.IsCovering {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) :

              A prefunctor is a covering of quivers if it defines bijections on all stars and costars.

              Instances For
                @[simp]
                theorem Prefunctor.IsCovering.map_injective {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) (hφ : Prefunctor.IsCovering φ) {u : U} {v : U} :
                Function.Injective fun (f : u v) => φ.map f
                theorem Prefunctor.IsCovering.comp {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) {W : Type u_3} [Quiver W] (ψ : V ⥤q W) (hφ : Prefunctor.IsCovering φ) (hψ : Prefunctor.IsCovering ψ) :
                theorem Prefunctor.IsCovering.of_comp_right {U : Type u_3} [Quiver U] {V : Type u_1} [Quiver V] (φ : U ⥤q V) {W : Type u_2} [Quiver W] (ψ : V ⥤q W) (hψ : Prefunctor.IsCovering ψ) (hφψ : Prefunctor.IsCovering (φ ⋙q ψ)) :
                theorem Prefunctor.IsCovering.of_comp_left {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) {W : Type u_3} [Quiver W] (ψ : V ⥤q W) (hφ : Prefunctor.IsCovering φ) (hφψ : Prefunctor.IsCovering (φ ⋙q ψ)) (φsur : Function.Surjective φ.obj) :
                def Quiver.symmetrifyStar {U : Type u_1} [Quiver U] (u : U) :
                Quiver.Star (Quiver.Symmetrify.of.obj u) Quiver.Star u Quiver.Costar u

                The star of the symmetrification of a quiver at a vertex u is equivalent to the sum of the star and the costar at u in the original quiver.

                Equations
                Instances For
                  def Quiver.symmetrifyCostar {U : Type u_1} [Quiver U] (u : U) :
                  Quiver.Costar (Quiver.Symmetrify.of.obj u) Quiver.Costar u Quiver.Star u

                  The costar of the symmetrification of a quiver at a vertex u is equivalent to the sum of the costar and the star at u in the original quiver.

                  Equations
                  Instances For
                    theorem Prefunctor.symmetrifyStar {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) (u : U) :
                    @[reducible]
                    def Quiver.PathStar {U : Type u_1} [Quiver U] (u : U) :
                    Type (max u_1 u u_1)

                    The path star at a vertex u is the type of all paths starting at u. The type Quiver.PathStar u is defined to be Σ v : U, Path u v.

                    Equations
                    Instances For
                      @[reducible]
                      def Quiver.PathStar.mk {U : Type u_1} [Quiver U] {u : U} {v : U} (p : Quiver.Path u v) :

                      Constructor for Quiver.PathStar. Defined to be Sigma.mk.

                      Equations
                      Instances For
                        def Prefunctor.pathStar {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) (u : U) :

                        A prefunctor induces a map of path stars.

                        Equations
                        Instances For
                          @[simp]
                          theorem Prefunctor.pathStar_apply {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) {u : U} {v : U} (p : Quiver.Path u v) :
                          theorem Prefunctor.pathStar_injective {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) (hφ : ∀ (u : U), Function.Injective (Prefunctor.star φ u)) (u : U) :
                          theorem Prefunctor.pathStar_surjective {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) (hφ : ∀ (u : U), Function.Surjective (Prefunctor.star φ u)) (u : U) :
                          theorem Prefunctor.pathStar_bijective {U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (φ : U ⥤q V) (hφ : ∀ (u : U), Function.Bijective (Prefunctor.star φ u)) (u : U) :
                          @[simp]
                          @[simp]

                          In a quiver with involutive inverses, the star and costar at every vertex are equivalent. This map is induced by Quiver.reverse.

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