Module

ProjectiveCokernelBaseChange.lean

Nyll.EtaleFundamentalGroups.FiniteEtale.ProjectiveCokernelBaseChange
2 declarations indexed from sourceView source ↗

Kernel base change for a map with projective cokernel

Splitting the cokernel makes the image a projective direct summand. Splitting the surjection onto this image makes the kernel a finite projective direct summand and proves its canonical arbitrary base change.

Declarations

TwoChartCech.exists_subtype_retraction_of_projective_quotient
Source context 4 commands

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

noncomputable section
open scoped TensorProduct
namespace TwoChartCech
universe u
theorem exists_subtype_retraction_of_projective_quotient
    {R M : Type u} [CommRing R] [AddCommGroup M] [Module R M]
    (K : Submodule R M) [Module.Projective R (M ⧸ K)] :
    ∃ r : M →ₗ[R] K, r ∘ₗ K.subtype = LinearMap.id
TwoChartCech.finite_projective_ker_and_bijective_baseChange_of_projective_coker

Projectivity of the actual cokernel supplies finite projectivity of the kernel and bijectivity of its canonical base-change map over every algebra.

Source context 4 commands

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

noncomputable section
open scoped TensorProduct
namespace TwoChartCech
universe u
theorem finite_projective_ker_and_bijective_baseChange_of_projective_coker
    {R M N : Type u} [CommRing R]
    [AddCommGroup M] [Module R M] [Module.Finite R M] [Module.Projective R M]
    [AddCommGroup N] [Module R N] [Module.Projective R N]
    (d : M →ₗ[R] N) [Module.Projective R (N ⧸ LinearMap.range d)] :
    Module.Finite R (LinearMap.ker d) ∧ Module.Projective R (LinearMap.ker d) ∧
      ∀ (A : Type u) [CommRing A] [Algebra R A],
        Function.Bijective (kerBaseChangeHom d A)