fact: Definition Opposite `(C : Category) : Category := {| obj := @obj C; hom := fun x y => @hom C y x; homset := fun x y => @homset C y x; id := @id C; compose := fun _ _ _ f g => g ∘ f; compose_respects := fun x y z f g fg h i hi => @compose_respects C z y x h i hi f g fg; id_left := fun x y f => @id_right C y x f; id_right := fun x y f => @id_left C y x f; comp_assoc := fun x y z w f g h => @comp_assoc_sym C w z y x h g f; comp_assoc_sym := fun x y z w f g h => @comp_assoc C w z y x h g f |}.
imports: Category.Lib Category.Theory.Category