Module

Quotient.lean

Nyll.ProCGroups.FoxDifferential.Discrete.KernelBoundary.Quotient
21 declarations indexed from sourceView source ↗

Fox differential: discrete — kernel boundary — quotient

The principal declarations in this module are:

  • HeadQuotientOfSurjective

The quotient of \(A_{\psi}\) by the image of the head map.

  • toIdentityDifferentialModule

The canonical map from \(A_{\psi}\) to the derived module of the identity map on \(H\).

  • toIdentityDifferentialModule_d

The canonical map to the identity differential module sends the universal differential of \(g\) to the universal differential of its image.

  • toAugmentationIdeal_id_comp_toIdentityDifferentialModule

For the identity map, composing the identity differential module with the augmentation-ideal map gives the expected augmentation boundary.

Declarations

FoxDifferential.HeadQuotientOfSurjective

The quotient of \(A_{\psi}\) by the image of the head map.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
abbrev HeadQuotientOfSurjective (ψ : G →* H) (hψ : Function.Surjective ψ) : Type _
FoxDifferential.toIdentityDifferentialModule

The canonical map from \(A_{\psi}\) to the derived module of the identity map on \(H\).

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
def toIdentityDifferentialModule (ψ : G →* H) :
    DifferentialModule ψ →ₗ[GroupRing H] DifferentialModule (MonoidHom.id H)
FoxDifferential.toIdentityDifferentialModule_d

The canonical map to the identity differential module sends the universal differential of \(g\) to the universal differential of its image.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
theorem toIdentityDifferentialModule_d (ψ : G →* H) (g : G) :
    toIdentityDifferentialModule ψ (universalDifferential ψ g) = universalDifferential
        (MonoidHom.id H) (ψ g)
FoxDifferential.toAugmentationIdeal_id_comp_toIdentityDifferentialModule

For the identity map, composing the identity differential module with the augmentation-ideal map gives the expected augmentation boundary.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
theorem toAugmentationIdeal_id_comp_toIdentityDifferentialModule
    (ψ : G →* H) :
    (toAugmentationIdeal (H := H) (MonoidHom.id H)).comp (toIdentityDifferentialModule ψ) =
      toAugmentationIdeal (H := H) ψ
FoxDifferential.toIdentityDifferentialModule_kernelAbelianizationBoundaryLinearOfSurjective

Composing the surjective-case kernel-boundary map with the identity differential-module map gives the corresponding identity-module boundary value.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
theorem toIdentityDifferentialModule_kernelAbelianizationBoundaryLinearOfSurjective
    (ψ : G →* H) (hψ : Function.Surjective ψ) (x : KernelAbelianizationAdd ψ) :
    toIdentityDifferentialModule ψ
      (kernelAbelianizationBoundaryLinearOfSurjective ψ hψ x) = 0
FoxDifferential.kernelAbelianizationBoundaryRangeOfSurjective_le_ker_toIdentityDiffModule

The surjective-case kernel-boundary range lies in the kernel of the map to the identity differential module.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
theorem kernelAbelianizationBoundaryRangeOfSurjective_le_ker_toIdentityDiffModule
    (ψ : G →* H) (hψ : Function.Surjective ψ) :
    kernelAbelianizationBoundaryRangeOfSurjective ψ hψ ≤
      LinearMap.ker (toIdentityDifferentialModule ψ)
FoxDifferential.headQuotientToIdentityDifferentialModule

The quotient map \(A_{\psi} / \operatorname{im}(\mathrm{head}) \to A_{\mathrm{id}}\).

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
def headQuotientToIdentityDifferentialModule
    (ψ : G →* H) (hψ : Function.Surjective ψ) :
    HeadQuotientOfSurjective ψ hψ →ₗ[GroupRing H] DifferentialModule (MonoidHom.id H)
FoxDifferential.headQuotientToIdentityDifferentialModule_mkQ

The map from the head quotient to the identity differential module has the stated value on quotient classes.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
theorem headQuotientToIdentityDifferentialModule_mkQ
    (ψ : G →* H) (hψ : Function.Surjective ψ) (x : DifferentialModule ψ) :
    headQuotientToIdentityDifferentialModule ψ hψ
      ((kernelAbelianizationBoundaryRangeOfSurjective ψ hψ).mkQ x) =
        toIdentityDifferentialModule ψ x
