proposition: Lemma AbelianPreCat_op_eq1 {X Y : A} (a b c d : X --> Y) : Abelian_minus_op (Abelian_mor_to_BinProd a b) (Abelian_mor_to_BinProd c d) = Abelian_mor_to_BinProd (Abelian_minus_op a c) (Abelian_minus_op b d).
proof: Proof. set (com1 := Abelian_op_eq (BinProductPr1 A (to_BinProducts A Y Y))). set (com2 := Abelian_op_eq (BinProductPr2 A (to_BinProducts A Y Y))). unfold Abelian_minus_op. unfold Abelian_mor_to_BinProd. use BinProductArrowsEq. - rewrite <- assoc. rewrite com1. rewrite BinProductPr1Commutes. rewrite assoc. apply cancel_postcomposition. use BinProductArrowsEq. + rewrite BinProductPr1Commutes. rewrite <- assoc. rewrite BinProductPr1Commutes. rewrite assoc. rewrite BinProductPr1Commutes. rewrite BinProductPr1Commutes. apply idpath. + rewrite BinProductPr2Commutes. rewrite <- assoc. rewrite BinProductPr2Commutes. rewrite assoc. rewrite BinProductPr2Commutes. rewrite BinProductPr1Commutes. apply idpath. - rewrite <- assoc. rewrite com2. rewrite BinProductPr2Commutes. rewrite assoc. apply cancel_postcomposition. use BinProductArrowsEq. + rewrite BinProductPr1Commutes. rewrite <- assoc. rewrite BinProductPr1Commutes. rewrite assoc. rewrite BinProductPr1Commutes. rewrite BinProductPr2Commutes. apply idpath. + rewrite BinProductPr2Commutes. rewrite <- assoc. rewrite BinProductPr2Commutes. rewrite assoc. rewrite BinProductPr2Commutes. rewrite BinProductPr2Commutes. apply idpath. Qed.
imports: UniMath.Foundations.PartD UniMath.Foundations.Propositions UniMath.Foundations.Sets UniMath.Algebra.Monoids UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.PrecategoryBinProduct UniMath.CategoryTheory.Limits.Zero UniMath.CategoryTheory.Limits.BinProducts UniMath.CategoryTheory.Limits.BinCoproducts UniMath.CategoryTheory.Limits.Equalizers UniMath.CategoryTheory.Limits.Coequalizers UniMath.CategoryTheory.Limits.Kernels UniMath.CategoryTheory.Limits.Cokernels UniMath.CategoryTheory.Limits.Pushouts UniMath.CategoryTheory.Limits.Pullbacks UniMath.CategoryTheory.Limits.BinDirectSums UniMath.CategoryTheory.Monics UniMath.CategoryTheory.Epis UniMath.CategoryTheory.CategoriesWithBinOps UniMath.CategoryTheory.PrecategoriesWithAbgrops UniMath.CategoryTheory.PreAdditive UniMath.CategoryTheory.Additive UniMath.CategoryTheory.Abelian