Documentation

TauCeti.RepresentationTheory.Homological.ContCohomology.ShortExact

Short exact sequences of discrete modules, and the low-degree connecting maps #

A short exact sequence 0 → A → B → C → 0 of discrete G-modules induces short exact sequences of continuous cochains

0 → Cⁿ(G, A) → Cⁿ(G, B) → Cⁿ(G, C) → 0,

and hence connecting homomorphisms δ⁰ : H⁰(G, C) → H¹(G, A) and δ¹ : H¹(G, C) → H²(G, A) on the explicit low-degree complex of TauCeti/RepresentationTheory/Homological/ContCohomology/LowDegree.lean. This file builds both.

Discreteness of the coefficients is used twice, once at each of the two ends of the sequence. Discreteness of C gives surjectivity on cochains: a continuous cochain into C is locally constant, so composing it with any set-theoretic section of B → C is still continuous (TauCeti.exists_continuous_lift). Discreteness of B gives exactness in the middle: every function out of B is continuous, so the retraction onto the image of incl is continuous, and a continuous cochain into B that the projection kills retracts to a continuous cochain into A (TauCeti.ContCohomology.DiscreteShortExact.exists_continuous_incl_comp_eq, whence C1_map_incl_eq_inf_ker). Cocycle conditions descend along incl because an injection into a discrete space reflects continuity (TauCeti.continuous_of_injective_comp). Discreteness of A and of B is also what makes incl and proj continuous. For general topological coefficients neither argument applies, since a set-theoretic section need not be continuous and a continuous cochain need not be locally constant; the cochain sequence can still be exact when suitable continuous lifts exist. Nothing below is asserted in that more general setting.

The sequence is carried by a structure rather than by loose hypotheses because every statement here is about the same sequence and has to name the same two coefficient maps.

Main definitions #

Main statements #

Implementation notes #

Continuity of incl and of proj is not carried as data: A and B are discrete, so every map out of them is continuous. Exactness in the middle is Mathlib's Function.Exact, which is ∀ b, proj b = 0 ↔ b ∈ Set.range incl.

The cochain maps are Mathlib's AddMonoidHom.compLeft, postcomposition on a function space; the statements of exactness are therefore about the image and kernel of that homomorphism restricted to the cochain subgroup C¹ X -, which is C¹(G, -) at X = G and C²(G, -) at X = G × G. The compatible-pair pullback, which moves the group as well as the coefficients, is a different map and is not used here.

Both connecting maps are built from a variable preimage first, and the independence of the choice is a theorem rather than a definitional accident; only then is the map defined by choosing a preimage with Function.surjInv. The cochain-level constructions this passes through are private, including the retraction used on the kernel of the projection, since they depend on choices the mathematical statements must not mention; the public interface to them is explicitDelta0_apply and explicitDelta1_apply, which hold with whatever preimage a computation has in hand.

The cochain sequences are stated for a topological monoid G. The two connecting maps ask in addition that the coefficients be discrete G-modules with a continuous action: [ContinuousSMul G A] and [ContinuousSMul G B] for δ⁰, and also [ContinuousSMul G C] for δ¹. Without it B¹ ≤ Z¹ and B² ≤ Z² fail and the quotients H1 and H2 cannot be formed. δ¹ asks moreover for a continuous multiplication on G, which is what carries continuity through d¹. Restricting the sequence to a subgroup (DiscreteShortExact.restrict) and the dual sequence (DiscreteShortExact.dual, whose conjugation action needs inverses) ask G to be a group. Profiniteness plays no part here.

References #

Cochain lifting #

The canonical set-theoretic lift of a cochain along a surjection, from which the connecting maps below are built. Its continuity is TauCeti.exists_continuous_lift's argument.

A short exact sequence 0 → A → B → C → 0 of discrete G-modules.

Discreteness of the three modules is what makes the continuous cochain sequences exact: discreteness of C makes arbitrary set-theoretic lifts of continuous cochains continuous, and discreteness of B makes the retraction onto the image of the inclusion continuous, which is what retracts a continuous cochain killed by the projection. Continuity of the two maps is a further consequence of it, not data.