FoxDifferential.headQuotientSectionOfSurjective

A section of \(\psi\) is viewed as a differential map into the head quotient.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
def headQuotientSectionOfSurjective
    (ψ : G →* H) (hψ : Function.Surjective ψ) (h : H) :
    HeadQuotientOfSurjective ψ hψ
FoxDifferential.headQuotientSectionOfSurjective_map_mul
Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
theorem headQuotientSectionOfSurjective_map_mul
    (ψ : G →* H) (hψ : Function.Surjective ψ) (h₁ h₂ : H) :
    headQuotientSectionOfSurjective ψ hψ (h₁ * h₂) =
      headQuotientSectionOfSurjective ψ hψ h₁ +
        groupRingScalar (MonoidHom.id H) h₁ •
          headQuotientSectionOfSurjective ψ hψ h₂
FoxDifferential.headQuotientSectionHomOfSurjective

The head-quotient section in the surjective case is a crossed differential.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
def headQuotientSectionHomOfSurjective
    (ψ : G →* H) (hψ : Function.Surjective ψ) :
    DifferentialHom (MonoidHom.id H) (HeadQuotientOfSurjective ψ hψ) where
  toFun := headQuotientSectionOfSurjective ψ hψ
  map_mul' := by
    intro h₁ h₂
    simpa only [scalarCrossedAction_apply] using
      headQuotientSectionOfSurjective_map_mul ψ hψ h₁ h₂
FoxDifferential.fromIdentityDifferentialModuleOfSurjective

The inverse-direction map \(A_{\mathrm{id}} \to A_{\psi} / \operatorname{im}(\mathrm{head})\) is induced by a surjective section of \(\psi\).

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
def fromIdentityDifferentialModuleOfSurjective
    (ψ : G →* H) (hψ : Function.Surjective ψ) :
    DifferentialModule (MonoidHom.id H) →ₗ[GroupRing H] HeadQuotientOfSurjective ψ hψ
FoxDifferential.fromIdentityDifferentialModuleOfSurjective_d

The surjective-case map from the identity differential module has the stated value on the differential generator.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
theorem fromIdentityDifferentialModuleOfSurjective_d
    (ψ : G →* H) (hψ : Function.Surjective ψ) (h : H) :
    fromIdentityDifferentialModuleOfSurjective ψ hψ (universalDifferential (MonoidHom.id H) h) =
      headQuotientSectionOfSurjective ψ hψ h
FoxDifferential.headQuotientToIdentityDiffModule_fromIdentityDiffModuleOfSurjective

The maps between the head quotient and the identity differential module are inverse on the displayed side.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
theorem headQuotientToIdentityDiffModule_fromIdentityDiffModuleOfSurjective
    (ψ : G →* H) (hψ : Function.Surjective ψ) :
    (headQuotientToIdentityDifferentialModule ψ hψ).comp
      (fromIdentityDifferentialModuleOfSurjective ψ hψ) =
        LinearMap.id
FoxDifferential.fromIdentityDifferentialModuleOfSurjective_comp_toIdentityDifferentialModule

The map from the identity differential module is a left inverse to the identity-differential quotient map in the surjective case.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
theorem fromIdentityDifferentialModuleOfSurjective_comp_toIdentityDifferentialModule
    (ψ : G →* H) (hψ : Function.Surjective ψ) :
    (fromIdentityDifferentialModuleOfSurjective ψ hψ).comp
      (toIdentityDifferentialModule ψ) =
        (kernelAbelianizationBoundaryRangeOfSurjective ψ hψ).mkQ
FoxDifferential.headQuotientEquivIdentityDifferentialModuleOfSurjective

