Definition compose (A B C:Type) (g:B -> C) (f:A -> B) := fun x => g (f x).Infix "ooo" := bij_compose (at level 54, right associativity).

(* Specifications: *)
Lemma compose_assoc (A B C D:Type) (h:C->D) (g:B->C) (f:A->B) : (h oo g) oo f = h oo g oo f.
Lemma compose_rewr {A B C} (f : B -> C) (g : A -> B) x : f (g x) = (f oo g) x.