Module

RigKerDualNumber.lean

Nyll.AlgebraicCurves.Geometry.Deformation.RigKerDualNumber
11 declarations indexed from sourceView source ↗

Rig Ker Dual Number

Imports9
Imported by16

Declarations

AlgebraicGeometry.RelPicard.dualNumberReduction

The Spec morphism induced by projection from dual numbers to the base algebra.

Source context 6 commands

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

universe u
noncomputable section
open CategoryTheory CategoryTheory.Limits MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.RelPicard NeronModelInfra
  GoodReductionJacobian
namespace AlgebraicGeometry.RelPicard
section Thickening
variable (R : Type u) [CommRing R] (A : Type u) [CommRing A] [Algebra R A]
abbrev dualNumberReduction : Spec (.of A) ⟶ Spec (.of (DualNumber A))
AlgebraicGeometry.RelPicard.dualNumberReduction_comp_specMap
Source context 6 commands

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

universe u
noncomputable section
open CategoryTheory CategoryTheory.Limits MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.RelPicard NeronModelInfra
  GoodReductionJacobian
namespace AlgebraicGeometry.RelPicard
section Thickening
variable (R : Type u) [CommRing R] (A : Type u) [CommRing A] [Algebra R A]
theorem dualNumberReduction_comp_specMap :
    dualNumberReduction R A ≫ Scheme.TwoAffineOpenCover.specMap R (DualNumber A)
      = Scheme.TwoAffineOpenCover.specMap R A
AlgebraicGeometry.RelPicard.dualNumberReductionOver

The reduction morphism of dual numbers viewed over the original base scheme.

Source context 6 commands

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

universe u
noncomputable section
open CategoryTheory CategoryTheory.Limits MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.RelPicard NeronModelInfra
  GoodReductionJacobian
namespace AlgebraicGeometry.RelPicard
section Thickening
variable (R : Type u) [CommRing R] (A : Type u) [CommRing A] [Algebra R A]
abbrev dualNumberReductionOver :
    SchemeHomOver (Scheme.TwoAffineOpenCover.specMap R A) (Scheme.TwoAffineOpenCover.specMap R
      (DualNumber A))
AlgebraicGeometry.RelPicard.dualNumberReduction_catches_geometric_points
Source context 6 commands

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

universe u
noncomputable section
open CategoryTheory CategoryTheory.Limits MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.RelPicard NeronModelInfra
  GoodReductionJacobian
namespace AlgebraicGeometry.RelPicard
section Thickening
variable (R : Type u) [CommRing R] (A : Type u) [CommRing A] [Algebra R A]
theorem dualNumberReduction_catches_geometric_points
    (k : Type u) [Field k] [IsAlgClosed k] (s : Spec (.of k) ⟶ Spec (.of (DualNumber A))) :
    ∃ s₀ : Spec (.of k) ⟶ Spec (.of A), s₀ ≫ dualNumberReduction R A = s
AlgebraicGeometry.RelPicard.RigKerDualNumber.Carrier

Rigidified dual number line bundles whose underlying line bundle becomes trivial after reduction.

Source context 8 commands

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

universe u
noncomputable section
open CategoryTheory CategoryTheory.Limits MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.RelPicard NeronModelInfra
  GoodReductionJacobian
namespace AlgebraicGeometry.RelPicard
section Kernel
variable {R : Type u} [CommRing R] {C : Scheme.{u}}
variable (c : C ⟶ Spec (.of R)) (ε : SchemeHomOver (𝟙 (Spec (.of R))) c)
variable (A : Type u) [CommRing A] [Algebra R A]
def RigKerDualNumber.Carrier : Type (u + 1)
AlgebraicGeometry.RelPicard.RigKerDualNumber.setoid
Source context 8 commands

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

universe u
noncomputable section
open CategoryTheory CategoryTheory.Limits MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.RelPicard NeronModelInfra
  GoodReductionJacobian
namespace AlgebraicGeometry.RelPicard
section Kernel
variable {R : Type u} [CommRing R] {C : Scheme.{u}}
variable (c : C ⟶ Spec (.of R)) (ε : SchemeHomOver (𝟙 (Spec (.of R))) c)
variable (A : Type u) [CommRing A] [Algebra R A]
instance RigKerDualNumber.setoid : Setoid (RigKerDualNumber.Carrier c ε A)
AlgebraicGeometry.RelPicard.RigKerDualNumber

