Module

GroupRing.lean

Nyll.ProCGroups.FoxDifferential.Discrete.GroupRing
28 declarations indexed from sourceView source ↗

Fox differential: discrete — group ring

The principal declarations in this module are:

  • augmentationAlgHom

The augmentation algebra homomorphism \(\mathbb{Z}[H] \to \mathbb{Z}\).

  • augmentation

The augmentation ring homomorphism \(\mathbb{Z}[H] \to \mathbb{Z}\).

  • augmentation_of

The augmentation map has the stated value on group-ring elements.

  • augmentation_one

The augmentation sends the group identity to \(1\).

Declarations

FoxDifferential.augmentationAlgHom

The augmentation algebra homomorphism \(\mathbb{Z}[H] \to \mathbb{Z}\).

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
def augmentationAlgHom : GroupRing H →ₐ[ℤ] ℤ
FoxDifferential.augmentation

The augmentation ring homomorphism \(\mathbb{Z}[H] \to \mathbb{Z}\).

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
def augmentation : GroupRing H →+* ℤ
FoxDifferential.augmentationIdeal

The augmentation ideal of the integral group ring \(\mathbb{Z}[H]\).

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
def augmentationIdeal : Ideal (GroupRing H)
FoxDifferential.augmentationGeneratorIdeal

The ideal generated by the standard augmentation generators \(h-1\).

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
def augmentationGeneratorIdeal : Ideal (GroupRing H)
FoxDifferential.augmentation_of

The augmentation map has the stated value on group-ring elements.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
theorem augmentation_of (h : H) :
    augmentation H (MonoidAlgebra.of ℤ H h) = 1
FoxDifferential.augmentation_one

The augmentation sends the group identity to \(1\).

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
theorem augmentation_one :
    augmentation H (1 : GroupRing H) = 1
FoxDifferential.mem_augmentationIdeal_iff

A group-ring element lies in the Fox augmentation ideal iff its augmentation is zero.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
theorem mem_augmentationIdeal_iff {x : GroupRing H} :
    x ∈ augmentationIdeal H ↔ augmentation H x = 0
FoxDifferential.groupRingBoundary_mem_augmentationIdeal

The group-ring boundary value \([\psi(g)]-1\) lies in the augmentation ideal.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
theorem groupRingBoundary_mem_augmentationIdeal
    {G : Type*} [Group G] (ψ : G →* H) (g : G) :
    groupRingBoundary ψ g ∈ augmentationIdeal H
FoxDifferential.augmentationGenerator_mem_augmentationIdeal

Each standard generator \(h-1\) lies in the ordinary group-ring augmentation ideal.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
theorem augmentationGenerator_mem_augmentationIdeal (h : H) :
    augmentationGenerator H h ∈ augmentationIdeal H
FoxDifferential.augmentationGenerator_mem_augmentationGeneratorIdeal

Augmentation generators lie in the augmentation-generator ideal.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
theorem augmentationGenerator_mem_augmentationGeneratorIdeal (h : H) :
    augmentationGenerator H h ∈ augmentationGeneratorIdeal H
FoxDifferential.augmentationGeneratorIdeal_le_augmentationIdeal

The generator-defined augmentation ideal is contained in the ordinary group-ring augmentation ideal.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
theorem augmentationGeneratorIdeal_le_augmentationIdeal :
    augmentationGeneratorIdeal H ≤ augmentationIdeal H
FoxDifferential.exists_mem_augmentationGeneratorIdeal_add

An augmentation-zero group-ring element can be decomposed using the standard augmentation generators.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
theorem exists_mem_augmentationGeneratorIdeal_add (x : GroupRing H) :
    ∃ y ∈ augmentationGeneratorIdeal H, x = y + (augmentation H x : GroupRing H)
FoxDifferential.augmentationIdeal_le_augmentationGeneratorIdeal

The ordinary group-ring augmentation ideal is contained in the ideal generated by the elements \(g-1\).

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
theorem augmentationIdeal_le_augmentationGeneratorIdeal :
    augmentationIdeal H ≤ augmentationGeneratorIdeal H
FoxDifferential.augmentationGeneratorIdeal_eq_augmentationIdeal

The ideal generated by the standard elements \(g-1\) is the ordinary augmentation ideal.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
theorem augmentationGeneratorIdeal_eq_augmentationIdeal :
    augmentationGeneratorIdeal H = augmentationIdeal H
