Homology is an additive functor #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
When V
is preadditive, homological_complex V c
is also preadditive,
and homology_functor
is additive.
TODO: similarly for R
-linear.
Equations
- homological_complex.quiver.hom.add_comm_group = function.injective.add_comm_group homological_complex.hom.f homological_complex.quiver.hom.add_comm_group._proof_1 homological_complex.quiver.hom.add_comm_group._proof_2 homological_complex.quiver.hom.add_comm_group._proof_3 homological_complex.quiver.hom.add_comm_group._proof_4 homological_complex.quiver.hom.add_comm_group._proof_5 homological_complex.quiver.hom.add_comm_group._proof_6 homological_complex.quiver.hom.add_comm_group._proof_7
Equations
- homological_complex.category_theory.preadditive = {hom_group := λ (P Q : homological_complex V c), homological_complex.quiver.hom.add_comm_group, add_comp' := _, comp_add' := _}
The i
-th component of a chain map, as an additive map from chain maps to morphisms.
Equations
- homological_complex.hom.f_add_monoid_hom i = add_monoid_hom.mk' (λ (f : C₁ ⟶ C₂), f.f i) _
An additive functor induces a functor between homological complexes. This is sometimes called the "prolongation".
Equations
Instances for category_theory.functor.map_homological_complex
The functor on homological complexes induced by the identity functor is isomorphic to the identity functor.
Equations
- category_theory.functor.map_homological_complex_id_iso V c = category_theory.nat_iso.of_components (λ (K : homological_complex V c), homological_complex.hom.iso_of_components (λ (i : ι), category_theory.iso.refl ((((𝟭 V).map_homological_complex c).obj K).X i)) _) _
A natural transformation between functors induces a natural transformation between those functors applied to homological complexes.
Equations
- category_theory.nat_trans.map_homological_complex α c = {app := λ (C : homological_complex V c), {f := λ (i : ι), α.app (C.X i), comm' := _}, naturality' := _}
A natural isomorphism between functors induces a natural isomorphism between those functors applied to homological complexes.
Equations
An equivalence of categories induces an equivalences between the respective categories of homological complex.
Equations
- e.map_homological_complex c = {functor := e.functor.map_homological_complex c, inverse := e.inverse.map_homological_complex c, unit_iso := (category_theory.functor.map_homological_complex_id_iso V c).symm ≪≫ category_theory.nat_iso.map_homological_complex e.unit_iso c, counit_iso := category_theory.nat_iso.map_homological_complex e.counit_iso c ≪≫ category_theory.functor.map_homological_complex_id_iso W c, functor_unit_iso_comp' := _}
Turning an object into a complex supported at j
then applying a functor is
the same as applying the functor then forming the complex.
Equations
- homological_complex.single_map_homological_complex F c j = category_theory.nat_iso.of_components (λ (X : V), {hom := {f := λ (i : ι), dite (i = j) (λ (h : i = j), category_theory.eq_to_hom _) (λ (h : ¬i = j), 0), comm' := _}, inv := {f := λ (i : ι), dite (i = j) (λ (h : i = j), category_theory.eq_to_hom _) (λ (h : ¬i = j), 0), comm' := _}, hom_inv_id' := _, inv_hom_id' := _}) _
Turning an object into a chain complex supported at zero then applying a functor is the same as applying the functor then forming the complex.
Equations
- chain_complex.single₀_map_homological_complex F = category_theory.nat_iso.of_components (λ (X : V), {hom := {f := λ (i : ℕ), chain_complex.single₀_map_homological_complex._match_1 F X i, comm' := _}, inv := {f := λ (i : ℕ), chain_complex.single₀_map_homological_complex._match_2 F X i, comm' := _}, hom_inv_id' := _, inv_hom_id' := _}) _
- chain_complex.single₀_map_homological_complex._match_1 F X (i + 1) = F.map_zero_object.hom
- chain_complex.single₀_map_homological_complex._match_1 F X 0 = 𝟙 (((chain_complex.single₀ V ⋙ F.map_homological_complex (complex_shape.down ℕ)).obj X).X 0)
- chain_complex.single₀_map_homological_complex._match_2 F X (i + 1) = F.map_zero_object.inv
- chain_complex.single₀_map_homological_complex._match_2 F X 0 = 𝟙 (((F ⋙ chain_complex.single₀ W).obj X).X 0)
Turning an object into a cochain complex supported at zero then applying a functor is the same as applying the functor then forming the cochain complex.
Equations
- cochain_complex.single₀_map_homological_complex F = category_theory.nat_iso.of_components (λ (X : V), {hom := {f := λ (i : ℕ), cochain_complex.single₀_map_homological_complex._match_1 F X i, comm' := _}, inv := {f := λ (i : ℕ), cochain_complex.single₀_map_homological_complex._match_2 F X i, comm' := _}, hom_inv_id' := _, inv_hom_id' := _}) _
- cochain_complex.single₀_map_homological_complex._match_1 F X (i + 1) = F.map_zero_object.hom
- cochain_complex.single₀_map_homological_complex._match_1 F X 0 = 𝟙 (((cochain_complex.single₀ V ⋙ F.map_homological_complex (complex_shape.up ℕ)).obj X).X 0)
- cochain_complex.single₀_map_homological_complex._match_2 F X (i + 1) = F.map_zero_object.inv
- cochain_complex.single₀_map_homological_complex._match_2 F X 0 = 𝟙 (((F ⋙ cochain_complex.single₀ W).obj X).X 0)