The quotient \(A_{\psi} / im(head)\) is canonically identified with the derived module of \(id_H\).

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
def headQuotientEquivIdentityDifferentialModuleOfSurjective
    (ψ : G →* H) (hψ : Function.Surjective ψ) :
    HeadQuotientOfSurjective ψ hψ ≃ₗ[GroupRing H] DifferentialModule (MonoidHom.id H) where
  toLinearMap := headQuotientToIdentityDifferentialModule ψ hψ
  invFun := fromIdentityDifferentialModuleOfSurjective ψ hψ
  left_inv := by
    intro x
    have hcomp :
        (fromIdentityDifferentialModuleOfSurjective ψ hψ).comp
            (headQuotientToIdentityDifferentialModule ψ hψ) =
          LinearMap.id := by
      apply Submodule.linearMap_qext _
      apply LinearMap.ext
      intro y
      change fromIdentityDifferentialModuleOfSurjective ψ hψ
          (headQuotientToIdentityDifferentialModule ψ hψ
            ((kernelAbelianizationBoundaryRangeOfSurjective ψ hψ).mkQ y)) =
        (kernelAbelianizationBoundaryRangeOfSurjective ψ hψ).mkQ y
      rw [headQuotientToIdentityDifferentialModule_mkQ]
      exact LinearMap.congr_fun
        (fromIdentityDifferentialModuleOfSurjective_comp_toIdentityDifferentialModule ψ hψ) y
    exact LinearMap.congr_fun hcomp x
  right_inv := by
    intro x
    exact LinearMap.congr_fun
      (headQuotientToIdentityDiffModule_fromIdentityDiffModuleOfSurjective ψ hψ) x
FoxDifferential.headQuotientEquivAugmentationIdealOfSurjective

For a surjective \(\psi\), the Crowell head quotient is the augmentation ideal.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
def headQuotientEquivAugmentationIdealOfSurjective
    (ψ : G →* H) (hψ : Function.Surjective ψ) :
    HeadQuotientOfSurjective ψ hψ ≃ₗ[GroupRing H] augmentationIdeal H
FoxDifferential.headQuotientEquivAugmentationIdealOfSurjective_mkQ

The head quotient is equivalent to the augmentation ideal and sends quotient classes to their augmentation representatives.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
theorem headQuotientEquivAugmentationIdealOfSurjective_mkQ
    (ψ : G →* H) (hψ : Function.Surjective ψ) (x : DifferentialModule ψ) :
    headQuotientEquivAugmentationIdealOfSurjective ψ hψ
      ((kernelAbelianizationBoundaryRangeOfSurjective ψ hψ).mkQ x) =
        toAugmentationIdeal (H := H) ψ x
FoxDifferential.kernelAbelianizationBoundaryRangeOfSurjective_eq_ker_toAugmentationIdeal

The range of the surjective-case kernel-abelianization boundary is the kernel of the map to the augmentation ideal.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
theorem kernelAbelianizationBoundaryRangeOfSurjective_eq_ker_toAugmentationIdeal
    (ψ : G →* H) (hψ : Function.Surjective ψ) :
    kernelAbelianizationBoundaryRangeOfSurjective ψ hψ =
      LinearMap.ker (toAugmentationIdeal (H := H) ψ)
FoxDifferential.exact_kernelAbelianizationBoundaryLinearOfSurjective_toAugmentationIdeal

Exactness at \(A_{\psi}\), formulated against the augmentation ideal.

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
theorem exact_kernelAbelianizationBoundaryLinearOfSurjective_toAugmentationIdeal
    (ψ : G →* H) (hψ : Function.Surjective ψ) :
    Function.Exact
      (kernelAbelianizationBoundaryLinearOfSurjective ψ hψ)
      (toAugmentationIdeal (H := H) ψ)
FoxDifferential.exact_kernelAbelianizationBoundaryLinearOfSurjective_toGroupRing

Exactness at \(A_{\psi}\), against the usual map \(A_{\psi}\ \to \mathbb{Z}[H]\).

Source context 4 commands

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

namespace FoxDifferential
noncomputable section
open FoxDifferential
variable {H G : Type*} [Group H] [Group G]
theorem exact_kernelAbelianizationBoundaryLinearOfSurjective_toGroupRing
    (ψ : G →* H) (hψ : Function.Surjective ψ) :
    Function.Exact
      (kernelAbelianizationBoundaryLinearOfSurjective ψ hψ)
      (toGroupRing ψ)