proposition: Lemma proj_right_right {x y z} : proj_right ∘ proj_right ≈ @proj_right _ _ _ (x ⨂ y) z ∘ tensor_assoc⁻¹.
proof: Proof. unfold proj_right; normal. rewrite <- !comp_assoc. rewrite (comp_assoc _ unit_left). rewrite to_unit_left_natural; normal. rewrite <- !comp_assoc. apply compose_respects; [reflexivity|]. rewrite bimap_triangle_left. rewrite <- comp_assoc. rewrite <- from_tensor_assoc_natural. rewrite comp_assoc. apply compose_respects; [|reflexivity]. normal. apply bimap_respects; [|reflexivity]. apply unit_terminal. Qed.
imports: Category.Lib Category.Theory.Category Category.Theory.Isomorphism Category.Theory.Functor Category.Functor.Bifunctor Category.Structure.Monoidal Category.Structure.Monoidal.Proofs Category.Structure.Monoidal.Semicartesian