Documentation

Mathlib.CategoryTheory.Sites.NonabelianCohomology.H1

The cohomology of a sheaf of groups in degree 1

In this file, we shall define the cohomology in degree 1 of a sheaf of groups (TODO).

Currently, given a presheaf of groups G : Cᵒᵖ ⥤ GrpCat and a family of objects U : I → C, we define 1-cochains/1-cocycles/H^1 with values in G over U. (This definition neither requires the assumption that G is a sheaf, nor that U covers the terminal object.) As we do not assume that G is a presheaf of abelian groups, this cohomology theory is only defined in low degrees; in the abelian case, it would be a particular case of Čech cohomology (TODO).

TODO #

References #

def CategoryTheory.PresheafOfGroups.ZeroCochain {C : Type u} [Category.{v, u} C] (G : Functor Cᵒᵖ GrpCat) {I : Type w'} (U : IC) :
Type (max w w')

A zero cochain consists of a family of sections.

Equations
    Instances For
      @[simp]
      theorem CategoryTheory.PresheafOfGroups.Cochain₀.one_apply {C : Type u} [Category.{v, u} C] (G : Functor Cᵒᵖ GrpCat) {I : Type w'} (U : IC) (i : I) :
      1 i = 1
      @[simp]
      theorem CategoryTheory.PresheafOfGroups.Cochain₀.inv_apply {C : Type u} [Category.{v, u} C] (G : Functor Cᵒᵖ GrpCat) {I : Type w'} (U : IC) (γ : ZeroCochain G U) (i : I) :
      γ⁻¹ i = (γ i)⁻¹
      @[simp]
      theorem CategoryTheory.PresheafOfGroups.Cochain₀.mul_apply {C : Type u} [Category.{v, u} C] (G : Functor Cᵒᵖ GrpCat) {I : Type w'} (U : IC) (γ₁ γ₂ : ZeroCochain G U) (i : I) :
      (γ₁ * γ₂) i = γ₁ i * γ₂ i
      structure CategoryTheory.PresheafOfGroups.OneCochain {C : Type u} [Category.{v, u} C] (G : Functor Cᵒᵖ GrpCat) {I : Type w'} (U : IC) :
      Type (max (max (max u v) w) w')

      A 1-cochain of a presheaf of groups G : Cᵒᵖ ⥤ GrpCat on a family U : I → C of objects consists of the data of an element in G.obj (Opposite.op T) whenever we have elements i and j in I and maps a : T ⟶ U i and b : T ⟶ U j, and it must satisfy a compatibility with respect to precomposition. (When the binary product of U i and U j exists, this data for all T, a and b corresponds to the data of a section of G on this product.)

      Instances For
        theorem CategoryTheory.PresheafOfGroups.OneCochain.ext_iff {C : Type u} {inst✝ : Category.{v, u} C} {G : Functor Cᵒᵖ GrpCat} {I : Type w'} {U : IC} {x y : OneCochain G U} :
        x = y x.ev = y.ev
        theorem CategoryTheory.PresheafOfGroups.OneCochain.ext {C : Type u} {inst✝ : Category.{v, u} C} {G : Functor Cᵒᵖ GrpCat} {I : Type w'} {U : IC} {x y : OneCochain G U} (ev : x.ev = y.ev) :
        x = y
        @[simp]
        theorem CategoryTheory.PresheafOfGroups.OneCochain.one_ev {C : Type u} [Category.{v, u} C] (G : Functor Cᵒᵖ GrpCat) {I : Type w'} (U : IC) (i j : I) {T : C} (a : T U i) (b : T U j) :
        ev 1 i j a b = 1
        @[simp]
        theorem CategoryTheory.PresheafOfGroups.OneCochain.mul_ev {C : Type u} [Category.{v, u} C] {G : Functor Cᵒᵖ GrpCat} {I : Type w'} {U : IC} (γ₁ γ₂ : OneCochain G U) (i j : I) {T : C} (a : T U i) (b : T U j) :
        (γ₁ * γ₂).ev i j a b = γ₁.ev i j a b * γ₂.ev i j a b
        @[simp]
        theorem CategoryTheory.PresheafOfGroups.OneCochain.inv_ev {C : Type u} [Category.{v, u} C] {G : Functor Cᵒᵖ GrpCat} {I : Type w'} {U : IC} (γ : OneCochain G U) (i j : I) {T : C} (a : T U i) (b : T U j) :
        γ⁻¹.ev i j a b = (γ.ev i j a b)⁻¹
        structure CategoryTheory.PresheafOfGroups.OneCocycle {C : Type u} [Category.{v, u} C] (G : Functor Cᵒᵖ GrpCat) {I : Type w'} (U : IC) extends CategoryTheory.PresheafOfGroups.OneCochain G U :
        Type (max (max (max u v) w) w')

        A 1-cocycle is a 1-cochain which satisfies the cocycle condition.

        Instances For
          @[simp]
          theorem CategoryTheory.PresheafOfGroups.OneCocycle.ev_refl {C : Type u} [Category.{v, u} C] (G : Functor Cᵒᵖ GrpCat) {I : Type w'} (U : IC) (γ : OneCocycle G U) (i : I) T : C (a : T U i) :
          γ.ev i i a a = 1
          theorem CategoryTheory.PresheafOfGroups.OneCocycle.ev_symm {C : Type u} [Category.{v, u} C] (G : Functor Cᵒᵖ GrpCat) {I : Type w'} (U : IC) (γ : OneCocycle G U) (i j : I) T : C (a : T U i) (b : T U j) :
          γ.ev i j a b = (γ.ev j i b a)⁻¹
          def CategoryTheory.PresheafOfGroups.OneCohomologyRelation {C : Type u} [Category.{v, u} C] {G : Functor Cᵒᵖ GrpCat} {I : Type w'} {U : IC} (γ₁ γ₂ : OneCochain G U) (α : ZeroCochain G U) :

          The assertion that two cochains in OneCochain G U are cohomologous via an explicit zero-cochain.

          Equations
            Instances For
              theorem CategoryTheory.PresheafOfGroups.OneCohomologyRelation.symm {C : Type u} [Category.{v, u} C] {G : Functor Cᵒᵖ GrpCat} {I : Type w'} {U : IC} {γ₁ γ₂ : OneCochain G U} {α : ZeroCochain G U} (h : OneCohomologyRelation γ₁ γ₂ α) :
              theorem CategoryTheory.PresheafOfGroups.OneCohomologyRelation.trans {C : Type u} [Category.{v, u} C] {G : Functor Cᵒᵖ GrpCat} {I : Type w'} {U : IC} {γ₁ γ₂ γ₃ : OneCochain G U} {α β : ZeroCochain G U} (h₁₂ : OneCohomologyRelation γ₁ γ₂ α) (h₂₃ : OneCohomologyRelation γ₂ γ₃ β) :
              OneCohomologyRelation γ₁ γ₃ (β * α)

              The cohomology (equivalence) relation on 1-cocycles.

              Equations
                Instances For
                  def CategoryTheory.PresheafOfGroups.H1 {C : Type u} [Category.{v, u} C] (G : Functor Cᵒᵖ GrpCat) {I : Type w'} (U : IC) :
                  Type (max (max (max u v) w) w')

                  The cohomology in degree 1 of a presheaf of groups G : Cᵒᵖ ⥤ GrpCat on a family of objects U : I → C.

                  Equations
                    Instances For
                      def CategoryTheory.PresheafOfGroups.OneCocycle.class {C : Type u} [Category.{v, u} C] {G : Functor Cᵒᵖ GrpCat} {I : Type w'} {U : IC} (γ : OneCocycle G U) :
                      H1 G U

                      The cohomology class of a 1-cocycle.

                      Equations
                        Instances For
                          instance CategoryTheory.PresheafOfGroups.instOneH1 {C : Type u} [Category.{v, u} C] {G : Functor Cᵒᵖ GrpCat} {I : Type w'} {U : IC} :
                          One (H1 G U)
                          Equations
                            theorem CategoryTheory.PresheafOfGroups.OneCocycle.class_eq_iff {C : Type u} [Category.{v, u} C] {G : Functor Cᵒᵖ GrpCat} {I : Type w'} {U : IC} (γ₁ γ₂ : OneCocycle G U) :
                            γ₁.class = γ₂.class γ₁.IsCohomologous γ₂
                            theorem CategoryTheory.PresheafOfGroups.OneCocycle.IsCohomologous.class_eq {C : Type u} [Category.{v, u} C] {G : Functor Cᵒᵖ GrpCat} {I : Type w'} {U : IC} {γ₁ γ₂ : OneCocycle G U} (h : γ₁.IsCohomologous γ₂) :
                            γ₁.class = γ₂.class