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.

Auxiliary definition for the X field of HomologicalComplex.extend.

Instances For
    noncomputable def HomologicalComplex.extend.XIso {ι : Type u_1} {c : ComplexShape ι} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c) {i : Option ι} {j : ι} (hj : i = some j) :
    X K i K.X j

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

    Instances For

      The canonical isomorphism X K.op i ≅ Opposite.op (X K i).

      Instances For

        Auxiliary definition for the d field of HomologicalComplex.extend.

        Instances For

          Auxiliary definition for HomologicalComplex.extendMap.

          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.

            Instances For
              noncomputable def HomologicalComplex.extendXIso {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, 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'.

              Instances For
                theorem HomologicalComplex.extend_d_eq {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, 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') :
                theorem HomologicalComplex.extend_d_from_eq_zero {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, 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.{v_1, 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

                Given an embedding 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.

                Instances For
                  theorem HomologicalComplex.extendMap_f_eq_zero {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, 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') :
                  (extendMap φ e).f i' = 0

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

                  Instances For
                    @[simp]
                    theorem HomologicalComplex.extendMap_add {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Preadditive C] {K L : HomologicalComplex C c} (φ φ' : K L) (e : c.Embedding c') :
                    extendMap (φ + φ') e = extendMap φ e + extendMap φ' e
                    @[simp]
                    theorem HomologicalComplex.extend_single_d {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] [DecidableEq ι] (e : c.Embedding c') (X : C) (i : ι) (j' k' : ι') :
                    (((single C c i).obj X).extend e).d j' k' = 0
                    noncomputable def HomologicalComplex.extendSingleIso {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] [DecidableEq ι] (e : c.Embedding c') (X : C) [DecidableEq ι'] (i : ι) (i' : ι') (h : e.f i = i') :
                    ((single C c i).obj X).extend e (single C c' i').obj X

                    The extension of a single complex is a single complex.

                    Instances For
                      theorem HomologicalComplex.extendSingleIso_hom_f {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] [DecidableEq ι] (e : c.Embedding c') (X : C) [DecidableEq ι'] (i : ι) (i' : ι') (h : e.f i = i') :
                      theorem HomologicalComplex.extendSingleIso_hom_f_assoc {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] [DecidableEq ι] (e : c.Embedding c') (X : C) [DecidableEq ι'] (i : ι) (i' : ι') (h : e.f i = i') {Z : C} (h✝ : ((single C c' i').obj X).X i' Z) :
                      theorem HomologicalComplex.extendSingleIso_inv_f {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] [DecidableEq ι] (e : c.Embedding c') (X : C) [DecidableEq ι'] (i : ι) (i' : ι') (h : e.f i = i') :
                      theorem HomologicalComplex.extendSingleIso_inv_f_assoc {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] [DecidableEq ι] (e : c.Embedding c') (X : C) [DecidableEq ι'] (i : ι) (i' : ι') (h : e.f i = i') {Z : C} (h✝ : (((single C c i).obj X).extend e).X i' Z) :

                      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.

                      Instances For

                        The extension functor attached to an embedding of complex shapes is fully faithful.

                        Instances For