FoxDifferential.augmentationBoundary

The Crowell boundary map with codomain restricted to the augmentation ideal.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
variable {H G : Type*} [Group H] [Group G]
def augmentationBoundary (ψ : G →* H) (g : G) : augmentationIdeal H
FoxDifferential.augmentationGeneratorSubtype

The standard generators \(h-1\) of the augmentation ideal, viewed in the ideal itself.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
variable {H G : Type*} [Group H] [Group G]
def augmentationGeneratorSubtype (h : H) : augmentationIdeal H
FoxDifferential.toGroupRing_mem_augmentationIdeal

The group-ring image of any differential-module element lies in the augmentation ideal.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
variable {H G : Type*} [Group H] [Group G]
theorem toGroupRing_mem_augmentationIdeal (ψ : G →* H) (x : DifferentialModule ψ) :
    toGroupRing ψ x ∈ augmentationIdeal H
FoxDifferential.toAugmentationIdeal

The factorization \(A_{\psi} \to I(\mathbb{Z}[H])\) of the boundary map through the augmentation ideal.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
variable {H G : Type*} [Group H] [Group G]
def toAugmentationIdeal (ψ : G →* H) :
    DifferentialModule ψ →ₗ[GroupRing H] augmentationIdeal H
FoxDifferential.toAugmentationIdeal_d

The universal differential maps into the ordinary group-ring augmentation ideal.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
variable {H G : Type*} [Group H] [Group G]
theorem toAugmentationIdeal_d (ψ : G →* H) (g : G) :
    toAugmentationIdeal (H := H) ψ (universalDifferential ψ g) =
      augmentationBoundary (H := H) ψ g
FoxDifferential.subtype_comp_toAugmentationIdeal

Composing the boundary factorization through the augmentation ideal with the subtype map gives the original boundary map.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
variable {H G : Type*} [Group H] [Group G]
theorem subtype_comp_toAugmentationIdeal (ψ : G →* H) :
    (augmentationIdeal H).subtype.comp (toAugmentationIdeal (H := H) ψ) =
      toGroupRing ψ
FoxDifferential.span_augmentationGeneratorSubtype_eq_top

The standard augmentation generators span the augmentation ideal as a module.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
variable {H G : Type*} [Group H] [Group G]
theorem span_augmentationGeneratorSubtype_eq_top :
    Submodule.span (GroupRing H) (Set.range (augmentationGeneratorSubtype (H := H))) = ⊤
FoxDifferential.toAugmentationIdeal_surjective

The boundary factorization onto the augmentation ideal is surjective in the identity case.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
variable {H G : Type*} [Group H] [Group G]
theorem toAugmentationIdeal_surjective (ψ : G →* H) (hψ : Function.Surjective ψ) :
    Function.Surjective (toAugmentationIdeal (H := H) ψ)
FoxDifferential.toGroupRing_id_injective

The identity-case map from the differential module to the group ring is injective.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
variable {H G : Type*} [Group H] [Group G]
theorem toGroupRing_id_injective :
    Function.Injective (toGroupRing (MonoidHom.id H))
FoxDifferential.augmentationIdealToIdentityDifferentialModule

