Documentation

TauCeti.CategoryTheory.DG.Twisted.Extension

Extensions of twisted objects #

Let P and Q be twisted objects of the additive closure of a differential graded category E, and let g : Q ⟶ P be a closed morphism of degree one of twisted objects. The extension TauCeti.DGTwistedObject.extension P Q g is the twisted object (P ⊕ Q, δ) whose underlying object is the direct sum P ⊕ Q in the additive closure and whose twisting matrix δ has the twists δ_P and δ_Q on the diagonal blocks, g in the block from Q to P, and zero in the block from P to Q. Blockwise, the Maurer–Cartan equation d δ = dgComp δ δ is the Maurer–Cartan equations of δ_P and δ_Q together with d g = dgComp δ_Q g + dgComp g δ_P, and the last equation says exactly that g is closed for the twisted differential (TauCeti.DGTwistedObject.dgDifferential_extensionTwist).

The extension comes with inclusions TauCeti.DGTwistedObject.extensionInl, TauCeti.DGTwistedObject.extensionInr and projections TauCeti.DGTwistedObject.extensionFst, TauCeti.DGTwistedObject.extensionSnd of degree zero satisfying the biproduct equations. The inclusion of P and the projection onto Q are closed, so P ⟶ extension P Q g ⟶ Q is a sequence of closed degree-zero morphisms with zero composite, split as graded objects. The splitting need not be closed: the differential of the inclusion of Q is g followed by the inclusion of P, and the differential of the projection onto P is minus the projection onto Q followed by g.

If g is invertible, with inverse g' : P ⟶ Q of degree -1, the extension is contractible: minus the projection onto P, followed by g' and the inclusion of Q, is a degree -1 endomorphism whose differential is the identity, so the extension is a zero object of the homotopy category.

The extension depends only on the homotopy class of g, up to isomorphism in the homotopy category. If g - g' = d k for a degree-zero morphism k : Q ⟶ P, then the identity on the summands together with k in the block from Q to P is a closed morphism extension P Q g ⟶ extension P Q g', with inverse the same construction for -k.

The extension is functorial in the second summand: a closed degree-zero morphism φ : Q ⟶ Q' with φ followed by g' equal to g induces a closed morphism extension P Q g ⟶ extension P Q' g', the identity on P and φ on Q, and an isomorphism φ induces an isomorphism in the homotopy category.

With Q the shift P'⟦1⟧ of a twisted object P' and g the degree-one morphism P'⟦1⟧ ⟶ P' ⟶ P underlying a closed degree-zero morphism u : P' ⟶ P, the extension is the cone of u, the basic construction of the pretriangulated envelope of Bondal and Kapranov; see TauCeti/CategoryTheory/DG/Twisted/Cone.lean.

A DG functor G : E ⥤ E' preserves extensions: the image under the induced DG functor of extension P Q g is isomorphic in the homotopy category to the extension of the images of P and Q along the image of g, through the closed morphisms built from the images of the projections and inclusions of one extension and the inclusions and projections of the other.

Main definitions #

Main results #

References #

Matrix entries of morphisms of twisted objects of the additive closure #

theorem TauCeti.DGTwistedObject.dgDifferential_apply {R : Type v} [CommRing R] {E : Type u} [DGCategory R E] {M N : DGTwistedObject R (DGAdditiveClosure E)} {n : ℤ} (f : DGHom R n M N) (i : M.obj.ι) (j : N.obj.ι) :
(DGAdditiveClosure.dgHomEquiv R M.obj N.obj (n + 1)) ((dgHomEquiv R M N (n + 1)) ((dgDifferential R n) f)) i j = (dgDifferential R n) ((DGAdditiveClosure.dgHomEquiv R M.obj N.obj n) ((dgHomEquiv R M N n) f) i j) + n.negOnePow • ∑ k : N.obj.ι, dgComp R ((DGAdditiveClosure.dgHomEquiv R M.obj N.obj n) ((dgHomEquiv R M N n) f) i k) ((DGAdditiveClosure.dgHomEquiv R N.obj N.obj 1) N.twist k j) ⋯ - ∑ k : M.obj.ι, dgComp R ((DGAdditiveClosure.dgHomEquiv R M.obj M.obj 1) M.twist i k) ((DGAdditiveClosure.dgHomEquiv R M.obj N.obj n) ((dgHomEquiv R M N n) f) k j) ⋯

The twisted differential of a morphism of twisted objects of the additive closure, entrywise.

