Documentation

TauCeti.Algebra.Homology.Cube.Basic

The signed totalization of a finite commutative cube #

Let ι be a finite linearly ordered type. A commutative cube indexed by ι in a category C is a functor F : Finset ι ⥤ C on the subsets of ι, ordered by inclusion: it assigns an object F(S) to every vertex S ⊆ ι and an edge map F(S) ⟶ F(S ∪ {a}) to every a ∉ S, and every square face of edge maps commutes. When C is preadditive with finite biproducts, the signed height totalization of F is the cochain complex whose term in degree r is the biproduct of the F(S) over the vertices of height #S = r, and whose differential is the sum of the edge maps leaving a vertex, the edge S ⟶ S ∪ {a} carrying the sign (-1) to the number of elements of S below a. These signs turn the commutativity of each square face into anticommutativity, so the differential squares to zero.

This is the construction of the Khovanov complex from the cube of resolutions of a link diagram, where ι is the set of crossings with a chosen order and S is the set of crossings given the second resolution; the cochain complex is indexed by ℤ so that it can be shifted to the normalized grading. Its terms vanish outside the degrees 0, …, #ι, and in degree 0 it is the initial vertex F(∅).

The sign rule is that of the ordered Čech complex CategoryTheory.Functor.orderedCechComplex: after reversing all arrows, the vertices of positive height form the ordered Čech complex of the opposite functor, shifted down by one degree. Here the vertex F(∅) is part of the complex, the degree is the height #S itself, and the terms are finite biproducts.

Main definitions #

Main results #

References #

The signed totalization of the commutative cube F: in degree r it is the biproduct of the vertices F(S) of height #S = r, with differential the sum of the edge maps F(S) ⟶ F(S ∪ {a}), signed by (-1) to the number of elements of S below a. It is characterised by the summand inclusions Functor.cubeComplexι and projections Functor.cubeComplexπ, and by Functor.ι_cubeComplex_d.

