FoxDifferential.Common.CrossedDifferentialModule

19 Theorem | 9 Definition | 2 Abbreviation

This module develops Fox differentials and completed Fox coordinates for free, profinite, and pro-\(C\) group constructions.

import
Imported by

Declarations

abbrev CrossedDifferentialPreModule (R G : Type*) [Ring R] : Type _ :=
  G →₀ R

The free \(R\)-module on the underlying set of a group \(G\).

def crossedDifferentialRelationElement (coeff : G →* R) (g₁ g₂ : G) :
    CrossedDifferentialPreModule R G :=
  Finsupp.single (g₁ * g₂) 1 -
    (Finsupp.single g₁ 1 + coeff g₁ • Finsupp.single g₂ 1)

The universal crossed-differential relation \(d(g_1g_2) = d(g_1) + \mathrm{coeff}(g_1) \cdot d(g_2)\) in the free pre-module.

def crossedDifferentialRelationSubmodule (coeff : G →* R) :
    Submodule R (CrossedDifferentialPreModule R G) :=
  Submodule.span R (Set.range fun p : G × G =>
    crossedDifferentialRelationElement coeff p.1 p.2)

The submodule generated by all universal crossed-differential relations.

abbrev CrossedDifferentialModule (coeff : G →* R) : Type _ :=
  CrossedDifferentialPreModule R G ⧸ crossedDifferentialRelationSubmodule coeff

The universal module representing crossed differentials with coefficient homomorphism \(\mathrm{coeff}:G\to R\), viewed multiplicatively.

def universalCrossedDifferential (coeff : G →* R) (g : G) :
    CrossedDifferentialModule coeff :=
  (crossedDifferentialRelationSubmodule coeff).mkQ (Finsupp.single g 1)

The universal crossed differential \(d_{\mathrm{coeff}} : G \to \mathrm{CrossedDifferentialModule}(\mathrm{coeff})\).

theorem crossedDifferentialRelationElement_mem (coeff : G →* R) (g₁ g₂ : G) :
    crossedDifferentialRelationElement coeff g₁ g₂ ∈
      crossedDifferentialRelationSubmodule coeff

Every defining crossed-differential relation belongs to the relation submodule.

Show proof
theorem universalCrossedDifferential_mul (coeff : G →* R) (g₁ g₂ : G) :
    universalCrossedDifferential coeff (g₁ * g₂) =
      universalCrossedDifferential coeff g₁ +
        coeff g₁ • universalCrossedDifferential coeff g₂

The universal crossed differential satisfies the crossed product rule.

Show proof
theorem universalCrossedDifferential_one (coeff : G →* R) :
    universalCrossedDifferential coeff (1 : G) = 0

The universal crossed differential vanishes at the identity.

Show proof
theorem universalCrossedDifferential_isCrossedDifferential (coeff : G →* R) :
    IsCrossedDifferential coeff (universalCrossedDifferential coeff)

The universal crossed differential is itself a crossed differential.

Show proof
def crossedDifferentialModuleLiftLinear (delta : G → A) :
    CrossedDifferentialPreModule R G →ₗ[R] A :=
  Finsupp.linearCombination R delta

The linear extension of a map out of G to the free crossed-differential pre-module.

theorem crossedDifferentialModuleLiftLinear_single (delta : G → A) (g : G) (r : R) :
    crossedDifferentialModuleLiftLinear (R := R) delta (Finsupp.single g r) = r • delta g

The linear extension of a map evaluates on a single basis vector by scalar multiplication.

Show proof
theorem crossedDifferentialModuleLiftLinear_relationElement
    (coeff : G →* R) (delta : G → A)
    (hdelta : IsCrossedDifferential coeff delta) (g₁ g₂ : G) :
    crossedDifferentialModuleLiftLinear (R := R) delta
      (crossedDifferentialRelationElement coeff g₁ g₂) = 0

A crossed differential kills each defining universal relation.

Show proof
theorem crossedDifferentialRelationSubmodule_le_ker
    (coeff : G →* R) (delta : G → A)
    (hdelta : IsCrossedDifferential coeff delta) :
    crossedDifferentialRelationSubmodule coeff ≤
      LinearMap.ker (crossedDifferentialModuleLiftLinear (R := R) delta)

The relation submodule is contained in the kernel of the linear extension of a crossed differential.

