Documentation

Mathlib.Algebra.Homology.Embedding.Extend

The extension of a homological complex by an embedding of complex shapes #

Given an embedding e : Embedding c c' of complex shapes, and K : HomologicalComplex C c, we define K.extend e : HomologicalComplex C c', and this leads to a functor e.extendFunctor C : HomologicalComplex C c ⥤ HomologicalComplex C c'.

This construction first appeared in the Liquid Tensor Experiment.

The isomorphism X K i ≅ K.X j when i = some j.

Equations
Instances For

    Given K : HomologicalComplex C c and e : c.Embedding c', this is the extension of K in HomologicalComplex C c': it is zero in the degrees that are not in the image of e.f.

    Equations
    Instances For
      noncomputable def HomologicalComplex.extendXIso {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c) (e : c.Embedding c') {i' : ι'} {i : ι} (h : e.f i = i') :
      (K.extend e).X i' K.X i

      The isomorphism (K.extend e).X i' ≅ K.X i when e.f i = i'.

      Equations
      Instances For
        theorem HomologicalComplex.isZero_extend_X' {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c) (e : c.Embedding c') (i' : ι') (hi' : e.r i' = none) :
        CategoryTheory.Limits.IsZero ((K.extend e).X i')
        theorem HomologicalComplex.isZero_extend_X {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c) (e : c.Embedding c') (i' : ι') (hi' : ∀ (i : ι), e.f i i') :
        CategoryTheory.Limits.IsZero ((K.extend e).X i')
        instance HomologicalComplex.instIsStrictlySupportedExtend {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c) (e : c.Embedding c') :
        (K.extend e).IsStrictlySupported e
        theorem HomologicalComplex.extend_d_eq {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c) (e : c.Embedding c') {i' j' : ι'} {i j : ι} (hi : e.f i = i') (hj : e.f j = j') :
        (K.extend e).d i' j' = CategoryTheory.CategoryStruct.comp (K.extendXIso e hi).hom (CategoryTheory.CategoryStruct.comp (K.d i j) (K.extendXIso e hj).inv)
        theorem HomologicalComplex.extend_d_from_eq_zero {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c) (e : c.Embedding c') (i' j' : ι') (i : ι) (hi : e.f i = i') (hi' : ¬c.Rel i (c.next i)) :
        (K.extend e).d i' j' = 0
        theorem HomologicalComplex.extend_d_to_eq_zero {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c) (e : c.Embedding c') (i' j' : ι') (j : ι) (hj : e.f j = j') (hj' : ¬c.Rel (c.prev j) j) :
        (K.extend e).d i' j' = 0
        noncomputable def HomologicalComplex.extendMap {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {K L : HomologicalComplex C c} (φ : K L) (e : c.Embedding c') :
        K.extend e L.extend e

        Given an ambedding e : c.Embedding c' of complexes shapes, this is the morphism K.extend e ⟶ L.extend e induced by a morphism K ⟶ L in HomologicalComplex C c.

        Equations
        Instances For
          theorem HomologicalComplex.extendMap_f {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {K L : HomologicalComplex C c} (φ : K L) (e : c.Embedding c') {i : ι} {i' : ι'} (h : e.f i = i') :
          (HomologicalComplex.extendMap φ e).f i' = CategoryTheory.CategoryStruct.comp (K.extendXIso e h).hom (CategoryTheory.CategoryStruct.comp (φ.f i) (L.extendXIso e h).inv)
          theorem HomologicalComplex.extendMap_f_eq_zero {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {K L : HomologicalComplex C c} (φ : K L) (e : c.Embedding c') (i' : ι') (hi' : ∀ (i : ι), e.f i i') :
          noncomputable def HomologicalComplex.extendOpIso {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c) (e : c.Embedding c') :
          K.op.extend e.op (K.extend e).op

          The canonical isomorphism K.op.extend e.op ≅ (K.extend e).op.

          Equations
          Instances For
            theorem HomologicalComplex.extend_op_d {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c) (e : c.Embedding c') (i' j' : ι') :
            (K.op.extend e.op).d i' j' = CategoryTheory.CategoryStruct.comp ((K.extendOpIso e).hom.f i') (CategoryTheory.CategoryStruct.comp ((K.extend e).d j' i').op ((K.extendOpIso e).inv.f j'))
            theorem HomologicalComplex.extend_op_d_assoc {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c) (e : c.Embedding c') (i' j' : ι') {Z : Cᵒᵖ} (h : (K.op.extend e.op).X j' Z) :
            CategoryTheory.CategoryStruct.comp ((K.op.extend e.op).d i' j') h = CategoryTheory.CategoryStruct.comp ((K.extendOpIso e).hom.f i') (CategoryTheory.CategoryStruct.comp ((K.extend e).d j' i').op (CategoryTheory.CategoryStruct.comp ((K.extendOpIso e).inv.f j') h))

            Given an embedding e : c.Embedding c' of complex shapes, this is the functor HomologicalComplex C c ⥤ HomologicalComplex C c' which extend complexes along e: the extended complexes are zero in the degrees that are not in the image of e.f.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem ComplexShape.Embedding.extendFunctor_obj {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} (e : c.Embedding c') (C : Type u_3) [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c) :
              (e.extendFunctor C).obj K = K.extend e
              @[simp]
              theorem ComplexShape.Embedding.extendFunctor_map {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} (e : c.Embedding c') (C : Type u_3) [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X✝ Y✝ : HomologicalComplex C c} (φ : X✝ Y✝) :
              (e.extendFunctor C).map φ = HomologicalComplex.extendMap φ e