fact: Record NotionOfStructure (X : PreCategory) := { structure :> X -> Type; is_structure_homomorphism : forall x y (f : morphism X x y) (a : structure x) (b : structure y), Type; istrunc_is_structure_homomorphism : forall x y a b f, IsHProp (@is_structure_homomorphism x y a b f); is_structure_homomorphism_identity : forall x (a : structure x), is_structure_homomorphism (identity x) a a; is_structure_homomorphism_composition : forall x y z (a : structure x) (b : structure y) (c : structure z) (f : morphism X x y) (g : morphism X y z), is_structure_homomorphism f a b -> is_structure_homomorphism g b c -> is_structure_homomorphism (g o f) a c }.
imports: Category.Core HoTT.Basics HoTT.Types HSet