Groupoids #
We define Groupoid
as a typeclass extending Category
,
asserting that all morphisms have inverses.
The instance IsIso.ofGroupoid (f : X ⟶ Y) : IsIso f
means that you can then write
inv f
to access the inverse of any morphism f
.
Groupoid.isoEquivHom : (X ≅ Y) ≃ (X ⟶ Y)
provides the equivalence between
isomorphisms and morphisms in a groupoid.
We provide a (non-instance) constructor Groupoid.ofIsIso
from an existing category
with IsIso f
for every f
.
See also #
See also CategoryTheory.Core
for the groupoid of isomorphisms in a category.
A Groupoid
is a category such that all morphisms are isomorphisms.
- assoc {W X Y Z : obj} (f : W ⟶ X) (g : X ⟶ Y) (h : Y ⟶ Z) : CategoryStruct.comp (CategoryStruct.comp f g) h = CategoryStruct.comp f (CategoryStruct.comp g h)
The inverse morphism
inv f
composedf
is the identityf
composed withinv f
is the identity
Instances
A LargeGroupoid
is a groupoid
where the objects live in Type (u+1)
while the morphisms live in Type u
.
Equations
Instances For
A SmallGroupoid
is a groupoid
where the objects and morphisms live in the same universe.
Equations
Instances For
Equations
A Prop-valued typeclass asserting that a given category is a groupoid.
Instances
Promote (noncomputably) an IsGroupoid
to a Groupoid
structure.
Equations
Instances For
A category where every morphism IsIso
is a groupoid.
Equations
Instances For
A category with a unique morphism between any two objects is a groupoid
Equations
Instances For
A category equipped with a fully faithful functor to a groupoid is fully faithful