Lemma RotMorphismCommHomot1 {C1 C2 : Complex A} (f : Morphism C1 C2) (i : hz) : RotMorphismCommHomot f i · MappingConeDiff A (MappingConeIn2 A f) (i - 1) = RotMorphismCommMor1 f i. Proof. unfold RotMorphismCommHomot. unfold MappingConeDiff. cbn. unfold RotMorphismCommMor1. cbn. unfold MappingConeDiff1, MappingConeDiff2, MappingConeDiff3. cbn. set (DS1 := to_BinDirectSums A (C1 (i + 1)) (C2 i)). set (DS2 := to_BinDirectSums A (C2 (i + 1)) DS1). set (DS5 := to_BinDirectSums A (C1 (i - 1 + 1 + 1)) (C2 (i - 1 + 1))). set (DS6 := to_BinDirectSums A (C2 (i - 1 + 1 + 1)) DS5). set (DS7 := to_BinDirectSums A (C1 (i - 1 + 1)) (C2 (i - 1))). set (DS8 := to_BinDirectSums A (C2 (i - 1 + 1)) DS7). unfold DiffTranslationComplex. rewrite to_premor_linear'. rewrite to_premor_linear'. use maponpaths_12. - rewrite <- assoc. apply cancel_precomposition. rewrite <- transport_source_precompose. rewrite assoc. rewrite (to_IdIn1 DS8). rewrite id_left. induction (hzrminusplus i 1). apply idpath. - rewrite <- assoc. rewrite <- transport_source_precompose. rewrite assoc. rewrite (to_IdIn1 DS8). rewrite id_left. rewrite <- assoc. rewrite <- transport_source_precompose. rewrite assoc. rewrite (to_Unel1' DS8). rewrite ZeroArrow_comp_left. rewrite transport_source_ZeroArrow. rewrite ZeroArrow_comp_right. rewrite to_runax''. rewrite <- transport_source_precompose. apply idpath. Qed.
Require Import UniMath.Foundations.UnivalenceAxiom. Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.Foundations.NaturalNumbers. Require Import UniMath.MoreFoundations.PartA. Require Import UniMath.Algebra.BinaryOperations. Require Import UniMath.Algebra.Monoids. Require Import UniMath.NumberSystems.Integers. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.TransportMorphisms. Require Import UniMath.CategoryTheory.Limits.Zero. Require Import UniMath.CategoryTheory.Limits.BinProducts. Require Import UniMath.CategoryTheory.Limits.BinCoproducts. Require Import UniMath.CategoryTheory.Limits.Equalizers. Require Import UniMath.CategoryTheory.Limits.Coequalizers. Require Import UniMath.CategoryTheory.Limits.Kernels. Require Import UniMath.CategoryTheory.Limits.Cokernels. Require Import UniMath.CategoryTheory.Limits.Pushouts. Require Import UniMath.CategoryTheory.Limits.Pullbacks. Require Import UniMath.CategoryTheory.Limits.BinDirectSums. Require Import UniMath.CategoryTheory.Monics. Require Import UniMath.CategoryTheory.Epis. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Equivalences.Core. Require Import UniMath.CategoryTheory.CategoriesWithBinOps. Require Import UniMath.CategoryTheory.PrecategoriesWithAbgrops. Require Import UniMath.CategoryTheory.PreAdditive. Require Import UniMath.CategoryTheory.Additive. Require Import UniMath.CategoryTheory.Abelian. Require Import UniMath.CategoryTheory.AbelianToAdditive. Require Import UniMath.CategoryTheory.AdditiveFunctors. Require Import UniMath.HomologicalAlgebra.Complexes. Require Import UniMath.HomologicalAlgebra.KA. Require Import UniMath.HomologicalAlgebra.TranslationFunctors.