A category gives rise to a reflexive relation via its identity morphism.
%hint public export
RCat : {cat : _} -> Reflexive cat.obj ((~:>) cat)
RCat = MkReflexive (cat.id _)A category gives rise to a transitive relation via its composition of morphisms.
%hint public export
TCat : {cat : _} -> Transitive cat.obj ((~:>) cat)
TCat = MkTransitive $
\ f, g => (|:>) cat f gIsomorphisms between two objects of a category.
public export
CatIso : {0 o : Type} -> (cat : Category o) -> (a, b : o) -> Type
CatIso cat a b = GenIso o ((~:>) cat) (===) {tx = TCat, rx = RCat} a b