Show proof
def crossedDifferentialModuleLift
    (coeff : G →* R) (delta : G → A) (hdelta : IsCrossedDifferential coeff delta) :
    CrossedDifferentialModule coeff →ₗ[R] A :=
  (crossedDifferentialRelationSubmodule coeff).liftQ
    (crossedDifferentialModuleLiftLinear (R := R) delta)
    (crossedDifferentialRelationSubmodule_le_ker (A := A) coeff delta hdelta)

The universal linear map induced by a crossed differential.

theorem crossedDifferentialModuleLift_mkQ
    (coeff : G →* R) (delta : G → A) (hdelta : IsCrossedDifferential coeff delta)
    (x : CrossedDifferentialPreModule R G) :
    crossedDifferentialModuleLift (A := A) coeff delta hdelta
        ((crossedDifferentialRelationSubmodule coeff).mkQ x) =
      crossedDifferentialModuleLiftLinear (R := R) delta x

The universal lift evaluated on a quotient representative is the finite linear combination of the prescribed crossed differential on that representative.

Show proof
theorem crossedDifferentialModuleLift_universal
    (coeff : G →* R) (delta : G → A) (hdelta : IsCrossedDifferential coeff delta) (g : G) :
    crossedDifferentialModuleLift (A := A) coeff delta hdelta
      (universalCrossedDifferential coeff g) = delta g

The universal lift evaluates on \(d_{\mathrm{coeff}}(g)\) as the original crossed differential.

Show proof
theorem crossedDifferentialModuleHom_ext
    (coeff : G →* R) {f h : CrossedDifferentialModule coeff →ₗ[R] A}
    (hfh : ∀ g, f (universalCrossedDifferential coeff g) =
      h (universalCrossedDifferential coeff g)) :
    f = h

Linear maps out of the universal crossed-differential module are equal when they agree on all universal differentials.

Show proof
theorem crossedDifferentialModuleLift_unique
    (coeff : G →* R) (delta : G → A) (hdelta : IsCrossedDifferential coeff delta)
    (f : CrossedDifferentialModule coeff →ₗ[R] A)
    (hf : ∀ g, f (universalCrossedDifferential coeff g) = delta g) :
    f = crossedDifferentialModuleLift (A := A) coeff delta hdelta

The universal lift is the unique linear map with prescribed values on universal differentials.

Show proof
theorem existsUnique_crossedDifferentialModuleLift
    (coeff : G →* R) (delta : G → A) (hdelta : IsCrossedDifferential coeff delta) :
    ∃! f : CrossedDifferentialModule coeff →ₗ[R] A,
      ∀ g, f (universalCrossedDifferential coeff g) = delta g

Existence and uniqueness of the linear map representing a crossed differential.

Show proof
def crossedDifferentialOfModuleLinearMap
    (coeff : G →* R) (f : CrossedDifferentialModule coeff →ₗ[R] A) : G → A :=
  fun g => f (universalCrossedDifferential coeff g)

The crossed differential induced by a linear map out of the universal module.

theorem crossedDifferentialOfModuleLinearMap_isCrossedDifferential
    (coeff : G →* R) (f : CrossedDifferentialModule coeff →ₗ[R] A) :
    IsCrossedDifferential coeff (crossedDifferentialOfModuleLinearMap (A := A) coeff f)

A linear map out of the universal module induces a crossed differential.

