Build_Is1Cat' (A : Type) `{!IsGraph A, !Is2Graph A, !Is01Cat A} (is01cat_hom : forall a b : A, Is01Cat (a $-> b)) (is0gpd_hom : forall a b : A, Is0Gpd (a $-> b)) (is0functor_postcomp : forall (a b c : A) (g : b $-> c), Is0Functor (cat_postcomp a g)) (is0functor_precomp : forall (a b c : A) (f : a $-> b), Is0Functor (cat_precomp c f)) (cat_assoc : forall (a b c d : A) (f : a $-> b) (g : b $-> c) (h : c $-> d), h $o g $o f $== h $o (g $o f)) (cat_idl : forall (a b : A) (f : a $-> b), Id b $o f $== f) (cat_idr : forall (a b : A) (f : a $-> b), f $o Id a $== f) : Is1Cat A := Build_Is1Cat A _ _ _ is01cat_hom is0gpd_hom is0functor_postcomp is0functor_precomp cat_assoc (fun a b c d f g h => (cat_assoc a b c d f g h)^$) cat_idl cat_idr.
Require Import Basics.Overture Basics.Tactics.