proposition: Lemma bimap_comp_id_left {F : C ∏ D ⟶ E} {w} `(f : y ~{D}~> z) `(g : x ~{D}~> y) : bimap (id[w]) (f ∘ g) ≈ bimap id f ∘ bimap id g.
proof: Proof. unfold bimap. rewrite <- fmap_comp. apply fmap_respects. split; simpl; cat. Qed.
imports: Category.Lib Category.Theory.Category Category.Theory.Isomorphism Category.Theory.Functor Category.Construction.Product