Show proof
def crossedDifferentialModuleEquivLinearMap (coeff : G →* R) :
    {delta : G → A // IsCrossedDifferential coeff delta} ≃
      (CrossedDifferentialModule coeff →ₗ[R] A) where
  toFun delta := crossedDifferentialModuleLift (A := A) coeff delta.1 delta.2
  invFun f :=
    ⟨crossedDifferentialOfModuleLinearMap (A := A) coeff f,
      crossedDifferentialOfModuleLinearMap_isCrossedDifferential (A := A) coeff f⟩
  left_inv delta := by
    apply Subtype.ext
    funext g
    exact crossedDifferentialModuleLift_universal (A := A) coeff delta.1 delta.2 g
  right_inv f := by
    apply crossedDifferentialModuleHom_ext coeff
    intro g
    exact crossedDifferentialModuleLift_universal (A := A) coeff
      (crossedDifferentialOfModuleLinearMap (A := A) coeff f)
      (crossedDifferentialOfModuleLinearMap_isCrossedDifferential (A := A) coeff f) g

Crossed differentials \(G \to A\) with coefficient homomorphism \(\mathrm{coeff}:G \to R\) are represented by \(R\)-linear maps out of the universal module \(\mathrm{CrossedDifferentialModule}\,\mathrm{coeff}\).

def monoidAlgebraToIdentityCrossedDifferentialModule :
    MonoidAlgebra S G →ₗ[S]
      CrossedDifferentialModule (MonoidAlgebra.of S G) :=
  Finsupp.linearCombination S
    (fun g : G => universalCrossedDifferential (MonoidAlgebra.of S G) g)

The S-linear map from a group algebra to the identity crossed-differential module sending \([g]\) to the universal differential d g.

theorem monoidAlgebraToIdentityCrossedDifferentialModule_mul_sub_one
    (a : MonoidAlgebra S G) (g : G) :
    monoidAlgebraToIdentityCrossedDifferentialModule
        (a * (MonoidAlgebra.of S G g - 1)) =
      a • universalCrossedDifferential (MonoidAlgebra.of S G) g

The linear map from the group algebra to the identity crossed-differential module sends \(a([g]-1)\) to \(a\) acting on the universal differential of \(g\).

Show proof
def identityCrossedDifferentialBoundary :
    CrossedDifferentialModule (MonoidAlgebra.of S G) →ₗ[MonoidAlgebra S G]
      MonoidAlgebra S G :=
  crossedDifferentialModuleLift
    (A := MonoidAlgebra S G)
    (MonoidAlgebra.of S G)
    (fun g : G => MonoidAlgebra.of S G g - 1)
    (by
      intro g h
      simp only [map_mul, MonoidAlgebra.of_apply, MonoidAlgebra.single_mul_single, mul_one, sub_eq_add_neg,
  smul_eq_mul, mul_add, mul_neg, add_comm, add_assoc, neg_add_cancel_left])

@[simp]

The identity crossed-differential boundary sends \(d g\) to \([g] - 1\) over a group algebra.

theorem identityCrossedDifferentialBoundary_universal (g : G) :
    identityCrossedDifferentialBoundary
        (universalCrossedDifferential (MonoidAlgebra.of S G) g) =
      MonoidAlgebra.of S G g - 1

The identity crossed-differential boundary sends the universal differential at \(g\) to the group-algebra element \([g]-1\).

Show proof
theorem monoidAlgebraToIdentityCrossedDifferentialModule_comp_identityBoundary_mkQ
    (x : CrossedDifferentialPreModule (MonoidAlgebra S G) G) :
    monoidAlgebraToIdentityCrossedDifferentialModule
        (crossedDifferentialModuleLiftLinear
          (R := MonoidAlgebra S G)
          (fun g : G => MonoidAlgebra.of S G g - 1) x) =
      (crossedDifferentialRelationSubmodule (MonoidAlgebra.of S G)).mkQ x

Composing the identity-boundary map with the monoid-algebra comparison has the stated value on quotient generators.

Show proof
theorem idCrossedDiffBoundary_monoidAlgebraToModule
    (a : MonoidAlgebra S G) :
    identityCrossedDifferentialBoundary
        (monoidAlgebraToIdentityCrossedDifferentialModule (S := S) (G := G) a) =
      a -
        MonoidAlgebra.single (1 : G)
          ((MonoidAlgebra.lift S S G (1 : G →* S)) a)

The boundary of the additive lift \(\sum a_g [g] \mapsto \sum a_g d g\) is the augmentation-zero part of the group-algebra element.

Show proof
theorem idCrossedDiffBoundary_monoidAlgebraToModule_of_augmentation_eq_zero
    {a : MonoidAlgebra S G}
    (ha : (MonoidAlgebra.lift S S G (1 : G →* S)) a = 0) :
    identityCrossedDifferentialBoundary
        (monoidAlgebraToIdentityCrossedDifferentialModule (S := S) (G := G) a) = a

On the augmentation ideal, the additive lift \(\sum a_g [g] \mapsto \sum a_g d g\) is a right inverse to the identity crossed-differential boundary.

Show proof
theorem identityCrossedDifferentialBoundary_injective :
    Function.Injective (identityCrossedDifferentialBoundary (S := S) (G := G))

For the identity coefficient map into a group algebra, the boundary map sending \(d g\) to \([g] - 1\) is injective.

Show proof