The inverse map from the augmentation ideal to the identity differential module, obtained by integrating an augmentation-zero group-ring element.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
variable {H G : Type*} [Group H] [Group G]
def augmentationIdealToIdentityDifferentialModule :
    augmentationIdeal H →ₗ[GroupRing H] DifferentialModule (MonoidHom.id H) where
  toFun x :=
    monoidAlgebraToIdentityCrossedDifferentialModule (S := ℤ) (G := H) x.1
  map_add' x y := by
    change
      monoidAlgebraToIdentityCrossedDifferentialModule (S := ℤ) (G := H) (x.1 + y.1) =
        monoidAlgebraToIdentityCrossedDifferentialModule (S := ℤ) (G := H) x.1 +
          monoidAlgebraToIdentityCrossedDifferentialModule (S := ℤ) (G := H) y.1
    simp only [map_add]
  map_smul' r x := by
    change
      monoidAlgebraToIdentityCrossedDifferentialModule (S := ℤ) (G := H) (r * x.1) =
        r • monoidAlgebraToIdentityCrossedDifferentialModule (S := ℤ) (G := H) x.1
    apply identityCrossedDifferentialBoundary_injective (S := ℤ) (G := H)
    have hxaug :
        (MonoidAlgebra.lift ℤ ℤ H (1 : H →* ℤ)) x.1 = 0 :=
      (mem_augmentationIdeal_iff (H := H)).1 x.2
    have hrxaug :
        (MonoidAlgebra.lift ℤ ℤ H (1 : H →* ℤ)) (r * x.1) = 0 := by
      rw [map_mul, hxaug, mul_zero]
    calc
      identityCrossedDifferentialBoundary (S := ℤ) (G := H)
          (monoidAlgebraToIdentityCrossedDifferentialModule (S := ℤ) (G := H) (r * x.1)) =
        r * x.1 := by
          exact
            idCrossedDiffBoundary_monoidAlgebraToModule_of_augmentation_eq_zero
              (S := ℤ) (G := H) hrxaug
      _ =
        r * identityCrossedDifferentialBoundary (S := ℤ) (G := H)
          (monoidAlgebraToIdentityCrossedDifferentialModule (S := ℤ) (G := H) x.1) := by
          exact congrArg (fun z => r * z)
            (idCrossedDiffBoundary_monoidAlgebraToModule_of_augmentation_eq_zero
              (S := ℤ) (G := H) hxaug).symm
      _ =
        identityCrossedDifferentialBoundary (S := ℤ) (G := H)
          (r • monoidAlgebraToIdentityCrossedDifferentialModule (S := ℤ) (G := H) x.1) := by
          exact
            (LinearMap.map_smul
              (identityCrossedDifferentialBoundary (S := ℤ) (G := H)) r
              (monoidAlgebraToIdentityCrossedDifferentialModule
                (S := ℤ) (G := H) x.1)).symm
FoxDifferential.toAugmentationIdeal_augmentationIdealToIdentityDifferentialModule

Composing from the augmentation ideal to the identity differential module and back gives the original augmentation-ideal element.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
variable {H G : Type*} [Group H] [Group G]
theorem toAugmentationIdeal_augmentationIdealToIdentityDifferentialModule
    (x : augmentationIdeal H) :
    toAugmentationIdeal (H := H) (MonoidHom.id H)
        (augmentationIdealToIdentityDifferentialModule (H := H) x) = x
FoxDifferential.augmentationIdealToIdentityDifferentialModule_toAugmentationIdeal

Composing from the identity differential module to the augmentation ideal and back gives the original differential-module element.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
variable {H G : Type*} [Group H] [Group G]
theorem augmentationIdealToIdentityDifferentialModule_toAugmentationIdeal
    (x : DifferentialModule (MonoidHom.id H)) :
    augmentationIdealToIdentityDifferentialModule (H := H)
        (toAugmentationIdeal (H := H) (MonoidHom.id H) x) = x
FoxDifferential.identityDifferentialModuleEquivAugmentationIdeal

Universe-polymorphic identity case of the Crowell differential module: \(A_{\mathrm{id}}\) is the augmentation ideal of the integral group ring.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
variable {H G : Type*} [Group H] [Group G]
def identityDifferentialModuleEquivAugmentationIdeal :
    DifferentialModule (MonoidHom.id H) ≃ₗ[GroupRing H] augmentationIdeal H where
  toLinearMap := toAugmentationIdeal (H := H) (MonoidHom.id H)
  invFun := augmentationIdealToIdentityDifferentialModule (H := H)
  left_inv := augmentationIdealToIdentityDifferentialModule_toAugmentationIdeal (H := H)
  right_inv := toAugmentationIdeal_augmentationIdealToIdentityDifferentialModule (H := H)
FoxDifferential.identityDifferentialModuleEquivAugmentationIdeal_toLinearMap

The linear map underlying the equivalence from the identity differential module to the augmentation ideal is the canonical map to that augmentation ideal.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
variable (H : Type*) [Group H]
variable {H} in
variable {H G : Type*} [Group H] [Group G]
theorem identityDifferentialModuleEquivAugmentationIdeal_toLinearMap :
    (identityDifferentialModuleEquivAugmentationIdeal (H := H)).toLinearMap =
      toAugmentationIdeal (H := H) (MonoidHom.id H)