Loogle!
Result
Found 64 declarations mentioning CategoryTheory.Functor.PreservesHomology.
- CategoryTheory.Functor.PreservesHomology 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] : Prop - CategoryTheory.Functor.preservesHomologyOfExact 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [CategoryTheory.Limits.PreservesFiniteLimits F] [CategoryTheory.Limits.PreservesFiniteColimits F] : F.PreservesHomology - CategoryTheory.Functor.PreservesHomology.preservesLeftHomologyOf 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] (S : CategoryTheory.ShortComplex C) [F.PreservesHomology] : F.PreservesLeftHomologyOf S - CategoryTheory.Functor.PreservesHomology.preservesRightHomologyOf 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] (S : CategoryTheory.ShortComplex C) [F.PreservesHomology] : F.PreservesRightHomologyOf S - CategoryTheory.ShortComplex.LeftHomologyData.isPreservedBy_of_preservesHomology 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] {S : CategoryTheory.ShortComplex C} (h : S.LeftHomologyData) (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [F.PreservesHomology] : h.IsPreservedBy F - CategoryTheory.ShortComplex.RightHomologyData.isPreservedBy_of_preservesHomology 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [F.PreservesHomology] : h.IsPreservedBy F - CategoryTheory.Functor.PreservesHomology.preservesCokernel 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [F.PreservesHomology] {X Y : C} (f : X ⟶ Y) : CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.parallelPair f 0) F - CategoryTheory.Functor.PreservesHomology.preservesCokernels 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} {inst✝¹ : CategoryTheory.Category.{v_2, u_2} D} {inst✝² : CategoryTheory.Limits.HasZeroMorphisms C} {inst✝³ : CategoryTheory.Limits.HasZeroMorphisms D} {F : CategoryTheory.Functor C D} {inst✝⁴ : F.PreservesZeroMorphisms} [self : F.PreservesHomology] ⦃X Y : C⦄ (f : X ⟶ Y) : CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.parallelPair f 0) F - CategoryTheory.Functor.PreservesHomology.preservesKernel 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [F.PreservesHomology] {X Y : C} (f : X ⟶ Y) : CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.parallelPair f 0) F - CategoryTheory.Functor.PreservesHomology.preservesKernels 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} {inst✝¹ : CategoryTheory.Category.{v_2, u_2} D} {inst✝² : CategoryTheory.Limits.HasZeroMorphisms C} {inst✝³ : CategoryTheory.Limits.HasZeroMorphisms D} {F : CategoryTheory.Functor C D} {inst✝⁴ : F.PreservesZeroMorphisms} [self : F.PreservesHomology] ⦃X Y : C⦄ (f : X ⟶ Y) : CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.parallelPair f 0) F - CategoryTheory.ShortComplex.homologyFunctorIso 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.CategoryWithHomology D] [F.PreservesHomology] : F.mapShortComplex.comp (CategoryTheory.ShortComplex.homologyFunctor D) ≅ (CategoryTheory.ShortComplex.homologyFunctor C).comp F - CategoryTheory.ShortComplex.cyclesFunctorIso 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [CategoryTheory.Limits.HasKernels C] [CategoryTheory.Limits.HasCokernels C] [CategoryTheory.Limits.HasKernels D] [CategoryTheory.Limits.HasCokernels D] [F.PreservesHomology] : F.mapShortComplex.comp (CategoryTheory.ShortComplex.cyclesFunctor D) ≅ (CategoryTheory.ShortComplex.cyclesFunctor C).comp F - CategoryTheory.ShortComplex.leftHomologyFunctorIso 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [CategoryTheory.Limits.HasKernels C] [CategoryTheory.Limits.HasCokernels C] [CategoryTheory.Limits.HasKernels D] [CategoryTheory.Limits.HasCokernels D] [F.PreservesHomology] : F.mapShortComplex.comp (CategoryTheory.ShortComplex.leftHomologyFunctor D) ≅ (CategoryTheory.ShortComplex.leftHomologyFunctor C).comp F - CategoryTheory.ShortComplex.opcyclesFunctorIso 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [CategoryTheory.Limits.HasKernels C] [CategoryTheory.Limits.HasCokernels C] [CategoryTheory.Limits.HasKernels D] [CategoryTheory.Limits.HasCokernels D] [F.PreservesHomology] : F.mapShortComplex.comp (CategoryTheory.ShortComplex.opcyclesFunctor D) ≅ (CategoryTheory.ShortComplex.opcyclesFunctor C).comp F - CategoryTheory.ShortComplex.rightHomologyFunctorIso 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [CategoryTheory.Limits.HasKernels C] [CategoryTheory.Limits.HasCokernels C] [CategoryTheory.Limits.HasKernels D] [CategoryTheory.Limits.HasCokernels D] [F.PreservesHomology] : F.mapShortComplex.comp (CategoryTheory.ShortComplex.rightHomologyFunctor D) ≅ (CategoryTheory.ShortComplex.rightHomologyFunctor C).comp F - CategoryTheory.Functor.PreservesHomology.mk 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] {F : CategoryTheory.Functor C D} [F.PreservesZeroMorphisms] (preservesKernels : ∀ ⦃X Y : C⦄ (f : X ⟶ Y), CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.parallelPair f 0) F := by infer_instance) (preservesCokernels : ∀ ⦃X Y : C⦄ (f : X ⟶ Y), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.parallelPair f 0) F := by infer_instance) : F.PreservesHomology - CategoryTheory.Functor.instPreservesEpimorphisms 📋 Mathlib.Algebra.Homology.ShortComplex.Exact
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C D) [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroObject D] [F.PreservesZeroMorphisms] [F.PreservesHomology] : F.PreservesEpimorphisms - CategoryTheory.Functor.instPreservesMonomorphisms 📋 Mathlib.Algebra.Homology.ShortComplex.Exact
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C D) [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroObject D] [F.PreservesZeroMorphisms] [F.PreservesHomology] : F.PreservesMonomorphisms - CategoryTheory.Functor.preservesHomology_of_map_exact 📋 Mathlib.CategoryTheory.Abelian.Exact
{A : Type u₁} {B : Type u₂} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Abelian A] [CategoryTheory.Abelian B] (L : CategoryTheory.Functor A B) [L.PreservesZeroMorphisms] (hL : ∀ (S : CategoryTheory.ShortComplex A), S.Exact → (S.map L).Exact) : L.PreservesHomology - CategoryTheory.Functor.preservesHomology_of_preservesEpis_and_kernels 📋 Mathlib.CategoryTheory.Abelian.Exact
{A : Type u₁} {B : Type u₂} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Abelian A] [CategoryTheory.Abelian B] (L : CategoryTheory.Functor A B) [L.PreservesZeroMorphisms] [L.PreservesEpimorphisms] [∀ {X Y : A} (f : X ⟶ Y), CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.parallelPair f 0) L] : L.PreservesHomology - CategoryTheory.Functor.preservesHomology_of_preservesMonos_and_cokernels 📋 Mathlib.CategoryTheory.Abelian.Exact
{A : Type u₁} {B : Type u₂} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Abelian A] [CategoryTheory.Abelian B] (L : CategoryTheory.Functor A B) [L.PreservesZeroMorphisms] [L.PreservesMonomorphisms] [∀ {X Y : A} (f : X ⟶ Y), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.parallelPair f 0) L] : L.PreservesHomology - CategoryTheory.Functor.preservesFiniteColimits_of_preservesHomology 📋 Mathlib.Algebra.Homology.ShortComplex.ExactFunctor
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] (F : CategoryTheory.Functor C D) [F.Additive] [F.PreservesHomology] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasFiniteCoproducts C] [CategoryTheory.Limits.HasCokernels C] : CategoryTheory.Limits.PreservesFiniteColimits F - CategoryTheory.Functor.preservesFiniteLimits_of_preservesHomology 📋 Mathlib.Algebra.Homology.ShortComplex.ExactFunctor
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] (F : CategoryTheory.Functor C D) [F.Additive] [F.PreservesHomology] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasKernels C] : CategoryTheory.Limits.PreservesFiniteLimits F - CategoryTheory.Functor.exact_tfae 📋 Mathlib.Algebra.Homology.ShortComplex.ExactFunctor
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Abelian C] [CategoryTheory.Abelian D] (F : CategoryTheory.Functor C D) [F.Additive] : [∀ (S : CategoryTheory.ShortComplex C), S.ShortExact → (S.map F).ShortExact, ∀ (S : CategoryTheory.ShortComplex C), S.Exact → (S.map F).Exact, F.PreservesHomology, CategoryTheory.Limits.PreservesFiniteLimits F ∧ CategoryTheory.Limits.PreservesFiniteColimits F].TFAE - instPreservesHomologyFunctorAddCommGrpCatColim 📋 Mathlib.Algebra.Category.Grp.AB
{J : Type u} [CategoryTheory.SmallCategory J] [CategoryTheory.IsFiltered J] : CategoryTheory.Limits.colim.PreservesHomology - CategoryTheory.Preadditive.epi_iff_surjective' 📋 Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type w} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Preadditive C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] [CategoryTheory.Limits.HasZeroObject C] {X Y : C} (f : X ⟶ Y) : CategoryTheory.Epi f ↔ Function.Surjective ⇑(CategoryTheory.ConcreteCategory.hom f) - CategoryTheory.Preadditive.mono_iff_injective' 📋 Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type w} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Preadditive C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] [CategoryTheory.Limits.HasZeroObject C] {X Y : C} (f : X ⟶ Y) : CategoryTheory.Mono f ↔ Function.Injective ⇑(CategoryTheory.ConcreteCategory.hom f) - CategoryTheory.ShortComplex.exact_iff_exact_map_forget₂ 📋 Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type w} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Preadditive C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : S.Exact ↔ (S.map (CategoryTheory.forget₂ C Ab)).Exact - CategoryTheory.ShortComplex.SnakeInput.δ_apply 📋 Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Abelian C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] (D : CategoryTheory.ShortComplex.SnakeInput C) (x₃ : CategoryTheory.ToType D.L₀.X₃) (x₂ : CategoryTheory.ToType D.L₁.X₂) (x₁ : CategoryTheory.ToType D.L₂.X₁) (h₂ : (CategoryTheory.ConcreteCategory.hom D.L₁.g) x₂ = (CategoryTheory.ConcreteCategory.hom D.v₀₁.τ₃) x₃) (h₁ : (CategoryTheory.ConcreteCategory.hom D.L₂.f) x₁ = (CategoryTheory.ConcreteCategory.hom D.v₁₂.τ₂) x₂) : (CategoryTheory.ConcreteCategory.hom D.δ) x₃ = (CategoryTheory.ConcreteCategory.hom D.v₂₃.τ₁) x₁ - CategoryTheory.Preadditive.epi_iff_surjective 📋 Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type w} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Preadditive C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] [CategoryTheory.Limits.HasZeroObject C] {X Y : C} (f : X ⟶ Y) : CategoryTheory.Epi f ↔ Function.Surjective ⇑(CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map f)) - CategoryTheory.Preadditive.mono_iff_injective 📋 Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type w} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Preadditive C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] [CategoryTheory.Limits.HasZeroObject C] {X Y : C} (f : X ⟶ Y) : CategoryTheory.Mono f ↔ Function.Injective ⇑(CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map f)) - CategoryTheory.ShortComplex.ShortExact.injective_f 📋 Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type w} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Preadditive C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] {S : CategoryTheory.ShortComplex C} [CategoryTheory.Limits.HasZeroObject C] (hS : S.ShortExact) : Function.Injective ⇑(CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map S.f)) - CategoryTheory.ShortComplex.ShortExact.surjective_g 📋 Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type w} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Preadditive C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] {S : CategoryTheory.ShortComplex C} [CategoryTheory.Limits.HasZeroObject C] (hS : S.ShortExact) : Function.Surjective ⇑(CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map S.g)) - CategoryTheory.ShortComplex.cyclesMk 📋 Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type w} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Preadditive C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] (S : CategoryTheory.ShortComplex C) [S.HasHomology] (x₂ : ↑((CategoryTheory.forget₂ C Ab).obj S.X₂)) (hx₂ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map S.g)) x₂ = 0) : ↑((CategoryTheory.forget₂ C Ab).obj S.cycles) - CategoryTheory.ShortComplex.i_cyclesMk 📋 Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type w} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Preadditive C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] (S : CategoryTheory.ShortComplex C) [S.HasHomology] (x₂ : ↑((CategoryTheory.forget₂ C Ab).obj S.X₂)) (hx₂ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map S.g)) x₂ = 0) : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map S.iCycles)) (S.cyclesMk x₂ hx₂) = x₂ - CategoryTheory.ShortComplex.exact_iff_of_hasForget 📋 Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type w} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Preadditive C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : S.Exact ↔ ∀ (x₂ : ↑((CategoryTheory.forget₂ C Ab).obj S.X₂)), (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map S.g)) x₂ = 0 → ∃ x₁, (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map S.f)) x₁ = x₂ - CategoryTheory.ShortComplex.SnakeInput.δ_apply' 📋 Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Abelian C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] (D : CategoryTheory.ShortComplex.SnakeInput C) (x₃ : ↑((CategoryTheory.forget₂ C Ab).obj D.L₀.X₃)) (x₂ : ↑((CategoryTheory.forget₂ C Ab).obj D.L₁.X₂)) (x₁ : ↑((CategoryTheory.forget₂ C Ab).obj D.L₂.X₁)) (h₂ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map D.L₁.g)) x₂ = (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map D.v₀₁.τ₃)) x₃) (h₁ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map D.L₂.f)) x₁ = (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map D.v₁₂.τ₂)) x₂) : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map D.δ)) x₃ = (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map D.v₂₃.τ₁)) x₁ - CategoryTheory.ShortComplex.instPreservesHomologyModuleCatAbForget₂LinearMapIdCarrierAddMonoidHomCarrier 📋 Mathlib.Algebra.Homology.ShortComplex.ModuleCat
{R : Type u} [Ring R] : (CategoryTheory.forget₂ (ModuleCat R) Ab).PreservesHomology - HomologicalComplex.quasiIsoAt_map_of_preservesHomology 📋 Mathlib.Algebra.Homology.QuasiIso
{ι : Type u_1} {c : ComplexShape ι} {C₁ : Type u_2} {C₂ : Type u_3} [CategoryTheory.Category.{v_1, u_2} C₁] [CategoryTheory.Category.{v_2, u_3} C₂] [CategoryTheory.Preadditive C₁] [CategoryTheory.Preadditive C₂] {K L : HomologicalComplex C₁ c} (φ : K ⟶ L) (F : CategoryTheory.Functor C₁ C₂) [F.Additive] [F.PreservesHomology] (i : ι) [K.HasHomology i] [L.HasHomology i] [((F.mapHomologicalComplex c).obj K).HasHomology i] [((F.mapHomologicalComplex c).obj L).HasHomology i] [hφ : QuasiIsoAt φ i] : QuasiIsoAt ((F.mapHomologicalComplex c).map φ) i - HomologicalComplex.quasiIso_map_of_preservesHomology 📋 Mathlib.Algebra.Homology.QuasiIso
{ι : Type u_1} {c : ComplexShape ι} {C₁ : Type u_2} {C₂ : Type u_3} [CategoryTheory.Category.{v_1, u_2} C₁] [CategoryTheory.Category.{v_2, u_3} C₂] [CategoryTheory.Preadditive C₁] [CategoryTheory.Preadditive C₂] {K L : HomologicalComplex C₁ c} (φ : K ⟶ L) (F : CategoryTheory.Functor C₁ C₂) [F.Additive] [F.PreservesHomology] [∀ (i : ι), K.HasHomology i] [∀ (i : ι), L.HasHomology i] [∀ (i : ι), ((F.mapHomologicalComplex c).obj K).HasHomology i] [∀ (i : ι), ((F.mapHomologicalComplex c).obj L).HasHomology i] [hφ : QuasiIso φ] : QuasiIso ((F.mapHomologicalComplex c).map φ) - HomologicalComplex.quasiIsoAt_map_iff_of_preservesHomology 📋 Mathlib.Algebra.Homology.QuasiIso
{ι : Type u_1} {c : ComplexShape ι} {C₁ : Type u_2} {C₂ : Type u_3} [CategoryTheory.Category.{v_1, u_2} C₁] [CategoryTheory.Category.{v_2, u_3} C₂] [CategoryTheory.Preadditive C₁] [CategoryTheory.Preadditive C₂] {K L : HomologicalComplex C₁ c} (φ : K ⟶ L) (F : CategoryTheory.Functor C₁ C₂) [F.Additive] [F.PreservesHomology] (i : ι) [K.HasHomology i] [L.HasHomology i] [((F.mapHomologicalComplex c).obj K).HasHomology i] [((F.mapHomologicalComplex c).obj L).HasHomology i] [F.ReflectsIsomorphisms] : QuasiIsoAt ((F.mapHomologicalComplex c).map φ) i ↔ QuasiIsoAt φ i - HomologicalComplex.quasiIso_map_iff_of_preservesHomology 📋 Mathlib.Algebra.Homology.QuasiIso
{ι : Type u_1} {c : ComplexShape ι} {C₁ : Type u_2} {C₂ : Type u_3} [CategoryTheory.Category.{v_1, u_2} C₁] [CategoryTheory.Category.{v_2, u_3} C₂] [CategoryTheory.Preadditive C₁] [CategoryTheory.Preadditive C₂] {K L : HomologicalComplex C₁ c} (φ : K ⟶ L) (F : CategoryTheory.Functor C₁ C₂) [F.Additive] [F.PreservesHomology] [∀ (i : ι), K.HasHomology i] [∀ (i : ι), L.HasHomology i] [∀ (i : ι), ((F.mapHomologicalComplex c).obj K).HasHomology i] [∀ (i : ι), ((F.mapHomologicalComplex c).obj L).HasHomology i] [F.ReflectsIsomorphisms] : QuasiIso ((F.mapHomologicalComplex c).map φ) ↔ QuasiIso φ - CategoryTheory.Functor.mapHomologicalComplexUpToQuasiIsoLocalizerMorphism 📋 Mathlib.Algebra.Homology.Localization
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C D) {ι : Type u_3} (c : ComplexShape ι) [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.CategoryWithHomology D] [F.Additive] [F.PreservesHomology] : CategoryTheory.LocalizerMorphism (HomologicalComplex.quasiIso C c) (HomologicalComplex.quasiIso D c) - CategoryTheory.Functor.mapHomologicalComplexUpToQuasiIsoLocalizerMorphism_functor 📋 Mathlib.Algebra.Homology.Localization
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C D) {ι : Type u_3} (c : ComplexShape ι) [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.CategoryWithHomology D] [F.Additive] [F.PreservesHomology] : (F.mapHomologicalComplexUpToQuasiIsoLocalizerMorphism c).functor = F.mapHomologicalComplex c - CategoryTheory.Functor.mapHomologicalComplexUpToQuasiIso 📋 Mathlib.Algebra.Homology.Localization
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C D) {ι : Type u_3} (c : ComplexShape ι) [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.CategoryWithHomology D] [(HomologicalComplex.quasiIso D c).HasLocalization] [F.Additive] [F.PreservesHomology] [(HomologicalComplex.quasiIso C c).HasLocalization] : CategoryTheory.Functor (HomologicalComplexUpToQuasiIso C c) (HomologicalComplexUpToQuasiIso D c) - CategoryTheory.Functor.mapHomologicalComplex_upToQuasiIso_Q_inverts_quasiIso 📋 Mathlib.Algebra.Homology.Localization
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C D) {ι : Type u_3} (c : ComplexShape ι) [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.CategoryWithHomology D] [(HomologicalComplex.quasiIso D c).HasLocalization] [F.Additive] [F.PreservesHomology] : (HomologicalComplex.quasiIso C c).IsInvertedBy ((F.mapHomologicalComplex c).comp HomologicalComplexUpToQuasiIso.Q) - CategoryTheory.Functor.instLiftingHomologicalComplexHomologicalComplexUpToQuasiIsoQQuasiIsoCompMapHomologicalComplexMapHomologicalComplexUpToQuasiIso 📋 Mathlib.Algebra.Homology.Localization
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C D) {ι : Type u_3} (c : ComplexShape ι) [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.CategoryWithHomology D] [(HomologicalComplex.quasiIso D c).HasLocalization] [F.Additive] [F.PreservesHomology] [(HomologicalComplex.quasiIso C c).HasLocalization] : CategoryTheory.Localization.Lifting HomologicalComplexUpToQuasiIso.Q (HomologicalComplex.quasiIso C c) ((F.mapHomologicalComplex c).comp HomologicalComplexUpToQuasiIso.Q) (F.mapHomologicalComplexUpToQuasiIso c) - CategoryTheory.Functor.instLiftingHomotopyCategoryHomologicalComplexUpToQuasiIsoQhQuasiIsoCompMapHomotopyCategoryMapHomologicalComplexUpToQuasiIso 📋 Mathlib.Algebra.Homology.Localization
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C D) {ι : Type u_3} (c : ComplexShape ι) [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.CategoryWithHomology D] [(HomologicalComplex.quasiIso D c).HasLocalization] [F.Additive] [F.PreservesHomology] [(HomologicalComplex.quasiIso C c).HasLocalization] [c.QFactorsThroughHomotopy C] [c.QFactorsThroughHomotopy D] [(HomotopyCategory.quotient C c).IsLocalization (HomologicalComplex.homotopyEquivalences C c)] : CategoryTheory.Localization.Lifting HomologicalComplexUpToQuasiIso.Qh (HomotopyCategory.quasiIso C c) ((F.mapHomotopyCategory c).comp HomologicalComplexUpToQuasiIso.Qh) (F.mapHomologicalComplexUpToQuasiIso c) - CategoryTheory.Functor.mapHomologicalComplexUpToQuasiIsoFactors 📋 Mathlib.Algebra.Homology.Localization
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C D) {ι : Type u_3} (c : ComplexShape ι) [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.CategoryWithHomology D] [(HomologicalComplex.quasiIso D c).HasLocalization] [F.Additive] [F.PreservesHomology] [(HomologicalComplex.quasiIso C c).HasLocalization] : HomologicalComplexUpToQuasiIso.Q.comp (F.mapHomologicalComplexUpToQuasiIso c) ≅ (F.mapHomologicalComplex c).comp HomologicalComplexUpToQuasiIso.Q - CategoryTheory.Functor.mapHomologicalComplexUpToQuasiIsoFactorsh 📋 Mathlib.Algebra.Homology.Localization
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C D) {ι : Type u_3} (c : ComplexShape ι) [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.CategoryWithHomology D] [(HomologicalComplex.quasiIso D c).HasLocalization] [F.Additive] [F.PreservesHomology] [(HomologicalComplex.quasiIso C c).HasLocalization] [c.QFactorsThroughHomotopy C] [c.QFactorsThroughHomotopy D] [(HomotopyCategory.quotient C c).IsLocalization (HomologicalComplex.homotopyEquivalences C c)] : HomologicalComplexUpToQuasiIso.Qh.comp (F.mapHomologicalComplexUpToQuasiIso c) ≅ (F.mapHomotopyCategory c).comp HomologicalComplexUpToQuasiIso.Qh - CategoryTheory.Functor.mapHomologicalComplexUpToQuasiIsoFactorsh_hom_app 📋 Mathlib.Algebra.Homology.Localization
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C D) {ι : Type u_3} {c : ComplexShape ι} [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.CategoryWithHomology D] [(HomologicalComplex.quasiIso D c).HasLocalization] [F.Additive] [F.PreservesHomology] [(HomologicalComplex.quasiIso C c).HasLocalization] [c.QFactorsThroughHomotopy C] [c.QFactorsThroughHomotopy D] [(HomotopyCategory.quotient C c).IsLocalization (HomologicalComplex.homotopyEquivalences C c)] (K : HomologicalComplex C c) : (F.mapHomologicalComplexUpToQuasiIsoFactorsh c).hom.app ((HomotopyCategory.quotient C c).obj K) = CategoryTheory.CategoryStruct.comp ((F.mapHomologicalComplexUpToQuasiIso c).map ((HomologicalComplexUpToQuasiIso.quotientCompQhIso C c).hom.app K)) (CategoryTheory.CategoryStruct.comp ((F.mapHomologicalComplexUpToQuasiIsoFactors c).hom.app K) (CategoryTheory.CategoryStruct.comp ((HomologicalComplexUpToQuasiIso.quotientCompQhIso D c).inv.app ((F.mapHomologicalComplex c).obj K)) (HomologicalComplexUpToQuasiIso.Qh.map ((F.mapHomotopyCategoryFactors c).inv.app K)))) - CategoryTheory.Functor.mapHomologicalComplexUpToQuasiIsoFactorsh_hom_app_assoc 📋 Mathlib.Algebra.Homology.Localization
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C D) {ι : Type u_3} {c : ComplexShape ι} [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.CategoryWithHomology D] [(HomologicalComplex.quasiIso D c).HasLocalization] [F.Additive] [F.PreservesHomology] [(HomologicalComplex.quasiIso C c).HasLocalization] [c.QFactorsThroughHomotopy C] [c.QFactorsThroughHomotopy D] [(HomotopyCategory.quotient C c).IsLocalization (HomologicalComplex.homotopyEquivalences C c)] (K : HomologicalComplex C c) {Z : HomologicalComplexUpToQuasiIso D c} (h : HomologicalComplexUpToQuasiIso.Qh.obj ((F.mapHomotopyCategory c).obj ((HomotopyCategory.quotient C c).obj K)) ⟶ Z) : CategoryTheory.CategoryStruct.comp ((F.mapHomologicalComplexUpToQuasiIsoFactorsh c).hom.app ((HomotopyCategory.quotient C c).obj K)) h = CategoryTheory.CategoryStruct.comp ((F.mapHomologicalComplexUpToQuasiIso c).map ((HomologicalComplexUpToQuasiIso.quotientCompQhIso C c).hom.app K)) (CategoryTheory.CategoryStruct.comp ((F.mapHomologicalComplexUpToQuasiIsoFactors c).hom.app K) (CategoryTheory.CategoryStruct.comp ((HomologicalComplexUpToQuasiIso.quotientCompQhIso D c).inv.app ((F.mapHomologicalComplex c).obj K)) (CategoryTheory.CategoryStruct.comp (HomologicalComplexUpToQuasiIso.Qh.map ((F.mapHomotopyCategoryFactors c).inv.app K)) h))) - HomologicalComplex.cyclesMk 📋 Mathlib.Algebra.Homology.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Abelian C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) {i : ι} (x : ↑((CategoryTheory.forget₂ C Ab).obj (K.X i))) (j : ι) (hj : c.next i = j) (hx : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (K.d i j))) x = 0) : ↑((CategoryTheory.forget₂ C Ab).obj (K.cycles i)) - HomologicalComplex.i_cyclesMk 📋 Mathlib.Algebra.Homology.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Abelian C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) {i : ι} (x : ↑((CategoryTheory.forget₂ C Ab).obj (K.X i))) (j : ι) (hj : c.next i = j) (hx : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (K.d i j))) x = 0) : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (K.iCycles i))) (K.cyclesMk x j hj hx) = x - CategoryTheory.ShortComplex.ShortExact.d_eq_zero_of_f_eq_d_apply 📋 Mathlib.Algebra.Homology.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Abelian C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] {ι : Type u_2} {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (x₂ : ↑((CategoryTheory.forget₂ C Ab).obj (S.X₂.X i))) (x₁ : ↑((CategoryTheory.forget₂ C Ab).obj (S.X₁.X j))) (hx₁ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.f.f j))) x₁ = (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₂.d i j))) x₂) (k : ι) : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₁.d j k))) x₁ = 0 - CategoryTheory.ShortComplex.ShortExact.δ_apply' 📋 Mathlib.Algebra.Homology.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Abelian C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] {ι : Type u_2} {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) (x₃ : ↑((CategoryTheory.forget₂ C Ab).obj (S.X₃.homology i))) (x₂ : ↑((CategoryTheory.forget₂ C Ab).obj (S.X₂.opcycles i))) (x₁ : ↑((CategoryTheory.forget₂ C Ab).obj (S.X₁.cycles j))) (h₂ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (HomologicalComplex.opcyclesMap S.g i))) x₂ = (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₃.homologyι i))) x₃) (h₁ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (HomologicalComplex.cyclesMap S.f j))) x₁ = (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₂.opcyclesToCycles i j))) x₂) : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (hS.δ i j hij))) x₃ = (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₁.homologyπ j))) x₁ - CategoryTheory.ShortComplex.ShortExact.δ_apply 📋 Mathlib.Algebra.Homology.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Abelian C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] {ι : Type u_2} {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) (x₃ : ↑((CategoryTheory.forget₂ C Ab).obj (S.X₃.X i))) (hx₃ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₃.d i j))) x₃ = 0) (x₂ : ↑((CategoryTheory.forget₂ C Ab).obj (S.X₂.X i))) (hx₂ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.g.f i))) x₂ = x₃) (x₁ : ↑((CategoryTheory.forget₂ C Ab).obj (S.X₁.X j))) (hx₁ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.f.f j))) x₁ = (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₂.d i j))) x₂) (k : ι) (hk : c.next j = k) : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (hS.δ i j hij))) ((CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₃.homologyπ i))) (S.X₃.cyclesMk x₃ j ⋯ hx₃)) = (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₁.homologyπ j))) (S.X₁.cyclesMk x₁ k hk ⋯) - CategoryTheory.Functor.mapProjectiveResolution 📋 Mathlib.CategoryTheory.Preadditive.Projective.Resolution
{C : Type u} [CategoryTheory.Category.{v_1, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Preadditive C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] [CategoryTheory.Limits.HasZeroObject D] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology D] (F : CategoryTheory.Functor C D) [F.Additive] [F.PreservesProjectiveObjects] [F.PreservesHomology] {Z : C} (P : CategoryTheory.ProjectiveResolution Z) : CategoryTheory.ProjectiveResolution (F.obj Z) - CategoryTheory.Functor.mapProjectiveResolution_complex 📋 Mathlib.CategoryTheory.Preadditive.Projective.Resolution
{C : Type u} [CategoryTheory.Category.{v_1, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Preadditive C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] [CategoryTheory.Limits.HasZeroObject D] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology D] (F : CategoryTheory.Functor C D) [F.Additive] [F.PreservesProjectiveObjects] [F.PreservesHomology] {Z : C} (P : CategoryTheory.ProjectiveResolution Z) : (F.mapProjectiveResolution P).complex = (F.mapHomologicalComplex (ComplexShape.down ℕ)).obj P.complex - CategoryTheory.Functor.mapProjectiveResolution_π 📋 Mathlib.CategoryTheory.Preadditive.Projective.Resolution
{C : Type u} [CategoryTheory.Category.{v_1, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Preadditive C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] [CategoryTheory.Limits.HasZeroObject D] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology D] (F : CategoryTheory.Functor C D) [F.Additive] [F.PreservesProjectiveObjects] [F.PreservesHomology] {Z : C} (P : CategoryTheory.ProjectiveResolution Z) : (F.mapProjectiveResolution P).π = CategoryTheory.CategoryStruct.comp ((F.mapHomologicalComplex (ComplexShape.down ℕ)).map P.π) ((HomologicalComplex.singleMapHomologicalComplex F (ComplexShape.down ℕ) 0).hom.app Z) - CategoryTheory.preservesHomology_preadditiveCoyonedaObj_of_projective 📋 Mathlib.CategoryTheory.Abelian.Projective.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (P : C) [hP : CategoryTheory.Projective P] : (CategoryTheory.preadditiveCoyonedaObj P).PreservesHomology - CategoryTheory.preservesHomology_preadditiveYonedaObj_of_injective 📋 Mathlib.CategoryTheory.Abelian.Injective.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (J : C) [hJ : CategoryTheory.Injective J] : (CategoryTheory.preadditiveYonedaObj J).PreservesHomology - CategoryTheory.JointlyReflectIsomorphisms.exact_iff 📋 Mathlib.CategoryTheory.Functor.ReflectsIso.Exact
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {I : Type u_2} {D : I → Type u_3} [(i : I) → CategoryTheory.Category.{v_2, u_3} (D i)] {F : (i : I) → CategoryTheory.Functor C (D i)} (hP : CategoryTheory.JointlyReflectIsomorphisms F) [CategoryTheory.Limits.HasZeroMorphisms C] [(i : I) → CategoryTheory.Limits.HasZeroMorphisms (D i)] [∀ (i : I), (F i).PreservesZeroMorphisms] [CategoryTheory.CategoryWithHomology C] [∀ (i : I), (F i).PreservesHomology] [CategoryTheory.Limits.HasZeroObject C] (S : CategoryTheory.ShortComplex C) : S.Exact ↔ ∀ (i : I), (S.map (F i)).Exact - CategoryTheory.JointlyReflectIsomorphisms.exactAt_iff 📋 Mathlib.CategoryTheory.Functor.ReflectsIso.Exact
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {I : Type u_2} {D : I → Type u_3} [(i : I) → CategoryTheory.Category.{v_2, u_3} (D i)] {F : (i : I) → CategoryTheory.Functor C (D i)} (hP : CategoryTheory.JointlyReflectIsomorphisms F) [CategoryTheory.Limits.HasZeroMorphisms C] [(i : I) → CategoryTheory.Limits.HasZeroMorphisms (D i)] [∀ (i : I), (F i).PreservesZeroMorphisms] [CategoryTheory.CategoryWithHomology C] [∀ (i : I), (F i).PreservesHomology] [CategoryTheory.Limits.HasZeroObject C] {α : Type u_4} {c : ComplexShape α} (K : HomologicalComplex C c) (a : α) : K.ExactAt a ↔ ∀ (i : I), (((F i).mapHomologicalComplex c).obj K).ExactAt a
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision ce5dd8c