Instances For
    theorem CategoryTheory.Functor.cubeComplex_X {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) (r : ℤ) :
    F.cubeComplex.X r = ⨁ fun (S : { S : Finset ι // ↑S.card = r }) => F.obj ↑S

    The degree r term is the biproduct of the vertices of height r.

    noncomputable def CategoryTheory.Functor.cubeComplexι {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} (S : { S : Finset ι // ↑S.card = r }) :
    F.obj ↑S ⟶ F.cubeComplex.X r

    The inclusion of the vertex F(S) into the degree r term of the cube complex, for a vertex of height #S = r.

    Instances For
      @[simp]
      theorem CategoryTheory.Functor.cubeComplexι_comp_eqToHom {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} (S : { S : Finset ι // ↑S.card = r }) :
      CategoryStruct.comp (F.cubeComplexι S) (eqToHom ⋯) = Limits.biproduct.ι (fun (T : { T : Finset ι // ↑T.card = r }) => F.obj ↑T) S

      The vertex inclusion agrees with the biproduct inclusion under the term identification.

      @[simp]
      theorem CategoryTheory.Functor.cubeComplexι_comp_eqToHom_assoc {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} (S : { S : Finset ι // ↑S.card = r }) {Z : C} (h : (⨁ fun (S : { S : Finset ι // ↑S.card = r }) => F.obj ↑S) ⟶ Z) :

      The vertex inclusion agrees with the biproduct inclusion under the term identification.

      noncomputable def CategoryTheory.Functor.cubeComplexπ {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} (S : { S : Finset ι // ↑S.card = r }) :
      F.cubeComplex.X r ⟶ F.obj ↑S

      The projection of the degree r term of the cube complex onto the vertex F(S), for a vertex of height #S = r.

      Instances For
        @[simp]
        theorem CategoryTheory.Functor.eqToHom_comp_cubeComplexπ {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} (S : { S : Finset ι // ↑S.card = r }) :
        CategoryStruct.comp (eqToHom ⋯) (Limits.biproduct.π (fun (T : { T : Finset ι // ↑T.card = r }) => F.obj ↑T) S) = F.cubeComplexπ S

        The biproduct projection agrees with the vertex projection under the term identification.

        @[simp]
        theorem CategoryTheory.Functor.eqToHom_comp_cubeComplexπ_assoc {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} (S : { S : Finset ι // ↑S.card = r }) {Z : C} (h : F.obj ↑S ⟶ Z) :

        The biproduct projection agrees with the vertex projection under the term identification.

        @[simp]

        Transporting a cube term to an equal height preserves each vertex inclusion.

        @[simp]

        Transporting a cube term to an equal height preserves each vertex inclusion.

        theorem CategoryTheory.Functor.cubeComplexι_π {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} (S T : { S : Finset ι // ↑S.card = r }) :
        CategoryStruct.comp (F.cubeComplexι S) (F.cubeComplexπ T) = if h : S = T then eqToHom ⋯ else 0

        The inclusion of a vertex followed by the projection onto a vertex of the same height is the identity when the vertices agree, and zero otherwise.

        theorem CategoryTheory.Functor.cubeComplexι_π_assoc {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} (S T : { S : Finset ι // ↑S.card = r }) {Z : C} (h : F.obj ↑T ⟶ Z) :

        The inclusion of a vertex followed by the projection onto a vertex of the same height is the identity when the vertices agree, and zero otherwise.

        @[simp]

        The inclusion of a vertex followed by the projection onto it is the identity.

        @[simp]

        The inclusion of a vertex followed by the projection onto it is the identity.

        @[simp]

        The inclusion of a vertex followed by the projection onto another vertex vanishes.

        @[simp]
        theorem CategoryTheory.Functor.cubeComplexι_π_of_ne_assoc {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} {S T : { S : Finset ι // ↑S.card = r }} (h : S ≠ T) {Z : C} (h✝ : F.obj ↑T ⟶ Z) :

        The inclusion of a vertex followed by the projection onto another vertex vanishes.

        The inclusion of a vertex is compatible with the identification of equal vertices.

        theorem CategoryTheory.Functor.eqToHom_comp_cubeComplexι_assoc {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} {S T : Finset ι} (h : S = T) (hT : ↑T.card = r) {Z : C} (h✝ : F.cubeComplex.X r ⟶ Z) :

        The inclusion of a vertex is compatible with the identification of equal vertices.

        noncomputable def CategoryTheory.Functor.cubeComplexDesc {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} {A : C} (f : (S : { S : Finset ι // ↑S.card = r }) → F.obj ↑S ⟶ A) :

        The morphism out of the degree r term of the cube complex given on each vertex.

        Instances For
          @[simp]
          theorem CategoryTheory.Functor.ι_cubeComplexDesc {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} {A : C} (f : (S : { S : Finset ι // ↑S.card = r }) → F.obj ↑S ⟶ A) (S : { S : Finset ι // ↑S.card = r }) :

          The morphism Functor.cubeComplexDesc f restricts to f S on the vertex F(S).

          @[simp]
          theorem CategoryTheory.Functor.ι_cubeComplexDesc_assoc {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} {A : C} (f : (S : { S : Finset ι // ↑S.card = r }) → F.obj ↑S ⟶ A) (S : { S : Finset ι // ↑S.card = r }) {Z : C} (h : A ⟶ Z) :

          The morphism Functor.cubeComplexDesc f restricts to f S on the vertex F(S).

          noncomputable def CategoryTheory.Functor.cubeComplexLift {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} {A : C} (f : (S : { S : Finset ι // ↑S.card = r }) → A ⟶ F.obj ↑S) :

          The morphism into the degree r term of the cube complex given on each vertex.

          Instances For
            @[simp]
            theorem CategoryTheory.Functor.cubeComplexLift_π {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} {A : C} (f : (S : { S : Finset ι // ↑S.card = r }) → A ⟶ F.obj ↑S) (S : { S : Finset ι // ↑S.card = r }) :

            The morphism Functor.cubeComplexLift f projects to f S on the vertex F(S).

            @[simp]
            theorem CategoryTheory.Functor.cubeComplexLift_π_assoc {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} {A : C} (f : (S : { S : Finset ι // ↑S.card = r }) → A ⟶ F.obj ↑S) (S : { S : Finset ι // ↑S.card = r }) {Z : C} (h : F.obj ↑S ⟶ Z) :

            The morphism Functor.cubeComplexLift f projects to f S on the vertex F(S).

            @[simp]

            The projections onto the vertices of height r, followed by their inclusions, sum to the identity of the degree r term of the cube complex.

            theorem CategoryTheory.Functor.cubeComplex_hom_ext {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} {A : C} {f g : F.cubeComplex.X r ⟶ A} (h : ∀ (S : { S : Finset ι // ↑S.card = r }), CategoryStruct.comp (F.cubeComplexι S) f = CategoryStruct.comp (F.cubeComplexι S) g) :
            f = g

            Morphisms out of a term of the cube complex agree when they agree on every vertex.

            theorem CategoryTheory.Functor.cubeComplex_hom_ext' {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} {A : C} {f g : A ⟶ F.cubeComplex.X r} (h : ∀ (S : { S : Finset ι // ↑S.card = r }), CategoryStruct.comp f (F.cubeComplexπ S) = CategoryStruct.comp g (F.cubeComplexπ S)) :
            f = g

            Morphisms into a term of the cube complex agree when their projections to every vertex agree.

            A term of the signed totalization vanishes exactly when all vertices of that height vanish.

            theorem CategoryTheory.Functor.ι_cubeComplex_d {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} (S : { S : Finset ι // ↑S.card = r }) :
            CategoryStruct.comp (F.cubeComplexι S) (F.cubeComplex.d r (r + 1)) = ∑ a : ↥(↑S)ᶜ, (-1) ^ {b ∈ ↑S | b < ↑a}.card • CategoryStruct.comp (F.map (homOfLE ⋯)) (F.cubeComplexι ⟨insert ↑a ↑S, ⋯⟩)

            The cube differential on the vertex F(S) of height r is the sum, over the indices a ∉ S, of the edge map F(S) ⟶ F(S ∪ {a}) with sign (-1) to the number of elements of S below a.

            theorem CategoryTheory.Functor.ι_cubeComplex_d_assoc {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} (S : { S : Finset ι // ↑S.card = r }) {Z : C} (h : F.cubeComplex.X (r + 1) ⟶ Z) :
            CategoryStruct.comp (F.cubeComplexι S) (CategoryStruct.comp (F.cubeComplex.d r (r + 1)) h) = CategoryStruct.comp (∑ a : ↥(↑S)ᶜ, (-1) ^ {b ∈ ↑S | b < ↑a}.card • CategoryStruct.comp (F.map (homOfLE ⋯)) (F.cubeComplexι ⟨insert ↑a ↑S, ⋯⟩)) h

            The cube differential on the vertex F(S) of height r is the sum, over the indices a ∉ S, of the edge map F(S) ⟶ F(S ∪ {a}) with sign (-1) to the number of elements of S below a.

            theorem CategoryTheory.Functor.cubeComplex_d_π {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} (T : { T : Finset ι // ↑T.card = r + 1 }) :
            CategoryStruct.comp (F.cubeComplex.d r (r + 1)) (F.cubeComplexπ T) = ∑ a : ↥↑T, (-1) ^ {b ∈ (↑T).erase ↑a | b < ↑a}.card • CategoryStruct.comp (F.cubeComplexπ ⟨(↑T).erase ↑a, ⋯⟩) (F.map (homOfLE ⋯))

            The cube differential into the vertex F(T) of height r + 1 is the sum, over the indices a ∈ T, of the projection onto the vertex F(T \ {a}) followed by the edge map F(T \ {a}) ⟶ F(T), with sign (-1) to the number of elements of T \ {a} below a.

            theorem CategoryTheory.Functor.cubeComplex_d_π_assoc {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasFiniteBiproducts C] {ι : Type w} [Fintype ι] [LinearOrder ι] (F : Functor (Finset ι) C) {r : ℤ} (T : { T : Finset ι // ↑T.card = r + 1 }) {Z : C} (h : F.obj ↑T ⟶ Z) :
            CategoryStruct.comp (F.cubeComplex.d r (r + 1)) (CategoryStruct.comp (F.cubeComplexπ T) h) = CategoryStruct.comp (∑ x : ↥↑T, (-1) ^ {b ∈ (↑T).erase ↑x | b < ↑x}.card • CategoryStruct.comp (F.cubeComplexπ ⟨(↑T).erase ↑x, ⋯⟩) (F.map (homOfLE ⋯))) h

            The cube differential into the vertex F(T) of height r + 1 is the sum, over the indices a ∈ T, of the projection onto the vertex F(T \ {a}) followed by the edge map F(T \ {a}) ⟶ F(T), with sign (-1) to the number of elements of T \ {a} below a.

            The cube complex vanishes in negative degrees.

            The cube complex vanishes in the degrees above the cardinality of the index type.

            The degree 0 term of the cube complex is the initial vertex F(∅), the only vertex of height 0.

            Instances For
              @[simp]

              The identification of the degree 0 term with F(∅) is the projection onto that vertex.

              @[simp]

              The identification of F(∅) with the degree 0 term is the inclusion of that vertex.

              The cochain map of cube complexes induced by a map of cubes, acting vertex by vertex (NatTrans.ι_cubeComplexMap_f).

              Instances For
                @[simp]

                The cochain map induced by α restricts to α on the vertex F(S).

                @[simp]

                The cochain map induced by α restricts to α on the vertex F(S).

                @[simp]

                The cochain map induced by α followed by the projection onto the vertex G(S) is the projection onto F(S) followed by α.

                @[simp]

                The cochain map induced by α followed by the projection onto the vertex G(S) is the projection onto F(S) followed by α.

                The identification of the degree 0 term with the initial vertex is natural in the cube.

                The identification of the degree 0 term with the initial vertex is natural in the cube.

                The identification of the initial vertex with the degree 0 term is natural in the cube.

                The identification of the initial vertex with the degree 0 term is natural in the cube.

                The cube complex Functor.cubeComplex as a functor of the cube.

                Instances For

                  The cube complex is additive in the cube.