Documentation

Mathlib.Algebra.Homology.HomotopyCategory.HomComplexSingle

Cochains from or to single complexes #

We introduce constructors Cochain.fromSingleMk and Cocycle.fromSingleMk for cochains and cocycles from a single complex. We also introduce similar definitions for cochains and cocycles to a single complex.

noncomputable def CochainComplex.HomComplex.Cochain.fromSingleMk {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : X K.X q) {n : } :
p + n = qCochain ((singleFunctor C p).obj X) K n

Constructor for cochains from a single complex.

Instances For
    theorem CochainComplex.HomComplex.Cochain.fromSingleMk_v_eq_zero {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : X K.X q) {n : } (h : p + n = q) (p' q' : ) (hpq' : p' + n = q') (hp' : p' p) :
    (fromSingleMk f h).v p' q' hpq' = 0
    theorem CochainComplex.HomComplex.Cochain.δ_fromSingleMk {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : X K.X q) {n : } (h : p + n = q) (n' q' : ) (h' : p + n' = q') :

    Cochains of degree n from (singleFunctor C p).obj X to K identify to X ⟶ K.X q when p + n = q.

    Instances For
      noncomputable def CochainComplex.HomComplex.Cochain.toSingleMk {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : K.X p X) {n : } :
      p + n = qCochain K ((singleFunctor C q).obj X) n

      Constructor for cochains to a single complex.

      Instances For
        theorem CochainComplex.HomComplex.Cochain.toSingleMk_v_eq_zero {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : K.X p X) {n : } (h : p + n = q) (p' q' : ) (hpq' : p' + n = q') (hp' : p' p) :
        (toSingleMk f h).v p' q' hpq' = 0
        theorem CochainComplex.HomComplex.Cochain.δ_toSingleMk {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : K.X p X) {n : } (h : p + n = q) (n' p' : ) (h' : p' + n' = q) :

        Cochains of degree n from (singleFunctor C q).obj X to K identify to K.X p ⟶ X when p + n = q.

        Instances For
          @[simp]
          theorem CochainComplex.HomComplex.Cochain.toSingleMk_add {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f g : K.X p X) {n : } (h : p + n = q) :
          toSingleMk (f + g) h = toSingleMk f h + toSingleMk g h
          @[simp]
          theorem CochainComplex.HomComplex.Cochain.toSingleMk_sub {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f g : K.X p X) {n : } (h : p + n = q) :
          toSingleMk (f - g) h = toSingleMk f h - toSingleMk g h
          theorem CochainComplex.HomComplex.Cochain.toSingleMk_surjective {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {q n : } (α : Cochain K ((singleFunctor C q).obj X) n) (p : ) (h : p + n = q) :
          ∃ (f : K.X p X), toSingleMk f h = α
          noncomputable def CochainComplex.HomComplex.Cocycle.fromSingleMk {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : X K.X q) {n : } (h : p + n = q) (q' : ) (hq' : q + 1 = q') (hf : CategoryTheory.CategoryStruct.comp f (K.d q q') = 0) :
          Cocycle ((singleFunctor C p).obj X) K n

          Constructor for cocycles from a single complex.

          Instances For
            @[simp]
            theorem CochainComplex.HomComplex.Cocycle.fromSingleMk_coe {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : X K.X q) {n : } (h : p + n = q) (q' : ) (hq' : q + 1 = q') (hf : CategoryTheory.CategoryStruct.comp f (K.d q q') = 0) :
            (fromSingleMk f h q' hq' hf) = Cochain.fromSingleMk f h
            theorem CochainComplex.HomComplex.Cocycle.fromSingleMk_precomp {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {X' : C} (g : X' X) {p q : } (f : X K.X q) {n : } (h : p + n = q) (q' : ) (hq' : q + 1 = q') (hf : CategoryTheory.CategoryStruct.comp f (K.d q q') = 0) :
            theorem CochainComplex.HomComplex.Cocycle.fromSingleMk_postcomp {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : X K.X q) {n : } (h : p + n = q) (q' : ) (hq' : q + 1 = q') (hf : CategoryTheory.CategoryStruct.comp f (K.d q q') = 0) {L : CochainComplex C } (g : K L) :
            fromSingleMk (CategoryTheory.CategoryStruct.comp f (g.f q)) h q' hq' = (fromSingleMk f h q' hq' hf).postcomp g
            theorem CochainComplex.HomComplex.Cocycle.fromSingleMk_surjective {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p n : } (α : Cocycle ((singleFunctor C p).obj X) K n) (q : ) (h : p + n = q) (q' : ) (hq' : q + 1 = q') :
            ∃ (f : X K.X q) (hf : CategoryTheory.CategoryStruct.comp f (K.d q q') = 0), fromSingleMk f h q' hq' hf = α
            theorem CochainComplex.HomComplex.Cocycle.fromSingleMk_add {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f g : X K.X q) {n : } (h : p + n = q) (q' : ) (hq' : q + 1 = q') (hf : CategoryTheory.CategoryStruct.comp f (K.d q q') = 0) (hg : CategoryTheory.CategoryStruct.comp g (K.d q q') = 0) :
            fromSingleMk (f + g) h q' hq' = fromSingleMk f h q' hq' hf + fromSingleMk g h q' hq' hg
            theorem CochainComplex.HomComplex.Cocycle.fromSingleMk_sub {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f g : X K.X q) {n : } (h : p + n = q) (q' : ) (hq' : q + 1 = q') (hf : CategoryTheory.CategoryStruct.comp f (K.d q q') = 0) (hg : CategoryTheory.CategoryStruct.comp g (K.d q q') = 0) :
            fromSingleMk (f - g) h q' hq' = fromSingleMk f h q' hq' hf - fromSingleMk g h q' hq' hg
            theorem CochainComplex.HomComplex.Cocycle.fromSingleMk_neg {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : X K.X q) {n : } (h : p + n = q) (q' : ) (hq' : q + 1 = q') (hf : CategoryTheory.CategoryStruct.comp f (K.d q q') = 0) :
            fromSingleMk (-f) h q' hq' = -fromSingleMk f h q' hq' hf
            @[simp]
            theorem CochainComplex.HomComplex.Cocycle.fromSingleMk_zero {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] (X : C) (K : CochainComplex C ) {p q n : } (h : p + n = q) (q' : ) (hq' : q + 1 = q') :
            fromSingleMk 0 h q' hq' = 0
            theorem CochainComplex.HomComplex.Cocycle.fromSingleMk_mem_coboundaries_iff {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : X K.X q) {n : } (h : p + n = q) (q' : ) (hq' : q + 1 = q') (hf : CategoryTheory.CategoryStruct.comp f (K.d q q') = 0) (q'' : ) (hq'' : q'' + 1 = q) :
            fromSingleMk f h q' hq' hf coboundaries ((singleFunctor C p).obj X) K n ∃ (g : X K.X q''), CategoryTheory.CategoryStruct.comp g (K.d q'' q) = f
            noncomputable def CochainComplex.HomComplex.Cocycle.toSingleMk {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : K.X p X) {n : } (h : p + n = q) (p' : ) (hp' : p' + 1 = p) (hf : CategoryTheory.CategoryStruct.comp (K.d p' p) f = 0) :
            Cocycle K ((singleFunctor C q).obj X) n

            Constructor for cocycles to a single complex.

            Instances For
              @[simp]
              theorem CochainComplex.HomComplex.Cocycle.toSingleMk_coe {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : K.X p X) {n : } (h : p + n = q) (p' : ) (hp' : p' + 1 = p) (hf : CategoryTheory.CategoryStruct.comp (K.d p' p) f = 0) :
              (toSingleMk f h p' hp' hf) = Cochain.toSingleMk f h
              theorem CochainComplex.HomComplex.Cocycle.toSingleMk_postcomp {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : K.X p X) {n : } (h : p + n = q) (p' : ) (hp' : p' + 1 = p) (hf : CategoryTheory.CategoryStruct.comp (K.d p' p) f = 0) {X' : C} (g : X X') :
              toSingleMk (CategoryTheory.CategoryStruct.comp f g) h p' hp' = (toSingleMk f h p' hp' hf).postcomp ((singleFunctor C q).map g)
              theorem CochainComplex.HomComplex.Cocycle.toSingleMk_precomp {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : K.X p X) {n : } (h : p + n = q) (p' : ) (hp' : p' + 1 = p) (hf : CategoryTheory.CategoryStruct.comp (K.d p' p) f = 0) {L : CochainComplex C } (g : L K) :
              toSingleMk (CategoryTheory.CategoryStruct.comp (g.f p) f) h p' hp' = (toSingleMk f h p' hp' hf).precomp g
              theorem CochainComplex.HomComplex.Cocycle.toSingleMk_surjective {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {q n : } (α : Cocycle K ((singleFunctor C q).obj X) n) (p : ) (h : p + n = q) (p' : ) (hp' : p' + 1 = p) :
              ∃ (f : K.X p X) (hf : CategoryTheory.CategoryStruct.comp (K.d p' p) f = 0), toSingleMk f h p' hp' hf = α
              theorem CochainComplex.HomComplex.Cocycle.toSingleMk_add {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f g : K.X p X) {n : } (h : p + n = q) (p' : ) (hp' : p' + 1 = p) (hf : CategoryTheory.CategoryStruct.comp (K.d p' p) f = 0) (hg : CategoryTheory.CategoryStruct.comp (K.d p' p) g = 0) :
              toSingleMk (f + g) h p' hp' = toSingleMk f h p' hp' hf + toSingleMk g h p' hp' hg
              theorem CochainComplex.HomComplex.Cocycle.toSingleMk_sub {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f g : K.X p X) {n : } (h : p + n = q) (p' : ) (hp' : p' + 1 = p) (hf : CategoryTheory.CategoryStruct.comp (K.d p' p) f = 0) (hg : CategoryTheory.CategoryStruct.comp (K.d p' p) g = 0) :
              toSingleMk (f - g) h p' hp' = toSingleMk f h p' hp' hf - toSingleMk g h p' hp' hg
              theorem CochainComplex.HomComplex.Cocycle.toSingleMk_neg {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : K.X p X) {n : } (h : p + n = q) (p' : ) (hp' : p' + 1 = p) (hf : CategoryTheory.CategoryStruct.comp (K.d p' p) f = 0) :
              toSingleMk (-f) h p' hp' = -toSingleMk f h p' hp' hf
              @[simp]
              theorem CochainComplex.HomComplex.Cocycle.toSingleMk_zero {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] (X : C) (K : CochainComplex C ) {p q n : } (h : p + n = q) (p' : ) (hp' : p' + 1 = p) :
              toSingleMk 0 h p' hp' = 0
              theorem CochainComplex.HomComplex.Cocycle.toSingleMk_mem_coboundaries_iff {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C } {p q : } (f : K.X p X) {n : } (h : p + n = q) (p' : ) (hp' : p' + 1 = p) (hf : CategoryTheory.CategoryStruct.comp (K.d p' p) f = 0) (p'' : ) (hp'' : p + 1 = p'') :
              toSingleMk f h p' hp' hf coboundaries K ((singleFunctor C q).obj X) n ∃ (g : K.X p'' X), CategoryTheory.CategoryStruct.comp (K.d p p'') g = f