Instances For

    Two short exact sequences with the same inclusion and projection are equal.

    @[simp]

    The composite A → B → C vanishes.

    The inclusion of a short exact sequence, bundled as an equivariant additive homomorphism.

    Equations
    Instances For

      The projection of a short exact sequence, bundled as an equivariant additive homomorphism.

      Equations
      Instances For

        An element of B killed by the projection comes from A.

        A natural number killing the middle term of a short exact sequence kills its sub-object.

        A natural number killing the middle term of a short exact sequence kills its quotient.

        The canonical coefficient map of the bundled inclusion is that of the raw inclusion: the explicit comparison lemmas are stated for S.inclDistribMulActionHom, the canonical long exact sequence for S.incl.

        The canonical coefficient map of the bundled projection is that of the raw projection: the explicit comparison lemmas are stated for S.projDistribMulActionHom, the canonical long exact sequence for S.proj.

        def TauCeti.ContCohomology.DiscreteShortExact.ofAddSubgroup {G : Type u} [Monoid G] {B : Type vB} [AddCommGroup B] [TopologicalSpace B] [DiscreteTopology B] [DistribMulAction G B] (N : AddSubgroup B) (hN : ∀ (g : G), ∀ x ∈ N, g • x ∈ N) :
        DiscreteShortExact G (↥N) B (B ⧸ N)

        The short exact sequence 0 → N → B → B ⧸ N → 0 of a G-stable additive subgroup N of a discrete G-module B. The subgroup carries the subspace topology and the restricted action AddSubgroup.restrictDistribMulAction; the quotient carries the quotient topology, which is discrete, and the quotient action AddSubgroup.quotientDistribMulAction.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem TauCeti.ContCohomology.DiscreteShortExact.ofAddSubgroup_incl {G : Type u} [Monoid G] {B : Type vB} [AddCommGroup B] [TopologicalSpace B] [DiscreteTopology B] [DistribMulAction G B] (N : AddSubgroup B) (hN : ∀ (g : G), ∀ x ∈ N, g • x ∈ N) :

          A short exact sequence of discrete G-modules restricts to one of discrete T-modules, for any subgroup T ≤ G. The two maps are unchanged; the naturality of the connecting maps under restriction is stated against this sequence.

          Equations
          • S.restrict T = { incl := S.incl, proj := S.proj, incl_equivariant := ⋯, proj_equivariant := ⋯, incl_injective := ⋯, proj_surjective := ⋯, exact := ⋯ }
          Instances For

            The dual short exact sequence. For a short exact sequence 0 → A → B → C → 0 of discrete G-modules and a G-module N such that every homomorphism A →+ N extends to B, that is, precomposition with the inclusion is surjective on internal homs, precomposition with the two maps gives the short exact sequence

            0 → InternalHom G C N → InternalHom G B N → InternalHom G A N → 0
            

            of internal homs with their conjugation actions. The extension hypothesis is the only input beyond the exactness of S: injectivity on the left is InternalHom.precomp_injective and exactness in the middle is InternalHom.exact_precomp, for every N. It holds for every N when B is killed by a prime p, since A embeds in B and Hom(-, N) is exact on 𝔽_p-vector spaces (InternalHom.precomp_surjective), and it holds when B is killed by n and N satisfies Baer's criterion over ℤ/nℤ, for instance N = ℤ/nℤ with any action when n ≠ 0 (InternalHom.precomp_surjective_of_baer); precomp_inclDistribMulActionHom_surjective and precomp_inclDistribMulActionHom_surjective_of_baer state the two cases for the inclusion of S. Evaluation identifies the two maps: evalPairing_dual_incl and evalPairing_dual_proj.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              The extension hypothesis of dual for a sequence killed by a prime. If B is killed by a prime p, precomposition with the inclusion of S is surjective on internal homs into any N.

              The extension hypothesis of dual for a sequence killed by n and a Baer target. If B is killed by n and N satisfies Baer's criterion over ℤ/nℤ, precomposition with the inclusion of S is surjective on internal homs into N.

              The inclusion of the dual sequence is precomposition with the projection: the evaluation pairings of InternalHom G C N with C and of InternalHom G B N with B are compatible along the two maps.

              The projection of the dual sequence is precomposition with the inclusion: the evaluation pairings of InternalHom G B N with B and of InternalHom G A N with A are compatible along the two maps.

              @[simp]

              The equivariant inclusion of the dual sequence is precomposition with the equivariant projection of the original sequence.

              @[simp]

              The equivariant projection of the dual sequence is precomposition with the equivariant inclusion of the original sequence.

              Evaluation is a morphism from a sequence to its double dual, on the inclusions. The inclusion of the double dual sequence 0 → A^{∨∨} → B^{∨∨} → C^{∨∨} → 0 carries the evaluation class of a : A to the evaluation class of S.incl a.

              Evaluation is a morphism from a sequence to its double dual, on the projections. The projection of the double dual sequence 0 → A^{∨∨} → B^{∨∨} → C^{∨∨} → 0 carries the evaluation class of b : B to the evaluation class of S.proj b.

              Exactness of 0 → C¹(X, A) → C¹(X, B) at the left node: postcomposition with the inclusion is injective on all cochains, hence in particular on the continuous ones C¹(X, A). The statement does not mention the cochain subgroups, so the degree-2 node is this theorem at X = G × G and needs no separate C² form.

              theorem TauCeti.ContCohomology.DiscreteShortExact.exists_continuous_incl_comp_eq {G : Type u} [Monoid G] {A : Type vA} [AddCommGroup A] [TopologicalSpace A] [DiscreteTopology A] [DistribMulAction G A] {B : Type vB} [AddCommGroup B] [TopologicalSpace B] [DiscreteTopology B] [DistribMulAction G B] {C : Type vC} [AddCommGroup C] [TopologicalSpace C] [DiscreteTopology C] [DistribMulAction G C] (S : DiscreteShortExact G A B C) {X : Type w} [TopologicalSpace X] {φ : X → B} (hφ : Continuous φ) (hzero : ∀ (x : X), S.proj (φ x) = 0) :
              ∃ (a : X → A), Continuous a ∧ ∀ (x : X), S.incl (a x) = φ x

              A continuous cochain into B killed by the projection comes from a continuous cochain into A, obtained by retracting the cochain pointwise.

              Exactness of 0 → C¹(X, A) → C¹(X, B) → C¹(X, C) → 0 at the middle node: a continuous cochain into B is killed by the projection exactly when it is the image of a continuous cochain into A. Taking X = G this is degree 1, and taking X = G × G it is degree 2.

              Exactness of C¹(X, B) → C¹(X, C) → 0 at the right node: every continuous cochain into C lifts, by TauCeti.exists_continuous_lift.

              Exactness of 0 → C²(G, A) → C²(G, B) → C²(G, C) → 0 in the middle: the degree-2 instance of TauCeti.ContCohomology.DiscreteShortExact.C1_map_incl_eq_inf_ker, at X = G × G.

              Exactness of 0 → C²(G, A) → C²(G, B) → C²(G, C) → 0 on the right: the degree-2 instance of TauCeti.ContCohomology.DiscreteShortExact.C1_map_proj_eq_C1, at X = G × G.

              theorem TauCeti.ContCohomology.DiscreteShortExact.mem_Z1_of_incl_comp_mem_Z1 {G : Type u} [Monoid G] [TopologicalSpace G] {A : Type vA} [AddCommGroup A] [TopologicalSpace A] [DiscreteTopology A] [DistribMulAction G A] {B : Type vB} [AddCommGroup B] [TopologicalSpace B] [DiscreteTopology B] [DistribMulAction G B] {C : Type vC} [AddCommGroup C] [TopologicalSpace C] [DiscreteTopology C] [DistribMulAction G C] {S : DiscreteShortExact G A B C} {a : G → A} {e : G → B} (hae : ∀ (g : G), S.incl (a g) = e g) (he : e ∈ Z1 G B) :
              a ∈ Z1 G A

              A 1-cochain on A lying over a continuous 1-cocycle on B is one. Both halves of membership in Z¹ descend along the inclusion: it reflects continuity, the two modules being discrete, and it is injective, so the cocycle identity descends as well.

              theorem TauCeti.ContCohomology.DiscreteShortExact.mem_Z2_of_incl_comp_mem_Z2 {G : Type u} [Monoid G] [TopologicalSpace G] {A : Type vA} [AddCommGroup A] [TopologicalSpace A] [DiscreteTopology A] [DistribMulAction G A] {B : Type vB} [AddCommGroup B] [TopologicalSpace B] [DiscreteTopology B] [DistribMulAction G B] {C : Type vC} [AddCommGroup C] [TopologicalSpace C] [DiscreteTopology C] [DistribMulAction G C] {S : DiscreteShortExact G A B C} {a : G × G → A} {z : G × G → B} (haz : ∀ (p : G × G), S.incl (a p) = z p) (hz : z ∈ Z2 G B) :
              a ∈ Z2 G A

              A 2-cochain on A lying over a continuous 2-cocycle on B is one, the degree-2 counterpart of TauCeti.ContCohomology.DiscreteShortExact.mem_Z1_of_incl_comp_mem_Z1.

              If the image of b in C is G-invariant then its coboundary d⁰ b is killed by the projection, hence — the sequence being exact in the middle — comes from A.

              A cochain on A lying over a coboundary of B is a continuous 1-cocycle. No cocycle hypothesis is needed, a coboundary being a continuous cocycle already; this is the case e = d⁰ b of TauCeti.ContCohomology.DiscreteShortExact.mem_Z1_of_incl_comp_mem_Z1. It is what discharges the hypothesis ha of TauCeti.ContCohomology.DiscreteShortExact.explicitDelta0_apply, whose hab it takes verbatim.

              The connecting homomorphism δ⁰ : H⁰(G, C) → H¹(G, A). Choose a preimage in B of an invariant of C and take the class of the retraction of its coboundary.

              Equations
              Instances For
                theorem TauCeti.ContCohomology.DiscreteShortExact.explicitDelta0_apply {G : Type u} [Monoid G] [TopologicalSpace G] {A : Type vA} [AddCommGroup A] [TopologicalSpace A] [DiscreteTopology A] [DistribMulAction G A] {B : Type vB} [AddCommGroup B] [TopologicalSpace B] [DiscreteTopology B] [DistribMulAction G B] [ContinuousSMul G B] {C : Type vC} [AddCommGroup C] [TopologicalSpace C] [DiscreteTopology C] [DistribMulAction G C] (S : DiscreteShortExact G A B C) [ContinuousSMul G A] (c : ↥(H0 G C)) {b : B} (hb : S.proj b = ↑c) {a : G → A} (ha : a ∈ Z1 G A) (hab : ∀ (g : G), S.incl (a g) = g • b - b) :
                S.explicitDelta0 c = (H1pi G A) ⟨a, ha⟩

                δ⁰ on representatives. For any preimage b of an invariant c and any continuous 1-cocycle a with incl ∘ a = d⁰ b, the class of a is δ⁰ c. This mirrors the shape of Mathlib's discrete groupCohomology.δ₀_apply. The hypothesis ha is discharged from hab by TauCeti.ContCohomology.DiscreteShortExact.mem_Z1_of_incl_comp_eq_d0.

                theorem TauCeti.ContCohomology.DiscreteShortExact.proj_d1_eq_zero {G : Type u} [Monoid G] {A : Type vA} [AddCommGroup A] [TopologicalSpace A] [DiscreteTopology A] [DistribMulAction G A] {B : Type vB} [AddCommGroup B] [TopologicalSpace B] [DiscreteTopology B] [DistribMulAction G B] {C : Type vC} [AddCommGroup C] [TopologicalSpace C] [DiscreteTopology C] [DistribMulAction G C] {S : DiscreteShortExact G A B C} {e : G → B} {f : G → C} (he : ∀ (g : G), S.proj (e g) = f g) (hf : groupCohomology.IsCocycle₁ f) (p : G × G) :
                S.proj ((d1 G B) e p) = 0

                If e lies over a 1-cocycle f on C then its coboundary d¹ e is killed by the projection, hence — the sequence being exact in the middle — comes from A.

                theorem TauCeti.ContCohomology.DiscreteShortExact.mem_Z2_of_incl_comp_eq_d1 {G : Type u} [Monoid G] [TopologicalSpace G] [ContinuousMul G] {A : Type vA} [AddCommGroup A] [TopologicalSpace A] [DiscreteTopology A] [DistribMulAction G A] {B : Type vB} [AddCommGroup B] [TopologicalSpace B] [DiscreteTopology B] [DistribMulAction G B] [ContinuousSMul G B] {C : Type vC} [AddCommGroup C] [TopologicalSpace C] [DiscreteTopology C] [DistribMulAction G C] (S : DiscreteShortExact G A B C) {e : G → B} (hc : Continuous e) {a : G × G → A} (hae : ∀ (g h : G), S.incl (a (g, h)) = g • e h - e (g * h) + e g) :
                a ∈ Z2 G A

                A cochain on A lying over a coboundary of B is a continuous 2-cocycle. No cocycle hypothesis on e is needed, a continuous coboundary being a continuous cocycle already; this is the case z = d¹ e of TauCeti.ContCohomology.DiscreteShortExact.mem_Z2_of_incl_comp_mem_Z2. It is what discharges the hypothesis ha of TauCeti.ContCohomology.DiscreteShortExact.explicitDelta1_apply, whose hae it takes verbatim.

                The connecting homomorphism δ¹ : H¹(G, C) → H²(G, A). Lift a continuous 1-cocycle on C to a continuous 1-cochain on B and take the class of the retraction of its d¹.

                Equations
                Instances For
                  theorem TauCeti.ContCohomology.DiscreteShortExact.explicitDelta1_apply {G : Type u} [Monoid G] [TopologicalSpace G] [ContinuousMul G] {A : Type vA} [AddCommGroup A] [TopologicalSpace A] [DiscreteTopology A] [DistribMulAction G A] {B : Type vB} [AddCommGroup B] [TopologicalSpace B] [DiscreteTopology B] [DistribMulAction G B] [ContinuousSMul G B] {C : Type vC} [AddCommGroup C] [TopologicalSpace C] [DiscreteTopology C] [DistribMulAction G C] (S : DiscreteShortExact G A B C) [ContinuousSMul G A] [ContinuousSMul G C] (f : ↥(Z1 G C)) {e : G → B} (hc : Continuous e) (he : ∀ (g : G), S.proj (e g) = ↑f g) {a : G × G → A} (ha : a ∈ Z2 G A) (hae : ∀ (g h : G), S.incl (a (g, h)) = g • e h - e (g * h) + e g) :
                  S.explicitDelta1 ((H1pi G C) f) = (H2pi G A) ⟨a, ha⟩

                  δ¹ on representatives. For any continuous lift e of a continuous 1-cocycle f on C and any continuous 2-cocycle a with incl ∘ a = d¹ e, the class of a is δ¹ of the class of f. This mirrors the shape of Mathlib's discrete groupCohomology.δ₁_apply. The hypothesis ha is discharged from hae by TauCeti.ContCohomology.DiscreteShortExact.mem_Z2_of_incl_comp_eq_d1.

                  A short exact sequence of discrete G-modules as a short complex of canonical coefficient objects in TopRep ℤ G.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[simp]

                    The projection of the coefficient short complex is the given projection on elements.

                    @[simp]

                    The middle coefficient representation has the given action.

                    @[simp]

                    The final coefficient representation has the given action.