Single-object quiver #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
Single object quiver with a given arrows type.
Main definitions #
Given a type α, single_obj α is the unit type, whose single object is called star α, with
quiver structure such that star α ⟶ star α is the type α.
An element x : α can be reinterpreted as an element of star α ⟶ star α using
to_hom.
More generally, a list of elements of a can be reinterpreted as a path from star α to
itself using path_equiv_list.
Equations
- quiver.single_obj.quiver α = {hom := λ (_x _x : quiver.single_obj α), α}
The single object in single_obj α.
Equations
Equations
Equip single_obj α with a reverse operation.
Equations
- quiver.single_obj.has_reverse rev = {reverse' := λ (_x _x : quiver.single_obj α), rev}
Equip single_obj α with an involutive reverse operation.
Equations
- quiver.single_obj.has_involutive_reverse rev h = {to_has_reverse := quiver.single_obj.has_reverse rev, inv' := _}
The type of arrows from star α to itself is equivalent to the original type α.
Equations
Prefunctors between two single_obj quivers correspond to functions between the corresponding
arrows types.
Equations
- quiver.single_obj.to_prefunctor = {to_fun := λ (f : α → β), {obj := id (quiver.single_obj α), map := λ (_x _x : quiver.single_obj α), f}, inv_fun := λ (f : quiver.single_obj α ⥤q quiver.single_obj β) (a : α), f.map (⇑quiver.single_obj.to_hom a), left_inv := _, right_inv := _}
Auxiliary definition for quiver.single_obj.path_equiv_list.
Converts a path in the quiver single_obj α into a list of elements of type a.
Auxiliary definition for quiver.single_obj.path_equiv_list.
Converts a list of elements of type α into a path in the quiver single_obj α.
Paths in single_obj α quiver correspond to lists of elements of type α.