Classes of rigidified dual number line bundles with trivial underlying reduction.

Source context 8 commands

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

universe u
noncomputable section
open CategoryTheory CategoryTheory.Limits MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.RelPicard NeronModelInfra
  GoodReductionJacobian
namespace AlgebraicGeometry.RelPicard
section Kernel
variable {R : Type u} [CommRing R] {C : Scheme.{u}}
variable (c : C ⟶ Spec (.of R)) (ε : SchemeHomOver (𝟙 (Spec (.of R))) c)
variable (A : Type u) [CommRing A] [Algebra R A]
def RigKerDualNumber : Type (u + 1)
AlgebraicGeometry.RelPicard.RigKerDualNumber.tensor_mem
Source context 8 commands

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

universe u
noncomputable section
open CategoryTheory CategoryTheory.Limits MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.RelPicard NeronModelInfra
  GoodReductionJacobian
namespace AlgebraicGeometry.RelPicard
section Kernel
variable {R : Type u} [CommRing R] {C : Scheme.{u}}
variable (c : C ⟶ Spec (.of R)) (ε : SchemeHomOver (𝟙 (Spec (.of R))) c)
variable (A : Type u) [CommRing A] [Algebra R A]
theorem RigKerDualNumber.tensor_mem (M N : RigKerDualNumber.Carrier c ε A) :
    Nonempty (((M.1.tensor N.1).pullbackAlong (dualNumberReductionOver R A)).L ≅
      (RigidifiedLineBundle.unit (c := c) (ε := ε) (Scheme.TwoAffineOpenCover.specMap R A)).L)
AlgebraicGeometry.RelPicard.RigKerDualNumber.unit_mem
Source context 8 commands

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

universe u
noncomputable section
open CategoryTheory CategoryTheory.Limits MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.RelPicard NeronModelInfra
  GoodReductionJacobian
namespace AlgebraicGeometry.RelPicard
section Kernel
variable {R : Type u} [CommRing R] {C : Scheme.{u}}
variable (c : C ⟶ Spec (.of R)) (ε : SchemeHomOver (𝟙 (Spec (.of R))) c)
variable (A : Type u) [CommRing A] [Algebra R A]
theorem RigKerDualNumber.unit_mem :
    Nonempty (((RigidifiedLineBundle.unit (c := c) (ε := ε)
        (Scheme.TwoAffineOpenCover.specMap R (DualNumber A))).pullbackAlong
          (dualNumberReductionOver R A)).L ≅
      (RigidifiedLineBundle.unit (c := c) (ε := ε) (Scheme.TwoAffineOpenCover.specMap R A)).L)
AlgebraicGeometry.RelPicard.RigKerDualNumber.mul

Multiplication of dual number kernel classes induced by tensor product of rigidified line bundles.

Source context 8 commands

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

universe u
noncomputable section
open CategoryTheory CategoryTheory.Limits MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.RelPicard NeronModelInfra
  GoodReductionJacobian
namespace AlgebraicGeometry.RelPicard
section Kernel
variable {R : Type u} [CommRing R] {C : Scheme.{u}}
variable (c : C ⟶ Spec (.of R)) (ε : SchemeHomOver (𝟙 (Spec (.of R))) c)
variable (A : Type u) [CommRing A] [Algebra R A]
def RigKerDualNumber.mul : RigKerDualNumber c ε A → RigKerDualNumber c ε A → RigKerDualNumber c ε A
AlgebraicGeometry.RelPicard.RigKerDualNumber.one

The dual number kernel class of the unit rigidified line bundle.

Source context 8 commands

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

universe u
noncomputable section
open CategoryTheory CategoryTheory.Limits MonoidalCategory AlgebraicGeometry
  AlgebraicGeometry.RelPicard NeronModelInfra
  GoodReductionJacobian
namespace AlgebraicGeometry.RelPicard
section Kernel
variable {R : Type u} [CommRing R] {C : Scheme.{u}}
variable (c : C ⟶ Spec (.of R)) (ε : SchemeHomOver (𝟙 (Spec (.of R))) c)
variable (A : Type u) [CommRing A] [Algebra R A]
def RigKerDualNumber.one : RigKerDualNumber c ε A