Module

MumfordTruncation.lean

Nyll.AlgebraicCurves.Geometry.Schemes.MumfordTruncation
29 declarations indexed from sourceView source ↗

Kernel-coproduct truncations of two-term complexes

The kernel of a coproduct map gives a two-term truncation. When its cokernel is finite, a chosen free presentation and projective lift produce the Mumford truncation maps.

Declarations

abbrev

K0

L39 ↗
TwoChartCech.KerCoprod.K0

The pairs whose images under the coproduct of the two maps add to zero.

Source context 8 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace KerCoprod
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable {P : Type w'} [AddCommGroup P] [Module R P]
variable (d : C0 →ₗ[R] C1) (g : P →ₗ[R] C1)
abbrev K0 : Submodule R (C0 × P)
TwoChartCech.KerCoprod.mem_K0_iff
Source context 8 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace KerCoprod
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable {P : Type w'} [AddCommGroup P] [Module R P]
variable (d : C0 →ₗ[R] C1) (g : P →ₗ[R] C1)
theorem mem_K0_iff (z : C0 × P) : z ∈ K0 d g ↔ d z.1 + g z.2 = 0
TwoChartCech.KerCoprod.dK

The projection of the coproduct kernel to the auxiliary module.

Source context 8 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace KerCoprod
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable {P : Type w'} [AddCommGroup P] [Module R P]
variable (d : C0 →ₗ[R] C1) (g : P →ₗ[R] C1)
def dK : K0 d g →ₗ[R] P
TwoChartCech.KerCoprod.ι0

The projection of the coproduct kernel to the original degree-zero module.

Source context 8 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace KerCoprod
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable {P : Type w'} [AddCommGroup P] [Module R P]
variable (d : C0 →ₗ[R] C1) (g : P →ₗ[R] C1)
def ι0 : K0 d g →ₗ[R] C0
TwoChartCech.KerCoprod.ι1

The negative of the auxiliary map to the degree-one module.

Source context 8 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace KerCoprod
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable {P : Type w'} [AddCommGroup P] [Module R P]
variable (d : C0 →ₗ[R] C1) (g : P →ₗ[R] C1)
def ι1 : P →ₗ[R] C1
TwoChartCech.KerCoprod.dK_apply
Source context 8 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace KerCoprod
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable {P : Type w'} [AddCommGroup P] [Module R P]
variable (d : C0 →ₗ[R] C1) (g : P →ₗ[R] C1)
theorem dK_apply (z : K0 d g) : dK d g z = (z : C0 × P).2
TwoChartCech.KerCoprod.ι0_apply
Source context 8 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace KerCoprod
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable {P : Type w'} [AddCommGroup P] [Module R P]
variable (d : C0 →ₗ[R] C1) (g : P →ₗ[R] C1)
theorem ι0_apply (z : K0 d g) : ι0 d g z = (z : C0 × P).1
TwoChartCech.KerCoprod.ι1_apply
Source context 8 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace KerCoprod
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable {P : Type w'} [AddCommGroup P] [Module R P]
variable (d : C0 →ₗ[R] C1) (g : P →ₗ[R] C1)
theorem ι1_apply (p : P) : ι1 g p = -g p
TwoChartCech.KerCoprod.ι1_eq
Source context 8 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace KerCoprod
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable {P : Type w'} [AddCommGroup P] [Module R P]
variable (d : C0 →ₗ[R] C1) (g : P →ₗ[R] C1)
theorem ι1_eq : ι1 g = -g
TwoChartCech.KerCoprod.comm
Source context 8 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace KerCoprod
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable {P : Type w'} [AddCommGroup P] [Module R P]
variable (d : C0 →ₗ[R] C1) (g : P →ₗ[R] C1)
theorem comm : d ∘ₗ ι0 d g = ι1 g ∘ₗ dK d g
TwoChartCech.KerCoprod.ι0_prod_dK
Source context 8 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace KerCoprod
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable {P : Type w'} [AddCommGroup P] [Module R P]
variable (d : C0 →ₗ[R] C1) (g : P →ₗ[R] C1)
theorem ι0_prod_dK : (ι0 d g).prod (dK d g) = (K0 d g).subtype
TwoChartCech.Mumford.rank

The size of the chosen finite free presentation of the cokernel.

Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
def rank : ℕ
TwoChartCech.Mumford.quot

The chosen surjection from a finite free module to the cokernel.

Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
def quot : (Fin (rank d) → R) →ₗ[R] (C1 ⧸ LinearMap.range d)
TwoChartCech.Mumford.quot_surjective
Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
theorem quot_surjective : Function.Surjective (quot d)
TwoChartCech.Mumford.lift

The projective lift of the chosen cokernel presentation to the degree-one module.

Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
def lift : (Fin (rank d) → R) →ₗ[R] C1
TwoChartCech.Mumford.mkQ_comp_lift
Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
theorem mkQ_comp_lift : (LinearMap.range d).mkQ ∘ₗ lift d = quot d
TwoChartCech.Mumford.mkQ_lift_apply
Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
theorem mkQ_lift_apply (v : Fin (rank d) → R) : (LinearMap.range d).mkQ (lift d v) = quot d v
TwoChartCech.Mumford.surjective_coprod
Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
theorem surjective_coprod : Function.Surjective (d.coprod (lift d))
TwoChartCech.Mumford.K0

The kernel of the original map coproduct with the chosen presentation lift.

Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
abbrev K0 : Submodule R (C0 × (Fin (rank d) → R))
TwoChartCech.Mumford.mem_K0_iff
Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
theorem mem_K0_iff (z : C0 × (Fin (rank d) → R)) : z ∈ K0 d ↔ d z.1 + lift d z.2 = 0
TwoChartCech.Mumford.dK

The projection from the Mumford kernel to the chosen finite free module.

Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
abbrev dK : K0 d →ₗ[R] (Fin (rank d) → R)
TwoChartCech.Mumford.ι0

The projection from the Mumford kernel to the original degree-zero module.

Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
abbrev ι0 : K0 d →ₗ[R] C0
TwoChartCech.Mumford.ι1

The negative of the chosen presentation lift.

Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
abbrev ι1 : (Fin (rank d) → R) →ₗ[R] C1
TwoChartCech.Mumford.dK_apply
Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
theorem dK_apply (z : K0 d) : dK d z = (z : C0 × (Fin (rank d) → R)).2
TwoChartCech.Mumford.ι0_apply
Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
theorem ι0_apply (z : K0 d) : ι0 d z = (z : C0 × (Fin (rank d) → R)).1
TwoChartCech.Mumford.ι1_apply
Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
theorem ι1_apply (v : Fin (rank d) → R) : ι1 d v = -lift d v
TwoChartCech.Mumford.ι1_eq
Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
theorem ι1_eq : ι1 d = -lift d
TwoChartCech.Mumford.comm
Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
theorem comm : d ∘ₗ ι0 d = ι1 d ∘ₗ dK d
TwoChartCech.Mumford.ι0_prod_dK
Source context 7 commands

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

noncomputable section
universe u v w w'
namespace TwoChartCech
namespace Mumford
variable {R : Type u} [CommRing R]
variable {C0 : Type v} {C1 : Type w} [AddCommGroup C0] [Module R C0] [AddCommGroup C1] [Module R C1]
variable (d : C0 →ₗ[R] C1) [Module.Finite R (C1 ⧸ LinearMap.range d)]
theorem ι0_prod_dK : (ι0 d).prod (dK d) = (K0 d).subtype