File: Mathlib/Algebra/Homology/Embedding/Extend.lean

full_name: HomologicalComplex.extend.X
code: /-- Auxiliary definition for the `X` field of `HomologicalComplex.extend`. -/
noncomputable def X : Option ι → C
  
goal: Option ι → C

full_name: HomologicalComplex.extend.XIso
code: /-- The isomorphism `X K i ≅ K.X j` when `i = some j`. -/
noncomputable def XIso {i : Option ι} {j : ι} (hj : i = some j) :
    X K i ≅ K.X j 
goal: HomologicalComplex.extend.X K i ≅ K.X j

full_name: HomologicalComplex.extend.isZero_X
code: lemma isZero_X {i : Option ι} (hi : i = none) :
    IsZero (X K i) 
goal: CategoryTheory.Limits.IsZero (HomologicalComplex.extend.X K i)

full_name: HomologicalComplex.extend.d
code: /-- Auxiliary definition for the `d` field of `HomologicalComplex.extend`. -/
noncomputable def d : ∀ (i j : Option ι), extend.X K i ⟶ extend.X K j
  
goal: HomologicalComplex.extend.X K i ⟶ HomologicalComplex.extend.X K j

full_name: HomologicalComplex.extend.d_none_eq_zero
code: lemma d_none_eq_zero (i j : Option ι) (hi : i = none) :
    d K i j = 0 
goal: HomologicalComplex.extend.d K i j = 0

full_name: HomologicalComplex.extend.d_none_eq_zero'
code: lemma d_none_eq_zero' (i j : Option ι) (hj : j = none) :
    d K i j = 0 
goal: HomologicalComplex.extend.d K i j = 0

full_name: HomologicalComplex.extend.d_eq
code: lemma d_eq {i j : Option ι} {a b : ι} (hi : i = some a) (hj : j = some b) :
    d K i j = (XIso K hi).hom ≫ K.d a b ≫ (XIso K hj).inv 
goal: HomologicalComplex.extend.d K i j =
  (HomologicalComplex.extend.XIso K hi).hom ≫ K.d a b ≫ (HomologicalComplex.extend.XIso K hj).inv

full_name: HomologicalComplex.extend
code: /-- 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`. -/
noncomputable def extend : HomologicalComplex C c' 
goal: HomologicalComplex C c'

full_name: HomologicalComplex.extendXIso
code: /-- The isomorphism `(K.extend e).X i' ≅ K.X i` when `e.f i = i'`. -/
noncomputable def extendXIso {i' : ι'} {i : ι} (h : e.f i = i') :
    (K.extend e).X i' ≅ K.X i 
goal: (K.extend e).X i' ≅ K.X i

full_name: HomologicalComplex.isZero_extend_X'
code: lemma isZero_extend_X' (i' : ι') (hi' : e.r i' = none) :
    IsZero ((K.extend e).X i') 
goal: CategoryTheory.Limits.IsZero ((K.extend e).X i')

full_name: HomologicalComplex.isZero_extend_X
code: lemma isZero_extend_X (i' : ι') (hi' : ∀ i, e.f i ≠ i') :
    IsZero ((K.extend e).X i') 
goal: CategoryTheory.Limits.IsZero ((K.extend e).X i')

full_name: HomologicalComplex.extend_d_eq
code: lemma extend_d_eq {i' j' : ι'} {i j : ι} (hi : e.f i = i') (hj : e.f j = j') :
    (K.extend e).d i' j' = (K.extendXIso e hi).hom ≫ K.d i j ≫
      (K.extendXIso e hj).inv 
goal: (K.extend e).d i' j' = (K.extendXIso e hi).hom ≫ K.d i j ≫ (K.extendXIso e hj).inv

full_name: HomologicalComplex.extend_d_from_eq_zero
code: lemma extend_d_from_eq_zero (i' j' : ι') (i : ι) (hi : e.f i = i') (hi' : ¬ c.Rel i (c.next i)) :
    (K.extend e).d i' j' = 0 
goal: (K.extend e).d i' j' = 0

full_name: HomologicalComplex.extend_d_to_eq_zero
code: lemma extend_d_to_eq_zero (i' j' : ι') (j : ι) (hj : e.f j = j') (hj' : ¬ c.Rel (c.prev j) j) :
    (K.extend e).d i' j' = 0 
goal: (K.extend e).d i' j' = 0