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

full_name: HomologicalComplex.truncGE'.X
code: /-- The `X` field of `truncGE'`. -/
noncomputable def X (i : ι) : C 
goal: C

full_name: HomologicalComplex.truncGE'.XIsoOpcycles
code: /-- The isomorphism `truncGE'.X K e i ≅ K.opcycles (e.f i)` when `e.BoundaryGE i` holds.-/
noncomputable def XIsoOpcycles {i : ι} (hi : e.BoundaryGE i) :
    X K e i ≅ K.opcycles (e.f i) 
goal: HomologicalComplex.truncGE'.X K e i ≅ K.opcycles (e.f i)

full_name: HomologicalComplex.truncGE'.XIso
code: /-- The isomorphism `truncGE'.X K e i ≅ K.X (e.f i)` when `e.BoundaryGE i` does not hold.-/
noncomputable def XIso {i : ι} (hi : ¬ e.BoundaryGE i) :
    X K e i ≅ K.X (e.f i) 
goal: HomologicalComplex.truncGE'.X K e i ≅ K.X (e.f i)

full_name: HomologicalComplex.truncGE'.d
code: /-- The `d` field of `truncGE'`. -/
noncomputable def d (i j : ι) : X K e i ⟶ X K e j 
goal: HomologicalComplex.truncGE'.X K e i ⟶ HomologicalComplex.truncGE'.X K e j

full_name: HomologicalComplex.truncGE'.d_comp_d
code: @[reassoc (attr := simp)]
lemma d_comp_d (i j k : ι) : d K e i j ≫ d K e j k = 0 
goal: HomologicalComplex.truncGE'.d K e i j ≫ HomologicalComplex.truncGE'.d K e j k = 0

full_name: HomologicalComplex.truncGE'
code: /-- The canonical truncation of a homological complex relative to an embedding
of complex shapes `e` which satisfies `e.IsTruncGE`. -/
noncomputable def truncGE' : HomologicalComplex C c 
goal: HomologicalComplex C c

full_name: HomologicalComplex.truncGE'XIso
code: /-- The isomorphism `(K.truncGE' e).X i ≅ K.X i'` when `e.f i = i'`
and `e.BoundaryGE i` does not hold. -/
noncomputable def truncGE'XIso {i : ι} {i' : ι'} (hi' : e.f i = i') (hi : ¬ e.BoundaryGE i) :
    (K.truncGE' e).X i ≅ K.X i' 
goal: (K.truncGE' e).X i ≅ K.X i'

full_name: HomologicalComplex.truncGE'XIsoOpcycles
code: /-- The isomorphism `(K.truncGE' e).X i ≅ K.opcycles i'` when `e.f i = i'`
and `e.BoundaryGE i` holds. -/
noncomputable def truncGE'XIsoOpcycles {i : ι} {i' : ι'} (hi' : e.f i = i') (hi : e.BoundaryGE i) :
    (K.truncGE' e).X i ≅ K.opcycles i' 
goal: (K.truncGE' e).X i ≅ K.opcycles i'

full_name: HomologicalComplex.truncGE'_d_eq
code: lemma truncGE'_d_eq {i j : ι} (hij : c.Rel i j)  {i' j' : ι'}
    (hi' : e.f i = i') (hj' : e.f j = j')  (hi : ¬ e.BoundaryGE i) :
    (K.truncGE' e).d i j = (K.truncGE'XIso e hi' hi).hom ≫ K.d i' j' ≫
      (K.truncGE'XIso e hj' (e.not_boundaryGE_next hij)).inv 
goal: (K.truncGE' e).d i j = (K.truncGE'XIso e hi' hi).hom ≫ K.d i' j' ≫ (K.truncGE'XIso e hj' ⋯).inv

full_name: HomologicalComplex.truncGE'_d_eq_fromOpcycles
code: lemma truncGE'_d_eq_fromOpcycles {i j : ι} (hij : c.Rel i j) {i' j' : ι'}
    (hi' : e.f i = i') (hj' : e.f j = j') (hi : e.BoundaryGE i) :
    (K.truncGE' e).d i j = (K.truncGE'XIsoOpcycles e hi' hi).hom ≫ K.fromOpcycles i' j' ≫
      (K.truncGE'XIso e hj' (e.not_boundaryGE_next hij)).inv 
goal: (K.truncGE' e).d i j = (K.truncGE'XIsoOpcycles e hi' hi).hom ≫ K.fromOpcycles i' j' ≫ (K.truncGE'XIso e hj' ⋯).inv

full_name: HomologicalComplex.truncGE
code: /-- The canonical truncation of a homological complex relative to an embedding
of complex shapes `e` which satisfies `e.IsTruncGE`. -/
noncomputable def truncGE : HomologicalComplex C c' 
goal: HomologicalComplex C c'

full_name: HomologicalComplex.truncGEXIso
code: /-- The isomorphism `(K.truncGE e).X i' ≅ K.X i'` when `e.f i = i'`
and `e.BoundaryGE i` does not hold. -/
noncomputable def truncGEXIso {i : ι} {i' : ι'} (hi' : e.f i = i') (hi : ¬ e.BoundaryGE i) :
    (K.truncGE e).X i' ≅ K.X i' 
goal: (K.truncGE e).X i' ≅ K.X i'

full_name: HomologicalComplex.truncGEXIsoOpcycles
code: /-- The isomorphism `(K.truncGE e).X i' ≅ K.opcycles i'` when `e.f i = i'`
and `e.BoundaryGE i` holds. -/
noncomputable def truncGEXIsoOpcycles {i : ι} {i' : ι'} (hi' : e.f i = i') (hi : e.BoundaryGE i) :
    (K.truncGE e).X i' ≅ K.opcycles i' 
goal: (K.truncGE e).X i' ≅ K.opcycles i'