Documentation

Mathlib.Combinatorics.Quiver.SingleObj

Single-object quiver #

Single object quiver with a given arrows type.

Main definitions #

Given a type α, SingleObj α is the unit type, whose single object is called star α, with Quiver structure such that star α ⟶ star α⟶ star α is the type α. An element x : α can be reinterpreted as an element of star α ⟶ star α⟶ star α using toHom. More generally, a list of elements of a can be reinterpreted as a path from star α to itself using pathEquivList.

Type tag on Unit used to define single-object quivers.

Equations
Equations

The single object in SingleObj α.

Equations
theorem Quiver.SingleObj.ext {α : Type u_1} {x : Quiver.SingleObj α} {y : Quiver.SingleObj α} :
x = y

Equip SingleObj α with a reverse operation.

Equations

Equip SingleObj α with an involutive reverse operation.

Equations
@[simp]
theorem Quiver.SingleObj.toHom_symm_apply {α : Type u_1} (a : α) :
↑(Equiv.symm Quiver.SingleObj.toHom) a = a
@[simp]
theorem Quiver.SingleObj.toHom_apply {α : Type u_1} (a : α) :
Quiver.SingleObj.toHom a = a

The type of arrows from star α to itself is equivalent to the original type α.

Equations
@[simp]
theorem Quiver.SingleObj.toPrefunctor_symm_apply {α : Type u_1} {β : Type u_2} (f : Quiver.SingleObj α ⥤q Quiver.SingleObj β) (a : α) :
↑(Equiv.symm Quiver.SingleObj.toPrefunctor) f a = Prefunctor.map f (Quiver.SingleObj.toHom a)
@[simp]
theorem Quiver.SingleObj.toPrefunctor_apply_obj {α : Type u_1} {β : Type u_2} (f : αβ) (a : Quiver.SingleObj α) :
Prefunctor.obj (Quiver.SingleObj.toPrefunctor f) a = id a
@[simp]
theorem Quiver.SingleObj.toPrefunctor_apply_map {α : Type u_1} {β : Type u_2} (f : αβ) :
∀ {X Y : Quiver.SingleObj α} (a : α), Prefunctor.map (Quiver.SingleObj.toPrefunctor f) a = f a
def Quiver.SingleObj.toPrefunctor {α : Type u_1} {β : Type u_2} :

Prefunctors between two SingleObj quivers correspond to functions between the corresponding arrows types.

Equations
  • One or more equations did not get rendered due to their size.
theorem Quiver.SingleObj.toPrefunctor_id {α : Type u_1} :
Quiver.SingleObj.toPrefunctor id = 𝟭q (Quiver.SingleObj α)
@[simp]
theorem Quiver.SingleObj.toPrefunctor_symm_id {α : Type u_1} :
↑(Equiv.symm Quiver.SingleObj.toPrefunctor) (𝟭q (Quiver.SingleObj α)) = id
theorem Quiver.SingleObj.toPrefunctor_comp {α : Type u_1} {β : Type u_3} {γ : Type u_2} (f : αβ) (g : βγ) :
Quiver.SingleObj.toPrefunctor (g f) = Quiver.SingleObj.toPrefunctor f ⋙q Quiver.SingleObj.toPrefunctor g
@[simp]
theorem Quiver.SingleObj.toPrefunctor_symm_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} (f : Quiver.SingleObj α ⥤q Quiver.SingleObj β) (g : Quiver.SingleObj β ⥤q Quiver.SingleObj γ) :
↑(Equiv.symm Quiver.SingleObj.toPrefunctor) (f ⋙q g) = ↑(Equiv.symm Quiver.SingleObj.toPrefunctor) g ↑(Equiv.symm Quiver.SingleObj.toPrefunctor) f

Auxiliary definition for quiver.SingleObj.pathEquivList. Converts a path in the quiver single_obj α into a list of elements of type a.

Auxiliary definition for quiver.SingleObj.pathEquivList. Converts a list of elements of type α into a path in the quiver SingleObj α.

Equations

Paths in SingleObj α quiver correspond to lists of elements of type α.

Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem Quiver.SingleObj.pathEquivList_nil {α : Type u_1} :
Quiver.SingleObj.pathEquivList Quiver.Path.nil = []
@[simp]
theorem Quiver.SingleObj.pathEquivList_symm_nil {α : Type u_1} :
↑(Equiv.symm Quiver.SingleObj.pathEquivList) [] = Quiver.Path.nil
@[simp]
theorem Quiver.SingleObj.pathEquivList_symm_cons {α : Type u_1} (l : List α) (a : α) :
↑(Equiv.symm Quiver.SingleObj.pathEquivList) (a :: l) = Quiver.Path.cons (↑(Equiv.symm Quiver.SingleObj.pathEquivList) l) a