theorem TauCeti.DGTwistedObject.dgComp_apply {R : Type v} [CommRing R] {E : Type u} [DGCategory R E] {L M N : DGTwistedObject R (DGAdditiveClosure E)} {p q n : ℤ} (f : DGHom R p L M) (f' : DGHom R q M N) (h : p + q = n) (i : L.obj.ι) (j : N.obj.ι) :
(DGAdditiveClosure.dgHomEquiv R L.obj N.obj n) ((dgHomEquiv R L N n) (dgComp R f f' h)) i j = ∑ k : M.obj.ι, dgComp R ((DGAdditiveClosure.dgHomEquiv R L.obj M.obj p) ((dgHomEquiv R L M p) f) i k) ((DGAdditiveClosure.dgHomEquiv R M.obj N.obj q) ((dgHomEquiv R M N q) f') k j) h

Composition of twisted objects of the additive closure, entrywise.

theorem TauCeti.DGTwistedObject.dgDifferential_apply_zero {R : Type v} [CommRing R] {E : Type u} [DGCategory R E] {M N : DGTwistedObject R (DGAdditiveClosure E)} (f : DGHom R 0 M N) (i : M.obj.ι) (j : N.obj.ι) :
(DGAdditiveClosure.dgHomEquiv R M.obj N.obj 1) ((dgHomEquiv R M N 1) ((dgDifferential R 0) f)) i j = (ModuleCat.Hom.hom ((dgHomComplex R (M.obj.X i) (N.obj.X j)).d 0 1)) ((DGAdditiveClosure.dgHomEquiv R M.obj N.obj 0) ((dgHomEquiv R M N 0) f) i j) + ∑ k : N.obj.ι, dgComp R ((DGAdditiveClosure.dgHomEquiv R M.obj N.obj 0) ((dgHomEquiv R M N 0) f) i k) ((DGAdditiveClosure.dgHomEquiv R N.obj N.obj 1) N.twist k j) ⋯ - ∑ k : M.obj.ι, dgComp R ((DGAdditiveClosure.dgHomEquiv R M.obj M.obj 1) M.twist i k) ((DGAdditiveClosure.dgHomEquiv R M.obj N.obj 0) ((dgHomEquiv R M N 0) f) k j) ⋯

The twisted differential of a degree-zero morphism of twisted objects of the additive closure, entrywise.

The twisting matrix of an extension #

noncomputable def TauCeti.DGTwistedObject.extensionTwist (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] (P Q : DGTwistedObject R (DGAdditiveClosure E)) (g : DGHom R 1 Q P) :
DGHom R 1 (P.obj.sum Q.obj) (P.obj.sum Q.obj)

The twisting matrix of an extension of Q by P along a degree-one morphism g : Q ⟶ P: the degree-one endomorphism of P ⊕ Q with the twists of P and Q on the diagonal blocks, g in the block from Q to P, and zero in the block from P to Q.

Instances For
    @[simp]

    The block of the twisting matrix of an extension on the summands of P is the twist of P.

    @[simp]
    theorem TauCeti.DGTwistedObject.dgHomEquiv_extensionTwist_inl_inr (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] (P Q : DGTwistedObject R (DGAdditiveClosure E)) (g : DGHom R 1 Q P) (i : P.obj.ι) (j : Q.obj.ι) :

    The block of the twisting matrix of an extension from the summands of P to those of Q vanishes.

    @[simp]
    theorem TauCeti.DGTwistedObject.dgHomEquiv_extensionTwist_inr_inl (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] (P Q : DGTwistedObject R (DGAdditiveClosure E)) (g : DGHom R 1 Q P) (i : Q.obj.ι) (j : P.obj.ι) :

    The block of the twisting matrix of an extension from the summands of Q to those of P is g.

    @[simp]

    The block of the twisting matrix of an extension on the summands of Q is the twist of Q.

    theorem TauCeti.DGTwistedObject.dgDifferential_extensionTwist {R : Type v} [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :
    (dgDifferential R 1) (extensionTwist R P Q g) = dgComp R (extensionTwist R P Q g) (extensionTwist R P Q g) ⋯

    The twisting matrix of an extension along a closed morphism satisfies the Maurer–Cartan equation.

    The extension #

    @[reducible, inline]
    noncomputable abbrev TauCeti.DGTwistedObject.extension {R : Type v} [CommRing R] {E : Type u} [DGCategory R E] (P Q : DGTwistedObject R (DGAdditiveClosure E)) (g : DGHom R 1 Q P) (hg : (dgDifferential R 1) g = 0) :

    The extension of Q by P along a closed degree-one morphism g : Q ⟶ P of twisted objects of the additive closure: the twisted object (P ⊕ Q, δ) whose twisting matrix has the twists of P and Q on the diagonal and g in the block from Q to P. Its Maurer–Cartan equation is TauCeti.DGTwistedObject.dgDifferential_extensionTwist.

    Instances For
      @[simp]
      theorem TauCeti.DGTwistedObject.dgHomEquiv_twist_extension_inl_inl (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (i j : P.obj.ι) :
      @[simp]
      theorem TauCeti.DGTwistedObject.dgHomEquiv_twist_extension_inl_inr (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (i : P.obj.ι) (j : Q.obj.ι) :
      (DGAdditiveClosure.dgHomEquiv R (P.extension Q g hg).obj (P.extension Q g hg).obj 1) (P.extension Q g hg).twist (Sum.inl i) (Sum.inr j) = 0
      @[simp]
      theorem TauCeti.DGTwistedObject.dgHomEquiv_twist_extension_inr_inl (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (i : Q.obj.ι) (j : P.obj.ι) :
      (DGAdditiveClosure.dgHomEquiv R (P.extension Q g hg).obj (P.extension Q g hg).obj 1) (P.extension Q g hg).twist (Sum.inr i) (Sum.inl j) = (DGAdditiveClosure.dgHomEquiv R Q.obj P.obj 1) ((dgHomEquiv R Q P 1) g) i j
      @[simp]
      theorem TauCeti.DGTwistedObject.dgHomEquiv_twist_extension_inr_inr (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (i j : Q.obj.ι) :

      The structure maps of an extension #

      noncomputable def TauCeti.DGTwistedObject.extensionInl (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :
      DGHom R 0 P (P.extension Q g hg)

      The inclusion P ⟶ extension P Q g of the first summand, a closed morphism of degree zero.

      Instances For
        noncomputable def TauCeti.DGTwistedObject.extensionInr (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :
        DGHom R 0 Q (P.extension Q g hg)

        The inclusion Q ⟶ extension P Q g of the second summand, a morphism of degree zero which need not be closed: its differential is g followed by the inclusion of P.

        Instances For
          noncomputable def TauCeti.DGTwistedObject.extensionFst (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :
          DGHom R 0 (P.extension Q g hg) P

          The projection extension P Q g ⟶ P onto the first summand, a morphism of degree zero which need not be closed: its differential is minus the projection onto Q followed by g.

          Instances For
            noncomputable def TauCeti.DGTwistedObject.extensionSnd (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :
            DGHom R 0 (P.extension Q g hg) Q

            The projection extension P Q g ⟶ Q onto the second summand, a closed morphism of degree zero.

            Instances For
              @[simp]
              theorem TauCeti.DGTwistedObject.dgHomEquiv_extensionInl_inl (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (i j : P.obj.ι) :
              (DGAdditiveClosure.dgHomEquiv R P.obj (P.extension Q g hg).obj 0) ((dgHomEquiv R P (P.extension Q g hg) 0) (extensionInl R hg)) i (Sum.inl j) = (DGAdditiveClosure.dgHomEquiv R P.obj P.obj 0) (dgId R P.obj) i j

              The block of the inclusion of P into an extension on the summands of P is the identity.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgHomEquiv_extensionInl_inr (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (i : P.obj.ι) (j : Q.obj.ι) :
              (DGAdditiveClosure.dgHomEquiv R P.obj (P.extension Q g hg).obj 0) ((dgHomEquiv R P (P.extension Q g hg) 0) (extensionInl R hg)) i (Sum.inr j) = 0

              The block of the inclusion of P into an extension to the summands of Q vanishes.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgHomEquiv_extensionInr_inl (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (i : Q.obj.ι) (j : P.obj.ι) :
              (DGAdditiveClosure.dgHomEquiv R Q.obj (P.extension Q g hg).obj 0) ((dgHomEquiv R Q (P.extension Q g hg) 0) (extensionInr R hg)) i (Sum.inl j) = 0

              The block of the inclusion of Q into an extension to the summands of P vanishes.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgHomEquiv_extensionInr_inr (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (i j : Q.obj.ι) :
              (DGAdditiveClosure.dgHomEquiv R Q.obj (P.extension Q g hg).obj 0) ((dgHomEquiv R Q (P.extension Q g hg) 0) (extensionInr R hg)) i (Sum.inr j) = (DGAdditiveClosure.dgHomEquiv R Q.obj Q.obj 0) (dgId R Q.obj) i j

              The block of the inclusion of Q into an extension on the summands of Q is the identity.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgHomEquiv_extensionFst_inl (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (i j : P.obj.ι) :
              (DGAdditiveClosure.dgHomEquiv R (P.extension Q g hg).obj P.obj 0) ((dgHomEquiv R (P.extension Q g hg) P 0) (extensionFst R hg)) (Sum.inl i) j = (DGAdditiveClosure.dgHomEquiv R P.obj P.obj 0) (dgId R P.obj) i j

              The block of the projection of an extension onto P on the summands of P is the identity.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgHomEquiv_extensionFst_inr (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (i : Q.obj.ι) (j : P.obj.ι) :
              (DGAdditiveClosure.dgHomEquiv R (P.extension Q g hg).obj P.obj 0) ((dgHomEquiv R (P.extension Q g hg) P 0) (extensionFst R hg)) (Sum.inr i) j = 0

              The block of the projection of an extension onto P from the summands of Q vanishes.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgHomEquiv_extensionSnd_inl (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (i : P.obj.ι) (j : Q.obj.ι) :
              (DGAdditiveClosure.dgHomEquiv R (P.extension Q g hg).obj Q.obj 0) ((dgHomEquiv R (P.extension Q g hg) Q 0) (extensionSnd R hg)) (Sum.inl i) j = 0

              The block of the projection of an extension onto Q from the summands of P vanishes.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgHomEquiv_extensionSnd_inr (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (i j : Q.obj.ι) :
              (DGAdditiveClosure.dgHomEquiv R (P.extension Q g hg).obj Q.obj 0) ((dgHomEquiv R (P.extension Q g hg) Q 0) (extensionSnd R hg)) (Sum.inr i) j = (DGAdditiveClosure.dgHomEquiv R Q.obj Q.obj 0) (dgId R Q.obj) i j

              The block of the projection of an extension onto Q on the summands of Q is the identity.

              Differentials of the structure maps #

              @[simp]
              theorem TauCeti.DGTwistedObject.dgDifferential_extensionInl (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :

              The inclusion of P into an extension is closed.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgDifferential_extensionSnd (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :

              The projection of an extension onto Q is closed.

              theorem TauCeti.DGTwistedObject.dgDifferential_extensionInr (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :
              (dgDifferential R 0) (extensionInr R hg) = dgComp R g (extensionInl R hg) ⋯

              The differential of the inclusion of Q into an extension along g is g followed by the inclusion of P.

              theorem TauCeti.DGTwistedObject.dgDifferential_extensionFst (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :
              (dgDifferential R 0) (extensionFst R hg) = -dgComp R (extensionSnd R hg) g ⋯

              The differential of the projection of an extension along g onto P is minus the projection onto Q followed by g.

              The biproduct equations #

              @[simp]
              theorem TauCeti.DGTwistedObject.dgComp_extensionInl_extensionFst (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :
              dgComp R (extensionInl R hg) (extensionFst R hg) ⋯ = dgId R P

              The inclusion of P into an extension followed by the projection onto P is the identity.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgComp_extensionInl_extensionSnd (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :
              dgComp R (extensionInl R hg) (extensionSnd R hg) ⋯ = 0

              The inclusion of P into an extension followed by the projection onto Q vanishes.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgComp_extensionInr_extensionFst (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :
              dgComp R (extensionInr R hg) (extensionFst R hg) ⋯ = 0

              The inclusion of Q into an extension followed by the projection onto P vanishes.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgComp_extensionInr_extensionSnd (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :
              dgComp R (extensionInr R hg) (extensionSnd R hg) ⋯ = dgId R Q

              The inclusion of Q into an extension followed by the projection onto Q is the identity.

              theorem TauCeti.DGTwistedObject.extension_total (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :
              dgComp R (extensionFst R hg) (extensionInl R hg) ⋯ + dgComp R (extensionSnd R hg) (extensionInr R hg) ⋯ = dgId R (P.extension Q g hg)

              An extension is the direct sum of P and Q as a graded object: the projections followed by the inclusions sum to the identity.

              theorem TauCeti.DGTwistedObject.extension_dgHom_ext {R : Type v} [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {hg : (dgDifferential R 1) g = 0} {Z : DGTwistedObject R (DGAdditiveClosure E)} {n : ℤ} {f f' : DGHom R n (P.extension Q g hg) Z} (hl : dgComp R (extensionInl R hg) f ⋯ = dgComp R (extensionInl R hg) f' ⋯) (hr : dgComp R (extensionInr R hg) f ⋯ = dgComp R (extensionInr R hg) f' ⋯) :
              f = f'

              Morphisms out of an extension are determined by their restrictions to the summands: two morphisms out of an extension agree once they agree after the inclusions of P and of Q.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgComp_extensionInl_extensionFst_assoc (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) {Z : DGTwistedObject R (DGAdditiveClosure E)} {n : ℤ} (x : DGHom R n P Z) :
              dgComp R (extensionInl R hg) (dgComp R (extensionFst R hg) x ⋯) ⋯ = x

              The inclusion of P followed by the projection onto P and then x is x.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgComp_extensionInl_extensionSnd_assoc (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) {Z : DGTwistedObject R (DGAdditiveClosure E)} {n : ℤ} (x : DGHom R n Q Z) :
              dgComp R (extensionInl R hg) (dgComp R (extensionSnd R hg) x ⋯) ⋯ = 0

              The inclusion of P followed by the projection onto Q and then x vanishes.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgComp_extensionInr_extensionFst_assoc (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) {Z : DGTwistedObject R (DGAdditiveClosure E)} {n : ℤ} (x : DGHom R n P Z) :
              dgComp R (extensionInr R hg) (dgComp R (extensionFst R hg) x ⋯) ⋯ = 0

              The inclusion of Q followed by the projection onto P and then x vanishes.

              @[simp]
              theorem TauCeti.DGTwistedObject.dgComp_extensionInr_extensionSnd_assoc (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) {Z : DGTwistedObject R (DGAdditiveClosure E)} {n : ℤ} (x : DGHom R n Q Z) :
              dgComp R (extensionInr R hg) (dgComp R (extensionSnd R hg) x ⋯) ⋯ = x

              The inclusion of Q followed by the projection onto Q and then x is x.

              Extensions along invertible morphisms are contractible #

              theorem TauCeti.DGTwistedObject.dgDifferential_neg_dgComp_extensionFst_extensionInr (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) {g' : DGHom R (-1) P Q} (hgg' : dgComp R g g' ⋯ = dgId R Q) (hg'g : dgComp R g' g ⋯ = dgId R P) :
              (dgDifferential R (-1)) (-dgComp R (dgComp R (extensionFst R hg) g' ⋯) (extensionInr R hg) ⋯) = dgId R (P.extension Q g hg)

              The contracting homotopy of an extension along an invertible morphism: if the closed degree-one morphism g : Q ⟶ P has an inverse g' : P ⟶ Q of degree -1, then the differential of minus the projection onto P, followed by g' and the inclusion of Q, is the identity of the extension.

              theorem TauCeti.DGTwistedObject.isZero_extension_of_dgComp_eq_dgId (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) {g' : DGHom R (-1) P Q} (hgg' : dgComp R g g' ⋯ = dgId R Q) (hg'g : dgComp R g' g ⋯ = dgId R P) :

              An extension along an invertible morphism is contractible: if the closed degree-one morphism g : Q ⟶ P has an inverse of degree -1, then the extension of Q by P along g is a zero object of the homotopy category.

              The zero object #

              A twisted object with no summands is a zero object of the homotopy category: its identity is the empty matrix, which is the differential of the zero morphism.

              The homotopy category of twisted objects of an additive closure has a zero object: the empty direct sum with the zero twist.

              Extensions along homotopic morphisms are isomorphic #

              noncomputable def TauCeti.DGTwistedObject.extensionHomOfHomotopy (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g g' : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (k : DGHom R 0 Q P) :
              DGHom R 0 (P.extension Q g hg) (P.extension Q g' hg')

              The degree-zero morphism extension P Q g ⟶ extension P Q g' induced by a degree-zero morphism k : Q ⟶ P: the identity on the summands P and Q, together with k in the block from Q to P. It is closed when d k = g - g' (TauCeti.DGTwistedObject.dgDifferential_extensionHomOfHomotopy).

              Instances For
                theorem TauCeti.DGTwistedObject.extensionHomOfHomotopy_def (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g g' : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (k : DGHom R 0 Q P) :
                extensionHomOfHomotopy R hg hg' k = dgComp R (extensionFst R hg) (extensionInl R hg') ⋯ + dgComp R (extensionSnd R hg) (extensionInr R hg') ⋯ + dgComp R (extensionSnd R hg) (dgComp R k (extensionInl R hg') ⋯) ⋯
                @[simp]
                theorem TauCeti.DGTwistedObject.extensionHomOfHomotopy_zero (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :
                extensionHomOfHomotopy R hg hg 0 = dgId R (P.extension Q g hg)

                The morphism of extensions induced by the zero morphism is the identity.

                theorem TauCeti.DGTwistedObject.dgDifferential_extensionHomOfHomotopy (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g g' : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) {k : DGHom R 0 Q P} (hk : (dgDifferential R 0) k = g - g') :

                The morphism of extensions induced by a homotopy is closed: if d k = g - g', then the differential of TauCeti.DGTwistedObject.extensionHomOfHomotopy vanishes.

                @[simp]
                theorem TauCeti.DGTwistedObject.dgComp_extensionInl_extensionHomOfHomotopy (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g g' : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (k : DGHom R 0 Q P) :
                dgComp R (extensionInl R hg) (extensionHomOfHomotopy R hg hg' k) ⋯ = extensionInl R hg'

                The inclusion of P followed by the morphism of extensions induced by k is the inclusion of P.

                theorem TauCeti.DGTwistedObject.dgComp_extensionInr_extensionHomOfHomotopy (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g g' : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (k : DGHom R 0 Q P) :
                dgComp R (extensionInr R hg) (extensionHomOfHomotopy R hg hg' k) ⋯ = extensionInr R hg' + dgComp R k (extensionInl R hg') ⋯

                The inclusion of Q followed by the morphism of extensions induced by k is the inclusion of Q plus k followed by the inclusion of P.

                @[simp]
                theorem TauCeti.DGTwistedObject.dgComp_extensionHomOfHomotopy_extensionSnd (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g g' : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (k : DGHom R 0 Q P) :
                dgComp R (extensionHomOfHomotopy R hg hg' k) (extensionSnd R hg') ⋯ = extensionSnd R hg

                The morphism of extensions induced by k followed by the projection onto Q is the projection onto Q.

                theorem TauCeti.DGTwistedObject.dgComp_extensionHomOfHomotopy_extensionFst (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g g' : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (k : DGHom R 0 Q P) :
                dgComp R (extensionHomOfHomotopy R hg hg' k) (extensionFst R hg') ⋯ = extensionFst R hg + dgComp R (extensionSnd R hg) k ⋯

                The morphism of extensions induced by k followed by the projection onto P is the projection onto P plus the projection onto Q followed by k.

                theorem TauCeti.DGTwistedObject.dgComp_extensionHomOfHomotopy_neg (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g g' : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (k : DGHom R 0 Q P) :
                dgComp R (extensionHomOfHomotopy R hg hg' k) (extensionHomOfHomotopy R hg' hg (-k)) ⋯ = dgId R (P.extension Q g hg)

                The morphisms of extensions induced by k and -k are mutually inverse.

                noncomputable def TauCeti.DGTwistedObject.extensionIsoOfHomotopy (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g g' : DGHom R 1 Q P} {hg : (dgDifferential R 1) g = 0} {hg' : (dgDifferential R 1) g' = 0} {k : DGHom R 0 Q P} (hk : (dgDifferential R 0) k = g - g') :

                Extensions along homotopic morphisms are isomorphic: if g - g' = d k for a degree-zero morphism k : Q ⟶ P, then extension P Q g and extension P Q g' are isomorphic in the homotopy category, through the morphisms induced by k and -k.

                Instances For
                  @[simp]
                  theorem TauCeti.DGTwistedObject.extensionIsoOfHomotopy_hom (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g g' : DGHom R 1 Q P} {hg : (dgDifferential R 1) g = 0} {hg' : (dgDifferential R 1) g' = 0} {k : DGHom R 0 Q P} (hk : (dgDifferential R 0) k = g - g') :
                  @[simp]
                  theorem TauCeti.DGTwistedObject.extensionIsoOfHomotopy_inv (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g g' : DGHom R 1 Q P} {hg : (dgDifferential R 1) g = 0} {hg' : (dgDifferential R 1) g' = 0} {k : DGHom R 0 Q P} (hk : (dgDifferential R 0) k = g - g') :

                  In the homotopy category, the inclusion of P followed by the isomorphism of extensions along homotopic morphisms is the inclusion of P.

                  In the homotopy category, the isomorphism of extensions along homotopic morphisms followed by the projection onto Q is the projection onto Q.

                  Extensions along isomorphic second summands are isomorphic #

                  noncomputable def TauCeti.DGTwistedObject.extensionMap (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (φ : DGHom R 0 Q Q') :
                  DGHom R 0 (P.extension Q g hg) (P.extension Q' g' hg')

                  The degree-zero morphism extension P Q g ⟶ extension P Q' g' induced by a degree-zero morphism φ : Q ⟶ Q': the identity on the summand P and φ on the second summand. It is closed when φ is closed and φ followed by g' is g (TauCeti.DGTwistedObject.dgDifferential_extensionMap).

                  Instances For
                    theorem TauCeti.DGTwistedObject.extensionMap_def (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (φ : DGHom R 0 Q Q') :
                    extensionMap R hg hg' φ = dgComp R (extensionFst R hg) (extensionInl R hg') ⋯ + dgComp R (extensionSnd R hg) (dgComp R φ (extensionInr R hg') ⋯) ⋯
                    @[simp]
                    theorem TauCeti.DGTwistedObject.extensionMap_dgId (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} (hg : (dgDifferential R 1) g = 0) :
                    extensionMap R hg hg (dgId R Q) = dgId R (P.extension Q g hg)

                    The morphism of extensions induced by the identity is the identity.

                    theorem TauCeti.DGTwistedObject.dgDifferential_extensionMap (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) {φ : DGHom R 0 Q Q'} (hφ : (dgDifferential R 0) φ = 0) (h : dgComp R φ g' ⋯ = g) :
                    (dgDifferential R 0) (extensionMap R hg hg' φ) = 0

                    The morphism of extensions induced by a closed morphism compatible with the gluing morphisms is closed: if φ : Q ⟶ Q' is closed and φ followed by g' is g, then the differential of TauCeti.DGTwistedObject.extensionMap vanishes.

                    @[simp]
                    theorem TauCeti.DGTwistedObject.dgComp_extensionInl_extensionMap (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (φ : DGHom R 0 Q Q') :
                    dgComp R (extensionInl R hg) (extensionMap R hg hg' φ) ⋯ = extensionInl R hg'

                    The inclusion of P followed by the morphism of extensions induced by φ is the inclusion of P.

                    @[simp]
                    theorem TauCeti.DGTwistedObject.dgComp_extensionInr_extensionMap (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (φ : DGHom R 0 Q Q') :
                    dgComp R (extensionInr R hg) (extensionMap R hg hg' φ) ⋯ = dgComp R φ (extensionInr R hg') ⋯

                    The inclusion of Q followed by the morphism of extensions induced by φ is φ followed by the inclusion of Q'.

                    @[simp]
                    theorem TauCeti.DGTwistedObject.dgComp_extensionMap_extensionFst (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (φ : DGHom R 0 Q Q') :
                    dgComp R (extensionMap R hg hg' φ) (extensionFst R hg') ⋯ = extensionFst R hg

                    The morphism of extensions induced by φ followed by the projection onto P is the projection onto P.

                    @[simp]
                    theorem TauCeti.DGTwistedObject.dgComp_extensionMap_extensionSnd (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (φ : DGHom R 0 Q Q') :
                    dgComp R (extensionMap R hg hg' φ) (extensionSnd R hg') ⋯ = dgComp R (extensionSnd R hg) φ ⋯

                    The morphism of extensions induced by φ followed by the projection onto Q' is the projection onto Q followed by φ.

                    @[simp]
                    theorem TauCeti.DGTwistedObject.dgComp_extensionInl_extensionMap_assoc (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (φ : DGHom R 0 Q Q') {Z : DGTwistedObject R (DGAdditiveClosure E)} {n : ℤ} (x : DGHom R n (P.extension Q' g' hg') Z) :
                    dgComp R (extensionInl R hg) (dgComp R (extensionMap R hg hg' φ) x ⋯) ⋯ = dgComp R (extensionInl R hg') x ⋯

                    The inclusion of P, followed by the morphism of extensions induced by φ and then x, is the inclusion of P followed by x.

                    @[simp]
                    theorem TauCeti.DGTwistedObject.dgComp_extensionInr_extensionMap_assoc (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (φ : DGHom R 0 Q Q') {Z : DGTwistedObject R (DGAdditiveClosure E)} {n : ℤ} (x : DGHom R n (P.extension Q' g' hg') Z) :
                    dgComp R (extensionInr R hg) (dgComp R (extensionMap R hg hg' φ) x ⋯) ⋯ = dgComp R φ (dgComp R (extensionInr R hg') x ⋯) ⋯

                    The inclusion of Q, followed by the morphism of extensions induced by φ and then x, is φ followed by the inclusion of Q' and then x.

                    @[simp]
                    theorem TauCeti.DGTwistedObject.dgComp_extensionMap_extensionFst_assoc (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (φ : DGHom R 0 Q Q') {Z : DGTwistedObject R (DGAdditiveClosure E)} {n : ℤ} (x : DGHom R n P Z) :
                    dgComp R (extensionMap R hg hg' φ) (dgComp R (extensionFst R hg') x ⋯) ⋯ = dgComp R (extensionFst R hg) x ⋯

                    The morphism of extensions induced by φ, followed by the projection onto P and then x, is the projection onto P followed by x.

                    @[simp]
                    theorem TauCeti.DGTwistedObject.dgComp_extensionMap_extensionSnd_assoc (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) (φ : DGHom R 0 Q Q') {Z : DGTwistedObject R (DGAdditiveClosure E)} {n : ℤ} (x : DGHom R n Q' Z) :
                    dgComp R (extensionMap R hg hg' φ) (dgComp R (extensionSnd R hg') x ⋯) ⋯ = dgComp R (extensionSnd R hg) (dgComp R φ x ⋯) ⋯

                    The morphism of extensions induced by φ, followed by the projection onto Q' and then x, is the projection onto Q followed by φ and then x.

                    @[simp]
                    theorem TauCeti.DGTwistedObject.dgComp_extensionMap (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} (hg : (dgDifferential R 1) g = 0) (hg' : (dgDifferential R 1) g' = 0) {Q'' : DGTwistedObject R (DGAdditiveClosure E)} {g'' : DGHom R 1 Q'' P} (hg'' : (dgDifferential R 1) g'' = 0) (φ : DGHom R 0 Q Q') (ψ : DGHom R 0 Q' Q'') :
                    dgComp R (extensionMap R hg hg' φ) (extensionMap R hg' hg'' ψ) ⋯ = extensionMap R hg hg'' (dgComp R φ ψ ⋯)

                    The morphisms of extensions compose: the morphisms induced by φ : Q ⟶ Q' and ψ : Q' ⟶ Q'' compose to the morphism induced by φ followed by ψ.

                    noncomputable def TauCeti.DGTwistedObject.extensionIsoOfIso (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} {hg : (dgDifferential R 1) g = 0} {hg' : (dgDifferential R 1) g' = 0} {φ : DGHom R 0 Q Q'} {ψ : DGHom R 0 Q' Q} (hφ : (dgDifferential R 0) φ = 0) (hφψ : dgComp R φ ψ ⋯ = dgId R Q) (hψφ : dgComp R ψ φ ⋯ = dgId R Q') (h : dgComp R φ g' ⋯ = g) :

                    Extensions along isomorphic second summands are isomorphic: if φ : Q ⟶ Q' is a closed degree-zero morphism with two-sided inverse ψ and φ followed by g' is g, then extension P Q g and extension P Q' g' are isomorphic in the homotopy category, through the morphisms induced by φ and ψ.

                    Instances For
                      @[simp]
                      theorem TauCeti.DGTwistedObject.extensionIsoOfIso_hom (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} {hg : (dgDifferential R 1) g = 0} {hg' : (dgDifferential R 1) g' = 0} {φ : DGHom R 0 Q Q'} {ψ : DGHom R 0 Q' Q} (hφ : (dgDifferential R 0) φ = 0) (hφψ : dgComp R φ ψ ⋯ = dgId R Q) (hψφ : dgComp R ψ φ ⋯ = dgId R Q') (h : dgComp R φ g' ⋯ = g) :
                      (extensionIsoOfIso R hφ hφψ hψφ h).hom = DGHomotopyCategory.homOf R (extensionMap R hg hg' φ) ⋯
                      @[simp]
                      theorem TauCeti.DGTwistedObject.extensionIsoOfIso_inv (R : Type v) [CommRing R] {E : Type u} [DGCategory R E] {P Q Q' : DGTwistedObject R (DGAdditiveClosure E)} {g : DGHom R 1 Q P} {g' : DGHom R 1 Q' P} {hg : (dgDifferential R 1) g = 0} {hg' : (dgDifferential R 1) g' = 0} {φ : DGHom R 0 Q Q'} {ψ : DGHom R 0 Q' Q} (hφ : (dgDifferential R 0) φ = 0) (hφψ : dgComp R φ ψ ⋯ = dgId R Q) (hψφ : dgComp R ψ φ ⋯ = dgId R Q') (h : dgComp R φ g' ⋯ = g) :
                      (extensionIsoOfIso R hφ hφψ hψφ h).inv = DGHomotopyCategory.homOf R (extensionMap R hg' hg ψ) ⋯

                      Images of extensions #

                      The comparison G (extension P Q g) ⟶ extension (G P) (G Q) (G g) of the image of an extension under the DG functor induced by G with the extension of the images: the images of the projections followed by the inclusions of the target.

                      Instances For

                        The comparison extension (G P) (G Q) (G g) ⟶ G (extension P Q g), inverse to CategoryTheory.EnrichedFunctor.mapExtensionHom: the projections of the source followed by the images of the inclusions.

                        Instances For

                          The comparison of the image of an extension with the extension of the images is the images of the projections followed by the inclusions.

                          @[simp]

                          The comparison of the image of an extension with the extension of the images is closed.

                          @[simp]

                          The comparison followed by the projection onto G Q is the image of the projection onto Q.

                          @[simp]

                          The inclusion of G P followed by the inverse comparison is the image of the inclusion of P.

                          @[simp]

                          The inclusion of G Q followed by the inverse comparison is the image of the inclusion of Q.

                          @[simp]

                          The comparison of the image of an extension with the extension of the images, followed by its inverse, is the identity.

                          @[simp]

                          The inverse comparison followed by the comparison is the identity of the extension of the images.

                          @[simp]

                          The inverse comparison of the extension of the images with the image of an extension is closed.

                          A DG functor preserves extensions: the image of extension P Q g under the DG functor induced by G is isomorphic in the homotopy category to the extension of the images along the image of g.

                          Instances For