The surjective-case linear kernel-boundary map is injective in the Magnus-kernel comparison.
Source context 7 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace FoxDifferential
noncomputable section
namespace KernelAugmentation
variable {H G : Type} [Group H] [DecidableEq H] [Group G] [DecidableEq G]
variable {ψ : G →* H}
omit [DecidableEq H] in
omit [DecidableEq H] [DecidableEq G] intheorem kernelAbelianizationBoundaryLinearOfSurjective_injective
(hψ : Function.Surjective ψ) :
letI := kernelAbelianizationModuleOfSurjective ψ hψ
Function.Injective (kernelAbelianizationBoundaryLinearOfSurjective ψ hψ) := by
let := kernelAbelianizationModuleOfSurjective ψ hψ
let := kernelAugmentationIdealCoinvariantsModuleOfSurjective (ψ := ψ) hψ
intro x y hxy
have hcoinv :
kernelAbelianizationToCoinvariantsLinear (ψ := ψ) x =
kernelAbelianizationToCoinvariantsLinear (ψ := ψ) y := by
calc
kernelAbelianizationToCoinvariantsLinear (ψ := ψ) x =
differentialToKernelAugmentationIdealCoinvariantsLinearOfSurjective (ψ := ψ) hψ
(kernelAbelianizationBoundaryLinearOfSurjective ψ hψ x) := by
symm
exact differentialToKernelAugmentationIdealCoinvariantsLinearOfSurjective_boundary
(ψ := ψ) hψ x
_ =
differentialToKernelAugmentationIdealCoinvariantsLinearOfSurjective (ψ := ψ) hψ
(kernelAbelianizationBoundaryLinearOfSurjective ψ hψ y) := by
simp only [hxy, kernelAbelianizationBoundaryLinearOfSurjective_apply]
_ = kernelAbelianizationToCoinvariantsLinear (ψ := ψ) y := by
exact differentialToKernelAugmentationIdealCoinvariantsLinearOfSurjective_boundary
(ψ := ψ) hψ y
exact (kernelAbelianizationToCoinvariantsLinear_injective (H := H) (ψ := ψ) hψ) hcoinv